Writing

I stopped letting my AI agents approve their own work

For months the setup was simple. One agent drafts, I skim, it ships. Fast, and wrong more often than I admitted. Invented numbers that read fine. A file quietly moved out of the folder it was told to stay in. "Looks good" at the end of every run.

Now every batch has a second agent with one job: refute. It has to open every file the first one cited, run the tests, and find at least one real problem before it may say anything else. A finding that two reviewers hit gets promoted a level. The output is block, concerns or clean, with the line of evidence.

What you get when you add one:

  1. Silent errors caught before you see the output: invented numbers, moved files, skipped tests.
  2. Your own bias checked. The reviewer reads the files bottom up, so it does not inherit the drafter's story about what the code does.
  3. A verdict you can act on. Block, concerns or clean, with evidence, instead of a paragraph of praise.
  4. Fewer things built twice. Two of my nine "we need this" calls that day were flipped to "we already have it".
  5. Time back. One extra agent run per item, and it saves me the hour I used to spend finding what it finds.

That day's batch: seven deliverables drafted, fifteen forced fixes before I accepted any of them. Nothing shipped on the first draft.

If you run agents on real work, the question worth answering is this: who, in your setup, is allowed to say no?