Blog: add post 'Make Your AI Agent Verify Its Own Work — No More Hallucinated Done'
This commit is contained in:
@@ -1,5 +1,14 @@
|
|||||||
{
|
{
|
||||||
"posts": [
|
"posts": [
|
||||||
|
{
|
||||||
|
"id": "ai-agent-verification-completion-contracts",
|
||||||
|
"date": "2026-07-02",
|
||||||
|
"area": "howto",
|
||||||
|
"agent": "hermes",
|
||||||
|
"headline": "Make Your AI Agent Verify Its Own Work — No More Hallucinated “Done”",
|
||||||
|
"teaser": "Stop guessing if your AI agent actually finished the job. Hermes Agent v0.18.0 introduces verification evidence and completion contracts — your agent proves it's done by running real tests, not by claiming success.",
|
||||||
|
"link": "blog/posts/ai-agent-verification-completion-contracts.html"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "odoo-xml-rpc-hermes-agent",
|
"id": "odoo-xml-rpc-hermes-agent",
|
||||||
"date": "2026-06-29",
|
"date": "2026-06-29",
|
||||||
|
|||||||
@@ -0,0 +1,192 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<meta name="robots" content="index, follow" />
|
||||||
|
<link rel="canonical" href="https://derez.ai/blog/posts/ai-agent-verification-completion-contracts.html" />
|
||||||
|
<title>Make Your AI Agent Verify Its Own Work — No More Hallucinated "Done" — derez.ai Blog</title>
|
||||||
|
<meta name="description" content="Stop guessing if your AI agent actually finished the job. Hermes Agent v0.18.0 introduces verification evidence and completion contracts — your agent proves it's done by running real tests, not by claiming success." />
|
||||||
|
<meta property="og:type" content="article" />
|
||||||
|
<meta property="og:url" content="https://derez.ai/blog/posts/ai-agent-verification-completion-contracts.html" />
|
||||||
|
<meta property="og:title" content="Make Your AI Agent Verify Its Own Work — No More Hallucinated "Done"" />
|
||||||
|
<meta property="og:description" content="Stop guessing if your AI agent actually finished the job. Hermes Agent v0.18.0 introduces verification evidence and completion contracts — your agent proves it's done by running real tests, not by claiming success." />
|
||||||
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
|
<meta name="twitter:title" content="Make Your AI Agent Verify Its Own Work — No More Hallucinated "Done"" />
|
||||||
|
<script defer data-domain="derez.ai" src="https://plausible.odoo4projects.com/js/script.file-downloads.outbound-links.tagged-events.js"></script>
|
||||||
|
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,400;14..32,500;14..32,600;14..32,700&display=swap" rel="stylesheet" />
|
||||||
|
<style>
|
||||||
|
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||||||
|
body { background: #08080c; color: #e8e8f0; font-family: 'Inter', sans-serif; line-height: 1.7; padding: 40px 20px; }
|
||||||
|
.container { max-width: 720px; margin: 0 auto; }
|
||||||
|
a { color: #00f5ff; text-decoration: none; }
|
||||||
|
a:hover { text-decoration: underline; }
|
||||||
|
.back { margin-bottom: 32px; display: inline-block; font-size: 0.9rem; color: #888; }
|
||||||
|
.back:hover { color: #00f5ff; }
|
||||||
|
h1 { font-size: 1.9rem; font-weight: 700; line-height: 1.3; margin-bottom: 12px; }
|
||||||
|
.meta { font-size: 0.85rem; color: #888; margin-bottom: 40px; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
|
||||||
|
.area-tag { display: inline-block; background: #00f5ff; color: #000; font-size: 0.75rem; font-weight: 700; padding: 2px 10px; border-radius: 20px; text-transform: uppercase; letter-spacing: 0.5px; }
|
||||||
|
.chip-tag { display: inline-block; background: rgba(0,245,255,0.1); color: #00f5ff; border: 1px solid rgba(0,245,255,0.3); font-size: 0.75rem; font-weight: 600; padding: 2px 10px; border-radius: 20px; text-transform: uppercase; letter-spacing: 0.5px; }
|
||||||
|
h2 { font-size: 1.3rem; font-weight: 600; margin: 36px 0 12px; color: #f0f0ff; }
|
||||||
|
h3 { font-size: 1.1rem; font-weight: 600; margin: 24px 0 8px; color: #e0e0f0; }
|
||||||
|
p { margin-bottom: 16px; color: #c8c8d8; }
|
||||||
|
ul, ol { margin: 0 0 16px 24px; color: #c8c8d8; }
|
||||||
|
li { margin-bottom: 6px; }
|
||||||
|
code { background: #0e0e14; padding: 2px 6px; border-radius: 4px; font-size: 0.9em; color: #00f5ff; }
|
||||||
|
pre { background: #0e0e14; border: 1px solid #1a1a24; border-radius: 10px; padding: 16px 20px; margin: 0 0 20px; overflow-x: auto; font-size: 0.85rem; color: #c8f0ff; }
|
||||||
|
pre code { background: none; padding: 0; color: inherit; }
|
||||||
|
strong { color: #f0f0ff; }
|
||||||
|
.pro-tip { background: rgba(0,245,255,0.06); border-left: 3px solid #00f5ff; border-radius: 8px; padding: 16px 20px; margin: 20px 0; font-size: 0.92rem; color: #d0d0e0; }
|
||||||
|
.pro-tip strong { color: #00f5ff; }
|
||||||
|
.cmd-block { background: #0a0a10; border: 1px solid #1a1a24; border-radius: 10px; padding: 14px 18px; margin: 12px 0; font-family: 'Courier New', monospace; font-size: 0.82rem; color: #c8f0ff; overflow-x: auto; }
|
||||||
|
.cta-box { background: #12121c; border: 1px solid rgba(0,245,255,0.2); border-radius: 14px; padding: 28px 32px; margin: 32px 0; text-align: center; }
|
||||||
|
.cta-box h3 { font-size: 1.2rem; margin-bottom: 8px; color: #f0f0ff; }
|
||||||
|
.cta-box p { color: #999; margin-bottom: 16px; }
|
||||||
|
.btn { display: inline-block; background: transparent; border: 1px solid #00f5ff; color: #00f5ff; padding: 10px 28px; border-radius: 8px; font-weight: 600; font-size: 0.95rem; transition: all .2s; }
|
||||||
|
.btn:hover { background: rgba(0,245,255,0.1); text-decoration: none; }
|
||||||
|
.quote-box { background: #0e0e14; border: 1px solid #1a1a24; border-left: 3px solid #a78bfa; border-radius: 10px; padding: 20px 24px; margin: 20px 0; font-style: italic; color: #d0d0e0; }
|
||||||
|
.feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 20px 0; }
|
||||||
|
.feature-card { background: #0e0e14; border: 1px solid #1a1a24; border-radius: 12px; padding: 20px; }
|
||||||
|
.feature-card h3 { margin: 0 0 8px; font-size: 1rem; color: #00f5ff; }
|
||||||
|
.feature-card p { margin: 0; font-size: 0.9rem; color: #b0b0c0; }
|
||||||
|
@media (max-width: 600px) { body { padding: 24px 16px; } h1 { font-size: 1.5rem; } .feature-grid { grid-template-columns: 1fr; } .cta-box { padding: 20px 16px; } }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<a class="back" href="https://derez.ai/#blog">← Back to Blog</a>
|
||||||
|
<h1>Make Your AI Agent Verify Its Own Work — No More Hallucinated "Done"</h1>
|
||||||
|
<div class="meta">
|
||||||
|
<span>July 2, 2026</span>
|
||||||
|
<span class="area-tag">howto</span>
|
||||||
|
<span class="chip-tag">hermes</span>
|
||||||
|
<span class="chip-tag">v0.18.0</span>
|
||||||
|
<span class="chip-tag">verification</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
When I ask my agent to fix a bug or write a module, I don't want it to <em>say</em> "done" — I want it to <strong>prove</strong> it. That's the difference between an agent that's useful for demos and one you can trust with real work.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<a href="https://github.com/NousResearch/hermes-agent/releases/tag/v2026.7.1">Hermes Agent v0.18.0</a> ("The Judgment Release", July 1, 2026) introduces a verification system that changes how agents finish tasks. Instead of the model deciding "I think I fixed it," your agent now runs your actual project checks and produces evidence before claiming completion.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="quote-box">
|
||||||
|
"The tests pass. Here's proof." — Instead of "I think it works."
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2>The Trust Problem with AI Agents</h2>
|
||||||
|
<p>
|
||||||
|
Every business I talk to who's tried deploying an AI agent runs into the same wall: <strong>how do I know it actually did what it said?</strong> LLMs are optimised to sound confident, not to be accurate. An agent that writes code, modifies files, or runs queries and then claims "all done" without evidence — that's a liability, not a tool.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Before v0.18.0, an agent's standard for "done" was its own internal certainty. If you asked "is the API endpoint working?" it would say yes based on what it remembered writing, not based on actually hitting the endpoint.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>What Changed: Completion Contracts</h2>
|
||||||
|
<p>
|
||||||
|
Every <code>/goal</code> directive can now include a <strong>completion contract</strong> — a statement of what "done" looks like, measured by real evidence. The standing-goal loop judges completion against that evidence instead of stopping when the model feels like it.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>Here's a practical example. Before:</p>
|
||||||
|
<div class="cmd-block">
|
||||||
|
/goal Add login validation to the API<br />
|
||||||
|
<br />
|
||||||
|
# Agent writes code, says "done"<br />
|
||||||
|
# No proof. Maybe it works. Maybe it doesn't.
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>After — with a completion contract:</p>
|
||||||
|
<div class="cmd-block">
|
||||||
|
/goal Add login validation to the API<br />
|
||||||
|
done when: the test suite passes, the new endpoint<br />
|
||||||
|
returns 200 for valid credentials and 401 for invalid ones,<br />
|
||||||
|
and a curl smoke test confirms both cases
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The agent writes the code, runs the test suite, executes the curl smoke tests, collects the evidence, and only then reports completion. If any check fails, the agent tries again or reports what broke.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>How Verification Evidence Works</h2>
|
||||||
|
<p>Behind the scenes, the agent now records verification evidence for every significant action:</p>
|
||||||
|
|
||||||
|
<div class="feature-grid">
|
||||||
|
<div class="feature-card">
|
||||||
|
<h3>Test Suite Runs</h3>
|
||||||
|
<p>The agent executes your project's actual tests (pytest, vitest, whatever you use) and captures the output.</p>
|
||||||
|
</div>
|
||||||
|
<div class="feature-card">
|
||||||
|
<h3>SMOKE CHECKs</h3>
|
||||||
|
<p>Curl endpoints, check HTTP status codes, validate response bodies. Real network calls, not speculation.</p>
|
||||||
|
</div>
|
||||||
|
<div class="feature-card">
|
||||||
|
<h3>File Verification</h3>
|
||||||
|
<p>Stat files, check contents, run linters. The agent confirms files exist with the right content.</p>
|
||||||
|
</div>
|
||||||
|
<div class="feature-card">
|
||||||
|
<h3>Custom Hooks</h3>
|
||||||
|
<p><code>pre_verify</code> hooks let you wire in any custom check. Run your deployment pipeline or integration tests.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2>Why This Matters for Your Business</h2>
|
||||||
|
<p>
|
||||||
|
Here's the blunt truth: <strong>you shouldn't deploy an agent that can't verify its own work.</strong> Not for customer-facing code, not for internal tooling, not for anything that costs you money if it's wrong.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The verification system in v0.18.0 turns your agent from a "helpful intern who sounds sure" into a "senior engineer who shows receipts." You still review — but you review evidence, not promises.
|
||||||
|
</p>
|
||||||
|
<p>Three business scenarios where this matters immediately:</p>
|
||||||
|
<ul>
|
||||||
|
<li><strong>Revenue-critical code changes</strong> — An agent modifying a checkout flow must prove the payment gateway responds correctly before claiming done</li>
|
||||||
|
<li><strong>Data pipeline automation</strong> — An agent transforming CRM exports must verify every record processed matches the expected count</li>
|
||||||
|
<li><strong>Deployment readiness</strong> — An agent preparing a release must run the full CI suite and show you the green checkmarks</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2>Getting Started</h2>
|
||||||
|
<p>If you're on Hermes Agent v0.18.0+, the verification system works out of the box with sensible defaults. No config required to start. The one-time migration tunes the defaults for your project:</p>
|
||||||
|
|
||||||
|
<div class="cmd-block">
|
||||||
|
hermes upgrade # to v0.18.0 or later<br />
|
||||||
|
# Verification is active by default.<br />
|
||||||
|
# Start a goal with a "done when" clause and watch the evidence roll in.
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The <code>pre_verify</code> hook is available if you want custom pipelines. Full docs are in the <a href="https://github.com/NousResearch/hermes-agent/releases/tag/v2026.7.1">release notes</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="pro-tip">
|
||||||
|
<strong>Pro tip:</strong> Start with small scope — "done when the endpoint returns 200" — and expand to full test suites as you build trust. The evidence output alone is worth it: you can see exactly what the agent checked, even if you were away from the keyboard.
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2>What Else v0.18.0 Ships</h2>
|
||||||
|
<p>This release is massive. Besides verification, it also ships:</p>
|
||||||
|
<ul>
|
||||||
|
<li><strong>MoA as a first-class model</strong> — Pick an ensemble of frontier models like any other model. See every model's reasoning, then watch the answer stream in.</li>
|
||||||
|
<li><strong><code>/learn</code></strong> — Turn any directory, URL, or workflow into a reusable skill with one command.</li>
|
||||||
|
<li><strong><code>/journey</code></strong> — A playable timeline of everything your agent has learned. Edit or delete memories and skills right from the view.</li>
|
||||||
|
<li><strong>Background fan-out</strong> — Run multiple subagents in parallel while you keep working. Results come back consolidated.</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
But honestly? The verification system is the one I'd start with. Trust is the bottleneck to real agent deployment — and this is what unlocks it.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="cta-box">
|
||||||
|
<h3>Try It Yourself — First Month Free</h3>
|
||||||
|
<p>Deploy a Hermes Agent with the new verification system. Use coupon code <strong>blog950</strong> for your first month free — no risk, full access to v0.18.0.</p>
|
||||||
|
<a class="btn" href="https://derez.ai/#pricing">Get Your Agent →</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p style="margin-top:48px;padding-top:24px;border-top:1px solid #1a1a24;font-size:0.85rem;color:#666;">
|
||||||
|
<a href="https://derez.ai" style="color:#00f5ff">derez.ai</a> — Deploy your AI agent in 5 minutes. ·
|
||||||
|
<a href="https://derez.ai/blog/posts/hermes-agent-setup-guide.html">Setup Guide</a> ·
|
||||||
|
<a href="https://github.com/NousResearch/hermes-agent/releases/tag/v2026.7.1">v0.18.0 Release Notes</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Reference in New Issue
Block a user