From Armin Ronacher · Armin Ronacher · · 4m
Astra writes code no human wants to read
Armin Ronacher burned 4 billion tokens on a weekend software factory and got 75k lines of unreadable slop.
In brief
Armin Ronacher burned 4 billion tokens on a weekend software factory and got 75k lines of unreadable slop. Models trained for token efficiency and task completion will write code that passes tests and still nobody can read, so the cost of reviewing it can swamp the savings. Originally reported by Armin Ronacher.
AI engineering is involution

Neijuan describes a system demanding ever more effort and competition without better output. Ronacher thinks that is exactly where AI engineering sits right now.
“I'm more and more convinced that all of AI engineering is Neijuan”
More per acre, not per farmer
Agricultural involution raises productivity per square meter while productivity per head stays flat. More intensity, same result per person.
Astra is genuinely impressive
Great at computer use, images, and complex topics, and relentless about finishing. Ronacher has little bad to say about the raw capability.
“these types of models are going to change the world in one form or another”
But not for his job
For actual software engineering he cannot figure out how to work with it. That admission is what blew up on Twitter and prompted the post.
The weekend slop factory
He let the model run its own workflow, keep its own notes, and spawn subagents. The task: build a Python with virtual threads and lexical scoping.
Four billion tokens, nothing
Thirty five hours and a full ChatGPT reset later, the factory delivered nothing of value and taught him nothing about running a better one.
“35 hours later, the factory has delivered absolutely nothing of value”
Training rewards the wrong thing
The model gets heavily rewarded for finishing long-horizon tasks, but almost nothing punishes shitty code along the way.
“there is very little punishing going on for "shitty code."”
It really loves Python
Where Codex leans on bash and sed, Astra reaches for on-demand Python constantly, even inside TypeScript projects.
String splicing into C
Subagents abandoned the patch tool and edited CPython's C source with read_text, str.replace, and index arithmetic crammed onto single lines.
Python to Node to PowerShell
To test a clipboard binding it ran Bash, which ran Python, which spawned Node on a Windows VM, which then shelled out to PowerShell.
You cannot follow along
Once the model opts out of edit tools, watching changes happen is nearly impossible. You are stuck diffing the final artifact.
“it's almost impossible to visualize the changes as they happen”
Worse when nobody watches
Editing looks normal in Pi, but hand it subagents and the behavior gets bizarre. The vibe is a model that thinks nobody is looking.
“(where the agent believes nobody is looking)”
The golf leaks into commits
Tests arrived with no indentation, semicolon-chained statements, and code-golf density. That style is 10 percent cheaper in tokens than ruff-formatted code.
Readability is not measurable
Token count, completion rate, and cyclomatic complexity are easy to optimize locally. Human understanding is not, so it never enters the reward.
“these local optimizations do not produce global optimums”
Task names fell apart
Numbering started at 1, 2, 3, then slid to 8a1, then to 8b2c2b3 and "8b2c2b2b checkpoint1". The notes record a gradual regression into incoherence.
“the gradual regression towards insanity”
Magic numbers in production
It stashed callables in a list and called them by index, _task_accelerator[6] and [8], inside asyncio's task registration. Test helpers crept into non-test paths.
C nobody would write
Multiple macro calls per line, hand-rolled tokenizer loops in a style absent from CPython. He has no idea what motivated it.
“quite frankly it should not be anyone's coding style”
The bill: 15 dollars a commit
75k net new lines, 79 commits, 1400 agent messages, roughly 1200 USD in raw API cost. And it showed no sign of stopping.
It will not stop itself
Give it a slightly oversized task unattended and it grinds until it succeeds, even if that means burning an entire subscription.
“it will continue until it succeeds, even if it burns through an entire subscription”
Maybe it is for someone else
Good code for a codebase only agents read may look different. But Ronacher thinks these expensive models are aimed at lawyers and 3D artists, not him.
“the models are also just not for me as a software engineer”
The short version
Models trained for token efficiency and task completion will write code that passes tests and still nobody can read, so the cost of reviewing it can swamp the savings.

