news 2026/9/13 12:55:12

5分钟跑通 CAMEL:从单个 Agent 到多 Agent 角色扮演协作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
5分钟跑通 CAMEL:从单个 Agent 到多 Agent 角色扮演协作

5分钟跑通 CAMEL:从单个 Agent 到多 Agent 角色扮演协作

【免费下载链接】camel🐫 CAMEL: The first and the best multi-agent framework. Finding the Scaling Law of Agents. https://www.camel-ai.org项目地址: https://gitcode.com/GitHub_Trending/ca/camel

CAMEL 是一个基于大模型角色扮演的多智能体框架。它解决的具体问题是:让两个模型分别扮演"用户"和"助手",自己互相下达指令、交付成果,你只给一句需求,不用手写对话,就能拿到完整产出。

快速上手:安装与最小运行

环境准备

Python 3.10 以上即可。默认走 OpenAI 平台的模型,所以 💡 运行前确认环境变量里已有OPENAI_API_KEY

安装 CAMEL 并跑通最小示例

pip install camel-ai

然后新建一个脚本,写入下面这段:

from camel.societies import RolePlaying session = RolePlaying( "Python Programmer", "Stock Trader", task_prompt="Develop a trading bot for the stock market", ) msg = session.init_chat() for _ in range(10): a_resp, u_resp = session.step(msg) print(a_resp.msg.content) msg = a_resp.msg

跑起来后你会看到两个角色的对话交替滚动:"Stock Trader"先拆解需求,再逐条下指令;"Python Programmer"逐条回应,一轮轮逼近最终交付物。

刚才那段代码背后发生了什么

输入:你只给了三样东西——两个角色名和一句任务。

内部流转RolePlaying先根据角色名自动生成双方各自的系统提示词;init_chat()让助手一方先开口"请开始逐条下达指令";此后每次step()完成一轮"用户下指令 → 助手执行"的来回。

输出:每轮的助手消息被打印出来,最终交付物就在最后一条助手消息里。

有两个设计决策值得展开。

为什么对面要放一个"用户":不是让助手一个人发挥。AI User 扮演的是专家角色,持续下指令、提验收要求,交付物才会一轮比一轮贴近任务本身,而不是跑题。

对话终止怎么判断:每次返回都带terminated标志,框架还会识别回复中的CAMEL_TASK_DONE标记词,仓库示例脚本就是在检测到标记词时退出循环的;上面for的 10 轮上限只是兜底。

另外可以初始化时加with_task_specify=True,框架会先把一句话任务展开成更具体的描述,再开始对话。

核心能力拆解:按场景选模块

当你需要用对话跑完一整个任务→ 你只需一句话需求,RolePlaying 完成双角色对话闭环 → 你得到完整对话记录和最终答案,不用手写双方提示词。

当任务复杂到单轮对话装不下→ 用 Workforce 机制:管理器 Agent 把任务拆成子任务、分派给多个工人 Agent 执行 → 子任务结果被自动整合成最终输出。

当 Agent 需要查实时信息或执行代码→ 纯文本对话不够用时,给它挂上 Toolkit(搜索、天气、网页抓取、代码执行) → Agent 在对话中自主决定何时调用工具。

当你要换模型供应商→ 构造 Agent 时传入平台与模型名,比如 Anthropic 的模型 → 业务代码不用动,供应商就能切换。

实际场景:能拿它做什么

客服机器人

  • 输入:用户在聊天频道里问产品使用问题
  • 过程:Agent 通过 RAG 检索产品文档后组织答复
  • 输出:基于文档的回答直接发回频道

落地页制作

  • 输入:一句话需求"创建产品 landing page"
  • 过程:管理器拆出文案、HTML 编码两个子任务,分派给对应工人
  • 输出:整合后可直接打开的 HTML 页面

动态旅行规划

  • 输入:目的地、日期、预算
  • 过程:Agent 依次查询实时天气与路线信息
  • 输出:逐日行程,天气变化时自动调整

踩坑记录与进阶方向

常见卡点 ⚠️

对话打转:两个 Agent 反复围绕同一条指令,白烧 token——没检查terminated或没设轮数上限。解决:每轮判断终止标志,并保留 for 上限兜底。

缺 API Key 直接报错:默认走 OpenAI 平台,没配密钥跑不起来。解决:导出OPENAI_API_KEY,或显式传model参数切到你要用的平台。

产出和任务对不上:一句话需求太模糊,助手会自己猜需求。解决:加with_task_specify=True,让框架先把任务展开成具体描述再开工。

进阶方向

  • 自定义角色:自己写角色名与任务描述,直接传给 RolePlaying
  • 模型混搭:给 ChatAgent 传(平台, 模型)元组,比如换 Anthropic
  • 工具集成:在 camel/toolkits/ 下挑选需要的 Toolkit 挂给 Agent
  • 任务分解:在 camel/societies/workforce/ 用 Workforce 处理多子任务场景

示例对话跑通之后,最快的成长方式就是照 examples 里的脚本逐个跑。

  • 官方文档
  • 示例代码
  • 核心源码

【免费下载链接】camel🐫 CAMEL: The first and the best multi-agent framework. Finding the Scaling Law of Agents. https://www.camel-ai.org项目地址: https://gitcode.com/GitHub_Trending/ca/camel

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/13 12:53:38

AI水印与元数据:从隐私清理到开源出处的边界

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/13 12:50:15

锂离子电池富镍正极材料的闪蒸焦耳热改性技术

1. 项目背景与核心突破厦门大学研究团队在《自然通讯》发表的这项研究,针对锂离子电池富镍层状氧化物正极材料(LiNi_xCo_yMn_zO_2,NCM)存在的晶格氧析出问题,创新性地开发了闪蒸焦耳热(Flash Joule Heating…

作者头像 李华
网站建设 2026/9/13 12:50:13

文件目录结构:树形目录的组织方式

120 文件目录结构:树形目录的组织方式 你在电脑上创建文件夹、子文件夹、子子文件夹……这些层层嵌套的目录,就是树形目录结构。 它是现代文件系统的骨架——没有它,成千上万的文件就是一锅粥。 为什么需要目录结构 想象一个没有文件夹的电脑——所有文件都堆在一个地方…

作者头像 李华
网站建设 2026/9/13 12:47:54

ASEMI 65R390超结MOS管特性与应用解析

1. 65R390-ASEMI超结MOS管核心特性解析65R390是ASEMI推出的N沟道超结MOSFET,采用TO-220F封装设计。作为第三代功率半导体代表,这款器件在650V耐压等级下实现了390mΩ的超低导通电阻(RDS(on)),11A的连续漏极电流能力使其…

作者头像 李华
网站建设 2026/9/13 12:47:15

MATLAB控制安捷伦信号源生成与下载IQ波形

简介:基于MATLAB的安捷伦信号源波形生成与回放工程方案,面向射频测试、通信系统验证与信号分析场景的工程师和科研人员。利用该方案可在MATLAB中生成自定义波形数据文件,下载到安捷伦信号源后,直接调用内置IQ调制功能完成回放&…

作者头像 李华