AI observability: without traceability there is no trust.
In the previous article, I wrote about agents in production and why autonomy is an architectural decision.
I ended with one sentence:
There is no autonomy without traceability.
Today I want to go deeper into that.
Because over this year, almost every topic I have discussed here — trust, evaluation, cost, context, agents — arrives at the same place:
You cannot govern what you cannot see.
The system answered. But why?
Picture this scenario.
A customer complains that the AI assistant gave wrong information about the refund policy.
The team opens the logs and finds:
POST /chat 200 OK- Latency: 2.3s
- Tokens: 4,812
And that is it.
Nobody knows:
- Which documents were retrieved
- Which prompt version was active
- Which model answered
- Whether any tool was called
- Whether the policy was outdated in the knowledge base
- Whether other customers got the same answer
For the infrastructure, the request was a success.
For the business, it was an incident.
That is the gap traditional observability does not cover.
Why traditional observability is not enough
Classic observability answers questions like these well:
- Is the service up?
- What is the latency?
- What is the error rate?
- Where is the bottleneck?
In deterministic systems, that is almost enough. If the code did not change and the input is the same, the output is the same.
In AI systems, it is not.
Behavior depends on:
- The context retrieved at that moment
- The prompt version
- The model version
- Generation parameters
- The state of the knowledge base
- Intermediate decisions made by an agent
A wrong answer with a 200 status is the most common kind of AI failure.
And it is invisible to a latency dashboard.
The four layers of AI observability
When I design AI architectures for production, I split observability into four layers.
1. Operational
The layer everyone already knows:
- Latency per step
- Error rate
- Provider availability
- Timeouts and retries
Necessary, but far from sufficient.
2. Context
What went into the model:
- Which sources were queried
- Which chunks were retrieved and how relevant they were
- Which transformations were applied
- Which permission filters were used
- Final context size
This layer connects directly to context orchestration and MCP. If context is the raw material of the answer, it must be traceable.
3. Decision
What the system decided to do:
- Prompt and model versions
- Tools called, with parameters and results
- Agent steps and the reasoning behind them
- Points where a human approved something
- Fallback paths that were triggered
This is the layer that lets you answer “why did it do that?”.
4. Quality and business
What it meant:
- Automated quality evaluations
- User feedback
- Escalation rate to humans
- Cost per resolved task, not per request
- Impact on business metrics
Without this layer, you know the system works.
But you do not know whether it serves.
The trace as the unit of truth
The centerpiece of all of this is the trace.
Every interaction with the AI system should produce a complete trail, from the user's request to the final answer, including:
- Input received
- Context retrieved
- Prompt assembled
- Model call
- Tools executed
- Validations applied
- Answer delivered
- Feedback received
With a single identifier tying it all together.
That makes it possible to:
- Reproduce an incident
- Compare prompt versions against real traffic
- Find error patterns
- Feed evaluation sets with real cases
- Attribute cost to features and customers
Open standards like OpenTelemetry are starting to treat LLM calls as first-class citizens. It is worth building on that instead of inventing your own format.
Observability and evaluation are the same conversation
In my article on AI evaluation, I argued that evaluation is an architectural decision.
Observability is what makes that evaluation continuous.
- Offline evaluation tells you whether a change should work
- Production observability tells you whether it is working
The best teams I know close the loop:
- Observe failures in production
- Turn real cases into tests
- Evaluate new versions against those tests
- Ship and observe again
That is engineering.
Everything else is wishful thinking.
The precautions almost everyone forgets
AI observability has a dangerous side effect:
You start recording exactly the kind of data that most needs protection.
Prompts and responses carry:
- Personal data
- Customer information
- Business secrets
- Sometimes credentials pasted by mistake
That is why the observability architecture must be born with:
- Masking of sensitive data before storage
- Access control over traces
- Retention and expiration policies
- Deliberate sampling instead of indiscriminate logging
- Separation between aggregate metrics and raw content
Traceability without governance just trades one risk for another.
Where to start
You do not need to build an entire platform on day one.
A pragmatic path:
- Generate a trace ID for every interaction and propagate it through every step
- Record versions: prompt, model, and knowledge base
- Record retrieved context, with masking
- Capture user feedback, even if it is just a thumbs up
- Measure cost per task, not just per call
- Review a sample of real interactions every week
Within a few weeks, the team moves from “we think it is working” to “we know where it is failing”.
Final reflection
For a long time, observability was treated as something you add after the system is done.
In AI, that logic does not hold.
When behavior is probabilistic, the ability to see what happened is what separates a governable system from an expensive black box.
Trust does not come from the model.
It comes from the ability to explain, reproduce, and correct every decision the system makes.
And that ability does not appear by accident.
It is designed.
It is architecture.

AI & Systems Architect. A new article every 15 days.
Continue this reading in your inbox
Join the newsletter and receive new articles every 15 days on architecture, AI, governance, and the decisions that connect technology to business.
