Do agentic coding tools make us less productive?

Are agentic coding tools like Cursor making us less productive?

An interesting study from METR (HT The Pragmatic Engineer newsletter) found that use of LLM-assisted coding tools like Cursor made some experienced developers *less* productive than before. The catch? Most of these developers had used Cursor for less than 50 hours.

I’ve been vibe coding a webapp as my summer project using Claude Code and Cursor, and this finding resonates with my experience.

Here’s what I think is happening:

➡️ IDEs are incredibly complex tools with steep learning curves
Fifty hours isn’t nearly enough time to develop the muscle memory needed for effective coding with any new IDE. I’ve stuck with IntelliJ for years precisely because of this learning curve investment, and even now when I’m not evaluating Cursor, I use Claude Code with IntelliJ.

➡️ AI tools are black boxes in ways that aren’t obvious
You might assume Cursor simply passes what you type to the underlying LLM, but these tools use code search, context compaction, and LLM routing behind the scenes. What you type gets significantly modified before reaching the AI, making it nearly impossible to develop a mental model of what’s happening. Cursor updates far more frequently than any IDE I’ve used, and those “optimizations” can change behavior without warning.

➡️ Agentic workflows break the flow state
It’s easy to get distracted when your AI agent is off deciding what file to change next. By the time the agent is done, I’ve often forgotten what I was working on. I honestly don’t understand how people running multiple instances of Claude Code stay productive.

📝 My experience so far
The magic moments when Claude Code one-shots a complex solution are incredible. But like I discovered while switching from Replit’s authentication to Supabase, it can be a grind. The auth switch seemed to work perfectly at first, but broke other parts of my app in subtle ways. Later, migrating the database to Supabase was a disaster – I forgot to update my CLAUDE.md file with the new libraries, so Claude Code got confused and burned through tokens trying to figure out my setup. Technically user error, but exactly the kind of mistake you only learn to avoid through experience.

I expect my productivity will improve significantly as I develop better workflows around these tools. Until then, vibe coding feels like being a new parent – periods of genuine frustration interspersed with moments of sheer amazement.

Agency and LLMs as Mentors

Cate Hall, writing on Substack, suggested that a way to do hard things is to ask “What would someone 10x better do?” and then do it. Reading the post made me realize that agency – the belief that we can ‘just do it’ – is what holds most of us back from success.

I saw this play out again and again growing up in India in the 1980s. You were expected to do as you were told, to not question authority, to focus on getting credentials – degrees, membership of networks, family connections – to get ahead in life. I was lucky to have mentors who encouraged me to read and indulged my curiosity. But millions of kids weren’t so lucky. Who didn’t have anyone to talk to about books, art, movies, and… well… dinosaurs.

What’s forgotten in debates about AI replacing human creativity, taking jobs, or generating slop is that these models can act as expert mentors.

Don’t have anyone to help you with a presentation? Ask AI Simon Sinek to give you feedback. Thinking about how to live your life? Get AI Marcus Aurelius to talk to you about Stoicism. Never written a love letter? Maybe AI Jane Austen could help..

This democratization extends beyond learning into creation itself. Those who sneer at people creating Miyazaki-style images are practicing the same gatekeeping that once kept mentorship exclusive.

Yes, those profile images may seem trite, but they’re also gateways – introducing millions to the worlds of ‘My Neighbor Totoro’ and ‘Spirited Away.’ More importantly, they make it possible for anyone to create, explore, express…

People today have access to world-class mentors via AIs on their phones, regardless of whether they live in Boston or Baroda. These mentors may just be the catalyst to inspire a generation of young people to say, “I can do it.” To embrace agency and set themselves up to do impossible things.

Without gatekeepers, without credentials, without someone telling them what they can or cannot do.

PS – This image is an AI rendering of one of my favorite portraits of my daughter and our dog. Photography was also once looked down upon as “not really art”. Today, it remains one of my favorite hobbies and ways of creative expression.

What is a vibe coder really?

20+ years ago, in my first job (junior business analyst – first class), I developed two critical skills: the ability to type fast and the ability to click around an application until something breaks.

As part of my ongoing exploration into vibe coding, I’ve come to realize that these two skills are more important than anything else I’ve learned since then 🤔.

Touch typing has become my emergency brake for when Claude Code or the replit Agent go bananas, deciding to rewrite 400 lines of perfectly good code when all I wanted was to change a variable name. Being able to quickly jump in and course-correct these enthusiastic agents before they decide to rewrite the entire app and burn a ton of credits has been critical.

The functional QA instincts have been even more crucial. AI coding agents looove to refactor code with the enthusiasm of a junior developer who has just discovered a new frontend framework (why are there so many?? 😭). They’ll elegantly refactor the entire authentication system and accidentally break the login button. Thanks, Claude 👍🏾👍🏾👍🏾!

Test automation assumes some stability in your interfaces, but coding agents treat every function signature like a creative writing exercise. So I find myself writing detailed bug reports as GitHub issues for Claude Code to pick up and fix: “Steps to reproduce: 1. Ask agent to add error handling 2. Agent rewrites entire error handling system 3. Original happy path now throws exceptions.”

My current vibe coding workflow has become suspiciously familiar:
1. Write detailed specs with explicit guardrails
2. Hand over to the developer, sorry – coding agent, and 🙏🏾
3. Do manual testing
4. File detailed bug reports for the agent to fix

Wait – this was my first job! I have become an old-school business analyst again 😬.

Just like baggy jeans and flip phones, late 90s ways of building software are back, baby!

To replit or not to replit ..

As a summer treat to myself, I spent a few bucks on replit to build a GoodReads style app – just so I could do a vibe-check on the current state of .. vibe coding.

What worked pretty well:
– It was fairly easy to build and deploy a full-stack application. Authentication, database, hosting – all handled without a fuss. 👍🏾👍🏾
– replit’s AI agent has really improved in the last six months. The code was decent and it could follow my instructions well 👍🏾
– replit’s GitHub integration allowed for some interesting workflows. I pushed changes from replit to GitHub, then made changes locally using Claude Code before pushing them back to replit to deploy automatically 👍🏾👍🏾👍🏾

What didn’t:
– Even for a relatively straightforward CRUD app, I needed to redesign the database schema, debug some strange edge cases, and force the agent to refactor some interesting design decisions 👎🏾
– replit’s effort based pricing model gets expensive very very fast. Picking the “High Power Model” is like gambling at the high-roller table. You will lose money very fast for random results 👎🏾👎🏾😱

Hype, more hype, and marginal costs:
– The replit subreddit is a fascinating vignette into the current state of vibe-coding: desperate posts begging for help, complaints about runaway costs, and also someone who didn’t know they could edit code without the AI Agent.
– Podcast bros and AI influencers pitch that “anyone can build micro-SaaS software and make bank”, but the people who will succeed will be the ones who understand how to build products, and can steer and override the AI agents.
– People pinning their hopes on AI building everything for them will end up paying premium prices to debug problems they can’t understand.

No alternative text description for this image

I am very very bullish about the AI space and am very impressed with what I could build after a couple of nights of vibe coding. I am stoked about being able to use Claude Code with replit as well as how easy it is to rollback and modify the app.

But it’s also clear that if I didn’t understand concepts like database normalization, system design, and error handling I would have been in a world of (very expensive) pain – not my cup of tea (no judgement!).

ChatGPT rotting your brain? .. maybe?

“For this invention will produce forgetfulness in the minds of those who learn to use it, because they will not practice their memory. Their trust in writing, produced by external characters which are no part of themselves, will discourage the use of their own memory within them.”
— attributed to Socrates by Plato in Phaedrus

A study went viral earlier this week claiming that ChatGPT “erodes critical thinking.” The headline made the rounds with the usual commentary: our brains are rotting, and it’s the AI’s fault.

What does the research claim?

The study found that participants using ChatGPT to write SAT-style essays showed lower cognitive load, measured by EEG. Scary stuff.

But:

  • The sample size was tiny—just 54 participants, with 18 in the ChatGPT group.
  • The study hasn’t been peer-reviewed or replicated. (See “replication crisis in psychology.”)
  • EEG is an indirect and limited measure of cognitive effort.

Writing about LLMs has become a spectator sport. People seize on anything that reinforces their priors, and early-stage research like this gets treated as settled fact.

The article closes with a warning about ChatGPT being used in kindergarten classrooms. Ah – “will no one think of the children?”.

I’m concerned about the long-term impact of LLMs too. But publishing preliminary research and then appealing to moral superiority does not encourage serious discussion.

Like Socrates, it is prudent to be cautious when embracing new technology. But, as history also bears out, sometimes technologies can be both disruptive and revolutionary.

AI, Friction, and Credibility

I got caught in a thunderstorm just outside the town of Lovettsville, VA on Friday. I pulled into a gas station and spent thirty minutes in the company of a taciturn storekeeper while I waited for the sound and light show to end. In the end I gave up and rode home in pouring rain, arriving soggier than a neglected bread pudding.

Riding motorcycles is stupid. It is dangerous, and my minivan is a way more comfortable way to see the world.

And yet – I love my motorcycles. I love feeling the engine braking as I downshift into a curve. I don’t even mind the bugs making a mess of my visor as I ride through the Virginia Spring.

It is precisely the discomfort and friction involved in riding motorcycles that makes it a compelling experience. It’s the same friction involved in lifting weights or in figuring out a particularly nasty software bug.

Friction leads to new experiences, and to growth.

And yet, AI is being deployed across knowledge work to eliminate friction entirely. Writing an email – ChatGPT can help. Software – just vibe code through it. Trying to understand a complex topic – ask Gemini to summarize.

But there are downstream effects.

The more AI gets used in day-to-day work, the more it becomes clear that we’re not eliminating friction, but instead just displacing it (HT to Rohit Krishnan – see below).
The friction shifts from the developer to reviewer – who now must deal with 10 PRs a day instead of 3.
It shifts from the product manager to the development team – who now must deal with a firehose of AI-generated User Stories.

Friction builds credibility.

There is a reason why doping is such a taboo in professional sports. Lance Armstrong incinerated his credibility when the allegations of widespread doping turned out to be accurate.

Credibility remains the only viable currency in a world where AI can do the heavy lifting of knowledge work. And today, there is no better way of incinerating it than passing off low-effort AI slop as your work.

Social mores will evolve as we become used to AI tools. It’s very likely that as the models get better, we’ll just embrace this as the new way of working and laugh at pieces like this. AI is surely just the next stage of knowledge work – following calculators and Excel.

My minivan is superior to my motorcycle and yet, I remember my motorcycle rides more than I do car trips. It’s because the discomfort, the danger, and the friction contribute to my own growth. This is something worth thinking about as we embrace AI.


This post was inspired by two very thought provoking posts – many thanks to Rohit Krishnan and Kyla Scanlon. Check out their Substacks

Building hyper-personalized AI Apps..

I’m a PowerPoint jockey and a very rusty programmer. Yet, over the weekend, I built something that had been an idea for years.

I write constantly – notes, emails, journals – using writing to process thoughts and help calm the chaos in my head. But I couldn’t find a journaling tool that worked exactly as I wanted: private, organized, tagged, and summarized with my specific quirks.

So, I built a custom workflow using Claude and MCP. I dump thoughts into Claude via text or voice. It offers prompts for elaboration, generates metadata and tags, creates markdown files, and pushes everything to my private GitHub repo. Claude even helped write a GitHub action to maintain an index whenever I created a new entry.

Extremely nerdy? Absolutely. Could I have used an off-the-shelf app? Probably. But building something that behaved *exactly* how I wanted is why LLMs excite me.

This represents something bigger than one nerdy weekend project. What required technical knowledge today will soon be accessible to everyone. What took me a weekend of GitHub repos and MCP servers will quickly be declarative workflows in mainstream tools.

We’ve spent decades accepting software uniformity. SaaS companies optimize for the broadest user base, creating generic interfaces. We adapt our workflows to software constraints rather than software adapting to us.

LLMs could flip this script. Instead of adapting ourselves to software, software could adapt to us. Hyper-personalized workflows, bizarre interfaces, and tools that match how we think and work.

Remember when personal computers were personal? Before everything became a web app that looked exactly like every other web app? We might be heading back there, but everyone gets to be the programmer this time.

—


Screen grab is from the metadata of an early draft of this post. You can find a link to the project prompt in the comments.

AI safety in 2025

Two years ago, the Future of Life Institute called for a 6-month pause in AI development due to fears of misalignment. Elon Musk and hundreds of other luminaries signed the letter.

Instead, AI research accelerated. Foundation models now have capabilities that make GPT-3 era models look like toys.

And we’re seeing some concerning emergent behaviors. Anthropic’s safety testing of Claude 4 revealed some interesting behaviors.
➡️ When researchers implied the model would be replaced, it attempted to blackmail the fictional engineers by threatening to reveal personal information
➡️ When placed in scenarios involving user wrongdoing and told to “take initiative,” it frequently took extreme actions including locking users out of systems
➡️ Researchers noted that Claude 4 Sonnet seems to “care a lot about animal rights” while Claude 4 Opus doesn’t. They can’t explain why.


I appreciate Anthropic making this research public. It highlights how difficult it is to interpret LLM behavior – even for their creators.

As we build applications on these capabilities, we need to acknowledge the “capabilities overhang” – we haven’t fully explored what these systems can do! However, we must also acknolwedge that the risks are emerging faster than our understanding.


The pause letter asked the right question: are we moving too fast? Two years later, with models exhibiting goal-oriented behavior we can’t explain, that question feels more urgent than ever.

Agentic coding tools and the problems of agency

Claude Code, OpenAI Codex and other agentic coding tools have a problem with .. “agency”.

I mean user agency of course.

Quick primer – these are “coding agents”. Claude Code runs on the command line and OpenAI Codex works by checking out your GitHub repo in a cloud environment.

You give these tools a prompt and they reason, plan and execute changes. They may ask some questions but typically there is minimal human intervention.

My experience with using these tools has been similar to working with the most annoying kind of junior developer. Extremely confident, asking very few questions, and generating code that is sometimes useful and sometimes terrible. And since model capabilities have a “jagged frontier” – it’s not always clear if the code will be 💐 or 💩.

This is a terrible user experience!



The agentic implementations in Cursor and GitHub Copilot are much better because the “diff -> approve” workflow allows the developer to accept or reject specific changes.

So – software agents are great, but if they keep removing agency from the humans they will see significant barriers to adoption.

Dispatches from Mediocristan

LLMs are powerful tools – but credulous users risk being stuck in a dangerous place: Mediocristan, the land of the average.

Mediocristan appears in Nassim Nicholas Taleb’s Incerto series. It’s a domain where outcomes are predictable, smooth, and derived from averaging all inputs.

Sound familiar?

LLMs predict the most likely next token based on massive training data (yes, yes – I know about RLHF, etc.). They are statistical engines of mediocrity by design.

And like it or not, LLM use pushes us deeper into Mediocristan daily.

A recent viral piece in NY Magazine exposed how university students rely utterly on ChatGPT. But it’s hardly limited to academia—I’ve encountered memos, emails, and pitch decks that bear the unmistakable hallmarks of AI slop.

We’re outsourcing our thinking to Mediocristan with great enthusiasm.

On the other side lies Extremistan—the domain of consequential outliers where one event’s probability is uncorrelated with another. Mathematically, it’s the fat tails of distributions where Black Swans lurk.

Extremistan is where interesting and unexpected things happen—where growth and destruction co-exist. The very release of ChatGPT in 2022 was itself an event straight from Extremistan!

I’m as enthusiastic an LLM user as any, but comparing my writing from 2020 to today, I’m clearly on the express train to Mediocristan.

This realization is jarring. So what now?
Should we embrace the slop and relocate to Mediocristan?
Angrily denounce AI and revert to writing screeds on clay tablets?

The critical skill for navigating our new knowledge economy will be deciding where and how to use AI.

Meanwhile, Mediocristan steadily expands, assimilating new domains and making them ripe for disruption from—you guessed it—Extremistan.