June 17, 2026
You Can Spawn 50 AI Agents. You’re still the Bottleneck.
The AI software factory is real. So is the tax nobody puts on the slide. A field guide for the engineers and leaders building the agentic…
Rajneesh Aggarwal
6 min read
The AI software factory is real. So is the tax nobody puts on the slide. A field guide for the engineers and leaders building the agentic SDLC.
We were sold a clean story.
AI agents write the code. You spawn more agents. You ship more software.
It scales like compute. Need more throughput? Add more workers.
Then you tried it across a real team.
And the throughput didn't scale with the agents. It scaled with something much smaller and much more annoying.
It scaled with you.
The Bottleneck Moved. Again.
For years the assumption was that writing code was the slow part. So we automated writing code.
Now an agent can produce a working module before you've finished reading the ticket. Generation is effectively free.
But generation was never the whole job.
Somebody still has to decide whether the thing is right. Somebody has to merge it. Somebody has to own it at 2 a.m. when it breaks.
That somebody is one human with one brain.
Addy Osmani has the sharpest framing for this: in a fleet of parallel agents, you are the Global Interpreter Lock. Every parallel thread of work — every agent output — still has to acquire your attention, one at a time, serially.
You can run twenty agents. You cannot review twenty things at once.
The code got parallel. Your judgment didn't.
What You're Actually Building: The Factory
Here's the shift that matters for anyone leading engineering.
Your job is no longer to write features. It's to design the system that manufactures them.
The industry is calling this the Factory Model — the SDLC as an assembly line of agents, governed by specifications and quality gates, instead of a craftsman typing code by hand.
In that model the spec stops being a prompt. It becomes the product thinking, made explicit, before a single agent runs.
This is the part most teams skip. They jump straight to "point the agent at the repo." Then they wonder why the output drifts.
The factory only works if you engineer the floor it runs on.
The Harness Is the Product Now
There's a quiet truth buried in every team that's gotten agents to actually work:
The model is not the differentiator. The harness is.
The harness is everything wrapped around the raw model — the prompts, the tools, the context and retrieval, the memory, the guardrails, the sandbox, the tests, the retry logic, the observability.
A strong harness can make a modest model outperform a smarter model running naked. One team reportedly moved an agent from 30th place to 5th by improving only the harness — same underlying model.
So the practical rule writes itself: treat every agent mistake as a permanent signal, not a one-off.
Agent ran a destructive command? Don't just undo it. Block it in the harness so it can never happen again. Agent hallucinated an API? Add the schema to context. Agent took a 40-step task and lost the plot at step 12? Split it into a planner and an executor.
Every failure becomes a fixture. Over time the error rate ratchets down. That's the whole game.
The Orchestra — and Why No Agent Grades Its Own Homework
Inside the factory, you don't run one agent. You run a Code Agent Orchestra: specialized roles that hand work to each other.
A planner breaks down the work. An implementer writes the code. A tester writes and runs the tests. A security reviewer hunts for vulnerabilities.
The single most important rule in that lineup is this: the implementer must never grade its own homework.
This is where adversarial review earns its keep. One agent writes the feature. A different agent actively tries to break it — to find the edge case, the logic bug, the spec it quietly ignored.
A single agent is confident by default. Confidence is exactly what you can't trust. Two agents in tension surface the things one agent will happily paper over.
But — and this is the line that should make every leader pause —
verification is still on you. Unattended loops make unattended mistakes.
The Three Debts You Can't See on a Dashboard
Here's why this isn't just an efficiency story. The agentic SDLC creates three new liabilities, and none of them show up in your test results. They show up later, in your incident reviews.
1. Intent Debt. The gap between what you meant and what you actually told the agent.
Agents execute literally. Every vague requirement, every unstated assumption, gets filled in with a confident guess. And every fresh session starts cold — so the guessing compounds.
The feature "works." It passes the tests. It just isn't what you wanted. That's intent debt, and it accrues silently with every imprecise instruction.
2. Comprehension Debt. The widening gap between how much code now exists in your system and how much of it any human actually understands.
This one is invisible by design. The code compiles. The tests pass. Nobody grasps why it's shaped the way it is. Then a "simple" change detonates something three modules away, and there's no mental model left to debug it with.
3. Cognitive Surrender. The moment a human stops critically evaluating output and starts rubber-stamping it.
"Looks good to me." Ship it.
It's the most dangerous of the three because it causes the other two. Studies have shown alarmingly high acceptance rates of confidently-wrong AI answers. Each unexamined approval is a tiny loan against a codebase you no longer understand — and the skills you needed to understand it quietly atrophy.
Three debts. Zero of them caught by your CI pipeline. All of them eventually paid by your on-call rotation.
The Orchestration Tax — The Number Nobody Puts on the Slide
Now back to the bottleneck.
Spawning agents is cheap. Reviewing, merging, and reasoning about what they ship is not.
Every agent you add raises the Orchestration Tax — the coordination cost that lands entirely on the one human in the loop. More hops mean more latency. More context-passing means more tokens and cost. Small errors compound across steps. Keeping agents aligned gets harder. And the management overhead of designing, tuning, and monitoring all of it falls on a single set of shoulders.
This is the part the "10x with AI agents" pitch leaves out.
Beyond a handful of agents, you don't get more throughput. You get more context-switching, a deeper review queue, and shallower reviews born of fatigue. Busy — but not productive.
The discipline isn't "maximize agents." It's brutally simpler:
Stop adding agents when the next one costs more attention than it returns.
Optimize for net value, not raw speed.
The Leadership Playbook
If you're the person designing this system — and as an architect, you are — here's what actually holds up under load.
Invest disproportionately in the spec. Vague requirements don't cause one bug anymore. They propagate the same wrong assumption across every parallel run. Lock down requirements, interfaces, and acceptance tests before agents touch anything.
Make tests the constraint, not an afterthought. Tests-first (red-green TDD) is one of the highest-leverage instructions you can give an agent. A failing test the agent must satisfy is a fence around its creativity. Without it, the agent optimizes for "looks done."
Build adversarial review in by default. No single agent finalizes code. Separate the maker from the checker. Have one agent attack what another built.
Scale the fleet to your review rate — not to the UI. If you're one reviewer, twenty agents will bury you. Pick a sustainable parallelism (often three to five), batch reviews to amortize context-switching, and apply backpressure when the queue grows.
Treat comprehension as a deliverable. Require PR summaries and short "why" docs. Rotate who reviews which loop. The teams that ask questions of the AI retain understanding; the ones that passively accept it score far worse when tested on their own code. Read what the loop ships — or stop being the engineer.
The Bottom Line
The AI software factory is not hype. Done well, a strong harness multiplies a single model, and an orchestra of specialists can deliver real complexity in parallel.
But the leverage comes with a bill. Intent debt, comprehension debt, cognitive surrender, and the orchestration tax aren't bugs in the approach — they're structural features of how agents work. They are manageable, but only with deliberate design and a human who refuses to check out.
The strategic question for every engineering leader isn't "how many agents can I run?"
It's "how much of this can I still understand — and who's accountable when it breaks?"
So design the harness. Orchestrate the agents. Guard the human. Pay the tax on purpose. Deliver value.
Then do it again.
If you're building the agentic SDLC inside a large enterprise, I'd genuinely like to hear which of the three debts is biting you first — and how you're managing the orchestration tax in practice. Tell me in the comments.