跳到主要内容

AgentBench:评估作为代理的 LLM —— 对金融 AI 可靠性的启示

· 阅读需 6 分钟
Mike Thrift
Mike Thrift
Marketing Manager

当我思考一个 Beancount 回写代理究竟需要可靠地执行什么任务时,答案并不是“生成文本”,而是在“结构化环境中执行一系列操作而不偏离正轨”。AgentBench(Liu 等人,清华大学,ICLR 2024)是首次大规模衡量这种能力的严肃尝试之一,其 2023 年的数据快照中仍包含值得借鉴的经验。

论文概览

2026-05-06-agentbench-evaluating-llms-as-agents

AgentBench 由清华大学的 Xiao Liu 及其 21 位共同作者开发,定义了八个环境,旨在压力测试作为交互式代理(而非被动文本生成器)的 LLM。五个环境是原创的:OS(bash 交互)、Database(SQL 生成与错误恢复)、Knowledge Graph(基于工具的结构化查询)、Digital Card Game(多轮策略对抗)以及 Lateral Thinking Puzzles(演绎对话)。三个改编自先前的资料集:House-Holding(来自 ALFWorld)、Web Shopping(来自 WebShop)和 Web Browsing(来自 Mind2Web)。论文评估了 27 个模型 —— 包括商业 API 模型 and 最高 70B 的开源模型 —— 涵盖约 4,000 个开发集(dev-split)和 13,000 个测试集(test-split)生成,并报告了每个环境的成功率和综合总分。

核心观点

  • GPT-4 以 4.01 的总分领先。Claude-2 得分为 2.49,GPT-3.5-turbo 为 2.32。CodeLlama-34B 是投稿时最强的开源模型,得分仅为 0.96。API 模型整体平均分为 2.24,而开源模型仅为 0.42。
  • GPT-4 在 OS 上的得分为 42.4%,Database 为 32.0%,House-Holding 为 78.0% —— 这些差异揭示了哪些环境更看重指令遵循,哪些更看重结构化推理。
  • “超出任务限制”(Task Limit Exceeded)是主要的失败模式:知识图谱(Knowledge Graph)中 67.9% 的失败是因为在解决任务前耗尽了步骤预算。这属于长期推理失败,而非知识储备不足。
  • 格式合规性错误占数据库(Database)任务失败的 53.3% —— 代理生成了语法错误的 SQL,或在查询语句外包裹了评估器无法解析的描述性文字。
  • 无效操作选择(Invalid action selection)导致了 64.1% 的 House-Holding 失败 —— 代理给出了在当前状态下不可用的操作名称。
  • 代码训练对各项任务具有“矛盾的影响”:它有助于程序遵循类环境,但在重对话的环境中可能会损害通用推理能力。

哪些观点经得起推敲 —— 哪些已经过时

核心设计选择 —— 多环境、多轮、交互式评估 —— 是正确的,且目前仍未被充分利用。大多数 LLM 基准测试仍停留于衡量单轮生成的质量;AgentBench 正确地坚持认为,代理必须不断做出决策,直到任务完成或预算耗尽。

话虽如此,这个快照在某些方面确实已经过时。GPT-4 (4.01) 与最佳开源模型 (0.96) 之间的差距在 2023 年中看起来令人担忧,但到 2025 年已基本弥合。像 Llama 3.1 70B 或 Qwen 2.5 72B 这样的模型,现在已经能通过两年前还是新奇障碍的指令遵循和格式合规性门槛。将这篇论文解读为“开源模型无法胜任代理任务”是错误的;但将其解读为“格式合规性和长期一致性是难题”依然成立。

此外还存在广度与深度的博弈。八个环境听起来很全面,但每一个都相对浅薄。WebArena (Zhou et al., 2024) 仅网页浏览就涵盖了 812 个长程模板化任务;OSWorld (Xie et al., 2024) 在 Ubuntu 和 Windows 上测试了 369 个真实的桌面任务。一旦确定了你关心的环境,AgentBench 可以提供跨环境的信号,但不能替代特定领域的基准测试。

表 4 中的失败模式分类可能是最经久不衰的贡献。作者将失败分解为:超出任务限制、格式错误、无效操作等。这些不是实现上的漏洞 —— 它们是 LLM 在多轮压力下维持状态、追踪可用操作以及生成可解析输出方面的结构性弱点。任何严肃的代理系统都必须解决这些问题。

为什么这对金融 AI 至关重要

这三种主要的失败模式几乎直接映射到了我认为会使 Beancount 回写代理崩溃的场景。

超出任务限制 是账本对账时的失败模式。对多个账户进行期末对账需要检查期初余额、匹配借贷方、识别差异并提出修正建议 —— 这一链条很容易达到 10–20 个步骤。一个在执行中途达到上下文或步骤预算并放弃的代理,不仅无法体面地退出,还可能使账本处于部分修改的状态。

格式错误 是交易分录输入时的失败模式。Beancount 有严格的语法:格式错误的过账(缺失货币、缩进错误、无效标记)是一个解析错误,会导致文件损坏。如果代理在其 Beancount 输出周围生成废话,或者在错误的格式中生成了看起来正确的语法,那么它就是无用的。这是 CRITIC 论文核心问题在更严苛领域的应用。

无效操作 是回写安全问题。在真实账本上操作的 Beancount 代理只有有限的几项安全操作:追加交易、修正标记、移动过账。凭空臆造该集合之外的操作 —— 比如删除一个仍有未平仓头寸的账户 —— 是一种正确性失败,可能直到审计时才会被发现。

关于“代码训练具有矛盾影响”的发现也非常相关。Beancount 回写更接近代码生成而非知识检索,因此在代码上预训练的模型理应是天生契合的。但如果代码训练在多轮设置中降低了对话遵循能力,那么在部署前就需要进行混合评估(如 AgentBench 的评估方式)来权衡利弊。

延伸阅读

  • WebArena (Zhou et al., 2024; arXiv:2307.13854) — 在真实浏览器环境中的 812 个网页浏览任务;是对 AgentBench 网页层级的深度跟进。
  • OSWorld (Xie et al., 2024; NeurIPS 2024) — 完整的桌面环境基准测试,包括文件系统和 GUI 任务;OSWorld 的 OS 环境是 AgentBench OS 层级的直接且更深层的继承者。
  • TAU-bench (Yao et al., 2024) — 在零售和航空 API 环境中评估代理,包含真实的工具使用和用户模拟;这是目前最接近将 Beancount 账本作为环境设置的已发表基准测试。