Overview
Environment
The banking environment is an MCP-backed database with ~24 tables — users, bank accounts, credit-card accounts, debit cards, transactions, disputes, verification history, and more. Each task ships a reference payload containing the full initial state plus the reference diff a correct trajectory should produce, so grading is deterministic.Banking environment — ~24 tables, discoverable-tool pool
Banking environment — ~24 tables, discoverable-tool pool
User entry:Credit-card account entry:Debit card entry (pending activation):The database also includes
debit_cards, transaction_disputes, verification_history, credit_card_transaction_history, bank_account_transaction_history, referrals, credit_card_applications, interest_discrepancy_reports, and more. Sensitive operations (activating a card, filing a dispute, looking up card digits) are not in the base tool set — they live in a discoverable-tool pool the agent unlocks at runtime.Data
Each task is described across four parallel files (sharing an index):Sample
Sample tasks (goals)
Sample tasks (goals)
Note how several tasks hinge on the same surface operation (debit-card activation) but a different flow — new account vs. replacement vs. reissue vs. expired — so the agent must read
issue_reason and discover the matching activation tool.Full task intent (task 000001)
Full task intent (task 000001)
Full agent trajectory (task 000001 — 47 messages, 19 tool calls)
Full agent trajectory (task 000001 — 47 messages, 19 tool calls)
A compact view of the dispute-and-activation trajectory. Note the recurring discover → unlock → call pattern for every sensitive operation.User:Assistant — ground both operations in the knowledge base:Assistant — discover and call hidden tools to gather account context:Assistant — activate the new-account debit card (matching User pushes back on the dispute category (“it’s defective, not just ‘not as described’”). The agent re-checks the KB, explains the available categories honestly, and refuses to invent one.Assistant — retrieve the card’s last 4 digits from a tool (not from the user), per constraint:Assistant — present the full dispute for confirmation:
I think I need to file a dispute? I bought something from Best Buy on my Silver Rewards Card and it arrived defective. I also got a new debit card I need to activate.Assistant — verify identity first (KB-grounded policy):
issue_reason), with PIN 4821:
Here’s what I’ll file: Best Buy charge txn_b8c9d0e1f2a3, category goods/services not as described, full refund requested, card ending 1961. Shall I file it?
User:Yes, file the dispute.Assistant — file only after explicit confirmation:
Both done — your debit card is activated, and the Best Buy dispute has been filed.
Evaluator rubrics & grading (task 000001)
Evaluator rubrics & grading (task 000001)
The per-task Python evaluator carries the reference diff and a list of typed rubrics, then runs three LLM-judged checks.Sample rubrics:Three-axis grading:
overall_pass requires all three checks. Because grading runs against the reference snapshot, the score is deterministic and usable as an RL reward.Download
Two variants are available — the full demo (SFT trajectories and RL environments) and an RL-only variant (the same tasks with environments + per-task evaluators, but no SFT trajectories):Browse — full demo (SFT + RL)
intent · datapoints · evaluators · reference_payloads
Browse — RL-only variant
intent · evaluators · reference_payloads
For the complete Tau3-Bench corpus — the discoverable-tool mechanic, benchmark difficulty, and commercial licensing — see the Full Dataset page.