When I first tried AI coding, I was bored out of my mind. I’d type in a prompt… and think ‘guess I’ll wait?’ A minute later, some half-baked code would appear. I’d ask for a refactor. More waiting. Another tweak. More waiting. Eventually I’d close the tab and move on.
When the Magic Trick Falls Flat
The hype told us AI would be like waving a wand: type a prompt, get production-ready code. So when the output is clumsy, we don’t ask ‘What did I miss?’—we jump straight to ‘This thing is dumb.’
You’re not alone if you’ve felt that way—nearly half of developers don’t trust AI’s accuracy according to the 2025 Stack Overflow Survey.
AI is just a tool—am I the problem here?
Here’s the shift: AI isn’t magic. It’s a tool. And tools only become powerful once you learn how to use them. These days, I’ll hash out a technical plan chatting with AI—what the interfaces look like, where the code should live, how the algorithm should work. Once the plan feels solid—something the size of a PR milestone—I send it off. The agent spends twenty minutes or more grinding through implementation while I'm free to move on to something else. That’s when AI stopped boring me and started being empowering.
Are you delegating the thinking?
I'll quote my colleague Mat Brown
We shouldn’t merely give the AI a goal; we should describe the code we want to see at the level of individual functions, data structures, control flow structures, and so on. “Use detailed prompts” is commonplace advice for users of AI tools, but this goes beyond optimizing the AI’s output. Our prompts should be detailed because we shouldn’t delegate the thinking to the AI.
Tell the AI what code you want it to write. That oughta fix most concerns of code quality.
Stop Babysitting, Start Leading
Now I want to challenge you. If you’re prompting AI to refactor a few lines at a time, you’re babysitting. This is the uncanny valley you must leave!
Your goal is to get your agent to “one-shot” a large chunk of work independently over a meaningful period of time. Aim for at least 20 minutes.
If it fails? Don’t patch its mistakes, jump on git reset --hard
. Do it as often as you need.
Ask yourself: what context was missing? Can I update AGENTS.md
, add some rules, or just refine my prompt with more clarity? Do those edits and start over. Don't give up until that code output is close to perfection.
You'll find yourself in no time preparing much better prompts. And you'll find your agent much smarter.
Determinism Always Wins
One more tip: AI is probabilistic. Request deterministic workflows whenever you can. For example: Codemods, other AST transformation, linting rules, a small jq
command or even a grep
/sed
combo, are predictive operations.
You can ask the agent to generate the script, review it, and then run it with confidence.
Don’t Forget the Craft
Once the AI has cranked out code that's complete and well architected, ditch the prompts and dive back into your IDE. Prompting to refactor gets you back into babysitting mode. It's slow and expensive.
At that point, edits should be minor and simple. Don't overthink it, grab that IDE, get in the flow. Use your uniquely human taste and judgement to shape the final code.
That last 10% of engineering—the craftsmanship—still belongs to us.
Your Move
Silence the hype, there's no magic. If you treat AI as a tool that gets better the more you learn to use it, you’ll find yourself less bored and more empowered. Don’t settle for babysitting. Push AI to work for you, reset when it fails and iterate until you improve. Keep the final touches for yourself; that’s where the fun lives.
Top comments (10)
If it's even possible to "delegate the thinking to the AI", the thing you're building almost certainly already has a well treaded solution somewhere that you should research and find yourself. Otherwise, the AI isn't doing the thinking. It's just finding the answer to a simple question.
As soon as questions become complex enough to require deep thought (meaning they aren't already answered deeply in the public sphere), the AI can't answer the questions.
You end up needing to think deeply about how to break down the problem into smaller and smaller portions.
If you can, in fact, delegate the thinking to the AI, it's a sign that what you're building is extremely simple and probably could have been handled by you personally or by a library.
I agree. And understanding this limitation is key to work effectively with AI. For me asking an AI to generate code has been a huge productivity booster; but on codebase I know well where I can safely get the AI to work in the background.
It's important for us to understand we still need to be in the driving seat to reap productivity benefits from AI. Asking for the code we want to see written (and then let the AI connect the remaining dots, fix tests/types etc.)
Excellent article - one which AI probably couldn't write, and which deserves to be in dev.to's next "Top 7 posts of the week" article ...
Thanks!! I'm happy the article resonated with you 😀
It did - I've added this to my little personal collection of "articles on AI which provide me with valuable insights, rather than just jumping on the hype train" !
"Aim for at least 20 minutes" you're fighting against context. With a 20min work, it will quickly exceed context size, and fallback to rely on some recent memories(best case). You could instead have smaller tasks/subtasks and let it follow them with testable results. Make it write tests and check acceptance criterias. When done: new session, new task. Small bits. HQ work with testable mini steps.
I find Claude Code now pretty efficient at summarizing context over time. If you have your implementation plan in a file (PLAN.md), it can reference the file again and I don't find you loose too much.
You might also want to look into the amount of lines outputted by your dev tools - we've found many to be problematic here, and we still have some work to do!! Those can easily consume huge context space and lead to cost increase or hallucinations. We've also had success relying on sub-agents to share the context load. I especially like the concept of a "librarian" sub-agent to keep larger search context out of the main agent window.
The issue with breaking down the task into small steps is it reduces your ability to fully move on to the next task on your own todo. But you're totally right there's a balance; the longer an agent work the more context it'll accumulate.
I continue to have mixed feelings about AI.
However, when it comes to the practical task of actually using it this is absolutely the correct mindset and approach.
The trick is to remember AI is a marketing term. There is no real ‘intelligence’ happening. Reasoning models don’t really reason and agents don’t have true agency.
LLMs are guessing machines using statistical analysis and pattern matching. They fill the gaps that you leave in your prompt/instructions. They fewer gaps you leave the better results you get.
Thanks! I'm a convert now, but it took a little while to become one. Claude code is currently my default for pretty much any task (though I might need to review as I hear good things about Codex CLI & Crush).
I don't particularly enjoy typing, so I don't mind an AI does that part for me while I work on something else.
For medium complexity task, I'll ask Claude to propose 2 implementation plans. I might chat a bit to refine, and once we're close, I'll ask to drop in a
PLAN.md
and manually refine the steps there. Start a new session (reset the context) and ask to implement the plan. For high complexity, I'll start browsing code in Zed and then decide if I need to noodle with the implementation manually or if I have enough clarity to delegate to Claude.LLM are great at following instruction. As long as I can get precise enough on the shape of the final code I want, I know what I'll get. And then, it'll handles the little gaps and fix tests, etc. What I love is the ability to move on on the next task. It made it so much easier to maintain my OSS projects; I even got to rekindled with old projects!
This lives rent free in my head since I first read it.
Some comments may only be visible to logged-in visitors. Sign in to view all comments. Some comments have been hidden by the post's author - find out more