skip to content
Terry Li

Every agentic AI governance framework I’ve reviewed has a principle called something like “Full Observability.” The intent is right — you need to see what your agents are doing. But there’s a conflation buried in that word that matters more than it looks.

Observability tells you what the agent did. It logs the prompts, the tool calls, the decisions, the outputs. Good observability gives you a complete trace you can replay, audit, and debug. This is necessary and well-understood. Enterprise telemetry platforms already do it.

Assurance tells you whether what the agent did was correct. Not “did it run” but “did it stay within its declared boundaries.” Not “what happened” but “should that have happened.” This is a different question, answered by a different mechanism, owned by a different team — and it’s almost always missing.

The distinction matters because you can have perfect observability and zero assurance. An agent can drift outside its approved scope — responding to queries it shouldn’t, accessing data sources it wasn’t designed for, producing outputs that violate its operating constraints — and full observability will faithfully log every step without flagging that anything was wrong. You’ll have a beautiful audit trail of the problem. You just won’t know it’s a problem until someone reads the logs.

This isn’t theoretical. The EU AI Act recognises the distinction explicitly. Article 72 mandates post-market monitoring systems for high-risk AI that go beyond logging to active performance validation — “actively and systematically collect, document and analyse relevant data” on whether the system continues to meet its requirements. The NIST AI Risk Management Framework draws the same line: the Measure function (assessing whether the system meets objectives) is distinct from the Manage function (tracking what’s happening). Monitoring and validation are different verbs, addressed to different questions.

In traditional software, this distinction barely matters. Deterministic systems do the same thing every time you deploy the same code. If it passed testing, it works. Observability catches crashes and performance issues — deviations from “running” rather than deviations from “correct.”

Agents break this assumption. The same agent, with the same code and prompts, can produce different outputs on every invocation. A model update changes behaviour without a code deployment. A retrieval corpus update shifts what the agent references without anyone filing a change request. The gap between “deployed correctly” and “behaving correctly” isn’t a one-time check — it’s a continuous question that needs a continuous answer.

The fix isn’t complicated to describe, even if implementation takes work. Alongside observability (what did the agent do?), governance frameworks need assurance (is what the agent did within its declared boundaries?). That means defining the boundaries, comparing ongoing behaviour against them, and flagging when behaviour deviates. The first part is a definition problem. The second is a measurement problem. Neither is solved by better logging.

Most frameworks will eventually get here. The ones that get here first will have an easier time explaining to regulators why their agents are trustworthy — not because they can show what happened, but because they can show it was supposed to happen.

Related: Why Agents Break Governance, The Risk Without an Engineering Solution

· · ·

Keep reading