【Code Agent Benchmark】论文分享:TAU-Bench

论文名称:τ-bench: A Benchmark for Tool-Agent-User Interaction in Real-World Domains

论文链接:https://arxiv.org/abs/2406.12045

机构:Sierra

Github 链接:https://github.com/sierra-research/tau-bench#

简介

相比于Swe-bench而言,大家可能对TAU-bench并不是很熟悉,但2月份Claude 3.7发布的时候,Anthropic官方就曾用过TAU-bench来展示Claude As Agent的效果,说明这个benchmark还是得到了官方的认可,值得介绍一下。

在这里插入图片描述

TAU-bench是Sierra团队推出的评估 AI Agent在复杂的现实任务中与用户和工具交互的能力,主要是设计了两个垂直领域的场景评测:

  • Retail(零售场景):构建模拟零售环境,含数据库、API 工具和政策规则,让Agent处理订单、退换货等任务,测试其遵循规则、信息处理和任务执行能力。

  • Airline(航空场景):创建航班数据库、API 工具和复杂政策,Agent处理航班预订等任务,评测其应对复杂规则和多跳推理的能力。

这两个场景的任务都足够复杂,其中会有Agent与用户的多轮对话,也会有使用工具获取信息、解决问题的环节,所以比较适合用来评估一个Agent运行所需要的推理、指令遵循、长下文理解、工具调用等能力。

为什么跟AI Coding强相关呢?因为这些任务所要用到的工具跟代码强相关,算是一个AI Coding Agent近似实战的测试环境。

数据构造

在这里插入图片描述

TAU-Bench的数据构造采用模块化方式,以零售场景的case为例,具体如下:

  • JSON数据库:如图2a,数据库采用JSON格式,存储任务相关数据,如订单信息等,对Agent和用户隐藏,Agent通过API工具间接访问。

  • Python API工具:如图2b,用Python实现,用于对数据库进行读、写操作,其函数形式为tool_name(**kwargs),执行动作时数据库状态转移是确定性的。

  • Markdown域策略:如图2c,以Markdown格式描述,解释域数据库、任务流程和限制条件,部分限制在API中实现为检查,部分需Agent根据策略遵循。

  • JSON任务实例:如图2d,包含用于用户模拟的指令和真实数据库写操作的注释,指令设定用户身份、意图和偏好,保证在域策略下只有一个可能结果。

使用方法

在这里插入图片描述

准备工作

确定测试场景(零售或航空等),明确对应领域的数据库、API工具和政策规则 。将领域政策告知Agent,让其知晓规则,并将用户的指令给到Agent设定用户身份、意图等 。

交互过程

  • 用户指令下达:模拟用户向Agent提出任务指令,如在航空场景中更改最近的预订航班目的地

  • Agent操作:Agent依据接收到的指令和领域政策,调用API工具与数据库交互。例如在航空场景中,先调用get_reservation_details获取预订详情,再根据规则判断能否更改,如需取消则调用cancel_reservation

  • 多轮交互:过程中Agent与模拟用户可能有多轮对话,确认需求、反馈操作情况等 。

结果评估

对话结束后,将数据库最终状态与标注的目标状态对比 ,使用如pass^k等指标评估Agent行为的可靠性、一致性,判断其任务完成情况 。

评价指标

pass^1

顾名思义,不赘述了。

pass^k

因为Agent真正使用时,比如让它去订机票、处理退换货,如果执行失败会让人有很大的挫败感,所以它的成功率稳定性很重要,这个benchmark定义了pass^k的指标,也就是对一个测试case连续执行k次,每次都成功,才能算任务成功。

总结

TAU-Bench 也是用来评估LLM As Agent的能力,并将其限定在了代码->航空/零售领域,任务设计上比较接近生活中的实际问题,是一个比较不错的benchmark。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

依然易冷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值