AI agent observability
Application observability answers what happened and how fast. Agent governance needs a different question answered: what was permitted, by whom, on what basis. Traces show you the call. They rarely show you the authority behind it.
Get an Agent Trust Gap BriefTraces are necessary and not sufficient
A trace tells you an API call was made, with what latency and what status. For a governance question that is the least interesting part. The questions that arrive after an incident are about authority, and traces were never designed to carry it.
| Question asked after an incident | Answered by a trace? | Needs |
|---|---|---|
| What did the agent do? | Partly | Action-level records, not span-level |
| What was it permitted to do? | No | Policy evaluation captured at decision time |
| Who authorised this specific action? | No | Approval bound to the action, signed |
| What did it try and get refused? | Rarely | Refusal receipts — usually not emitted at all |
| Can we prove the record is unaltered? | No | Chained or signed evidence |
| How long did it take? | Yes | Traces are genuinely good at this |
Observability tooling is not deficient — it answers the questions it was designed for. Governance simply asks different ones, and expecting an APM to answer them is a category error.
The signal almost nobody captures
Refusals are the highest-value governance signal and the least-instrumented. A system that has never refused anything has either never been tested at its boundary or has no boundary. Refusal volume, refusal reasons and refusal trend tell you more about whether controls are real than any success metric can.
If your agent platform cannot tell you how many actions it blocked last week and why, it is not enforcing a policy — it is describing one.
What to instrument
- Action attempts, not just completions. The blocked attempt is the one that matters for governance.
- Policy evaluation at decision time. Which policy version, which inputs, which outcome. Reconstructing this later is guesswork.
- Approvals bound to actions. An approval log that cannot be tied to a specific action proves nothing about that action.
- Provider responses. What the downstream system actually returned, so "we sent it" and "it was accepted" stay distinguishable.
- Integrity. Chained or signed records, so the evidence is worth something when it is contested.
- Retention matched to obligation. Governance evidence outlives operational telemetry by years. Do not let log rotation set your retention.
Common questions
Is application observability enough for AI agents?
For performance, yes. For governance, no. Traces capture what happened; governance needs what was permitted and by whom, which traces were not designed to carry.
What is the most under-instrumented signal?
Refusals. Most platforms emit nothing when an action is blocked, which means the single best evidence that a control is real does not exist.
How long should agent evidence be kept?
Set by the longest applicable obligation, not by log rotation defaults. Operational telemetry ages out in weeks; governance evidence may need years.
Do we need to replace our observability stack?
Usually not. Keep it for performance and add an evidence layer for governance. They answer different questions and both are worth having.
What does good look like?
You can answer, for any action in the retention window: what was attempted, which policy applied, who approved, what happened, and whether the record has been altered.