Specialized AI services firm
AI Agent Observability
Built operational observability for an LLM agent in production: heartbeat, users served, top tools, spend, errors, and deploys. Most teams ship the agent and then discover they have no idea what it is doing.
- Headline number
- 7-day operational dashboard
- Role
- Built
- Category
- Security & Operations
- Updated
Architecture
- Agent runtimestructured log lines
- Log Analytics
- KQL queriesheartbeat, users, tools, spend
- 7-day HTML dashboardOn-demand digest tool
Key takeaways
- Structured logs flow to Log Analytics and are queried with KQL
- Heartbeat health, unique callers, top tools, error rates, deploys, and spend by user on one page
- Static HTML render so the dashboard opens locally and shares without a server
- An in-product digest tool, so the agent can report on itself when asked
The situation
Observability for a non-deterministic system is its own discipline. Request counts and latency tell you almost nothing about whether an agent is helping, looping, or quietly spending money. The team needed to see what the agent was doing, for whom, and at what cost.
What I built
Every tool call, model call, error, and deploy emits a structured log line. Those stream into Log Analytics, and a set of KQL queries turns them into a seven-day picture: heartbeat with per-tick execution detail, unique callers enriched to human-readable names, top tools, error rates correlated with deploys, and model spend broken down by user.
A Python renderer produces a standalone HTML dashboard that opens from a file and can be shared in a message. Inside the product, a digest tool lets anyone ask the agent for the same summary on demand.
The outcome
When something regresses after a deploy, the correlation is on the page within the hour. Spend conversations have numbers in them. The agent is a system the team operates rather than a black box they hope about.
Stack
Related work
Same discipline, different system.
Need this built inside your organization?
One person, architecture to deployment. Tell me what is stuck and I will tell you where I would start.
