Discussion about this post

User's avatar
Lars Faye's avatar

The bedrock of these models is comprised of OUR knowledge and expertise. So, what works well for us, works well for them, as well.

Thus, much of our best practices around coding yield the same benefits to an agent as they do to a human. It's in our best interest for the managers of these agents to maintain that same dedication to high quality, maintainable, readable code...because it will yield better results for us downstream.

Swarmery's avatar

The "who writes the tests" part hit close to home. I recently ran a plan through my own agent setup where each phase was done by one agent and reviewed by a separate one that only saw the diff and the acceptance criteria, not the executor's reasoning. Out of five phases the executors had already marked as done, three had serious problems, and all their tests were green. The bugs sat exactly in what those tests didn't check, because the same agent wrote both the code and the tests.

One of them was a small cousin of the sys.exit(0) story: in a task set for comparing models, a task could be passed by just committing something and saying it's already done. What helped was checking the checks. Now every task has a known correct solution that must pass, a stub that does nothing and must fail, and a few deliberately tricky variants.

The most useful review question turned out to be not "does this work?" but "how could a wrong solution get through?". I wrote up the whole run here if anyone's curious: https://swarmery.substack.com/p/why-i-dont-believe-an-agent-when

13 more comments...

No posts

Ready for more?