AI智能体,能否像人类一样有效地评估其他AI智能体?
对于AI智能体来说,评估决策路径一直是棘手的问题。
已有的评估方法,要么只关注结果,要么要要过多的人工完成。
为了解决这一问题,田渊栋、Jürgen Schmidhuber带领的团队提出了「Agent-as-a-Judge」框架。
简言之,让智能体来评估智能体系统,让AI审AI。
它不仅可以减少97%的成本和时间,还能提供丰富的中间反馈。
这是「LLM-as-a-Judge」框架的有机延伸,通过融入智能体特性,能够为整个任务解决过程提供中间反馈。
论文地址:https://arxiv.org/abs/2410.10934v1
研究人员提出了DevAI基准,为全新框架提供概念验证测试平台。包含55个真实的AI开发任务,带有详细的手动注释。
通过对三个领先的智能体系统进行基准测试,发现它大大优于「LLM-as-a-Judge」框架。
总之,这项研究真正的变革之处在于:它提供了可靠的奖励信号,为可扩展的、自我改进的智能体系统铺平了道路。
现有评估方法,无法为智能体系统的中间任务解决阶段,提供足够的反馈。
另一方面,通过人工进行更好的评估,代价太大。
而智能体系统的思考方式,更像人类,通常是逐步完成,并且在内部经常使用类人的符号通信来解决问题。
因此,智能体也能够提供丰富的反馈,并关注完整的思考和行动轨迹。
「Agent-as-a-Judge」不仅保留了「LLM-as-a-Judge」成本效益,还具备智能体特性,使其在整个过程中提供中间反馈。
下图展示了,大模型、智能体、人类作为评判者的示意图。
另外,在代码生成领域,基准测试的发展也落后于智能体系统的快速进步。
比如,HumanEval仅关注算法问题,而MBPP则处理简单的编程任务,但这两者都没有反映出开发者面临的最实际的挑战。
作为一个改进,SWE-Bench基准确实引入了GitHub现实问题,提供一种全新评估的方法。
不过,它仍需要关注自动修复任务的开发过程。
为了解决当前代码生成基准测试中的上述问题,研究人员引入了DevAI:AI开发者数据集,其中包含55个由专家注释者创建的真实世界综合AI应用开发任务。
DevAI结构是这样的:智能体系统首先接收用户查询以开始开发,然后根据AI系统满足需求的程度来评估它,其中偏好作为可选的、较为柔性的标准。
图3展示了DevAI任务的一个例子。
DevAI中的任务规模相对较小,但涵盖了常用的关键开发技术。
如图2所示,任务被标记并覆盖了AI的多个关键领域:监督学习、强化学习、计算机视觉、自然语言处理、生成模型等。
每个任务都是,可能交给研究工程师的真实世界问题,并降低了在这个基准上评估方法的计算成本。
接下来,研究人员将领先的开源代码生成智能体框架,应用于DevAI中的任务:MetaGPT、GPT-Pilot、OpenHands。
他们让人类评判者、大模型评判者、以及智能体评判者框架,来评估其性能。
结果如表1所示,MetaGPT最具成本效益(1.19美元),而OpenHands是最昂贵的(6.38美元)。
从开发时间来看,OpenHands完成任务平均耗时362.41秒,而GPT-Pilot耗时最长,为1622.38秒。
平均而言,使用这三者之一对DevAI进行完整评估,大约需要210.65美元和14小时才能完成。
为了确定DevAI的实用有效性,并准确估计当前最先进的智能体系统实际代码生成能力,研究人员手动评估三个AI开发者基线在DevAI中的应用。
如表2所示,(I)和(D)代表独立性能与考虑任务依赖性的性能。表示多个专家的进化,并且意味着评估使用白盒测试(允许访问生成的workspace、人类收集的轨迹和开源代码库)。
两种性能最好的方法(GPT-Pilot和OpenHands)可以满足大约29%的要求,但只有一项任务可以满足所有要求。
另外,在三位人类评估者之间,他们的个人评估存在大量分歧,说明了单一人类评估的不可靠性。
下图5总结了人类评估和共识评估的不匹配度。
根据以往智能体设计的经验,并通过模仿人类评估过程,研究人员涉及了8个模块化交互组件,具体包括:
1 图像模块:构建一个图像,获取项目整个结构,包括文件、模块、依赖项,还可以将代码块分解为代码片段
2 定位模块:识别需求所引用的特定文件夹/文件
3 读取模块:超越了简单的文件解析,支持跨33种不同格式的多模态数据的读取和理解
4 搜索模块:提供了对代码的上下文理解,并且可以快速检索高度相关的代码片段,以及其背后细微差别
5 检索模块:从上下文中提取信息,识别轨迹中相关片段
6 查询模块:确定是否满足给定要求
7 记忆模块:存储历史判断信息,允许智能体基于过去记忆评估
8 规划模块:允许智能体根据当前状态和项目目标制定策略,并排序任务。
具体操作流程,如下图9所示。
下表3展示了,Agent-as-a-Judge在各项任务中始终优于 LLM-as-a-Judge,特别是在那些训在任务依赖关系的情况下。
评判开发者智能体,是一项类别不平衡的任务,满足要求的情况要比失败的情况少的多。
而判断转移和对齐率等指标可能会产生误导。比如,由于MetaGPT很少满足要求, LLM-as-a-Judge很容易将大多数情况识别为负面(在黑盒设置中达到84.15%)。
PR曲线通过平衡精确度和召回率,提供更清晰的性能衡量标准。
这表明,在某些情况 下,Agent-as-a-Judge几乎可以取代人类评估员。
最后,在消融研究中,研究人员分析了各种组件的添加,对Agent-as-a-Judge判断OpenHands性能的影响。
参考资料:
https://x.com/tydsh/status/1846538154129375412
文章来自于微信公众号“新智元”
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md