How to Monitor Tool Calls in Production (2026)

A tool-calling eval in CI answers a closed question: does the agent still handle the cases we thought of? Production asks an open one: what is it doing on the inputs we never imagined? Both matter, and they catch different failures. An agent that passes every CI case can still degrade in production when a tool schema changes, a model updates, or users start asking things your golden set never contained.

Quick answer: Tool call monitoring is the continuous observation of an agent's tool usage in production — which tools it picks, whether arguments validate, how often calls fail, and how those patterns drift. Capture cheap deterministic signals on all traffic, score a 5-10% sample more deeply, and alert on distribution shifts rather than only on hard errors.

How does monitoring differ from CI evaluation?

CI evaluation is a gate: a fixed golden set, a threshold, a merge that passes or blocks. Production monitoring is a sensor: live traffic, no ground truth, and the goal is noticing that something changed. The distinction matters because they fail in opposite ways. CI misses what is not in the set; monitoring sees everything but cannot tell you what "correct" was.

CI evalProduction monitoring
QuestionDoes it still handle known cases?What is it doing on unknown ones?
Ground truthYes — a labelled golden setNone — live, unlabelled traffic
CoverageOnly what you thought ofEverything, including the unimagined
OutputPass/fail against a thresholdDistributions and trends over time
Acts onA merge or a releaseAn alert and an investigation
Blind toFailures outside the setWhat "correct" would have been

Run both. The tool-calling accuracy eval tells you the agent was right yesterday against known cases; monitoring tells you today's behaviour has drifted away from that baseline.

Which signals should you track?

Split them by cost. Some are nearly free and should run on all traffic:

Others need scoring, so run them on a sample:

Track everything per tool, not just in aggregate. One badly-performing tool disappears inside a healthy average.

What does drift look like, and how do you spot it?

The most useful signal is not a threshold breach but a change in distribution. If a tool that handled 10% of calls last week is suddenly handling 35%, something moved — a prompt edit, a model update, a change in what users are asking. Distribution shifts usually appear before user-visible failures, which makes them your earliest warning.

Practical baseline set:

How much should you sample?

Capture the deterministic signals on 100% of traffic — they cost almost nothing. For the scored signals that need an LLM judge, sampling in the 5-10% range is a common starting point, weighted toward interesting traffic rather than uniformly: cases that errored, retried, took unusually long, or used rare tools. Uniform sampling spends most of your budget confirming that the happy path is still happy.

If you use a judge for the scored signals, validate it first. A judge with position or verbosity bias will produce a monitoring dashboard that is stable, precise, and wrong.

How does monitoring feed back into evaluation?

This is the part most teams underuse. Production is the highest-value source of new test cases, because it contains failures you could not have invented. The loop:

  1. Flag interesting traces — errors, retries, unusual tool sequences, low scored samples.
  2. Label them, keeping the surrounding context.
  3. Promote the durable ones into your golden set so the failure cannot silently recur.
  4. Rotate older cases out as they age, so the set keeps discriminating rather than going stale.

One caution: cases mined from production and then published — in a blog, a public repo, or verbose CI logs — lose their value quickly. That is contamination arriving through your own pipeline. Keep the golden set private if you want it to keep measuring anything.

Related

FAQ

What is tool call monitoring?

Tool call monitoring is the continuous observation of an agent's tool usage in production — which tools it selects, whether arguments are valid, how often calls fail, and how those patterns shift over time.

How is it different from tool-calling evals in CI?

CI evals answer a closed question against a fixed golden set before release. Production monitoring answers an open question on live traffic: is the agent behaving as expected on inputs nobody anticipated?

Which tool call metrics should you track?

Tool selection distribution, argument validity rate, tool error rate, retry and recovery rate, unnecessary call rate, and latency and cost per call. Track them per tool, not just in aggregate.

How much production traffic should you sample?

Sampling 5-10% of traffic for scored evaluation is a common starting point, combined with 100% capture of cheap deterministic signals like schema validity and error rates.

What should trigger an alert?

Sudden shifts in tool selection distribution, a rise in argument validation failures, and any increase in unrecovered tool errors. Distribution shifts usually precede user-visible failures.

How does monitoring feed back into your evals?

Production failures are the highest-value source of new test cases. Mine flagged traces, label them, and promote the interesting ones into your golden set so the same failure cannot recur unnoticed.

Can production monitoring replace a tool-calling eval?

No. Monitoring has no ground truth — it can tell you behaviour changed, but not that it was wrong, because nobody labelled the live traffic. A golden set tells you what correct looks like. Run both: the eval gates the release, the monitor watches what the release does next.

← Back to guides