什么是CAMEL?
CAMEL (Communicative Agents for "Mind" Exploration of Large Language Models) 是一个开源的多智能体框架,专注于构建基于大语言模型的智能体交互系统。该框架通过角色扮演和结构化对话机制,实现智能体之间的有效协作。
在CAMEL框架中,ChatAgent 是最基础的智能体单元,负责处理对话逻辑和任务执行。而RolePlaying 和Workforce 则是多智能体系统,用于协调多个智能体的协作。
详见我们的开源仓库和项目主页
- 论文:ghli.org/camel.pdf
- 项目主页:www.camel-ai.org/
论文双语对照版本
ChatAgent
ChatAgent 是 CAMEL 框架的基础构建块,其设计目标是回答以下问题:“如何设计一个自主的交互式智能体,使其能够在最少人工监督的情况下,引导对话完成任务?”
在当前实现中,我们的智能体具备以下关键特性:
- 角色 (Role) :结合目标和内容规范,设定智能体的初始状态,引导智能体在连续交互过程中采取行动。
- 大语言模型 (LLMs) :每个智能体都使用大语言模型来增强认知能力。大语言模型使智能体能够理解和生成自然语言,从而解释指令、生成响应并参与复杂对话。
- 记忆 (Memory) :包括上下文记忆和外部记忆,使智能体能够以更扎实的方式进行推理和学习。
- 工具 (Tools) :智能体可以使用的一组功能,用于与外部世界交互,本质上是为智能体提供具身化能力。
- 通信 (Communication) :我们的框架允许智能体之间进行灵活且可扩展的通信,这是解决关键研究问题的基础。
- 推理(Reasoning) :我们为智能体配备了不同的规划和奖励(评论员)学习能力,使其能够以更有指导性的方式优化任务完成。
Workforce
架构设计
Workforce是CAMEL框架中的一个多智能体协同工作系统。它以一种简洁的方式让多个智能体协作完成任务,类似于一个高效的团队合作系统。
通信机制
Workforce采用层级架构设计。一个workforce可以包含多个工作节点(worker nodes),每个工作节点可以包含一个或多个智能体作为工作者。工作节点由workforce内部的协调智能体(coordinator agent)管理,协调智能体根据工作节点的描述及其工具集来分配任务。
除了协调智能体外,workforce内部还有一个任务规划智能体(task planner agent)。任务规划智能体负责任务的分解和组合,使workforce能够逐步解决任务。
Workforce内部的通信基于任务通道(task channel)。Workforce初始化时会创建一个所有节点共享的通道。任务会被发布到这个通道中,每个工作节点会监听通道,接受分配给它的任务并解决。
当任务完成后,工作节点会将结果发布回通道,结果会作为其他任务的"依赖项"保留在通道中,供所有工作节点共享。
通过这种机制,workforce能够以协作和高效的方式解决任务。
故障处理
Workforce具有故障处理机制。当任务失败时,协调智能体会采取行动修复。这些行动可以是:
- 将任务分解为更小的任务并重新分配
- 创建一个能够完成该任务的新工作者
目前,协调智能体根据任务被分解的次数来做决策:
- 如果任务已经被分解超过特定次数,协调智能体会创建新的工作者
- 如果没有超过,协调智能体会采取任务分解的行动
有些任务可能智能体根本无法解决。为了防止workforce陷入无限的智能体创建循环,如果一个任务失败次数超过特定次数(默认为3次),workforce将会停止。
一个实战案例
参考链接
https://fmhw1n4zpn.feishu.cn/docx/AF4XdOZpIo6TOaxzDK8cxInNnCe