AI Agent Observability: What to Instrument and Which Tools to Use (2026)
What to log for AI agents, why full resolved context is the highest-value field, the tooling categories, and the failure class tracing alone cannot explain.
TL;DR
AI agent observability is the practice of recording what an agent did, what context it was given, and why it produced a particular output, so failures can be diagnosed after the fact. It differs from ordinary application monitoring because the failures are usually not crashes: the agent runs successfully and returns something wrong. The instrumentation that matters most is the one teams add last, which is capturing the exact context supplied on each call. This guide covers what to instrument, the tooling categories, and the specific failure class that tracing alone cannot explain.
Why is agent observability different from normal monitoring?
Traditional monitoring answers "is it up" and "is it fast". Neither question catches the dominant agent failure, which is a confident, well-formed, incorrect answer produced by a system reporting a 200 and a healthy latency.
Four properties make agents harder to observe:
1. The same input produces different outputs. Non-determinism means a bug may not reproduce, so the trace of the failing run is often the only evidence that will ever exist. If it was not captured, the investigation is over.
2. Failure is semantic, not structural. There is no exception to catch. Detecting the failure requires evaluating meaning, which is why evaluation and observability have converged into the same tools.
3. Cause usually lies in the context, not the code. The prompt template is fine and the model is fine. The agent was handed a stale document, or was not handed the relevant one at all.
4. Execution is multi-step and often parallel. One user request becomes a tree of model calls, tool invocations and subagent runs. Attributing a bad answer to a step requires the whole tree.
What should you actually instrument?
Ranked by diagnostic value per unit of effort, which is close to the reverse of the order teams usually implement them:
1. The full resolved context of every model call. Not the template, the final assembled payload including every retrieved document. This single field explains more failures than everything else combined, and it is the one most often omitted because it is large.
2. Provenance for each retrieved item. Which source, which version, and when it was last updated. Without this you cannot distinguish "retrieval failed" from "retrieval worked and the source was wrong".
3. The full call tree with timing and token counts per span. Standard tracing, and where OpenTelemetry's generative-AI semantic conventions apply. Gives you cost attribution and latency hotspots.
4. Tool call arguments and results, including failures. Silent tool errors that the agent then works around are a common and hard-to-spot cause of wrong answers.
5. User feedback joined to the trace. A thumbs-down with no attached trace is a number. Joined to the trace it is a bug report.
6. Automated evaluation on a sampled slice of production traffic. Scoring a percentage of real traffic catches regressions that a fixed test set will not, because real inputs drift.
What are the tooling options?
The category has three shapes, and most teams end up with one of each rather than a single tool.
1. LLM-native observability platforms such as LangSmith, Langfuse, Braintrust and Arize Phoenix record traces, prompts, outputs and evaluation scores in one place. They are the fastest path to useful visibility and they assume your agent is the unit of analysis.
2. General-purpose observability with generative-AI support, including OpenTelemetry-based pipelines and vendors that have added GenAI semantic conventions. Right when agents are one part of a larger system and you already have a tracing backend.
3. Product analytics joined to traces, which answers whether the agent changed user behaviour rather than whether it produced good text. Frequently the metric leadership actually asked for.
Choosing among them matters less than the instrumentation decision above. A basic tool with full context capture beats a sophisticated tool without it.
What observability alone will not fix
Here the honest boundary is worth drawing, because it is where most agent programmes stall.
Tracing tells you the agent was given a document stating the old refund policy. It does not tell you that a newer policy exists elsewhere, that the two contradict, or which is current. That is a property of the knowledge, not of the run, and no amount of per-run instrumentation surfaces it. Teams discover this after building excellent tracing and finding that the recurring root cause is always the same sentence: the context was wrong.
| Question | Sentra | Tracing platforms | Product analytics |
|---|---|---|---|
| What context was sent on this call | Yes | Yes | No |
| Why was that context chosen | Yes | Partially | No |
| Is that context still true | Yes, bi-temporal | No | No |
| Does another system contradict it | Yes | No | No |
| What did this cost | Yes, per fact | Yes, per span | No |
| Did the user get value | No | No | Yes |
Read the table as complementary rather than competitive. Tracing is how you find the bad run. A memory layer is how the bad context stops being generated. Neither substitutes for the other, and a team that has one and not the other will keep re-diagnosing the same class of failure.
FAQ
What is the difference between agent observability and evaluation?
Do I need a specialised tool, or can I use my existing APM?
What is the single most important thing to log?
How much production traffic should be evaluated automatically?
Does observability reduce hallucination?
The decision rule
Instrument the full resolved context before you buy any tool, because it is the field that makes every other field diagnostic. Add an evaluation loop once you can reconstruct a failure. Fix the knowledge layer when your traces keep showing that the run was correct and the context was not.