Combine rules, model checks, and human judgment
Quality signal in an agent system comes from three places, and they are not equivalent.
Deterministic checks test specified properties, such as schema conformance or a source-text match. A passing check establishes only that property under the check's assumptions. It does not prove that the complete business result is correct.
Model judges can assess broader criteria against a rubric. Their scores need evaluation for consistency, bias, and disagreement with specialist review.
People bring task context that automated checks may lack, but they can also miss errors or disagree. Treat reviewed decisions as valuable evidence with an owner and rationale. Sample and adjudicate them before using them as evaluation labels.
Capture feedback within the existing review
Let a reviewer approve, reject, or correct an output in the tool they already use. Connect that action to the relevant run and capture a reason when it will help diagnose the issue.
This can reduce extra data-entry work, but review still costs time. Track participation and correction effort, and avoid assuming that silence means approval. Some workflows need a separate specialist review or labeling step.
Keep posted outputs addressable so a later reaction can be linked to the original run, inputs, and available decision record. Late feedback is useful only if that provenance is retained.
A rejection has to visibly produce something
A rejection records that a reviewer found the output unsatisfactory. Preserve its context, acknowledge it, and route it for diagnosis. The rejection deserves investigation; it does not by itself establish the technical root cause.
The reason to wire it that aggressively is behavioral rather than technical. A rejection that visibly produces nothing teaches people to stop rejecting. Once a reviewer concludes that the reject button is decorative, they start silently correcting outputs by hand instead — and at that moment you lose both the signal and the visibility into how much manual correction is actually happening.
The failure is quiet and it looks like success: rejection rates fall, dashboards improve, and the agent is getting worse.
Rejection rate falling is only good news if you can prove people are still rejecting when they should. That proof is a sampling process, not an assumption.
Approvals calibrate the judge
An approval on a flagged output records a disagreement. First adjudicate whether the output is acceptable under the rubric. The fraction of flags found acceptable measures errors among flagged outputs; it is not the false-positive rate over all acceptable outputs.
This matters because the alternative is hand-tuning the quality bar after every review round, which is unfalsifiable work — you adjust a threshold, the numbers move, and nobody can say whether the judge got better or the bar got lower.
To estimate false-positive rate, divide incorrectly flagged acceptable outputs by all adjudicated acceptable outputs in a representative sample. Also measure missed problems, reviewer agreement, and sample uncertainty. These measures help establish when the judge is useful for routing review.
The feedback becomes the corpus
Reviewed approvals and diagnosed rejections can seed an evaluation corpus after label-quality checks. Retain source context and permissions, separate development examples from holdouts, and avoid assuming all historical decisions were correct.
This is what makes the loop compound rather than merely close. The eval suite an agent ships with is a best guess about what will go wrong. The eval suite it has a year later is a record of what actually did — including the edge cases nobody could have anticipated, because they came from the specific vendors, formats and exceptions of one real business.
That corpus is also the most valuable artifact the whole system produces, and it is worth being explicit about who owns it. It describes your work, it accumulates in your environment, and it should leave with you.
Technical examples explain design choices and their assumptions. Deployment controls and acceptance criteria are agreed for each workflow.