A 200 from a tool call isn't proof your agent did the thing. How are you verifying actions?

Reddit r/AI_Agents News

Summary

A practitioner shares a pattern where an AI agent's tool call returns success (200/id) but the intended action never actually completed (e.g., email stuck in drafts). They propose read-back verification after every write, labeling actions as verified, acknowledged, or contradicted, and ask how others handle agent action verification.

Pattern I keep running into: the agent says it sent the proposal, the tool call came back with an id, the trace is green. The email is sitting in Drafts. So I've stopped treating a success response as proof. Most APIs only tell you they accepted the request: mail APIs return an id when the message is accepted, not delivered (or delivered to the right person) a CRM update returns 200, then a workflow rule overwrites the field a second later calendar APIs create the event and quietly drop an attendee they couldn't match What I do now is a read-back after every write: fetch the thing and compare it with what the agent meant to do. Each action gets one of three labels: verified: read back, matched acknowledged: API said yes, nothing read back (this is all a 200 is worth) contradicted: read back, and it disagrees with what the agent claimed Two rules keep it honest. If the read-back itself fails (network error, missing id), that's unchecked, not contradicted. And if the record exists but there's nothing to compare, it stays acknowledged. The contradicted bucket is the one that matters. Without it you find out from the customer. Curious how others handle this. Per-tool read-backs, evals, human review, or just trusting the response?
Original Article

Similar Articles