04 - Operate & Measure / LLM Observability

LLM Observability

Tracing, eval pipelines and drift detection for LLM and agentic systems in production - sessions, turns, steps, tool calls and subagents, with cost and quality attached to each.

Entry packageLLM Observability Starterfrom EUR 5,2001 application · up to 4 weeks from scopingWhat is included
In short
01

See the whole agent, not one call

Tracing over sessions, turns, steps, tool calls and subagents, with prompt, cost, latency and version on each.

02

Regressions caught before merge

Eval pipelines score every prompt or model change against your test sets in CI.

03

Drift you notice first

Semantic, latency and cost drift detection wired into the observability stack you already run.

23Minds implements LLM observability for production systems.

Show the full summary

The service installs tracing over the entities an agentic system actually has - sessions, turns, steps, tool calls and subagents rather than isolated model calls - builds eval pipelines that score new prompt and model versions against your test sets, sets up drift detection, and integrates the signals with your existing observability stack. The test set built during an evaluation stays with you as a CI gate and a production monitor, and the team maintains and extends it after every model or prompt change. OpenTelemetry-based where possible; the service works with Datadog, Honeycomb, Grafana, Langfuse, Arize, Helicone, Braintrust, LangSmith, W&B Weave, Confident AI and Galileo, helps you pick, and at high volume shows where self-hosting beats SaaS.

Why 23Minds

What makes this service defensible.

  • OpenTelemetry-based, vendor-neutral

    Signals land in your existing stack; no lock-in to a tracing SaaS.

  • Golden set in the starter package

    Up to 100 cases, one quality and cost dashboard and an on-call runbook, in three to four weeks.

  • Test set becomes a CI gate

    The same thresholds block a merge and monitor production.

  • Retainer in three tiers

    Essential, Standard, Advanced: from monthly regression reports to an SLA on critical regressions.

How we work

The process, phase by phase.

  1. 1

    1. Stack discovery

    Map current LLM and agent calls across your codebase. Inventory features, prompts, providers, existing test sets and observability tooling.

    Week 1
    Five stacked layers under a magnifying lens, one layer yellow: every model and agent call in the codebase found and listed with its prompts and providers.
  2. 2

    2. Instrumentation

    Wrap sessions, turns, steps, tool calls and subagents with tracing. Forward to the chosen backend and validate every run surfaces end to end.

    Week 2-3
    A tree with one root, four branches and two leaves on each, one leaf yellow: a session traced down through its turns to a single tool call.
  3. 3

    3. Eval pipelines + CI gate

    Build test sets per feature from real traffic and from prior evaluation findings. Wire eval runs into CI as a merge gate and mirror the same thresholds as a production monitor.

    Week 3-4
    A pipeline with a gauge in the middle and a yellow gate near the end: evaluation runs per feature, with a CI gate that blocks the merge below the agreed threshold.
  4. 4

    4. On-call training + handover

    Walk the on-call team through dashboards, runbooks and incident scenarios. Hand over the test set as your asset, in your repository.

    Week 4
    A bell beside a grid of on-call slots with one slot yellow: dashboards, runbooks and incident scenarios walked through with the on-call team.
  5. 5

    5. Maintenance retainer (optional)

    We extend the test set and rerun the regression after every model or prompt change, and report what moved and why.

    Ongoing
    A calendar with the same small mark on several days, one of them yellow: the regression suite re-run after each model or prompt change.
How to start

Pick the way in that fits your budget and timing.

Every practice has a free first step, an entry package with a written deliverable and its price listed here, and a full project or retainer quoted after a first call. Once the scope is agreed, the price is fixed, with no hidden costs.

  1. 1
    Step 1 · Free

    Intro call or self-assessment

    60 minutes · 1 engineer · no obligation

    Free
    Show details
    • Intro call with an engineer, or the online self-assessment
    • A written next step within one business day
    • No obligation and no sales deck
    Talk to an engineer
  2. Recommended
    2
    Step 2 · Entry package

    LLM Observability Starter

    1 application · up to 4 weeks from scoping

    from EUR 5,200 net

    The price is fixed once the scope is agreed on the intro call, no hidden costs; extras only from the Not included list.

    Show details
    • Request-level tracing of one LLM application: prompt, response, latency, cost, version
    • One golden set of up to 100 cases
    • One quality and cost dashboard
    • On-call runbook
    • Not included: Observability platform licence costs, continuous evaluation retainer, instrumentation of further applications, on-call duty on our side.
    Ask for this package
  3. 3
    Step 3 · Project or retainer

    Full scope, quoted after a first call

    Full scope · phased delivery · quoted per phase

    from EUR 1,500 net per month, quoted after a first call
    Show details
    • Continuous LLM evaluation retainer in three tiers
    • Essential from EUR 1,500, Standard 3,300, Advanced 6,500 per month
    • Monthly regression report and alerts in your channel
    Start the conversation
Sounds familiar?

The situations that bring teams to this service.

  • An agent run fails and nobody can reproduce which step, tool call or subagent broke it
  • Prompt and model changes ship without measurement; quality regressions are invisible
  • An audit produced a good test set once and it went stale the week the model changed
Show the other problems (2)
  • Latency P99 doubles overnight and nobody can pinpoint the cause
  • Provider returns a wrong answer; there is no log of the request to debug from
Who it's for
  • Engineering teams whose LLM features ship blind - no visibility into what's happening
  • Teams running multi-step agents where a failure is three tool calls deep and nobody can find it
  • Product leaders unable to tell whether prompt iterations improved or regressed the product
  • SRE teams adding LLM services to their on-call rotation
  • ML/AI engineering leads needing eval-driven prompt development
Failure modes

Where this goes wrong, and what we do about it.

  1. 1. Tracing built for requests, not for runsWhat stays with you: tracing over agent entities, and one real failed interaction traced end to end as proof it works
    What happens

    Standard instrumentation records one span per HTTP call. An agent run is a session that spans turns, steps, tool calls and subagents, so the trace comes back as a flat list of requests with no parent. When the answer is wrong or the bill spikes, nobody can point at the step that caused it, because the structure that would have shown it was never recorded.

    What we do about it

    We instrument the entities the system actually has - session, turn, step, tool call, subagent - and attach cost, latency, model version and prompt version to each. Then we replay a real bad answer through the trace to prove the structure is usable.

  2. 2. The model changes underneath and nothing says soWhat stays with you: per-response model identifier in the trace, plus an alert that fires on divergence and has been tested
    What happens

    A provider alias keeps its name while what it resolves to moves. Quality drifts without a deployment, so the team looks for the bug in its own change. Practitioners separate this into outcome drift, where the answer gets worse but the call still works, and execution drift, where the model starts doing something else entirely. Both are invisible unless the identifier the provider echoes back is recorded.

    What we do about it

    We log the model identifier returned on every response and alert when it diverges from what was requested. Version pinning goes in where the provider supports it, and where it does not, the alert is the control.

  3. 3. The dashboard shows volume and calls it healthWhat stays with you: quality metrics defined with their thresholds, on the same view as cost and latency
    What happens

    Token counts, request rates and latency are easy to collect, so they are what gets displayed. Answer quality is hard to collect, so it is not on the board. The result is a green dashboard next to a support queue that says otherwise, and the two never meet.

    What we do about it

    We put a quality signal on the same board as the volume: sampled scoring against your criteria, refusal and fallback rates, and the share of sessions where a human had to step in. If a number cannot be defined well enough to alert on, it does not go on the board.

What you get

Deliverables, not deliverable-shaped slides.

  • Tracing across agentic entities - sessions, turns, steps, tool calls, subagents - with prompt, response, latency, cost and version on each
  • Eval pipeline with your test sets and CI-integrated regression alerts
  • Your audit test set handed over as a CI merge gate and a production monitor on the same thresholds, with a routine for extending it per model or prompt change
  • Drift detection on outputs (semantic drift, latency drift, cost drift)
  • Dashboards: per-feature quality, per-feature cost, per-user behavior
  • Runbooks for the on-call team: how to debug an LLM incident in 15 minutes
FAQ

Questions procurement teams ask.

Depends on what you already have. If you run Datadog or Honeycomb, we extend those. If LLM-specific is preferred: Langfuse, Arize, Helicone, Braintrust, LangSmith, W&B Weave, Confident AI, Galileo. We are tool-agnostic, help you pick against your volume and data boundaries, and above a certain request volume model where self-hosting (Langfuse, Phoenix) comes out cheaper than SaaS.
It happens on this market, and it is why we do not build your practice on one vendor. Test sets, scoring definitions and traces stay in portable form in your repository, and we instrument through OpenTelemetry where the backend allows it. Platforms consolidate; the competence and your own test sets stay yours, so a migration is a week of work rather than a rebuild.
Partially - providers like OpenAI and Anthropic offer per-request logs through their consoles. For production-grade observability (trace context, user attribution, cost attribution, agent step structure) we usually wrap calls in a thin SDK layer.
A test suite for LLM and agent outputs. The test set defines what a right answer looks like; eval runs score new prompt and model versions against it; CI gates merges if quality regresses, and the same thresholds run as a production monitor. Standard practice for any team treating prompts as production code.
Yes. Tracing can be configured to redact PII before logs leave your infrastructure, mask prompt sections, or store full prompts only on isolated infrastructure. We design the redaction policy with your security team.
Three separate items. The tracing backend costs what your request volume and chosen tool cost; self-hosted Langfuse has no licence cost but has to be maintained. The retainer is in the price list on this page, by level. On-call and incident handling on our side is agreed separately. We cost both backend options against your own volume in the stack discovery phase, before you choose anything.

Talk to an engineer.

Describe where you are with LLM observability. A reply within one business day.

Talk to an engineer
Szczecin - ul. Wawrzyniaka 6WWarszawaZielona GóraKraków