Posted by bucket2015 2 days ago
1) Plan the hell out of everything. Aggressively have multiple agents weigh-in on that plan, in sequential waves. Don't skimp here.
2) Have subagents review every code commit.
3) Create tests for EVERYTHING. If something breaks you want it discovered immediately. Not just unit tests - use golden masters to ensure your UI doesn't break, etc, etc.
Nothing magical, but it gets me to a very stable dev system. And all I have to do is paste those three rules into my agent, and he does it all for me. It's not difficult.
What about when repetitive typing is no longer a constraint? Do we need to pay for those abstractions? An LLM can scour the codebase and repeat patterns without getting tired. A simple-but-repetitive codebase might be ideal for an LLM.
This is one place I see AI coding changing the definition of code quality itself. I'm sure there are more...
> Instruct the agent to think through the test scenarios and test cases based on the requirements, Write the test cases, Write the implementation, Test the implementation against the test cases and fix any issues that come up, Maybe backfill any remaining coverage gaps—but again, keeping the requirements in mind.
It's too easy, in general, to write tests that simply mirror the implementation. I wonder if it would be better to spin up two sub-agents to attempt test cases and implementation in parallel, so that neither poisons the other's context.
No LLM will destroy any code base in any time frame without permission from an human operator. That person is responsible for allowing the code base being destroyed.
My manager expects stuff to be done 10 times quicker than 2 years ago, and that can't happen if I spend time understanding and fixing all code being pushed. At that point I might as well write it myself.
However it doesn't happen automatically. I spent a lot of time experimenting with Claude Code to figure out the right way to use it.
It's a tool. Learn how to use it well.
LLMs have speed development up so much, the difference between engineers and programmers is becoming too obvious to ignore.
There also exist other good reasons why projects don't want AI-generated code, in particular
- because of unclarity of copyright status and consequences of AI-generated code
- because the project leader simply made the observation than many programmers who hand in AI-generated code care more about "getting things done" and "pushing through their changes" (possibly to boost their CV) instead of deeply caring about code quality
I don't mind this, but this is not how this is being sold at all, and many folks use these tools to be lazy.