|
自从OpenAI发布ChatGPT之后,一场围绕大语言模型(Large Language Model, LLM)的研究热潮席卷全球,这些研究不仅包括大模型本身的训练、推理、微调、评估,还包括大模型应用开发框架、大模型应用开发形态、AI Agent(单Agent/多Agent)等。大模型应用形态从最早的ChatBot演进到后来的Copilot,再到当下的Agent[1],其智能化能力和自主完成任务的能力呈递进趋势,当下工业界和学术界关于AI Agent已经有大量的研究,也有许多AI Agent相关的框架和平台。 Agent和AI Agent这个概念是一个传统的概念,并非大模型所特有,此处我们不单独讲述它们,本文提到的Agent和AI Agent都是基于LLM的Agent。基于LLM的Agent定义,当属OpenAI应用研究主管Lilian Weng(翁莉莲)撰写的万字长文[2]最具代表,她提出Agent = LLM + 记忆 + 规划 + 工具。业界围绕Agent开发也有许多框架,典型代表如:OpenAI GPTs、Agents、Camel、SuperAGI、AutoGen、LangGraph、CrewAI、AgentVerse、AgentScope、MetaGPT、agentUniverse。 图1 Lilian Weng关于Agent的定义[2] 在实际应用当中,Agent开发和使用人员不仅需要关注如何快速搭建自己的Agent应用,还需要关注搭建的Agent系统的效果如何,这就涉及到Agent的评估。本文我们将围绕如何评估Agent系统展开介绍,首先讲述评估对Agent的必要性以及评估Agent存在的挑战,然后介绍业界主要的Agent评估方法,最后对Agent评估的发展趋势给出展望。 1. Agent评估的意义和挑战
Agent与LLM在根本上有所不同,Agent可以用来解决更复杂、更现实的任务,这些任务可以没有单一正确的答案,例如Agent可以使用命令行执行任务,软件开发Agent甚至有自己的Agent与计算机的接口。相比LLM调用,Agent调用成本更高。由于这些本质差异,Agent评估和LLM评估也有本质的不同,结合网上的博客[3]和论文[4]可以总结出评估对于Agent具有如下重要意义: 如何对Agent进行评估当前并未有系统的理论和统一的方法,主要存在如下挑战: - 缺少系统的理论支持:由于Agent研究时间较短,目前对它的定义、构成等没有形成统一的标准和理论,与Agent评估相关的研究则更少。
- 场景复杂多样,很难提供统一的评估标准和方法:使用Agent解决的实际问题复杂多样,有些问题甚至没有标准答案。要评估一个Agent的好与坏,大多数时候要和实际问题相结合,针对具体的问题使用相应的评估方法和标准,不同问题之间的基准数据也很难迁移和共用。
- 缺少丰富的针对场景的基准,评估成本高:对于不同的场景没有统一的基准,对于新的场景,评估人员需要根据具体问题收集对应的数据并制定基准,制定基准成本较高。有些场景甚至没有标准的答案,很难收集数据并制定基准,这类问题则需要使用别的评估方式,而当前对于这类场景还没有形成统一且成熟的标准。
2. 业界Agent评估方法介绍
目前工业界和学术界对于Agent评估的研究还处在初步探索阶段,与此相关的框架、论文不是太多,研究成果也不够完善和成熟,本节我们选取其中一些比较具有代表性的研究成果进行介绍,这些研究针对Agent的一个或者多个能力进行评估。 2.1.AgentBench:将LLM作为Agent进行评估
AgentBench[5]由清华大学、俄亥俄州立大学、加州大学伯克利分校联合发表并开源的Agent评估框架。该框架对27种不同的大模型(包括开源和闭源)在8种实际的环境中的Agent能力进行评估,框架整体示意图如下: 
图2 AgentBench框架示意图[5] AgentBench的8种实际场景可以归为三类: AgentBench通过对不同的LLM在不同环境中的表现进行评分,不同的实际环境会根据场景使用不同的评分标准。例如对于操作系统、数据库使用成功率作为主要评估指标,对知识图谱场景使用F1作为评估指标。AgentBench在论文中还通过一种归一化的算法比较公平地对每个LLM在8个环境的表现给出了一个总得分。如下图右图为各个模型的总得分,黄色柱状代表闭源商业模型,绿色柱状代表开源模型,从图中可知闭源商业模型的平均得分比开源模型高出近1.6。下图左图为其中9个典型的模型分别在8个环境的能力表现,可以看出不同模型的能力差异较大,各个模型擅长的领域存在差异。 
图3 不同模型在不同环境的能力得分和总得分表现[5] 2.2.API-Bank:工具增强LLMs的综合基准
API-Bank[6]是由阿里巴巴、香港科技大学、北京大学和深圳市智强科技有限公司联合发布的针对工具增强LLMs的综合基准。API-Bank提供了一个包含73个API工具的评估系统,使用753个API调用对314个工具进行标注,从而评估现有的LLMs在规划、检索和调用API方面的能力。API-Bank实现了一个API-Search的模块,用于根据任务搜索相关API,根据是否进行API搜索以及调用API的数量分为如下三种场景: - 检索调用:当调用的API不确定时,通过检索出一个API进行调用。
- 规划检索调用:当调用的API不确定时,通过不断规划、检索并调用多个API。
API-Bank对LLMs从API搜索的准确率和大模型的回复两个维度针对上面三种场景做了评估,从论文的评估结果可以看出,GPT-3.5相比GPT-3工具调用能力有显著提升,GPT-4相比GPT-3.5在规划方面的能力有显著提升。 2.3.AgentBoard:多轮LLM Agent分析评估
AgentBoard[7]是由香港大学、浙江大学、上海交通大学、清华大学、西湖大学工学院和香港科技大学联合发表的一款对多轮LLM Agent进行分析评估的开源基准。AgentBoard在9个不同的任务上对主流的LLM能力进行了评估。 图4 AgentBoard环境和指标示意图[7] AgentBoard从多个角度对LLM的Agent能力进行了分析和评估: 2.4.MetaTool:针对LLM工具调用的基准
MetaTool[8]是理海大学、华中科技大学、剑桥大学和杜克大学共同发布的对大模型使用工具能力的评估,论文对8个主流模型对工具意图(是否需要使用工具)和工具选择两方面的能力做了评估。MetaTool提供了一个通过由21127个用户请求组成的综合数据集,这些用户请求通过利用prompt技术生成。对于工具选择,MetaTool分了4种场景来评估: MetaTool示意图如下: 
图5 MetaTool示意图[8] 2.5.AI Agents That Matter:重要的AI Agent
AI Agents That Matter[9]是由普林斯顿大学发表的一篇和Agent评估相关的理论论文,该文章聚焦当下Agent评估方法的不足,通过实践示例提出了几个Agent评估相关的建议。 2.6.PersonaGym:评估角色Agent和LLM
PersonaGym[10]是由卡内基梅隆大学、伊利诺伊大学芝加哥分校、马萨诸塞大学阿默斯特分校、佐治亚理工学院和普林斯顿大学一起发表的对角色扮演类型Agent能力进行动态评估的框架。PersonaGym使用包含了150个环境、200个角色和10000个问题的基准对6个开闭源大模型进行评估,同时它提出了PersonaScore指标用于量化角色Agent能力。 PersonaGym评估的流程示意图如下: 图6 PersonaGym评估流程[10] 整个过程主要分为三个阶段: 1. 环境选择和角色Agent初始化:使用LLM从150个不同环境列表中根据要分配给角色Agent的角色描述选择相关环境,选择完环境后初始化角色Agent。2. 提出问题并由角色Agent回答:选定环境和角色Agent之后,提出一些相关的问题并交由角色Agent进行回答。3. 使用PersonaScore指标评估:通过两个LLM对角色Agent的回答计算5个指标,并得到最终的PersonaScore得分。PersonaScore利用5个指标来得到最终的得分,从而对角色Agent能力进行评估,这5个指标解释如下: 1. 行动合理性(Action Justification):该指标用来评估角色Agent在对应环境和场景下采取某个/某些行动的合理性。2. 行动正确性(Expected Action):该指标用来评估角色Agent在给定环境中选择最佳行动/决策的能力。3. 语言习惯(Linguistic Habits):该指标用来评估角色Agent的回答语言习惯是否合理,包括语法、语气和整体风格。 4. 角色一致性(Persona Consistency):该指标用来评估角色Agent的回答与自身角色属性的一致程度。5. 毒性控制(Toxicity control):毒性指的是LLM产生的回答包含不尊重、粗俗、无礼或唆使伤害他人的内容,毒性控制指标越高代表角色Agent的回答包含了越少毒性内容。 2.7.MMRole:开发和评估多模式角色扮演Agent的框架
MMRole[11]是一款由中国人民大学高岭人工智能学院和中国农业大学信息与电气工程学院一起发布的用于开发和评估多模式角色扮演Agent的框架。MMRole构造了一个大规模、高质量的数据集,其中包括85个特征、11K图片、14K单论或多轮会话。MMRole提供的MMRole-Eval提供了3个维度的8个评估指标,并使用训练的奖励模型对多模式角色扮演Agent进行评分。 图7 MMRole-Eval的8个评估指标和评估流程[11] MMrole的8个评估指标解释如下: 1. 遵守指令(Instruction Adherence、IA):该指标用来评估Agent的回答是否准确遵循任务指令,是否有不必要的额外内容。2. 流利程度(Fluency、Flu):该指标用来评估Agent的回答语法是否正确且表达是否流畅。3. 连贯性(Coherency、Coh):该指标用来评估Agent的回答是否前后文保持连贯,是否有前后矛盾。4. 图文相关性(Image-Text Relevance、TTR):该指标用来评估Agent的回答是否与图像内容相关。 5. 回答准确度(Response Accuracy 、RA):该指标用来评估Agent的回答是否准确回答了问题。6. 个人一致性(Personality Consistency、PC):该指标用来评估Agent的回答是否准确深刻地反映了个人属性。7. 知识一致性(Knowledge Consistency、KC):该指标用来评估Agent的回答是否准确反映了角色的知识,包括他们的经验、能力和关系。8. 语气一致性(Tone Consistency 、TC):该指标用来评估Agent的回答是否符合典型的言语模式和流行语角色的风格,而不是类似于人工智能助手的风格。 对以上指标进行量化过程中,由于不同用户或者模型对同样的数据的得分可能差别会比较大,于是MMRole采用了一种可对比的方式。对于每个指标,MMRole-Eval使用一个奖励模型对Agent的回答和真实数据进行相对比较并得到一个定量分数对,以两个分数之间的比值作为最终得分。 3. 总结和展望
前文我们介绍了业界一些和Agent评估相关的框架、论文和方法,可以看出当前Agent评估相关的研究还处在初步探索阶段,这些研究主要从如下几个方面进行研究: 观察业界对Agent的评估研究不难发现,当前这些研究有如下特点或者局限性: 通过了解和总结业界Agent评估的方法、框架和论文等研究,我们可以看到Agent评估还有很长的路要走。当下的各种数据集、环境缺少一定的标准,未来可能大家会朝着共相、统一的目标打造可复用的数据集和环境。当前关于Agent的能力主要围绕大模型展开,且对规划、记忆等相关的能力缺少评估的方法和标准,关于当前Agent框架的各方面能力还有待进一步研究。当前研究人员会根据具体场景使用一些特定的指标,目前对于什么样的场景适合选择哪些评估指标、选择的指标是否合理等都缺少理论指导,这些问题可能在未来会得到解答。 |