编辑:LRS
【新智元导读】AI Agents是当下大模型领域备受关注的话题,用户可以引入多个扮演不同角色的LLM Agents参与到实际的任务中,Agents之间会进行竞争和协作等多种形式的动态交互,进而产生惊人的群体智能效果。本文介绍了来自KAUST研究团队的大模型心智交互CAMEL框架(骆驼),CAMEL框架是最早基于ChatGPT的autonomous agents知名项目,目前已被顶级人工智能会议NeurIPS 2023录用。
「什么神奇的技巧让我们变得智能?窍门就是没有窍门。智慧的力量源于我们巨大的多样性,而不是任何单一的、完美的原则。」 ——人工智能先驱 马文·明斯基(Marvin Minsky)[1]
目前来看,在机器通向高级智能的道路上,以ChatGPT为代表的大模型(LLMs)应该是必须经过的里程碑之一,它们以聊天对话的人机交互方式在多个领域的复杂任务解决方面取得了非常耀眼的成就。
随着LLMs的发展,AI Agents(AI智能体)之间的交互框架也逐渐兴起,尤其是在一些复杂的专业领域,以角色扮演等模式预置的智能体完全有能力代替人类用户在任务中扮演的角色,同时,智能体之间通过以协作和竞争形式的动态交互往往能够带来意想不到的效果,这就是被OpenAI人工智能专家Andrej Karpathy等人看作是「通向AGI最重要的前沿研究方向」的AI Agents。
该领域发展的时间线如下[2]:
- 「CAMEL」(骆驼:大模型心智交互框架)- 发布于2023.3.21
- 「AutoGPT」 - 发布于2023.3.30
- 「BabyGPT」 - 发布于2023.4.3
- 「Westworld」 simulation(斯坦福西部世界小镇) — 发布于2023.4.7
作为最早基于ChatGPT的autonomous agents知名项目,KAUST研究团队的大模型心智交互CAMEL框架(骆驼)重点探索了一种称为角色扮演(role-playing)的新型合作代理框架,该框架可以有效缓解智能体对话过程中出现的错误现象,从而有效引导智能体完成各种复杂的任务,人类用户只需要输入一个初步的想法就可以启动整个过程。目前,CAMEL已经被国际人工智能顶级会议NeurIPS 2023录用。
论文链接:https://ghli.org/camel.pdf
项目主页:https://www.camel-ai.org/
AI Agents是当下大模型领域备受关注的话题,用户可以引入多个扮演不同角色的LLM Agents参与到实际的任务中,Agents之间会进行竞争和协作等多种形式的动态交互,进而产生惊人的群体智能效果。
作者对CAMEL框架设计了灵活的模块化功能,包括不同代理的实现、各种专业领域的提示示例和AI数据探索框架等,因此CAMEL可以作为一个基础的Agents后端,支持AI研究者和开发者更加轻松地开发有关于多智能体系统、合作人工智能、博弈论模拟、社会分析、人工智能伦理等方面的应用。
具体的,作者通过涉及两种角色扮演的合作场景,生成了两个大型的指令数据集AI Society和AI Code,以及两个单轮问答数据集AI Math和AI Science,用于探索LLM涌现能力的研究。
CAMEL框架
下图展示了CAMEL中的role-playing框架,人类用户需要首先制定一个想要实现的想法或目标,例如:开发一个用于股票市场的交易机器人。
这项任务涉及的角色是AI助理智能体(使其扮演Python程序员角色)和AI用户智能体(使其扮演股票交易员角色)。
作者首先为CAMEL设置了一个任务细化器(Task Specifier),该细化器会根据输入的想法来制定一个较为详细的实现步骤,随后AI助理智能体(AI Assistant)和AI用户智能体(AI User)通过聊天的方式来进行协作通信,各自一步步完成指定的任务。
其中协作通信通过系统级的消息传递机制来实现,令 为传递给AI助理智能体的系统消息, 为传递给AI用户智能体的系统消息。
随后为AI助理智能体和AI用户智能体分别实例化为两个ChatGPT模型 和 ,相应得到AI助理智能体 和AI用户智能体 。
角色分配完成后,AI助理智能体和AI用户智能体会按照指令跟随的方式协作完成任务,令 为时间 时刻获得的用户指令消息, 为AI助理智能体给出的解决方案,因而 时刻得到的对话消息集为:
在下一个时刻 ,AI用户智能体 会根据历史对话消息集 ,来生成新的指令 。然后再将新指令消息与历史对话消息集一起传递给AI助理智能体 来生成新一时刻的解决方案:
CAMEL使用示例
1. 协作角色扮演(cooperate role-playing)
CAMEL内置的协作式role-playing框架可以在人类用户不具备专业知识的情况下,通过Agents之间的协作方式完成复杂任务,下图展示了CAMEL开发股票市场交易机器人的例子,其中AI助理智能体的扮演的角色是一名Python程序员,而AI用户智能体扮演的角色为一名股票交易员。
在role-playing框架中,AI智能体都具有特定领域的专业知识,此时我们只需要指定一个原始想法的Prompt,随后两个AI智能体就会围绕着这一想法展开工作,在上图中,用户智能体提出交易机器人需要有对股票评论的情绪分析功能,随后助理智能体直接给出了安装情绪分析和股票交易所需的python库的脚本。
随着任务的进行,用户智能体给出的指示也会越来越明确,上图中的指示为:定义一个函数以使用Yahoo Finance API获取特定股票的最新股价。助理智能体会根据该指示直接生成一段代码来解决需求。
2. 具身智能体(embodied agent)
在先前的研究中,AI Agents可以理解为在模拟一些操作,而没有与现实世界交互或使用外部工具执行操作,目前的LLMs已经具备与互联网或其他工具API交互的能力,CAMEL也提供了能够在物理世界中执行各种操作的具身智能体(embodied agent),它们可以浏览互联网、阅读文档、创建图像、音频和视频等内容,甚至可以直接执行代码。
上图展示了CAMEL通过使用embodied agent调用HuggingFace提供的Stable Diffusion工具链生成骆驼科图像的样例,在这一过程中,embodied agent首先会推理出骆驼科所包含的所有动物,随后调用扩散模型生成图像并进行保存。
3. critic在环(critic-in-the-loop)
为了增强role-playing框架的可控性,作者团队还为CAMEL设计了一种critic-in-the-loop,这种机制受到了蒙特卡洛树搜索(MTCS)方法的启发,它可以结合人类偏好实现树搜索的决策逻辑来解决任务,CAMEL可以设置一个中间评价智能体(critic)来根据用户智能体和助理智能体出的各种观点进行决策来完成最终任务,整体流程如下图所示。
考虑这样一个场景,我们让CAMEL主持一场很具体的科研项目讨论会,而科研项目的主题「大型语言模型」,CAMEL可以将用户智能体的角色设置为一个博士后,将助理智能体的角色设置为博士生,而中间评价智能体的角色设置为教授。任务指示博士生来帮助博士后制定研究计划,需要围绕大模型的伦理展开研究。
在接到任务后,博士后智能体首先抛出了关于这一项目的三个观点,表明项目应该首先从调研大模型伦理方面的相关工作着手。
随后教授智能体会根据这三个观点给出自己的看法。并且认为观点2最为合理的,即研究大模型歧视性算法。同时还会给出另外两个观点的缺陷,例如观点1缺乏更加清晰的结构,观点3的研究范围太窄等等。
在教授发言之后,博士生智能体会进行更加具体的项目规划,例如直接列出一些大模型伦理安全方向的相关文献,并且讨论如何开展具体的研究。
实验效果
本文的性能评估主要从三个方面进行,并且采用两个gpt-3.5-turbo作为实验智能体,实验的数据集使用CAMEL框架生成的四个AI数据集,其中AI Society和AI Code侧重于智能体的对话效果,而AI Math和AI Science侧重于智能体的问题解决能力。
1. Agent评估
在这一部分,作者从AI Society和AI Code数据集中分别随机选择 100 个任务进行评估,然后使用CAMEL框架和单个gpt-3.5-turbo进行对比实验。
结果评估方面分为两部分,一方面由人类受试者对两种方法给出的解决方案给出453份投票数据,来决定哪种方案更加可行。另一方面,作者提示GPT4模型对两种方案直接给出评分,具体的对比数据如下表所示。
从上表中可以看出,CAMEL框架给出的解决方案在人类评估和GPT4评估中均大幅优于gpt-3.5-turbo给出的解决方案,其中人类评估和GPT4评估的总体趋势高度一致。
2. 使用GPT-4对ChatBot评估
在这一部分,作者在CAMEL生成的四个数据集上对LLaMA-7B模型进行了逐步的微调,通过向LLM中不断注入来自社会、代码、数学和科学等不同领域的知识,来观察模型对知识发现的接受效果。
作者首先从AI Society数据集开始,让模型了解人类的互动常识和社会动态,随后AI Code和其他数据集的注入,模型获得了编程逻辑和语法的知识,同时拓宽了模型对科学理论、经验观察和实验方法的理解。
上表展示了模型在20个Society任务、20个代码编写任务、20个数学任务和60个科学任务上的测试效果,可以看到在每次添加数据集时,模型在已训练过的任务域上都会表现得更好。
3. HumanEval
为了进一步评估CAMEL框架的代码编写任务解决能力,作者在HumanEval和HumanEval 两个评估基准上进行了实验,实验结果如下表所示。
上表中清楚地证明了CAMEL框架的卓越性能,它不仅远远超过了LLaMA-7B模型,而且还大大超过了Vicuna-7B模型,这表明使用CAMEL生成的数据集在增强LLM处理编码相关任务方面有独特的效果。
CAMEL AI开源社区
值得一提的是,CAMEL作者团队正在构建了一个非常完善的CAMEL AI开源社区,社区Github仓库已经得到了3600 的star数,社区中涵盖了CAMEL中各种智能体的实现、数据生成pipeline、数据分析工具和已生成的数据集,以支持AI Agents及其他方面的研究,社区目前已吸引了诸多开源爱好者贡献代码。
距离CAMEL项目编写第一行代码到现在已有9个月,CAMEL-AI.org开源研究技术社区已经吸引超过20名来自KAUST/剑桥/索邦大学/NUS/CMU/芝加哥大学/斯坦福/杜克大学/北大/上交/哈工大/西电/东北大学/成信大以及工业界等独立代码贡献者。
社区正在寻找全职/兼职/实习贡献者、工程师和研究人员加入一起学习和探索如何推动构建智能体社会的边界,杰出贡献者有机会参与框架和其他研究项目论文的撰写投稿。
如果感兴趣加入CAMEL-AI.org的社区,可以将简历发送至camel.ai.team@gmail.com或者添加微信号CamelAIOrg进行咨询!
参考资料:
[1] Minsky M. Society of mind[M]. Simon and Schuster, 1988.
[2]https://towardsdatascience.com/4-autonomous-ai-agents-you-need-to-know-d612a643fa92