agent-readings / Evaluation and Benchmarks
Tool-agent-user reliability
The one sentence
For production agents, pass@1 is not enough. tau-bench makes reliability visible by asking whether the same task succeeds repeatedly under stochastic user conversations.
Before this paper
Many tool-use benchmarks provide all required user information in a single instruction.
Function-calling benchmarks often evaluate individual tool calls rather than long-horizon dialogue plus database mutation.
Agent benchmarks often omit domain-specific policies that constrain what actions are allowed.
The paper asks how to evaluate agents in realistic tool-agent-user interactions where user communication, API actions, and policy compliance all matter.
Core idea
Build domains with realistic databases, APIs, policy documents, and user scenarios; run agents in conversations with LM-simulated users; then compare final database state to annotated goal state across multiple trials.
Manually design domain schemas, APIs, and policy documents.
Generate realistic database entries with LM assistance and manual verification.
Create and verify user scenarios and target goal states.
Run an agent with access to policy text and API tools.
Action grammar
agent message: natural-language response to user.
user message: simulated-user utterance based on hidden scenario.
tool action: database API call such as get, update, cancel, book, or refund.
policy document: domain-specific rules available as context.
Executable shape
Evidence
tau-bench emulates dynamic conversations between an LM-simulated user and an agent with domain-specific API tools and policy guidelines.
The benchmark compares final database state after a conversation to annotated goal state, allowing stochastic conversation paths that should end in the same outcome.
The paper proposes pass^k to evaluate reliability of agent behavior over multiple independent trials.
The first benchmark includes tau-retail and tau-airline domains with realistic databases, APIs, policy documents, and user scenarios.
Claim map
tau-bench evaluates dynamic conversations between an LM-simulated user and an agent with domain-specific API tools and policy guidelines.
The evaluation compares the database state at the end of a conversation with an annotated goal state.
pass^k measures the consistency and robustness of agent behavior across k independent trials.
The first tau-bench domains are customer-service-style retail and airline tasks with databases, APIs, policies, and user scenarios.
Agent infrastructure
Production agent evaluation needs users, not just tools. Missing information must be gathered through conversation.
Policy compliance should be tested against state changes, not only against plausible natural-language explanations.
Final database state is the right verifier for many business agents because tool calls are side effects.
pass^k is a better reliability signal than pass@1 when small stochastic differences can break a workflow.
Caveats
The users are LM-simulated, not actual humans.
The first benchmark covers retail and airline, not all real-world domains.
Database-state matching can miss conversational quality unless quality is encoded in the task.
pass^k can be expensive because it multiplies trials per task.
Run it
No PoC yet - contributions welcome. A compact PoC could implement one retail database, two API tools, a simulated user, and pass^k over repeated conversations.