Operating guide for AI coding agents working on the SEATauBench /
tau2repository.
This repo layers SEATauBench on top of the upstream tau2-bench framework.
src/tau2/contains the upstream simulation runtime, domains, evaluator, runner, CLI, and shared utilities.src/seatau/contains the SEATauBench layer: scenarios, translation, annotation review, metrics, analysis, plotting, and benchmark-specific helpers.- Generated or data-heavy outputs typically live in
data/simulations/,data/analyses/, andfigs/.
If a subdirectory has its own AGENTS.md, follow the more specific file for
that area.
Use uv for dependency management.
uv sync # core runtime
uv sync --extra dev # linting, tests, formatting
uv sync --extra experiments # analysis and plotting
uv sync --extra translation # Vertex AI translation workflow
uv sync --extra voice # voice / audio-native features
uv sync --extra knowledge # banking_knowledge domain
uv sync --extra gym # gymnasium RL interface
uv sync --all-extras # everything
uv run tau2 check-data # verify the installationCopy .env.example to .env and add the API keys needed for the task. Common
keys include OPENROUTER_API_KEY, OPENAI_API_KEY, ANTHROPIC_API_KEY,
VERTEXAI_PROJECT, VERTEXAI_LOCATION, ELEVENLABS_API_KEY, and
DEEPGRAM_API_KEY.
Do not commit secrets, generated datasets, or other large derived artifacts unless the task explicitly asks for them.
make test
make test-voice
make test-knowledge
make test-gym
make test-all
make lint
make format
make lint-fix
make check-allmake test is the safest default. Run make check-all before committing.
uv run python -m seatau.generate_scenario_summary
uv run plot all
uv run plot list
uv run python -m seatau.translation.cli --help
uv run python -m seatau.annotation export --help
uv run python -m seatau.annotation import --helpFor experiments, use the tau2 CLI with the SEATauBench scenario flag and the
appropriate domain and language settings.
src/tau2/- upstream benchmark codesrc/seatau/- SEATauBench-specific codedata/tau2/- domain assets and translated language assetsdata/seatau/- benchmark metadata, experiments, annotation reviews, and analysisdata/simulations/- simulation run outputsfigs/- generated figurestests/- automated testsREADME.md- project overview and end-to-end workflows
- Follow the project’s existing configuration sources instead of duplicating constants locally.
- Keep scenario definitions, language definitions, and plotting labels aligned
with the canonical benchmark files in
data/seatau/. - Prefer
pathlib.Path, type annotations, and small single-purpose functions. - Use Ruff for formatting and linting, and pytest for tests.
- When changing plots or documentation, verify the rendered output rather than assuming the source text is enough.
README.mdfor the high-level benchmark overview and workflowsdata/seatau/scenarios.yamlfor scenario presetsdata/seatau/languages.jsonfor supported languagessrc/tau2/config.pyfor runtime defaults and model configurationsrc/seatau/translation/README.mdfor translation workflow detailssrc/seatau/annotation/README.mdfor translation review workflow details