HeadlinesBriefing favicon HeadlinesBriefing.com

Towards Self-Driving Codebases: The Next Phase

Hacker News •
×

Agents can oneshot games that are actually fun. With the right guardrails, agents can execute incredibly impressive migrations in complex codebases, even rewrites in new languages. But basically all “real” software work still has human engineers driving the process. How do we get to a place where a much bigger portion of the work gets handled for us, without requiring our attention?

A lot of engineering orgs spent the first half of this year offloading as much work as possible to armies of agents and adversarial loops. The results have been pretty disappointing: mountains of dubious code, but no tsunami of incredible software. The ROI on all those tokens has been sketchy at best. In hype cycle terms, we’re in the trough of disillusionment.

One diagnostic we can use to help us get there is to ask: when the software mostly drives itself, what will engineers do? A common answer is: setting up Loops! We used to write code, then we wrote prompts, now we set up loops of agents and write /goal a lot. I think this is mistaken. Right now, setting up a viable software loop that produces net-positive software change without incinerating money is a ton of work, but mostly that’s because the toolchain isn’t ready. When we have the right moving pieces, these loops are going to be easy to set up, easy to trust, and cost-effective. This won’t be where our time goes.

Rather, the most valuable engineering work is going to be having good ideas. The important ideas are still coming from outside the software factory. Killer features are still company-making. Cursor Tab, Descript’s transcript editing, Open Router abstracting inference vendors behind a common billing interface, these are all company-making ideas. Beyond creativity, good ideas require problem intimacy and domain expertise, and engineers will need to contribute to that process. Killer architecture is still high-leverage. The right simplification still saves an enormous amount of complexity later on. Outside the realm of “having good ideas”, we should be trying to move codebase work to GPUs. For example, can agents handle these whole concerns? Detecting and fixing most bugs. An agent should catch these for us and fix them. Debugging production errors. When an error shows up, an agent should correlate it to a recent commit or traffic change or infrastructure difference or unexpected condition and, usually, patch it for us.