Benchmark · agentic
τ-bench
τ-bench 衡量 AI 智能体在扮演客服角色进行多轮对话时,调用工具和 API 来完成用户请求的能力。分数是智能体正确完成的任务所占的百分比。
了解更多
- 示例
- 一个零售或航空领域的任务——例如,用户请求智能体取消或修改一份订单,智能体必须询问所需的信息,然后在遵守该领域规则和政策的前提下调用正确的后端 API。
- 评分方式
- 指标是正确解决的任务比例;当对话结束后数据库或环境的最终状态与任务的预期结果一致时,该任务才算解决。结果通常以通过率(pass@1)报告,并用 pass^k 变体衡量在重复运行中的稳定性。
- 验证方式
- 验证是自动进行的,而非人工评判:对话结束后,基准会将系统的最终状态(以及告知用户的信息)与预先设定的预期结果进行比较,只有客观匹配才算通过。
- 为何重要
- 它反映了一个真实且具有商业价值的场景——智能体必须在业务规则下既与用户对话又通过工具执行操作——并揭示了可靠性方面的差距,因为一次成功的模型在重复尝试同一任务时往往会失败。
示例解析
任务
在 τ-bench 的 retail(零售)领域中,模拟用户对智能体说:「你好,我想取消订单 #W2611340——我下错单了。」按照商店政策(只有仍处于 'pending' 状态的订单才能取消,且取消原因必须是允许的取值),智能体必须先验证用户身份、核对订单、与用户确认,然后通过工具调用取消该订单。
解答
# 1) Authenticate the user (policy: verify identity before any action)
find_user_id_by_email(email="mia.li.3818@example.com")
# 2) Look up the order and confirm status == "pending"
get_order_details(order_id="#W2611340")
# 3) After the user confirms, cancel with an allowed reason enum
cancel_pending_order(order_id="#W2611340", reason="ordered by mistake")
解析
该政策只允许取消处于 'pending' 状态的订单,并将原因限制为两个 enum 取值('no longer needed' / 'ordered by mistake'),因此智能体先验证身份、检查状态、获得用户确认,再发出写入调用。τ-bench 通过将数据库的最终状态与标注的目标状态(此时订单为 'cancelled')进行比较来评分,并在多次重复试验中报告 pass^k 可靠性。
该 benchmark 暂无已验证的得分。