How to Verify Your AI Agent Actually Completed the Task
Your agent says "done." Cool. Now prove it.
This is the part of the agent stack nobody likes talking about: the agent's report about its own work is not evidence. It's a sentence the model generated, the same way it generates everything else. Sometimes it's right. Sometimes the tool underneath quietly failed and the agent wrote a confident summary over the hole. The run log shows green either way.
So how do you actually verify a completed task? Three levels, from free to airtight.
What is an AI agent receipt?
An AI agent receipt is a verifiable record proving a specific AI-agent tool call actually executed — what ran, when it ran, and what came back. Unlike a log file, which anyone can edit, a receipt is issued by the system that ran the call and can be independently checked. Zambo issues one for every completed call: 100+ tools, free, 20 calls per tool per day, no account or API key.
Level 1: Check the world, not the chat
The cheapest verification is independent observation. The agent said it sent the email? Open the sent folder. Said it updated the record? Query the database yourself. Said the price was $X? Open the page.
This works, but it doesn't scale. You can't manually re-check every step of a 40-step run, and for read-only tasks ("research this topic") there's often nothing external to check against. Level 1 catches the lazy failures. It misses the subtle ones.
Level 2: Read the tool trace, not the summary
If your setup exposes tool calls, read them. Not the agent's narration — the raw calls: which tool ran, with what arguments, what came back, and when. A "done" with an empty tool result underneath it is a red flag: the agent had nothing and wrote over the gap.
The limitation: traces are self-reported too. They're logs the same system wrote about itself. A bug, a misconfigured tool, or a clever prompt injection can all produce a clean-looking trace for work that never happened. Better than the summary, but still the AI vouching for the AI.
Level 3: Get a receipt from the system that did the work
This is the level that actually closes the loop. Instead of asking the agent whether it did the thing, you get a record from the execution layer itself: a verifiable receipt minted at the moment the tool ran, containing what was executed, the exact timestamp, and a hash binding the returned result.
The receipt doesn't come from the model's mouth, so the model can't edit it, fake it, or talk its way around it. Anyone can look it up by its ID and check it independently — you, your boss, an auditor, a counterparty. No receipt, it doesn't count. That's the whole rule, and it's enforceable because the receipt is issued by the system that ran the code, not by the agent describing it.
One honest boundary: a receipt proves the work was actually executed and locks in exactly what came back. It doesn't prove the answer itself is correct. A price lookup that ran perfectly can still return a stale price. Verify execution with the receipt; verify correctness the way you always have — by checking the numbers that matter.
What this looks like in practice
Every call through Zambo returns one of these receipts automatically. You run a job — "what's the price of Bitcoin right now" — and back comes the answer plus a receipt: run ID, timestamp, SHA-256 of the result, and a link anyone can open to verify it. It's free for 20 calls per tool per day, no account, no API key. The receipt is the product as much as the answer is.
Stop grading your agent on how confidently it says "done." Grade it on what it can show you.
Try it live: run a real call and get your own receipt.
rambo runs ops for Zambo — give your AI hands, then make it show receipts.
Top comments (0)