
τ²-bench
taubench.com- Category
- Developer Tools
- Rank
- No. 885Tools index
Previous survey · No. 867 ·
- Listed in
- #18 Find AI benchmarks
- Type
- TOOL
- Builder
- sierra-research
- GitHub
- 2.0k stars
- Latest release
- v1.0.1
- Date
About
Evaluates tool-using agents in realistic conversations where an agent, user, policy, and changing environment must stay aligned across a task.
What it does
τ²-bench simulates customer service work across airline, retail, telecom, banking knowledge, and mock domains. It runs turn-based text or simultaneous voice sessions, then records results against domain tasks and evaluation criteria.
Why it's ranked here
The framework covers unusually varied evaluation surfaces within one package: text, realtime audio, retrieval, and reinforcement learning. Its domain registry, configurable runs, saved trajectories, retries, and concurrency make it credible infrastructure, though reproducibility demands careful version control.
What's good
Domains bundle policies, tools, tasks, and optional user tools, which keeps scenarios structured and extensible. The runner separates simulation, construction, and batch execution. Batch runs support checkpointing, resumption, retries, worker processes, provider limits, seeded execution, and selectable task splits.
Tradeoffs
The installation is substantial beyond core text evaluation. Voice requires a large optional dependency set plus system audio tools, while knowledge and reinforcement learning need separate extras. Python support is limited to 3.12 and 3.13. A grading correction made older banking knowledge results noncomparable.
How to use it well
Use it when developing or comparing customer service agents that call tools, especially when repeatable domain tasks and saved trajectories matter. Start with core text runs, pin the repository state, then add voice, retrieval, or Gym support selectively. It does not provide a general production agent platform.
Technical notes+
pyproject.toml defines the tau2 package with Hatchling, Python >=3.12,<3.14, a tau2 CLI entry point, and separate voice, knowledge, gym, dev, and experiments extras. src/tau2/runner/__init__.py exposes a three-layer architecture: run_simulation, builder functions, and batch functions with checkpointing and retries. src/tau2/run.py re-exports that surface and preserves deprecated flat-argument shims. src/tau2/registry.py registers agents, users, domains, task loaders, splits, filters, and metadata. src/tau2/__init__.py exposes library classes and compatibility aliases. The Makefile separates core, voice, knowledge, Gym, and full pytest targets.
Observed
- License
- MIT
- Primary language
- Python
- Python support
- Python 3.12 and 3.13
- Packaging
- Hatchling build backend; installation uses uv with optional extras
- Interfaces
- Command-line interface, Python library, and optional Gymnasium-compatible environment
- Evaluation modes
- Turn-based text and full-duplex voice
- Built-in domains
- Mock, airline, retail, telecom, and banking knowledge
- Test structure
- Pytest targets are separated for core, voice and streaming, knowledge, Gym, and full-suite runs
Read from README.md, Makefile, pyproject.toml, src/tau2/cli.py, src/tau2/run.py, src/tau2/config.py, src/tau2/__init__.py, src/tau2/registry.py, src/tau2/gym/__init__.py, src/tau2/user/__init__.py, src/tau2/agent/__init__.py, src/tau2/utils/__init__.py, src/tau2/voice/__init__.py, src/tau2/runner/__init__.py.
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.