The bureaucracy of bots: why we are checking the checker
3m read time

The bureaucracy of bots: why we are checking the checker

Deploying an AI to double-check the work of another AI produces better results. But we are unwittingly recreating the slow, complex corporate bureaucracy we tried to escape.

By now, we all know the weaknesses of Large Language Models. They hallucinate, they lose context halfway through a long prompt, and they are deadly convinced of their own incorrect answers.

The industry's solution? Agentic workflows.

Instead of asking a single model to generate an answer, we set up an entire department of AI agents. Agent A writes the code. Agent B reviews it. Agent C tests the result and sends feedback back to Agent A.

And honestly: it works wonderfully. The quality of the output skyrockets when models are given the chance to correct their own mistakes before a human even sees it.

But what are we actually building here?

Re-inventing red tape

Without realising it, we have recreated the classic, sluggish corporate bureaucracy, but within our codebases. Where we used to rebel against the excess of managers and committees required to approve every decision, we are now cheering on the exact same process, executed by bots.

We have replaced the intuition of the craftsman with the procedures of a quality control department. And just like real bureaucracy, these layers come with a hefty price tag.

The hidden invoice

The cost of an agentic workflow isn't just the evaporating API budget (although the token burn of an iterating agent loop can be astronomical). The true costs lie in latency and complexity.

1. Latency is the new enemy A simple API call to an LLM takes two seconds. A network of agents deliberating with each other can easily take 45 seconds to a minute. As a developer, you are no longer in the flow, you are waiting for a virtual meeting to conclude. You've traded the speed of a script for the speed of a board meeting.

2. Infrastructure for self-doubt Your simple, straightforward function has now become a complex state machine. You are building orchestration layers, memory management, error handling, and timeout mechanisms, purely to accommodate the self-doubt of an algorithm.

The infinite loop of control

Then there is an even more fundamental problem. If we need a bot to check the first bot, because we don't trust the first one... who checks the checker?

If Agent B makes an incorrect assumption during its review, who calls out Agent B? Do we need an Agent D acting as some sort of virtual Board of Directors? Before you know it, an echo chamber is created where the AI is confirming its own mistakes via proxies.

No managers on the critical path

Does this mean agentic code is useless? Absolutely not. For asynchronous processes where time doesn't matter, such as translating large documents, scraping documentation, or running background data analysis, the higher quality of agents is absolutely worth it.

But as soon as you build real-time applications, or design processes that are directly on the critical path of the user or developer, it's time to stop building virtual departments.

If the worry driving that second checker is that something slipped through, the honest answer is downstream rather than sideways. Instrument the code instead, so production can tell you what actually happened, and skip the agent whose job is to agree with the first one.

Keep it simple. One fast prompt, and let a human be the final checker. An engineer's intuition is still faster, cheaper, and more effective than a bureaucracy of bots.

(7 of 38)
01You don't have an AI problem. You have a process problem.02Why you should never ship code you don't understand03Stop copy-paste engineering04The lava layer: why AI code is slowly petrifying your codebase05The brilliant parrot problem: what AI actually does when it 'thinks'06The prompt is not the spec07The bureaucracy of bots: why we are checking the checker08The day Claude deleted my production database09The arms race for your trust: Mythos, Cyber and the security hype10Stop letting your agents write Markdown11Your agent's suffering is your technical debt speaking12You can't spot the bug if you didn't write the code13One in four: the security debt nobody's counting14Your 10x developer is gated by a 0.1x pipeline15Benchmarks said frontier. Developers said "dumb."16Caveman vs context-mode: small mouth, or smaller room?17Code churn is the lava you can still measure18The ceiling is made of concrete19The token-saver tax: walking back my Caveman advice20Even the malware is AI slop now21ThePrimeagen was right22Tokenmaxxing is what happens when you measure the wrong thing23They just asked the bot nicely: your support agent is the attack surface24Speed got cheap. Judgement didn't.25Your coding agent has no world model. You built it one.26The Ferrari has a limiter: a day with Claude Fable 527The off-switch was never yours28An open MCP server is worse than an open database29The most resilient job is eating its seed corn30The off-switch works both ways now31AI writes the tests. Mutation testing checks if they work.32How to get better at reading code: a practice routine33Learning to program in the age of AI: what I would learn first34Who is responsible for AI-generated code? You are, and 2026 wrote it down35When not to use AI for coding: the tasks I still do by hand36Hiring junior developers in 2026: the collapse is a hiring decision37Software estimation with AI: the typing was never the estimate38Slopsquatting: checking that the package exists is not a defence