~$Ajay Sogi
← All writing
AI Engineering

An AI agent needs a clearer definition of done

Define success before an agent starts, verify the result independently, and keep human review where the work needs judgement.

Article2 min read

A coding agent can build a screen that looks finished and still leave its main interaction broken. The difficult part is knowing when the work is ready to use. For longer tasks, I’d want that agreed before the agent starts: what should happen, how we’ll check it, and which decisions need a person’s judgement.

Anthropic’s work on long-running coding agents takes this approach. Acceptance criteria are agreed before implementation, and a separate evaluator exercises the application. But the evaluator also needs checking. Anthropic found that these agents needed tuning and still missed defects. Adding another agent gives you another check to assess; its approval carries only as much weight as the evidence behind it.

On the AI workout generator I contributed to, coaches reviewed plans before they reached clients. We also repeated evaluation cases and scored results against a written rubric for usefulness, accuracy and safety. Repeated evaluations helped us assess consistency. Coach review addressed whether a particular plan was suitable to use.

For a coding task, the equivalent can be straightforward. If the agent changes a preference, use the interface to save it, reload the page, and check that the value survived. Keep failed checks and unresolved assumptions visible to the reviewer. Verification takes time, so I’d concentrate it around failures we’ve seen and decisions that matter. A clear acceptance check makes it easier to decide when to finish, retry or ask for help.