跳到正文
Sierra:Blog· Karthik Narasimhan·· 2024-06-21精选AI 评分63

Sierra 发布 τ-bench 基准,评测 AI Agent 在真实场景下的表现与可靠性

𝜏-Bench: Benchmarking AI agents for the real-world

AI 导读

Sierra AI 研究团队发布 τ-bench(τ-retail 和 τ-airline 两个领域)基准,通过 LLM 模拟用户与工具 API 的多轮动态交互,评估 Agent 完成复杂任务并遵循领域策略的能力,并提出 pass^k 可靠性指标。

推荐理由

原文由团队自述基准设计动机与结果,读者可借此了解现有 Agent 评测在多轮动态交互和可靠性衡量上的缺口。

正文 · AI 翻译

TL;DR

  • Sierra 的 AI 研究团队致力于推动对话式 AI 智能体的前沿发展。在我们的新研究论文中,我们提出了一个新的基准 𝜏-bench,用于评估 AI 智能体在具有动态用户与工具交互的真实世界环境中的性能和可靠性。
  • 目前缺乏良好的基准来衡量智能体在有人参与循环的动态真实场景中的可靠性。𝜏-bench 测试智能体在与(LLM 模拟的)用户和工具交互以收集所需信息的同时完成复杂任务的能力。
  • 结果表明,使用简单 LLM 构造(如函数调用或 ReAct)构建的智能体即使在相对简单的任务上也表现不佳,这凸显了对更复杂智能体架构的需求。

背景

AI 智能体是由 LLM 驱动的自主软件系统,使其能够推理、做出决策,并以创造性和灵活性追求目标,同时始终保持在为其设定的边界之内。智能体在广泛的任务中有着令人惊叹的应用,从处理简单的信息交换和问答,到复杂的故障排查和问题解决。在 Sierra,我们在实现真实世界面向用户的对话式智能体方面的经验让一件事变得极其清晰:对智能体性能和可靠性的稳健测量对其成功部署至关重要。在公司部署 AI 智能体之前,他们需要尽可能在逼真的场景中衡量其工作效果。

研究社区在过去几年中为 AI 智能体构建了若干基准(WebArena、SWE-bench、Agentbench 等),但它们在一些关键领域都存在不足。虽然这些基准有助于揭示智能体的高层能力,但它们只评估单轮人机交互,即所有必要信息一次性交换完毕。这与现实场景形成鲜明对比,在现实场景中智能体通过多次动态交互来收集信息。此外,这些基准通常将评估重点放在平均性能等一阶统计量上,而不提供可靠性或适应性的度量。

我们构建 𝜏-bench 来弥补这一空白。借鉴我们在生产环境中运行实时智能体的经验,我们将现实智能体基准的要求提炼为三个关键点。首先也是最重要的,大多数真实世界环境要求智能体在长时间跨度内与人类和程序化 API 无缝交互,以逐步收集信息并解决复杂问题。其次,智能体必须能够准确遵循特定于任务或领域的复杂策略或规则。这对于确保智能体不违反公司政策或产生不良行为至关重要。第三,智能体必须在数百万次交互中保持大规模下的一致性和可靠性。这确保了智能体行为的可预测性,并让部署它的公司安心。

𝜏-bench 将所有这些要素整合到一个单一的模块化框架中,用于评估和开发面向真实世界用例的智能体。

TAU(𝜏)-Bench:一个工具-智能体-用户基准

从高层来看,𝜏-bench 衡量的是智能体在与(模拟的)人类用户和程序化 API 交互时,能否以一致的方式遵循特定领域的策略。该基准包含若干任务,用于测试使用模块化框架构建的智能体,该框架包含 (1) 真实的数据库和工具 API,(2) 规定智能体所需行为的领域特定策略文档,以及 (3) 由指令引导的基于 LLM 的用户模拟器,用于生成多样化场景下与智能体交互的真实用户话语。

𝜏-Bench Setup

𝜏-bench 中航空预订智能体的示例。如果用户想要将航班预订更改为不同的目的地机场,智能体需要通过与该用户交互来收集所有必需信息,使用所提供的指南检查航空公司政策,查找新航班,并(如果可能)使用复杂的航空预订 API 为用户重新预订。

𝜏-bench 中的每个任务都测试智能体遵循规则、推理、在长而复杂的上下文中记住信息,以及在真实对话中有效沟通的能力。我们使用了一种有状态评估方案,在每次任务完成后将数据库状态与预期结果进行比较,从而使我们能够客观地衡量智能体的决策能力。这种方法也为对话回复的变化留出了空间。此外,我们引入了一个新指标 pass^k,它衡量智能体的可靠性,并判断其能否多次成功完成同一任务(k 表示不同试验的次数)。

以下是 𝜏-bench 的关键特性:

  • 真实的对话与工具使用:得益于语言生成建模的进步,𝜏-bench 具有复杂的数据库和真实的用户模拟。值得注意的是,通过提示 LLM,我们可以用自然语言指定有趣且多样的用户场景,而无需编写复杂规则。
  • 开放式且多样化的任务:𝜏-bench 的数据模式、API 和策略文档足够丰富,能够支持为智能体创建多样化、开放式且富有创造性的任务。
  • 忠实的客观评估:𝜏-bench 侧重于评估智能体在目标数据库状态上的表现(而不是评估对话本身),这使得能够快速且忠实地评估智能体能力,从而无需任何人工或基于 LLM 的评估。
  • 模块化框架:𝜏-bench 采用模块化构建,便于轻松添加新领域、数据库条目、规则、API、任务和评估指标。

我们分三个阶段构建了 𝜏-bench:

  • 阶段 1:受客户支持领域真实用例的启发,我们手动设计了数据库模式、API 和策略。
  • 阶段 2:数据模式建立后,我们利用 LLM(GPT-4)生成能够大规模生成数据条目的代码片段。
  • 阶段 3:我们为每个任务手动生成用于用户模拟的场景以及目标状态,并在将任务加入基准之前验证其正确性。

使用上述流程,我们构建了两个领域——𝜏-retail 和 𝜏-airline,处理相应行业中的常见用例。我们选择这些领域,是因为它们在数据合成与策略规范的难易程度,以及多样化、真实应用的潜力之间提供了良好的平衡。你可以在论文中阅读更多关于基准构建方法的内容。

𝜏-Bench Domains

𝜏-retail 和 𝜏-airline 的汇总统计。

关键发现

大多数 AI agent 相对简单,主要使用函数调用或 ReAct 框架构建,后者涉及 LLM 生成 API 调用来采取行动。作为 𝜏-bench 的首次使用,我们评估了由 12 个流行 LLM(包括专有和开源模型)驱动的这类 AI agent。我们发现,我们测试的所有 12 个 agent 都难以解决 𝜏-bench 中的任务,即使表现最好的 GPT-4o agent 在两个领域的平均成功率也低于 50%。

𝜏-Bench Results

流行 LLM 在 𝜏-bench 上的 pass^1 分数。Llama3-70B 的数字使用 ReAct,而其他所有模型使用函数调用(ReAct 对它们没有提供任何显著改进)。

更有趣的是,所有测试的 agent 在可靠性测试中表现极差,并且在重新运行同一任务时无法一致地解决完全相同的任务(请注意,由于用户是模拟的,我们可以通过简单地重新运行任务来生成话语中的各种词汇变体,同时保持底层任务语义不变)。例如,由 GPT-4o 驱动的 agent 在 𝜏-retail 中的 pass^8 降至约 25%,与其相应的 pass^1 分数相比下降了惊人的 60%。实际上,这意味着 agent 只有 25% 的机会能解决 8 个不同客户的同一问题——这个数字远远落后于真实世界面向用户 agent 的预期。

𝜏-Bench Results

从 k=1 到 k=8 的 pass@k(虚线)和 pass^k(实线)图。所有模型随着 k 增加都表现出相当大的性能下降,证明了它们的不稳定性。

我们进一步手动分析失败案例,并将其分解为四个象限,这为改进 agent 能力提供了可操作的见解。关键挑战在于提高它们持续遵循规则、进行长期规划以及专注于对话中正确信息的能力,尤其是在可能存在冲突事实的情况下。特别是,我们发现函数调用 agent 不太擅长遵循策略文档中提供的规则。

𝜏-Bench Case Analysis

通过手动分析对 gpt-4o 函数调用 agent 的失败进行细分。

迈向现实世界中更可靠的 agent

Sierra agent 拥有比上述发现中描述的更广泛的能力。首先,Sierra 的 Agent SDK 使开发者能够以声明方式指定 agent 行为,编排它们以准确执行复杂任务。Sierra agent 还受到监督 LM 模型的管理,这些模型确保 agent 性能一致且可预测,同时轻松适应独特的对话和无限的用户场景。在我们部署和评估 agent 时,我们的 Agent 开发生命周期 允许快速迭代以提高 agent 质量并确保符合特定领域的策略。我们计划使用 𝜏-bench 来帮助编译、定制和微调我们的模型群,以实现卓越的性能。此外,我们的研究团队正在研究新的规范框架和认知架构,以实现更可靠和一致的 agent。

虽然 𝜏-bench 为动态智能体评估提供了一种新思路,但该基准在未来的改进上仍有若干方向。首先,我们可以通过更先进的 LLM 来提升用户模拟的保真度,这些 LLM 能够改进推理与规划,同时构建更复杂的场景。其次,我们可以构建新方法,通过使用自动化工具来降低标注难度。最后,我们可以开发更细粒度的评估指标,以测试智能体在对话中其他方面的行为(例如使用恰当的语气和风格)。我们希望 AI 研究社区能发现 𝜏-bench 在开发更强大、更可靠的 AI 智能体方面很有用,并在此基础上构建更先进的评估。

你可以在这里找到 𝜏-bench 的代码和数据。

来源:Sierra:Blog · sierra.ai