In detail
Benchmarking: choosing a model
Benchmarking runs models against a shared, fixed dataset — the public leaderboards and standard test sets. Public benchmarks are most useful for one thing: narrowing the field before you commit. It tells you how a model does on someone else’s task, which is a starting point, not a verdict on yours. Scores can also be inflated when test questions leak into training data; the AI benchmark entry covers that and the common benchmarks. Optimizing for the score is its own risk. In episode 49 at 15:04, Intercom’s Fergal Reid said it is easy for a researcher trying to optimize a benchmark to teach the model the benchmark’s kind of task “and then suffer generalization failure.”
Evaluation: deciding if your system is good enough
Evaluation measures your system, on your data, against what your users actually need. It is where you define “good” for your use case and check whether you’ve hit it before shipping and after every change. What are AI evals? covers how to build them. A model can top a benchmark and still fail your evaluation, because your task is not the benchmark’s task. In episode 69 at 17:37, Thomson Reuters CTO Joel Hron says its CoCounsel Bench contains about 3,000 legal queries and grows almost daily. On that benchmark, one-shot answers rose from about 25% to more than 70% after the team gave the agent the tools it needed and basic instructions for using them.
Observability: seeing what happens in production
Observability is live instrumentation. In OpenTelemetry’s terms, a trace records the path of a request through an application as a tree of spans. For an agent, it traces each step of a request — what the agent retrieved, which tool it called, what it generated — so when something fails in production you can see why instead of guessing. What is AI observability? covers what a trace contains and what to record. Benchmarking and evaluation happen before and around deployment; observability is how you survive after it, though Galileo’s Vikram Chatterji argues in episode 46 at 17:46 that for agents it has to work “offline, online, as well as runtime.” In episode 60 at 20:13, Redpanda CTO Tyler Akidau recalls that a customer service Slack bot worked well for two or three weeks, then began giving strange suggestions. He says recording every prompt, tool request, tool response and output helps teams investigate such changes and evaluate performance over time.
Why the distinction matters
For selecting an implementation and testing it on your application, compare Phoenix, Langfuse, Braintrust and promptfoo.
Teams stall when they substitute one for another: trusting a benchmark as if it were an evaluation, or shipping with no observability and flying blind. You need all three, aimed at the question each one actually answers.
Disclosure: Episodes 46 and 49 were sponsored by Galileo, the Season 3 presenting sponsor; Vikram Chatterji is Galileo’s CEO. Episode 69 credits Svix and Walrus Memory as Season 4 presenting sponsors (Svix read at 27:04, Walrus Memory read at 44:12).
Hear it from the guest
“Typically the app developer will curate a data set and then they measure the application's performance against that benchmark and get it. By the way, that actually sets you probably ahead of the big crowd already, because I feel a lot of application developers also just do a vibe check and then send it to production.”
“And like oftentimes people don't have like any system in place to figure that out. You just throw something out, you hope it's better, but you don't really know.”
“It's so easy for a researcher or a scientist trying to optimize a benchmark to get good at teaching the model how to do the kind of task that's in the benchmark and then suffer generalization failure.”
“The fact that people overdo and overfit to something does not diminish its value as a tool.”
“We have a benchmark for like all of legal tasks we call CoCounsel Bench. It's about 3,000 different kind of legal queries we add to it almost every day. But we could answer about 25% of those questions in one shot on the prior version of CoCounsel.”
“Like we shipped a customer service Slack bot about a year ago, and it was awesome for like two or three weeks. And then like, fourth weekend, all of a sudden customers were saying like, it gave me this really weird suggestion that makes no sense.”
Quotes lightly edited to remove filler words.
Go deeper
- EleutherAI: configure a benchmark run Record the task, model, few-shot and generation settings used for a comparison. Running the harness needs Python, model access and compute.
- Inspect: choose a scorer Compare exact matching with model-graded scoring for your application's criteria. Python setup is needed to run examples; model-based scoring may incur costs.
- OpenTelemetry: read a trace Follow parent and child spans through a request, then identify which application steps to observe. Collecting real traces requires instrumentation and exporter setup; quality scoring remains separate.
- 4 Core AI Agent Measurement Concepts Explained Read Conor's earlier explanation of metrics, benchmarking, evaluation and observability alongside the production examples above.
From the conversation
This explainer is drawn from these episodes — each carries its full transcript.
-
Explaining Eval Engineering | Galileo's Vikram Chatterji -
Practical Lessons for GenAI Evals | Chip Huyen & Vivienne Zhang -
The AI Agent Trust Gap: Bridging Risk to Reliability | Elastic’s Philipp Krenn -
How Intercom Cut $250K/Month by Ditching GPT for Open Models | Fergal Reid -
Every AI Agent Has an Evaluation Gap | Alex Ratner, Snorkel AI -
Thomson 1: The New $40M Legal AI Model | Thomson Reuters Joel Hron -
We Built Agents, Nobody Built HR | Tyler Akidau, Redpanda
Concepts in this explainer
AI BenchmarkLLM LeaderboardAI EvaluationAI ObservabilityBenchmark ContaminationBenchmark SaturationLLM TracingModel Card