OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  AgentBench — 评测 LLM Agent 真实任务能力的基准项目

AgentBench — 评测 LLM Agent 真实任务能力的基准项目

 
  patience ·  2026-03-21 18:10:19 · 3 次点击  · 0 条评论  

AgentBench

🌐 排行榜 (新版) | 🐦 Twitter | ✉️ Google 群组 | 📃 论文

👋 加入我们的 Slack 进行 问答协作开发 下一版 AgentBench

🔥[2025.10.10] 推出基于 AgentRLAgentBench FC (函数调用) 版本

当前仓库包含 AgentBench 的函数调用版本,集成了 AgentRL——一个端到端多任务、多轮 LLM 智能体强化学习框架。
如果您希望使用旧版本,可以回退到 v0.1v0.2

与原始 AgentBench 相比,此版本使用了函数调用风格的提示,并为以下任务添加了完全容器化的部署支持:

  • alfworld (AF)
  • dbbench (DB)
  • knowledgegraph (KG)
  • os_interaction (OS)
  • webshop (WS)

快速开始

我们支持使用 Docker Compose 一键启动上述所有任务。

开始前,请下载或构建任务所需的以下 Docker 镜像:

# dbbench
docker pull mysql:8

# os_interaction
docker build -t local-os/default -f ./data/os_interaction/res/dockerfiles/default data/os_interaction/res/dockerfiles
docker build -t local-os/packages -f ./data/os_interaction/res/dockerfiles/packages data/os_interaction/res/dockerfiles
docker build -t local-os/ubuntu -f ./data/os_interaction/res/dockerfiles/ubuntu data/os_interaction/res/dockerfiles

要运行 KG freebase 服务器,您还需要一份 此处 提供的数据。
下载、解压并将数据放置在 ./virtuoso_db/virtuoso.db(或修改 extra/docker-compose.yml 并将挂载点设置到您的数据位置)。

然后,您可以通过以下命令启动整个服务栈:

docker compose -f extra/docker-compose.yml up

此命令将下载或构建必要的 Docker 镜像,并在 Docker 中启动以下服务:

  • AgentRL 控制器
  • alfworld 任务工作器 (x1,可按需增加)
  • dbbench 任务工作器 (x1,可按需增加)
  • knowledgegraph 任务工作器 (x1,可按需增加)
  • os_interaction 任务工作器 (x1,可按需增加)
  • webshop 任务工作器 (x1,可按需增加)
  • freebase 服务器 (用于 knowledgegraph 任务)
  • Redis 服务器 (用于容器分配)

如果您的机器已运行 Redis (版本 7+),可以从 docker-compose.yml 中省略 Redis 服务。

[!WARNING]
请注意,webshop 环境启动需要约 16GB 内存,
且当前 alfworld 的实现存在内存和磁盘空间泄漏问题,直到任务工作器重启。
运行前请确保您的机器有足够的资源。

基准测试结果

我们报告了各种模型在 AgentBench FC 测试集上的结果。

img.png

完整结果请参见我们的 排行榜
如有任何问题或希望贡献您的结果,请联系 agentbench_fc@googlegroups.com


🔥[2024.08.13] 推出 VisualAgentBench

VisualAgentBench 旨在评估和训练基于大型多模态模型 (LMMs) 的视觉基础智能体。我们引入了 5 个不同的环境,涵盖

  • 具身智能:VAB-OmniGibson, VAB-Minecraft
  • GUI 操作:VAB-Mobile, VAB-WebArena-Lite
  • 视觉设计:VAB-CSS

以系统性地对 17 个 LMMs(闭源和开源 LMMs)进行基准测试。我们还提供了轨迹数据集,用于在开源 LMMs 上进行行为克隆训练,以帮助您开发自己的视觉基础智能体!


以下是原始 AgentBench (v0.2) 的介绍。

AgentBench:评估作为智能体的 LLMs

https://github.com/THUDM/AgentBench/assets/129033897/656eed6e-d9d9-4d07-b568-f43f5a451f04

AgentBench 是首个旨在跨多种不同环境评估 LLM-as-Agent 能力的基准测试。它包含 8 个不同的环境,以更全面地评估 LLMs 在各种场景中作为自主智能体运行的能力。这些环境包括 5 个新创建的领域,即

  • 操作系统 (OS)
  • 数据库 (DB)
  • 知识图谱 (KG)
  • 数字卡牌游戏 (DCG)
  • 横向思维谜题 (LTP)

以及 3 个从已发布数据集重新编译的领域:

目录

数据集概览

我们为每个数据集提供两个划分:开发集 (Dev) 和测试集 (Test)。多轮交互分别需要 LLMs 生成约 4k 和 13k 次响应。

排行榜

以下是 AgentBench 测试集(标准)结果的得分。

虽然 LLMs 开始展现出作为智能体的能力,但模型之间的差距以及距离实际可用性仍有显著距离。

快速开始

本节将指导您如何快速使用 gpt-3.5-turbo-0613 作为智能体来启动 dbbench-stdos-std 任务。
关于具体的框架结构,请参考 框架介绍
更详细的配置和启动方法,请查看 配置指南程序入口指南

步骤 1. 前置条件

克隆此仓库并安装依赖。

Python 版本说明: AgentBench 固定了较旧的科学计算 Python 依赖(例如 numpy~=1.23.x)。
使用推荐的 Python 3.9(通过 conda)是安装依赖最可靠的方式。

cd AgentBench
conda create -n agent-bench python=3.9
conda activate agent-bench
pip install -r requirements.txt

确保已正确安装 Docker

docker ps

dbbench-stdos-std 构建所需的镜像。

docker pull mysql
docker pull ubuntu
docker build -f data/os_interaction/res/dockerfiles/default data/os_interaction/res/dockerfiles --tag local-os/default
docker build -f data/os_interaction/res/dockerfiles/packages data/os_interaction/res/dockerfiles --tag local-os/packages
docker build -f data/os_interaction/res/dockerfiles/ubuntu data/os_interaction/res/dockerfiles --tag local-os/ubuntu

步骤 2. 配置智能体

configs/agents/openai-chat.yaml 的正确位置填入您的 OpenAI API 密钥。(例如 gpt-3.5-turbo-0613

您可以尝试使用 python -m src.client.agent_test 来检查您的智能体是否配置正确。

默认情况下,将启动 gpt-3.5-turbo-0613。您可以通过修改参数来替换为其他智能体:

python -m src.client.agent_test --config configs/agents/api_agents.yaml --agent gpt-3.5-turbo-0613

步骤 3. 启动任务服务器

启动任务工作器涉及特定任务。手动启动可能很繁琐;因此,我们提供了一个自动化脚本。

此步骤的假设是端口 5000 到 5015 可用。对于 Mac OS 系统,您可能需要参考 此处 释放端口 5000 以供使用。

python -m src.start_task -a

这将为 dbbench-stdos-std 任务各启动五个任务工作器,并自动将它们连接到端口 5000 上的控制器。执行此命令后,请等待大约 1 分钟让任务设置完成。 如果终端显示 ".... 200 OK",您可以打开另一个终端并执行步骤 4。

轻量预设(笔记本电脑 / 内存有限)

如果您想以最小的并发度启动(每个任务 1 个工作器),请使用轻量预设:

python -m src.start_task -a --config configs/start_task_lite.yaml

步骤 4. 启动分配器

此步骤是实际开始执行任务。

如果到目前为止一切配置正确,您现在可以启动任务测试。

python -m src.assigner

如果您使用轻量预设启动了任务服务器,也可以运行轻量评估预设:

python -m src.assigner --config configs/assignments/lite.yaml

后续步骤

如果您希望启动更多任务或使用其他模型,可以参考 配置指南程序入口指南 中的内容。

对于其余五个任务的环境,您需要下载我们提供的 Docker 镜像。

longinyu/agentbench-ltp
longinyu/agentbench-webshop
longinyu/agentbench-mind2web
longinyu/agentbench-card_game
longinyu/agentbench-alfworld

八个任务中单个任务工作器的资源消耗大致如下;启动时请考虑此因素:

任务名称 启动速度 内存消耗
webshop ~3分钟 ~15G
mind2web ~5分钟 ~1G
db ~20秒 < 500M
alfworld ~10秒 < 500M
card_game ~5秒 < 500M
ltp ~5秒 < 500M
os ~5秒 < 500M
kg ~5秒 < 500M

本地部署 KnowledgeGraph 服务

KnowledgeGraph 任务依赖于一个在线服务,该服务目前不稳定。如果您想在本地部署该服务,可以按照以下步骤操作:

步骤1.

下载数据库并设置服务 freebase-setup

步骤2.

/configs/tasks/kg.yaml 中的 sparql_url: "http://164.107.116.56:3093/sparql" 更改为 sparql_url: "<您的 SPARQL 服务 API>"

注意: 您应该在启动智能体任务服务之前启动您的 KG 服务。

扩展 AgentBench

如果您希望向 AgentBench 添加新任务,可以参考 扩展指南

参考文献

Avalon 任务合并自 AvalonBench,它实现了一个多智能体框架。

引用

@article{liu2023agentbench,
  title   = {AgentBench: Evaluating LLMs as Agents},
  author  = {Xiao Liu and Hao Yu and Hanchen Zhang and Yifan Xu and Xuanyu Lei and Hanyu Lai and Yu Gu and Hangliang Ding and Kaiwen Men and Kejuan Yang and Shudan Zhang and Xiang Deng and Aohan Zeng and Zhengxiao Du and Chenhui Zhang and Sheng Shen and Tianjun Zhang and Yu Su and Huan Sun and Minlie Huang and Yuxiao Dong and Jie Tang},
  year    = {2023},
  journal = {arXiv preprint arXiv: 2308.03688}
}
3 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私政策 ·  服务条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 21 ms
Developed with Cursor