// Production / Agentic Workflows & RAG

Eval and observability for AI agents.

A customer reports a bad answer. You can't tell whether retrieval missed, the model hallucinated, or a tool returned the wrong shape. We wire the observability and eval layer that makes those incidents fixable.

// What we see

The bugs you can't see are the bugs you ship.

01

You can't tell what step actually failed

A bad answer comes back. Was it retrieval, the planner, a tool returning malformed JSON, or the model summarizing badly? Without a per-step trace you're patching symptoms.

02

The bug rate is higher than the team thinks

Once observability is wired, the 'flaky' tool failing 1 in 50 actually fails 1 in 8 - and the agent truncates context on 22% of long conversations.

03

Every prompt change is a coin flip

Someone tweaks a system prompt to fix one complaint. Twelve other questions silently regress. Without an eval suite gating the merge, nobody can prove what improved or broke.

// What we do

Three layers that turn guesswork into engineering.

Most production agent reliability work doesn't need a new framework. It needs the trace layer, the eval set, and the CI gate - wired together so changes ship with measured deltas, not Slack messages.

Observability wired into your stack

Per-step traces with prompt and tool I/O - the canonical artifact your on-call reads at 2am.

  • Langfuse, LangSmith, Arize, or OpenTelemetry direct
  • Picked by stack and self-host requirements
  • Model versions and seeds attached

Eval sets built from real traces

Eval cases mined from production - real failures, real customer complaints, real edge cases.

  • Broken trajectories become golden cases
  • Suite grows as new failure modes surface

LLM-as-judge calibrated against humans

Out-of-the-box judges have 30-50% error rates. We calibrate yours so the dashboard reflects reality.

  • Calibrated against 50-200 human-graded cases
  • Re-calibrated when the judge model changes
  • Position, length, and agreeableness bias corrected

// Method fit

If you're shipping LLMs without evals, you're shipping blind.

skip it if

  • It's a throwaway demo nobody will use

    Internal hackathon, two-day spike, paper draft - a handful of cases in a notebook is enough.

    For anything that touches a real customer, treat the eval suite as load-bearing.

use it if

Almost everything else. If a real user will touch the output, you need evals before they do.

Most agencies sell "AI integration" and skip the eval layer. That's how teams learn their failure modes from customer complaints instead of from a CI run.

We don't have a softer position. Observability week one. Evals from real traces by week three. CI gates by week six.

Without this layer you don't know if your system works. You just haven't been told it doesn't yet.

// How we work

Wire observability first. Mine traces for evals. Hand off the CI gates.

Every engagement starts by making the agent legible - traces per step, prompts and tool I/O captured. Once we can see what's happening, eval cases come straight from the failures the trace store reveals.

01

Wire observability into your stack

Langfuse, LangSmith, Arize, or OpenTelemetry direct - chosen by framework and self-host needs. Traces capture every step, prompt, tool I/O, model version, and seed.

02

Build the eval set from production traces

We mine the trace store for real failures and customer complaints, turn them into golden cases, and add LLM-as-judge graders calibrated against a human-graded sample.

03

Hand off the CI gates and the playbook

Eval suite runs on every PR; regressions block merges. We hand off the runbook for new cases, the judge calibration procedure, and 30 days of Slack support.

Michał Pogoda-Rosikoń

// Expert insight

I know you need to ship fast. I know LLM is smart, you checked it and it works. But believe me - if you skip them, you will create PoC in a week and "improve it" for the next year, fixing one thing while breaking the other. In bards.ai we treat evals as a main asset. This is our secret sauce of moving to prod so fast.

Michał Pogoda-Rosikoń

Co-founder @ bards.ai

See our open-source work

// Why bards.ai

An eval stack proven on a 13-source production agent.

You could hire the team - it would take a year and they'd learn the eval stack on you. We've already learned it, with the LLM-judge calibration scars to prove it.

Production agent observability at scale

Brand24's internal agent unifies 13 data sources behind a Slack-native interface, sub-5s p50 - the same eval-and-observability pattern we deploy on engagements.

Framework-agnostic, vendor-agnostic

Langfuse, LangSmith, Arize, OpenTelemetry, Phoenix - we wire what fits your stack and data-residency rules. The methodology ports across future framework choices.

Engineers who've run their own agent incidents

Every person on your engagement has shipped agents to production, mined trace stores for failures, and calibrated LLM judges against human-graded samples.

// FAQ

Common questions about agent evals and observability

LangSmith if you're on LangGraph or deep in the LangChain ecosystem - it has the deepest framework integration, automation rules for routing low-quality traces, and online LLM-as-judge in GA. Langfuse if you're framework-agnostic, need self-hosting, or have data-residency constraints. Both run on OpenTelemetry under the hood; the methodology transfers either way. We pick by your stack and your security review, not vendor preference.

Out of the box, error rates are 30-50% - models prefer outputs in their own style, favor longer responses, and over-accept what they're shown. We always pair an LLM judge with a human-graded calibration sample (typically 50-200 cases) and re-calibrate when the judge model changes. After calibration, agreement with humans usually lands at 85-95% on most graders, which is good enough to gate CI.

If we mine eval cases from real traces, you usually catch the first regression in week one - often a prompt change someone made before our engagement that no one realized had broken something. New regressions get caught on PR if the cases cover that trajectory. The suite gets stronger every time a new failure mode surfaces and we add it.

Trajectory evals score the full step sequence, not just the final answer. For multi-hop agents we grade three dimensions: step-level correctness (was this tool call right given what the agent knew at that point?), trajectory efficiency (did it reach the goal in a reasonable number of steps?), and goal completion. The hard part is defining 'correct' at each intermediate step - we build these rubrics with your domain experts in week one, using real failure traces as the source. Without step-level grading, you can't distinguish a correct final answer reached correctly from one reached by accident - and you can't fix the agent when it's wrong.

Long-running agent conversations hit two distinct failure modes: context overflow and token budget exhaustion. Context overflow causes silent truncation - the model stops seeing early turns, loses task context, and starts contradicting itself. Both are invisible without instrumentation. Our approach: per-session token tracking with a warning threshold at 70% of the model's context window, a summarization node that compresses early turns when the threshold fires, and a hard stop at 90% that triggers structured summary-and-resume. Wired as a conditional edge in LangGraph that fires before each planning step. Stress-tested with conversations driven to 3x the context window to verify the summarization path doesn't lose critical state.

// Let's ship it

Start with the failure you can't explain.

Send the failure you can't explain, the agent, and the framework - we'll come back with an observability and eval design, plus the cases we'd mine first.

Engagements from
$40K
Typical range
$40K-$90K
Duration
4-6 weeks

Fixed-fee proposal after the first scoping call. Scope drivers: framework complexity, self-host vs SaaS, eval suite scope, LLM-judge calibration.

Michał Pogoda-Rosikoń

Michał Pogoda-Rosikoń

Co-founder @ bards.ai