Agent Reliability

Agent observability, down to the cause

If your agent emits OpenTelemetry gen_ai spans, or your team already runs Langfuse or Braintrust, Tessary reads the traces you already capture without touching your agent code. It catches degradation as it happens and traces it back to the change that caused it.

The gap

Most setups stop at tracing

LangChain's State of Agent Engineering survey (2025, 1,340 respondents) found that 89% of teams had implemented observability for their agents. Among those running agents in production, 71.5% had full tracing in place. Tracing, in other words, is mostly solved. What most setups still miss is the step after the dashboard: graders that catch a degradation on real traffic, and a way to say what changed when one fires.

LangChain State of Agent Engineering, 2025 (1,340 respondents)

89%

of AI teams had some form of agent observability in place

71.5%

of production teams had full tracing in place

The problem

Build vs connect

Most teams face two options when adding more signal to a production agent. Both require significant work. Neither is required if your agent already emits gen_ai spans or your team runs Langfuse or Braintrust.

Build from raw spans

Write queries and maintain thresholds by hand

  • Hand-write span queries for each failure pattern you want to track
  • Maintain thresholds manually with no judgment layer for what changed
  • Watch dashboards with no automation to detect behavioral regressions
  • Ongoing engineering maintenance as the agent and model evolve
Tessary

Connect Tessary

Detection and cause-finding over what you already ship

  • Point your OTLP exporter or connect Langfuse or Braintrust in minutes
  • Tool-error auto-extraction runs without any signal definitions
  • Write failure patterns in natural language, not span queries
  • Alerts carry the suspected cause, not just the failing trace
How It Works

From first trace to first cause

Tessary accepts production traces two ways. Neither requires changes to your agent code.

  1. Connect your source

    Point an OTLP exporter at the receiver on gRPC port 4317 or HTTP port 4318. If your agent framework emits OpenTelemetry gen_ai spans natively, that is the only step required. Your agent code stays unchanged.

  2. Pull from an existing source

    If your team already runs Langfuse or Braintrust, connect either as an upstream pull connector. Authenticate the source, select the trace slice you want, and pull on demand. No framework migration required.

  3. Detection runs automatically

    Once traces land, Tessary assembles sessions, turns, and tool calls into one graph of the agent's behavior. Tool-error extraction runs without any configuration, and you can add graders written in natural language.

  4. Alerts arrive with the suspected cause

    When a grader trend drops on live traffic, Tessary traces the failing quality dimension back through the agent's chain and attaches the change that lines up with the drop: a prompt edit, a tool update, a dependency bump, or an upstream shift. The alert routes to Slack, Sentry, Linear, PagerDuty, or a webhook.

What It Detects

Signal beyond error rates

Graders over real production traces surface failure modes that error rates and latency metrics cannot see.

Tool call failures under HTTP 200

Tool calls that return a well-formed HTTP 200 but carry a failure payload are flagged automatically. No signal definition required for this failure mode.

Reasoning sequences with wrong output

An agent that completes a reasoning sequence but returns an incorrect result passes error-rate checks. Graders over the session catch this where latency and error metrics cannot.

Hallucinated facts in tool results

When a tool result contains facts the underlying model fabricated, graders flag the session. Output-level metrics miss this because the call completed successfully.

Model version regressions

Behavioral shifts that follow a model upgrade, a non-prompt code change, or a dependency bump appear as session-outcome changes. Graders detect them against the same production records.

Multi-agent coordination failures

In pipelines where agents hand off work to each other, coordination failures show up at the session level. Graders trace the full handoff sequence, not individual agent responses.

Pre-deploy risk prediction

The same attribution engine runs before a merge: a report on the PR names which failure patterns the changed code is most likely to affect, and a GitHub Action can hold the merge past your threshold. Production detection stays on, because a CI gate only covers changes that ship through a PR; a provider model update or an upstream shift can reintroduce a failure with no deploy at all.

OTel native

Built on the OpenTelemetry GenAI semantic conventions

The gen_ai semantic conventions define standard span shapes for LLM calls, agent reasoning, tool invocations, and session-level metrics. Most agent frameworks emit these spans natively, so a platform that accepts OTLP can read them without additional instrumentation.

OpenTelemetry GenAI semantic conventions
FAQ

Questions about observability setup

Agent observability setup is the process of routing your production agent's traces to a system that detects failure signals, measures failure modes, and alerts on regressions. A complete setup includes an ingest path (OTLP or upstream connector), signal definitions that run as graders over real traffic, and alert destinations for the team that owns reliability. Detection is the entry point; a setup earns its keep when it can also say what changed once a regression appears.
No. If you are already using Langfuse or Braintrust, you can connect either as an upstream source and pull a chosen slice of your existing traces on demand. If your agent or agent framework emits OpenTelemetry gen_ai spans, point the OTLP receiver at your observability platform. In both cases, your agent code stays unchanged.
The OpenTelemetry GenAI semantic conventions define the standard span shapes for LLM calls, agent reasoning, tool invocations, and session-level metrics. Most agent frameworks including LangChain, CrewAI, and AutoGen emit OTel-compliant spans natively. A platform that accepts OTLP and understands gen_ai attributes can ingest those spans without additional instrumentation.
With an OTLP receiver that accepts OpenTelemetry gen_ai spans, first signal typically arrives within minutes of configuring the exporter. If you are pulling from Langfuse or Braintrust via a connector, setup involves authenticating the source and selecting the trace slice you want. There is no framework migration, no SDK swap, and no changes to your agent's calling code. From there, Tessary reads the trend across grader verdicts over time rather than single scores; an imperfect grader misfires at a stable rate, so a moving trend still marks a real change.
Agent observability can detect patterns that error rates and latency metrics miss: tool call failures that still return HTTP 200, reasoning sequences that complete but produce wrong output, hallucinated facts in tool results, model version regressions after non-prompt code changes, and coordination failures in multi-agent pipelines. These require graders over traces, not just infrastructure metrics.
Keep running it. Langfuse and Braintrust hold your traces and track scores, and both connect to Tessary as upstream sources. What they don't attempt is attribution: when a score drops, neither names the change that moved it. Tessary traces a degradation back through the agent's chain to the causing change, including causes that never show up in a diff, like a model provider update or an upstream agent's output shifting.
Attribution goes as far as the traces allow. When a trace goes dark and Tessary can only get partway to a cause, it points at the gap, and that gap becomes the next node to instrument, through the Tessary SDK or your existing OTEL setup. Coverage grows where cause hunts actually hit walls, and each added node makes the next degradation easier to trace.
Get started

From setup to answers

Connect your Langfuse or Braintrust source, or point an OTLP exporter, and the first traces land in minutes. The next time your agent degrades, you get the change that caused it, with no credit card to start.

Find what broke your agentNo re-instrumentation required if your agent is already on Langfuse or Braintrust.