approx. 5 min. reading time
# When the Agents Write the Code, the Human Checks Themselves [1/2]
Written by Jörg Amelunxen /
July 2026

Table of Contents:
## Part 1: The Setup, or How Agentic Development Actually Works
*(A two-part series. Part 1 describes what a working agentic setup looks like. Part 2 shows the price the human pays for it and how to keep that price under control. Both parts can be read on their own.)*
9:34 in the morning. My setup is warm. Four agents are running.
One has finished a refactor and asks whether it may commit. The second turned seventeen E2E tests green, reported one red, and waits for my diagnosis. The third proposes an architecture switch, with three options. The fourth wants to know whether it should keep using Slf4j for logging or move to something newer.
Four decisions before my coffee goes cold. And that is the quiet part of the morning.
Most texts about agentic development sell speed. Ship faster. More output per day. Less typing. All true. It just rarely gets told to the end, because the other half is more uncomfortable: what lands on the human who supervises the agents. Before I get to that uncomfortable half in Part 2, it is worth looking at what actually works.
I have been working agentically for years. The setup keeps shifting, though, because the technology keeps moving. What a few years ago meant “the AI makes a code suggestion, I accept or reject it” today means “several specialized subagents work on features in parallel, and I am the one who reviews, approves, corrects, and prioritizes”. Each stage creates new problems inside the human’s head. This is about today’s stage.
## What I Mean by Agentic Development, and What I Do Not
First, a distinction. Vibe coding means “you describe things on the fly, the AI builds, you keep whatever sounds right”. Fast, creative, risky, and in serious codebases usually not production-ready. Agentic development means something else: an orchestrated setup of several subagents, each with a clear mandate, running against a repository base with good E2E test coverage, and a human who holds the strategic layer. Both keep getting lumped together. Skeptics see vibe output and judge the method by it. Cheerleaders celebrate vibe output and call it engineering. Both miss the point.
In my setup, three models run side by side, each with a clear job. A large reasoning model for what truly needs depth: architecture proposals, larger refactorings, hard-to-pin-down bugs. A mid-sized model for everyday implementation. A small, fast model for everything that is really routine: formatting, code comments, research summaries, documentation updates.
Why three and not one? Because several effects show up at once. Quality, because the right model for a given task noticeably improves the result. The large model delivers the depth an architecture proposal or a difficult bug needs. The small one stays with routine and does not try to turn a two-line doc fix into an architecture debate. Speed, because the small model answers in seconds where the large one takes minutes; when the bulk of your requests stay small, your day is noticeably faster. Cost, because the price difference per token is an order of magnitude or more; generating every code comment at the price of an architecture query makes no economic sense. And the climate footprint, because larger models really do need more compute, more energy, and more water for cooling. A peer-reviewed study by Luccioni and colleagues from 2024 compares the energy use of model inference across 88 models and 30 datasets and finds differences of several orders of magnitude between small and large models for the same task [2]. Anyone who does not differentiate here drives up the energy use of their setup for no reason.
Which model exactly takes which task is a matter of taste and changes with every new release. What stays is the separation. Refactorings cost almost nothing in this world, because an agent does them in twenty minutes, verifies them against the E2E suite, and delivers a diff that I read. The old rule of thumb “make the change easy, then make the easy change” [1] becomes economically viable. And I keep two axes explicitly with the human: the planning beforehand and the gut check afterward. What gets built, I decide. Whether it feels right, I decide. The rest I do not do.

## Why This Is the Real Shift in Skills
Anyone who takes this setup seriously notices quickly: the work does not disappear, it moves. Away from typing, toward judging. In the same amount of time, the agents produce a multiple of the material that used to appear. Every line of it wants to be evaluated. That is exactly the skill good testers and experienced reviewers have always had: holding context, assessing quality, weighing risk. It does not disappear in an agentic world. It becomes more central.
This is where the interesting part begins. Because this setup only works over the long run once you know the price it demands of the human. Where two hours used to hold maybe eight conscious decisions, it now feels like forty. Typing was never the exhausting part. Judging is.
That price, the three cognitive bottlenecks behind it, and the concrete guardrails against them are the subject of Part 2.
## References
| [1] |
Beck, K. (2012, September 25). for each desired change, make the change easy (warning: this may be hard), then make the easy change [Tweet]. X (Twitter). https://x.com/KentBeck/status/250733358307500032
|
| [2] |
Luccioni, A.S., Jernite, Y., & Strubell, E. (2024). Power hungry processing: Watts driving the cost of AI deployment? In Proceedings of the 2024 ACM Conference on Fairness, Accountability, and Transparency (FAccT ’24). https://doi.org/10.1145/3630106.3658542
|
