CoachDiscoverMapCompareSavedAI LearningAI WeeklyAbout
← Library
02 · Applied

Four Agent Types, One Pattern

How evaluation actually looks for coding, conversational, research, and computer-use agents — and how to think about non-determinism when the same agent runs many times.

Same Fundamentals
Code-based, model-based, and human graders apply across all four agent types. What changes is the surface area being graded.
Match Grader to Surface
Coding gets unit tests. Conversation gets state checks plus tone rubrics. Research gets groundedness. Computer-use gets sandboxed state.
Measure the Distribution
Agents are non-deterministic. pass@k and pass^k tell different stories about reliability.

Coding Agents

Coding agents write, test, and debug code. Of the four agent types this is the most well-trodden ground because software evaluation is unusually clean: does the code run, and does it pass tests?

The canonical benchmark is SWE-bench Verified — GitHub issues from Python repositories, graded by the project's own test suite. A solution passes only if it fixes failing tests without breaking existing ones. The frontier moved from ~40% to over 80% in one year.

Deterministic graders shine here because the truth condition is concrete. Build them first, then layer model-based rubrics on top for quality dimensions tests can't see — readability, idiomatic style, sensible naming.

A production-grade coding eval typically stacks: deterministic_tests for required unit tests, static_analysis for lint/type/security, state_check for side effects (e.g. "did the security log entry get written?"), tool_calls verification, and a final llm_rubric on code quality. Tracked metrics include turns, tool calls, total tokens, and latency.

A green test suite means the agent did the right thing. Not necessarily — the agent might have gamed the tests, deleted the failing case, or solved the problem in a way that breaks downstream consumers. Read transcripts to verify.

Conversational Agents

Conversational agents work in support, sales, coaching, and similar domains. Unlike chatbots, they maintain state, use tools, and take mid-conversation actions like processing refunds or filing tickets.

Success here is multidimensional: did the ticket actually get resolved (state check)? Did the agent finish in under 10 turns (transcript constraint)? Was the tone appropriate (LLM rubric)? Each dimension uses a different grader type.

The trick most teams miss is the simulated user. A second LLM plays a customer persona, stress-testing the agent across extended, sometimes adversarial conversations. τ-Bench and τ2-Bench formalize this, simulating multi-turn interactions in realistic scenarios.

Most tasks here have multiple correct solutions. Lean on model-based graders for communication-quality dimensions; use state checks for the verifiable outcomes ("refund processed", "ticket marked resolved").

A typical conversational task layers llm_rubric assertions on empathy and clarity, state_check on backend outcomes, tool_calls required (verify identity → process refund → send confirmation), and a max_turns ceiling on the transcript.

Research Agents

Research agents gather, synthesize, and analyze information, producing answers or reports. Unlike coding, there's no unit test to lean on — quality depends entirely on context. Market scans, due-diligence reports, and scientific syntheses each demand different standards.

Three problems make this hard. Experts disagree on what counts as comprehensive. Ground truth shifts as the web changes underneath you. Longer outputs create more opportunities for hidden mistakes.

The benchmark to know is BrowseComp — needle-in-a-haystack questions across the open web, easy to verify once found but hard to find. The grading strategy stacks layers:

LLM judges can grade research output reliably without calibration. They drift fast on subjective domains like comprehensiveness. Calibrate frequently against expert human judgment, and structure rubrics so each dimension is graded separately rather than all at once.

Computer-Use Agents

Computer-use agents drive software through human interfaces — screenshots, clicks, keyboard, scrolling — rather than APIs. They work with anything that has a GUI, from design tools to legacy enterprise software.

Evaluation needs a real or sandboxed environment to check intended outcomes. WebArena tests browser tasks with URL and page-state checks, plus backend verification that the intended data modification actually happened. OSWorld extends this to full OS control, checking file-system state, application configs, database contents, and UI properties.

Browser agents face a tokens-vs-latency trade-off worth understanding. DOM-based interactions are fast but token-heavy. Screenshot-based interactions are slower but token-efficient. Summarizing a Wikipedia article benefits from DOM text extraction; finding a laptop case on Amazon benefits from screenshots, because the full DOM is huge.

Claude for Chrome built evals that check whether the agent chose the right tool for each context. Tool-choice eval is a category most teams miss — and it's the single biggest lever on browser-agent latency and accuracy.

Non-Determinism: pass@k and pass^k

Agent behavior varies between runs. Each task has its own success rate. What you actually measure is how often the agent succeeds — and there are two ways to summarize that.

pass@k measures the probability of at least one success in k attempts. As k grows, pass@k rises. A 50% pass@1 means the model gets it right half the time on the first try. In coding, first-try success matters most. In other situations, multiple proposals are fine if any one of them works.

pass^k measures the probability that all k trials succeed. As k grows, pass^k falls — demanding consistency across more trials is harder. A 75% per-trial success rate over 3 trials is (0.75)³ ≈ 42%. This is the metric you want for customer-facing agents where every call has to work.

Use pass@k when one success is enough — code generation, brainstorming, search-and-find. Use pass^k when you can't afford failures — customer support, financial workflows, anything users see every time.
A high pass@1 means the agent is reliable. Not at all — a model could score 80% pass@1 but only 51% pass^k over 3 trials. If users hit the agent multiple times in a day, the failure rate they experience compounds.
Flashcards — Guide 02

Tap any card to reveal the definition. Or open the full deck to filter and shuffle across all guides.

02 · Applied
SWE-bench Verified
tap to reveal →
Canonical coding benchmark: real GitHub issues from Python repos, graded by the project's own tests. Frontier moved from ~40% to over 80% in a year.
← tap to flip back
02 · Applied
τ-Bench / τ2-Bench
tap to reveal →
Conversational benchmark where one LLM plays a user persona and the agent navigates realistic multi-turn scenarios.
← tap to flip back
02 · Applied
BrowseComp
tap to reveal →
Research benchmark of needle-in-haystack web questions — easy to verify once found, hard to find.
← tap to flip back
02 · Applied
WebArena
tap to reveal →
Browser-agent benchmark using URL and page-state checks plus backend verification that the intended data change actually happened.
← tap to flip back
02 · Applied
OSWorld
tap to reveal →
Computer-use benchmark covering full OS control. Checks file-system state, app configs, database contents, and UI properties.
← tap to flip back
02 · Applied
Simulated user
tap to reveal →
A second LLM that plays a customer persona during evaluation. Stress-tests conversational agents across extended, adversarial dialogues.
← tap to flip back
02 · Applied
Groundedness check
tap to reveal →
A grader that verifies each claim in an agent's output traces back to a retrieved source. Catches confident hallucination.
← tap to flip back
02 · Applied
Coverage check
tap to reveal →
A grader that confirms an agent's report mentions the essential facts defined up front. Used heavily in research-agent evaluation.
← tap to flip back
02 · Applied
Tool-choice eval
tap to reveal →
A check that the agent picked the right tool for the context — e.g. DOM extraction for Wikipedia vs screenshots for a busy shopping site.
← tap to flip back
02 · Applied
pass@k
tap to reveal →
Probability of at least one success in k trials. Rises with k. Use when one success is enough — code gen, brainstorming, search.
← tap to flip back
02 · Applied
pass^k
tap to reveal →
Probability all k trials succeed. Falls with k. Use for customer-facing agents where consistency is essential.
← tap to flip back