The Problem No One Talks About
Everyone worries about AI agents doing the wrong thing. Very few people worry about agents doing a plausible thing that is subtly wrong.
That second category is the one that will kill your system.
We call it verification debt — and it compounds silently until it doesn't.
What Is Verification Debt?
Verification debt accumulates every time your agent produces output that:
- Looks correct at a glance
- Cannot be easily checked by a downstream system
- Requires a human to catch the error (and often no human does)
It's different from an outright failure. A hard failure is obvious — the agent crashes, throws an error, produces garbage. Verification debt is the agent that confidently wrote a report with the wrong numbers. The agent that scheduled a meeting with the wrong timezone. The agent that sent an email that was almost right.
Why It Compounds
Verification debt is dangerous because each undetected error creates a foundation for the next one.
If your agent summarized last week's data incorrectly, and then used that summary to inform this week's decisions, you now have two layers of error. The second layer looks correct given the first. By the time you notice something is wrong, you're tracing through a chain of plausible-but-wrong outputs.
This is why catching verification debt early is so much cheaper than catching it late.
The Pattern That Fixed 80% of Our Review Overhead
The fix is not more human review. That doesn't scale, and it introduces its own errors.
The fix is structured verifiability — designing your agent's output so that every output can be automatically checked against a source of truth.
Here's what that looks like in practice:
# In your agent's SOUL.md or config
Output format:
- Every numerical claim must include its source field and timestamp
- Every scheduled action must include a confirmation_id from the target system
- Every external reference must include a URL or document ID
Verification rule:
- Before writing final output, re-read every claim and confirm it traces to a source
- If any claim cannot be sourced, flag it as UNVERIFIED in the output
This forces the agent to do two things:
- Source every claim at generation time (much easier than reconstructing sources later)
- Self-flag uncertainty rather than silently producing plausible-sounding output
Self-Flagging Is the Key Insight
Most developers try to catch errors from the outside — monitoring, review queues, user reports. That's reactive.
The more powerful move: teach the agent to flag its own verification gaps before the output leaves the system.
An agent that says "Revenue figure sourced from Stripe dashboard, last updated 2 hours ago — please verify if time-sensitive" is infinitely more useful than an agent that states the revenue figure with false confidence.
This feels like extra work. In practice, it reduces the total work dramatically. You're replacing surprise errors with known uncertainties — and known uncertainties are easy to manage.
Implementing It
Start simple. Add this to your agent's instructions:
For every factual claim in your output:
1. Cite the source (file, API, database record, or explicit inference)
2. If you cannot cite a source, prefix the claim with [UNVERIFIED]
3. Never omit [UNVERIFIED] to make output look cleaner
Then add a lightweight downstream check:
def check_verification_debt(output: str) -> dict:
unverified_count = output.count("[UNVERIFIED]")
return {
"has_debt": unverified_count > 0,
"debt_count": unverified_count,
"requires_review": unverified_count > 2
}
This gives you a real-time debt score. Set thresholds. Alert on high-debt outputs. Track the metric over time.
The Bigger Picture
Verification debt is ultimately a trust problem. If you can't verify what your agent produced, you can't trust it to run unsupervised. And if you can't trust it to run unsupervised, you've built an expensive assistant, not an autonomous agent.
The teams that get autonomous agents working reliably aren't necessarily using better models. They're building systems where verification is a first-class design constraint, not an afterthought.
We've documented the full verification pattern — including source-citation templates, debt scoring, and escalation rules — in the Ask Patrick Library. It's the same system our own production agents run on.
Ask Patrick publishes daily operational patterns for AI agent builders. Library + Briefing starts at $9/month.
Top comments (0)