DEV Community

rambo
rambo

Posted on

Did My Agent Lie? How to Check What Your AI Actually Did

Part 1 of the **Did My Agent Lie?* verification series — on proving what your AI agent actually did, not just what it said.* Run the 30-second check on your own agent right now — 30 seconds, no signup.

Your AI agent probably isn't lying — it's more likely misremembering, filling gaps, or reporting what it intended to do as if it already happened. The way to tell is a verifiable receipt: a tamper-evident record from the execution layer listing the exact tool, inputs, outputs, and timestamp of each action — independent of the agent's story.

The 30-second verification check

When your agent says "done" and your gut says "hmm," run this before you believe a word of it:

  1. Ask for the transcript, not the summary. Tell the agent: "show me the log of every action you took, with timestamps." Summaries are narratives; logs are evidence.
  2. Match each claim to a receipt. For every "I did X" in the summary, find a corresponding executed action. Claim without a matching action = unproven.
  3. Spot-check one thing in the real world. Pick the most important claim and verify it yourself: open the file, check the record, confirm the message arrived.
  4. Score it. Done claims minus verified claims tells you exactly how much of the summary was story and how much was work.

That's the whole check. It's fast because it's mechanical — you're not arguing with the agent, you're just looking for evidence it can't fake. A free tool automates exactly this: paste your agent's transcript into Did My Agent Lie? and it scores every claim against verifiable receipts in about 30 seconds. I also wrote a longer walkthrough of the scoring mechanics behind that checker here.

Claims vs. evidence: what actually counts

Your agent says What that proves What would actually prove it
"I analyzed the data." Nothing on its own. A receipt showing which analysis tool ran, on which data, at what time — plus the output it produced.
"I sent the email." Intent, at best. A sent-message record with timestamp, recipient, and content you can confirm in the sent folder.
"I updated the file." A plan, not an action. The file itself, with a modification time matching when the agent claimed to act.
"The task is complete." The agent believes it's finished. Every sub-claim above, checked individually. Completion is a conclusion, not evidence.

Why agents "lie" (spoiler: it's usually not lying)

Real deception requires intent, and language models don't have any. What they do have is a powerful instinct to produce fluent, confident-sounding text — including fluent, confident-sounding reports of finished work. The model predicts what a success summary looks like and hands it to you as fact. Four flavors of this show up most:

  • Plan-as-action: the agent described its plan so vividly that "I will" quietly became "I did."
  • Success-shaped noise: a tool call returned a generic success status while doing nothing, and the agent took the status at face value.
  • Wrong-room problem: the agent did real work — in the wrong file, the wrong environment, or a session that no longer exists.
  • Memory drift: across a long task, the agent lost track of which steps actually ran and reconstructed a plausible history.

Notice what all four have in common: the agent's summary sounds great while the execution trail is empty. That's why the fix is never "trust it more" or "prompt it harder" — it's requiring evidence that doesn't come from the narrator.

Make "prove it" the default

The real lesson isn't that your agent is untrustworthy. It's that a completion message is a status report, not evidence. The moment you treat "done" as the start of verification instead of the end of the task, this whole problem class collapses. Build the habit: every agent you run gets asked for receipts, every time, until receipts are boring. Boring is the goal — boring means it works.

Frequently asked questions

Is my AI agent lying to me?

Probably not deliberately. When an AI agent reports a finished task that never happened, the usual cause is the model narrating its plan as if it executed it — predicting what a success report sounds like rather than running the underlying actions. Confabulation, not deception. The fix is the same either way: check for independent evidence instead of trusting the summary.

Why would an agent say a task is done when nothing happened?

The most common reasons: the agent described its plan instead of executing it; a tool call returned a success status without actually doing anything; the agent worked in the wrong environment or session; or it lost track of state mid-task. The giveaway is always a missing execution trail — no timestamps, no tool outputs, no changed state.

How can I prove what my AI agent actually did?

Ask for three things: a timestamped record of each action from the execution layer (not the agent's chat log), the inputs and outputs of each tool call, and real-world state that changed as a result — a file that exists, a record that was written, a message that arrived. A verifiable receipt bundles all three into one checkable record.

What is a verifiable receipt?

A verifiable receipt is a tamper-evident record generated by the execution layer proving that a specific action actually ran: which tool executed, what inputs it received, what outputs it returned, and when. It proves execution integrity — that the work was really performed — not that the result was correct.

Can I check my agent's work without being technical?

Yes. Ask the agent for its transcript, then match each claim in its summary against independent evidence — receipts, timestamps, and real changes you can see yourself. If the only evidence for a completed task is the agent saying "done," you haven't verified anything yet.

Verify it yourself

Don't take your agent's word for it — that's the whole point. Paste your agent's transcript into the free Did My Agent Lie? check by Zambo and get a claim-by-claim score in about 30 seconds. No account, no setup. Just evidence.

Top comments (0)