Armin Ronacher on The Coming Loop and Why Agent-Driven Code Still Needs Human Comprehension

TL;DR
Armin Ronacher's The Coming Loop on agent loops versus harness loops: where loop-driven development works, where it fails, and what the HN thread adds.
Official Sources#
| Source | Link |
|---|---|
| The Coming Loop (Essay) | lucumr.pocoo.org/2026/6/23/the-coming-loop |
| Hacker News Discussion | news.ycombinator.com/item?id=48643180 |
| Armin Ronacher (Author) | lucumr.pocoo.org |
| Flask Framework | flask.palletsprojects.com |
Last updated: July 13, 2026
Armin Ronacher published The Coming Loop on June 23, and the piece immediately hit the Hacker News front page. As the creator of Flask and a long-time voice in the Python and Rust ecosystems, Ronacher's perspective on AI coding tools carries weight.
The essay asks a question that has been circulating in engineering circles: what happens when the human engineer is no longer in the loop?
What The Essay Actually Says#
Ronacher distinguishes two nested loops in AI-assisted development:
-
The agent loop - the model calls tools, reads results, makes decisions, and iterates internally. This is what happens inside a single Claude Code or Codex session.
-
The harness loop - external systems decide when work continues. A harness can restart sessions, modify context, escalate tasks, or route work to another machine. This extends work past the point where the model would naturally stop.
The harness loop is the new territory. It is where companies start to ask: can we run agents overnight without a human watching? Can we set up a CI job that loops until the tests pass? Can we let the machine keep going until it solves the problem or runs out of budget?
Ronacher's answer is that yes, this is coming, whether developers want it or not. He is explicit about the competitive pressure:
Opting out of this fully machine-driven future may not be an option.
He also notes the security angle. If attackers are using loops to find vulnerabilities, defenders may need loops to patch them.
Where Loops Work Today#
The essay acknowledges that some tasks already work well in loop mode:
- Code porting and mechanical transformation - moving a codebase from one language to another, applying a consistent refactor across thousands of files
- Performance benchmarking and optimization - letting an agent iterate on a hot path until the numbers improve
- Security scanning and research exploration - running an agent against a target until it finds something interesting
- Proof-of-concept generation - producing a first draft that a human can then evaluate
These are tasks where the output can be measured or verified without deep human judgment.
Where Loops Fail#
The concerns are more interesting than the optimism. Ronacher observes that loop-generated code often exhibits specific failure modes:
- Overly defensive, complex implementations
- Redundant error handling instead of making bad states impossible
- Lack of strategic thinking about system invariants
- A style that prioritizes local correctness over global coherence
He writes about the risk of losing comprehension:
For now I have not moved past the point of comprehension being important to me.
That sentence resonates because it describes a line that many engineers are quietly drawing. The tools are powerful. The temptation to let them run is real. But something feels off about shipping code you do not understand.
What HN Is Saying#
The Hacker News thread has over 200 comments, and the discussion is notably more cautious than the usual AI hype.
Several commenters echoed the comprehension concern:
I feel uneasy, and I do not enjoy the work I deliver using LLMs.
Others pushed back on the inevitability framing:
This is a very fatalistic take. Engineers getting increasingly distant from how things are getting built is not something that will 'undoubtedly happen, whether we like it or not.'
One commenter made a practical observation about specifications:
Loops work when you spend the proper amount of time to understand what you want ahead of time. The prerequisite is clarity - enough clarity that you could write a careful specification that you could hand off to a junior colleague. Often, it takes 5-6 broken crappy versions of a thing until you understand that. There is no accelerating the 5-6 broken crappy versions.
This point deserves emphasis. The loop is not a substitute for thinking. It is a tool for executing after the thinking is done.
Another commenter raised the cost angle:
Currently my org of 8 people use around 1000 euro worth of tokens per month. We've recently had a discussion near the water-cooler, that if the cost climbs 5x-10x it may be just more worth it to get more developers.
That math is real. Loops multiply token usage. At API rates, overnight agent sessions can cost hundreds or thousands of dollars.
The Unsolved Problem#
The essay ends without a clean resolution, which is honest. Ronacher is describing a tension that does not have an obvious answer:
- Loops are coming because competitive pressure and security threats demand them.
- Loops produce code that humans struggle to understand.
- Systems built on code no one understands become unmaintainable.
- Unmaintainable systems eventually fail in ways that matter.
The question is not whether to use loops. The question is how to use them without losing the engineering judgment that makes software reliable.
A Practical Frame#
For developers reading this today, a few practical takeaways emerge:
1. Separate exploration from execution. Use loops for tasks that have clear success criteria. Use interactive sessions for tasks that require judgment.
2. Budget for review. If a loop produces code overnight, someone needs to understand that code before it ships. The loop does not eliminate review time - it moves it.
3. Watch the cost curve. Loops can burn through token budgets fast. Set hard limits. Monitor spend. The productivity gain is only real if it does not blow your budget.
4. Keep comprehension in scope. If you cannot explain what the code does, you probably should not ship it. This rule has not changed just because the code was written by a machine.
5. Be skeptical of inevitability claims. "Everyone will do this" is not a reason to do it. Teams should make deliberate choices about how much autonomy they grant their tools.
My Take#
Ronacher is one of the clearer thinkers in the developer tools space, and this essay captures a real tension. The loop is seductive because it promises to remove the human bottleneck. But the human bottleneck is also the human judgment. Removing it is not free.
The most useful framing I have seen is this: treat loops as automation, not intelligence. Automation is great for repetitive, well-specified tasks. Intelligence is what you need when the spec is ambiguous, the trade-offs are unclear, or the consequences of failure are high.
For code that matters, the human is still in the loop - not because the tools are bad, but because the stakes require it.
FAQ#
What is "The Coming Loop"?#
"The Coming Loop" is an essay by Armin Ronacher exploring the tension between autonomous AI coding agents that loop without human oversight and the engineering comprehension needed to maintain reliable software.
What is a harness loop?#
A harness loop is an external system that decides when an AI agent's work should continue, restart, or escalate. It extends agent work beyond a single session, potentially running overnight or across multiple machines.
Does Armin Ronacher recommend using loops?#
Ronacher describes loops as likely inevitable due to competitive and security pressures, but expresses unease about the loss of code comprehension that comes with hands-off agent work.
What are the risks of loop-driven development?#
Risks include overly defensive code, loss of architectural coherence, high token costs, and shipping code that no human fully understands.
Should teams adopt harness loops today?#
The essay and HN discussion suggest caution. Loops work best for well-specified, measurable tasks. For code that requires judgment, interactive sessions with human oversight remain more appropriate.
Who is Armin Ronacher?#
Armin Ronacher is a software engineer known for creating Flask, the popular Python web framework, and for his work on Jinja2, Werkzeug, and other Python tools. He also works extensively with Rust and is a long-time voice in developer tooling and language design.
Continue Reading#
Get the next deep dive like this in your inbox
One email a week on News and the rest of the AI dev stack. Free.
Read next on AI coding tools
Karpathy's Loopy Era Is the Best Way to Understand Codex
Andrej Karpathy's loopy era frame explains why Codex is becoming less like a chatbot and more like an agent loop manager for real software work.
9 min readHarness Engineering Makes Tokens a Systems Budget
Harness engineering turns tokens into a systems budget. OpenAI's Codex post and Tokenomics research say agent teams need budgets, receipts, and eval loops.
8 min readThe Ralph Loop: Running Claude Code For Hours Autonomously
The Ralph Loop uses Claude Code stop hooks to keep an agent working autonomously for hours. How stop hooks, completion promises and max iterations fit together.
10 min readNew here? Start with
Technical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.








