AgentBench:AI Agent能力评测工具
所谓AI Agent就是一个以LLM为核心控制器的一个代理系统。业界开源的项目如AutoGPT、GPT-Engineer和BabyAGI等,都是这样的系统。然而,并不是所有的AI Agent都有很好的表现,其核心还是取决于LLM的水平。尽管LLM已经在许多NLP任务上取得进步,但它们作为代理完成实际任务的能力缺乏系统的评估。清华大学KEG与数据挖掘小组(就是发布ChatGLM模型)发布了一个最新大模型AI Agent能力评测数据集,对当前大模型作为AI Agent的能力做了综合测评,结果十分有趣。
这个AgentBench是评测LLM作为Agent的能力,通过评测LLM在细分任务的得分来确定LLM作为Agent的水平,主要结论就是商业模型表现远超开源模型,更加适合作为Agent来使用,而GPT-4更是一骑绝尘,成为唯一一个超越4分的模型,其它模型连3分都没有!
- AI Agent简介
- AgentBench简介
- 25个主流LLM作为Agent的能力评估结果和重要结论
- LLM作为Agent的总结
AI Agent简介
所谓AI Agent就是一个以LLM为核心控制器的一个代理系统。可以通过识别用户的意图,使用可用的工具,完成设定的目标。
也就是说,AI Agent本质是一个控制LLM来解决问题的代理系统。LLM的核心能力是意图理解与文本生成,如果能让LLM学会使用工具,那么LLM本身的能力也将大大拓展。AI Agent系统就是这样一种解决方案。
AI Agent被很多人认为是LLM能力升级的一个重要方式,就连OpenAI的研究人员也认为AI Agent是LLM转为通用问题解决方案的途径之一(参考:大模型驱动的自动代理(AI Agent):将语言模型的能力变成通用能力的一种方式——来自OpenAI安全团队负责人的解释与观点:https://www.datalearner.com/blog/1051689842100145)。
但是,并不是所有的LLM都能作为AI Agent能高效完成任务,使用工具。业界大多数AI Agent框架都默认使用GPT-4作为核心的LLM,那么,到底各个LLM作为AI Agent能力表现如何?这在目前没有一个合适的评测方式。
清华大学KEG与数据挖掘小组(就是发布ChatGLM模型)发布了一个最新大模型AI Agent能力评测数据集,对当前大模型作为AI Agent的能力做了综合测评,称为AgentBench接下来我们介绍一下这个评测。
AgentBench简介
AgentBench是一个系统的基准,用于评估大语言模型(LLM)作为代理执行实际任务的能力。该团队认为关于LLM的代理能力主要包含以下部分:
- 理解人类意图并执行指令
- 编码能力
- 知识获取和推理
- 策略决策
- 多轮一致性
- 逻辑推理
- 自主探索
- 可解释的推理
只有LLM能完成上述具体任务,才可能承担好AI Agent的工作。为此,AgentBench创建了8个不同的场景,针对上述能力来评估LLM作为Agent的表现,包括:
- 操作系统:评估LLM在Linux系统的bash环境中的操作能力,如文件操作、用户管理等。
- 数据库:考察LLM利用SQL操作给定的数据库完成查询、修改等任务。
- 知识图谱:需要LLM利用给定的工具查询知识图谱,完成复杂的知识获取任务。
- 卡牌游戏:将LLM视为玩家,根据规则和状态进行数字卡牌游戏,评估策略决策能力。
- 横向思维难题:提供难题故事,LLM需要进行问答来推理得到真相,检查横向思维能力。
- 家庭环境:在模拟的家中场景下,LLM需要自主完成日常任务,如搬移物品等。
- 网络购物:按照要求在模拟购物网站上浏览和购买商品,评估自主探索决策能力。
- 网页浏览:在真实网页环境中,根据高级指令实现操作序列,完成网页任务。
很显然,如果LLM可以在上述场景中表现很好,那么作为Agent肯定也会非常棒。
25个主流LLM作为Agent的能力评估结果和重要结论
最终,清华大学评估了25个主流的LLM在上述8个任务上的表现来评估各大模型作为Agent的最终得分。结果如下:
从上面的评测结果,我们也可以看出几个非常重要的结论:
- 商业顶级模型(如GPT-4)展现出在复杂环境中完成代理任务的强大能力,它们能够理解指令并进行多轮交互。这显示了LLM作为代理的潜力。
- 但是,目前开源模型与商业模型之间还存在显著的差距,开源模型在AgentBench上普遍表现较弱。这提示开源LLM的代理能力仍有提升空间。
- 不同环境有不同的挑战,如操作系统和数据库考察编码能力,知识图谱需要复杂推理,网页浏览需要处理庞大inputs。不同模型之间也存在明显的优劣。
- 一些共性问题影响了当前模型的表现,如多轮一致性、动作有效性等。这些也是未来的研究方向。
- 代码训练确实能增强编程相关环境的表现,但可能以牺牲其他能力为代价。模型的训练方式需要针对目标任务进行优化。
- 国产模型中,ChatGLM2-6B的综合得分最高,也是开源模型最高得分,但也低于谷歌的模型(text-bison-001)
- 开源模型大多数综合得分不足1分,而GPT-4的得分则超过4分,达到4.41分!ChatGLM-6B第一代与BaiChuan-7B的表现都很差,
上述结论都是基于表的数据分析得到,例如,通过对两个规模相近的模型chatglm2和codegeex2-6b在AgentBench上的表现,可以看出代码训练的价值。其中,codegeex2-6b经过代码训练,在操作系统和数据库两个编程相关环境上明显优于chatglm2。但在需要逻辑推理的横向思维难题上,codegeex2-6b的表现下降。
下图展示了几个模型的对比结果:
GPT-4几乎像全能战士一样,超越所有模型!
LLM作为Agent的总结
尽管这篇论文的评测结果可能还不够完善,但是大部分的结论应该还是比较可靠的。虽然开源模型的进步很多,但是与商业模型相比还是有很大的差距。尤其是在完成复杂的任务时候这种差距更加明显。
AgentBench论文:AgentBench: Evaluating LLMs as Agents
论文地址:https://arxiv.org/pdf/2308.03688.pdf
AgentBench的GitHub地址:https://github.com/THUDM/AgentBench