一个模拟印度零售银行客服的智能体基准:被测模型扮演银行助手,另一个模型扮演客户提出挂失卡、开定期、提前支取报价等请求,助手要查记录、照银行政策、按顺序调用工具。和只看对话结束时数据库状态的基准不同,它还检查每一个规定步骤是否做了、有没有做客户没要求的改动。
点赞 8 · 代码星数 6
理由
- 抓住了常见评测的漏洞:作者称只看最终记录时,每个模型都有 6.5–12.0% 的会话被判成功,但其实跳过了必须步骤或做了多余改动。
- 规模和工程都完整:1000 个任务、50 类场景、33 个银行工具加一个转人工工具、944 个模拟客户、24 篇知识库文档;打分不需要评判模型,时钟冻结、引用号由种子决定,可逐字节重放。
- README 给出六个开源模型的参考成绩(Qwen3.8-27B 和 Gemma 4 系列,全 1000 题 pass@1),并按顺序执行、边界情况、少用工具、对照四类拆分。
- 直接装成 tau2 命令,接任何 OpenAI 兼容端点或 litellm 支持的托管 API;代码和数据 MIT 许可,数据全部合成。
用法
- 安装:Python 3.12/3.13,pip install -r requirements.txt → python scripts/fetch_data.py(从抱脸 NPCI/tau-indian-banking 拉数据)→ pip install --no-deps -e .(也支持 uv)。
- 运行:tau2 run --domain indian_banking --agent-llm openai/<被测模型> --user-llm openai/<客户模拟模型> --task-split-name base …;参考设置温度 0、每轮最多 8192 输出 token、上下文至少 32768。
- 打分:python scripts/score.py data/simulations/<run>/results.json;两次运行对比加 --compare;tau2 view 浏览对话。
- 想先省钱试跑用 lite(200 题)或 --num-tasks 5,README 特别提醒用付费 API 跑全量成本远高于单次请求。
风险
- 分数是“被测模型 + 客户模拟模型 + 数据划分”整体的属性,换客户模拟模型就不可比;README 称同配置重复运行约 15–25% 的会话会翻转,均值波动约 ±1–2 分。
- 领域是虚构的印度银行和合成数据,结论能否迁移到其他行业或真实客服未验证。
- 参考成绩只有开源模型,且都用同一个客户模拟模型(MiniMax-M2.7)。