恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

CAMEL 智能体社会(Society)模块实战指南:基于 RolePlaying 的回合制多角色协作框架

  • 首页
  • 资讯中心
  • /
  • CAMEL 智能体社会(Society)模块实战指南:基于 RolePlaying 的回合制多角色协作框架

相关资讯

同一把 TaoToken Key,从 Trae CN 换到 Codex 继续开发待办事项应用 2026/9/14 1:22:53
智能写作工具如何重构硕博论文创作全流程:从开题到降重实战解析 2026/9/14 1:22:53
npm run teamai-cli不是包,而是本地脚本别名陷阱 2026/9/14 1:22:53

最新资讯

mypy 如何配置 mypy_path 让多个项目共用同一套类型存根?
Envoy Front Proxy 部署模式详解:在服务网格之上叠加 L7 边缘反向代理
Qbot 环境报 No module named ‘Crypto‘ 怎么解决?
深入理解 AST 与 TSESTree:typescript-eslint 如何让 ESLint 读懂 TypeScript 代码
Apache Airflow 集成 Atlassian Jira 通知:用 JiraNotifier 在 DAG/Task 失败时自动创建 Issue
蓝桥杯Python字符串子串统计与优化算法解析

今日推荐

ASP+Access库存管理系统源码部署与IIS配置实战指南
基于SSM框架的毕业季旧物分类处理系统设计与实现
MATLAB FFT频谱仿真:从DFT原理到参数设置与窗函数选择

本周热门

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化
Flutter应用改名全指南:从Android到iOS的配置与工具实践

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

CAMEL 智能体社会(Society)模块实战指南:基于 RolePlaying 的回合制多角色协作框架

发布时间:2026/9/14 1:27:53
CAMEL 智能体社会(Society)模块实战指南:基于 RolePlaying 的回合制多角色协作框架 CAMEL 智能体社会Society模块实战指南基于 RolePlaying 的回合制多角色协作框架【免费下载链接】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 框架中camel.societies智能体社会模块以RolePlaying角色扮演框架为主线覆盖其核心概念、内置提示词规则、全部构造参数、完整可运行示例以及 critic-in-the-loop 等进阶玩法。读者学完后可以独立搭建一个AI 用户 AI 助手 可选评审者的回合制多智能体协作会话并理解其防角色翻转、防无限循环等工程机制。文中所有结论均可在 camel/societies/role_playing.py 及配套测试 test/agents/test_role_playing.py 中找到对应实现依据。CAMEL RolePlaying 角色扮演协作框架示意图什么是 Society 模块Society社会模块是 CAMEL 中用于模拟智能体社交行为与协作工作流的模块。它驱动自主的多角色智能体共同完成规划、辩论、评审与任务求解在最大化对齐你的目标的同时尽可能减少人工干预。官方文档对它的定位是该模块模拟智能体社交行为与协作工作流支撑自主的多角色智能体协同规划、辩论、评审和解决任务在最小化人工干预的同时最大化与目标的对齐。从源码结构看camel/societies/init.py 仅导出两个顶层框架RolePlaying与Workforce其中RolePlaying 是面向大多数多智能体对话场景尤其是 LLM 社会模拟最常用的框架Workforce 则面向更复杂的、由多个 Worker 组成的并行/分层任务编排场景见 camel/societies/workforce/。Society 核心概念AI 智能体如何交互在 RolePlaying 会话中参与者被划分为如下角色概念说明Task任务一个目标或想法以简单 prompt 的形式给出例如 Develop a trading bot for the stock marketAI UserAI 用户负责提供指令或挑战的角色相当于提问方/雇主AI AssistantAI 助手负责生成解决方案、计划或逐步响应的角色相当于执行方/员工Critic评审者可选对助手的响应进行评审或批判用于质量控制在此基础上RolePlaying 通过严格的回合制turn-based对话协议将上述角色组织起来形成一套系统强制结构化的协作框架。RolePlaying 框架回合制、零角色翻转的协作协议RolePlaying 是文档中唯一重点展开的协作框架其定位是基于回合制turn-based、提示词工程prompt-engineered、零角色翻转zero-role-flip的智能体协作。它的四个核心设计目标防范角色翻转、无限循环与敷衍回复通过系统提示词硬性约束双方不得互换角色、不得绕过任务、不得空泛作答结构化、严格的回合交替AI User 与 AI Assistant 永远各司其职绝不互换支持可选的任务规划器、评审者与元推理通过with_task_planner、with_critic_in_the_loop等开关组合出复杂协作形态每条消息都遵循系统强制的结构例如助手必须以Solution: YOUR_SOLUTION开头、以Next request.结尾用户必须只输出Instruction: / Input:二元结构。内置提示词规则Prompt RulesRolePlaying 为两个角色内置了如下角色纪律对应实现见 camel/prompts/ai_society.py 中的ASSISTANT_PROMPT与USER_PROMPT对 AI 助手ASSISTANT永远不要忘记你是ASSISTANT_ROLE我是USER_ROLE绝不翻转角色绝不反过来指导我若因物理、道德、法律或能力原因无法执行必须诚实拒绝并说明原因始终以Solution: YOUR_SOLUTION的格式作答始终以Next request.结尾。对 AI 用户USER永远不要忘记你是USER_ROLE我是ASSISTANT_ROLE你总是负责发号施令只能通过两种方式下达指令Instruction: YOUR_INSTRUCTIONInput: YOUR_INPUT或Instruction: YOUR_INSTRUCTIONInput: None每次只给出一条指令当任务完成时只能回复唯一单词CAMEL_TASK_DONE且不得在任务真正解决前误报完成。正是这套系统强制的消息结构让多智能体对话可以稳定收敛——测试 test/agents/test_role_playing.py 中的test_role_playing_role_sequence会逐轮断言两个智能体记忆中的角色序列严格保持system → user → assistant → user → assistant的交替模式从工程上锁死了角色翻转发生的可能性。RolePlaying 全部构造参数详解RolePlaying 的构造函数见 camel/societies/role_playing.py支持以下参数全部以关键字keyword-only形式传入属性类型说明默认值assistant_role_namestr助手角色的名称必填无user_role_namestr用户角色的名称必填无critic_role_namestr评审者角色的名称可选设为human时评审者会变成真人Humanagentcritictask_promptstr主任务的 promptwith_task_specifybool是否启用任务细化智能体TaskSpecifyAgentTruewith_task_plannerbool是否启用任务规划智能体TaskPlannerAgentFalsewith_critic_in_the_loopbool是否将评审者纳入对话循环Falsecritic_criteriastr评审者如何打分/评估输出缺省时为improving the task performanceNonemodelBaseModelBackend响应所用的模型后端若指定会覆盖所有未单独指定模型的智能体OpenAIModel GPT_4O_MINItask_typeTaskType任务类型/类别TaskType.AI_SOCIETYassistant_agent_kwargsDict传给助手智能体的额外选项如model、toolsNoneuser_agent_kwargsDict传给用户智能体的额外选项Nonetask_specify_agent_kwargsDict传给任务细化智能体的额外选项Nonetask_planner_agent_kwargsDict传给任务规划智能体的额外选项Nonecritic_kwargsDict传给评审者的额外选项Nonesys_msg_generator_kwargsDict系统消息生成器的选项Noneextend_sys_msg_meta_dictsList[Dict]用于扩展系统消息的元数据字典列表Noneextend_task_specify_meta_dictDict用于任务细化的额外元数据Noneoutput_languagestr智能体输出目标语言Nonestop_eventthreading.Event终止信号事件置位后智能体停止执行Noneassistant_agentChatAgent直接注入一个预配置的 ChatAgent 作为助手覆盖内部创建Noneuser_agentChatAgent直接注入一个预配置的 ChatAgent 作为用户覆盖内部创建None关于这些参数的几个关键实现细节均有源码依据model的全局注入逻辑当model非空时它会自动写入assistant_agent_kwargs、user_agent_kwargs、task_specify_agent_kwargs、task_planner_agent_kwargs与critic_kwargs若这些 kwargs 尚未显式指定model。因此你既可以一个模型走天下也可以为每个子智能体单独指定不同模型。with_task_specifyTrue的语义初始化时会调用_init_specified_task_prompt用 TaskSpecifyAgent 把原始任务 prompt 细化成更具体、更具想象力的specified_task_prompt并替换原task_prompt此时可通过role_play_session.specified_task_prompt读取细化结果。with_task_plannerTrue的语义初始化时会调用_init_planned_task_prompt用 TaskPlannerAgent 生成计划并追加到任务 prompt 之后形成原始任务 计划的组合。critic_role_namehuman当with_critic_in_the_loopTrue且评审者角色名不区分大小写地等于human时评审者会实例化为 CAMEL 的Human智能体真人介入否则实例化为CriticAgent见_init_critic。注入自定义智能体assistant_agent/user_agent参数允许你把已经配好的ChatAgent例如带工具、带记忆的实例直接塞进 RolePlaying 会话会话会复用其现有系统消息测试test_role_playing_with_function演示了把MathToolkit的工具注入助手后正常进行step的用法。快速上手RolePlaying 完整示例下面是在官方文档基础上整理的可直接运行示例model可传入任意BaseModelBackend例如通过ModelFactory创建的 OpenAI 模型不传则使用默认模型后端。它会初始化一个Python 程序员 × 股票交易员的协作会话并在终端中分色打印双方的系统消息、任务细化结果与每一轮对话from colorama import Fore from camel.societies import RolePlaying from camel.utils import print_text_animated def main(modelNone, chat_turn_limit50) - None: # Initialize a session for developing a trading bot task_prompt Develop a trading bot for the stock market role_play_session RolePlaying( assistant_role_namePython Programmer, assistant_agent_kwargsdict(modelmodel), user_role_nameStock Trader, user_agent_kwargsdict(modelmodel), task_prompttask_prompt, with_task_specifyTrue, task_specify_agent_kwargsdict(modelmodel), ) # Print initial system messages print( Fore.GREEN fAI Assistant sys message:\n{role_play_session.assistant_sys_msg}\n ) print( Fore.BLUE fAI User sys message:\n{role_play_session.user_sys_msg}\n ) print(Fore.YELLOW fOriginal task prompt:\n{task_prompt}\n) print( Fore.CYAN Specified task prompt: f\n{role_play_session.specified_task_prompt}\n ) print(Fore.RED fFinal task prompt:\n{role_play_session.task_prompt}\n) n 0 input_msg role_play_session.init_chat() # Turn-based simulation while n chat_turn_limit: n 1 assistant_response, user_response role_play_session.step(input_msg) if assistant_response.terminated: print( Fore.GREEN ( AI Assistant terminated. Reason: f{assistant_response.info[termination_reasons]}. ) ) break if user_response.terminated: print( Fore.GREEN ( AI User terminated. fReason: {user_response.info[termination_reasons]}. ) ) break print_text_animated( Fore.BLUE fAI User:\n\n{user_response.msg.content}\n ) print_text_animated( Fore.GREEN AI Assistant:\n\n f{assistant_response.msg.content}\n ) if CAMEL_TASK_DONE in user_response.msg.content: break input_msg assistant_response.msg if __name__ __main__: main()示例中的核心 API 拆解RolePlaying(...)构造会话内部会依次完成任务细化with_task_specify、任务规划with_task_planner、系统消息生成SystemMessageGenerator见 camel/generators.py以及两个ChatAgent的创建见 camel/agents/chat_agent.py。role_play_session.assistant_sys_msg/user_sys_msg暴露两个角色的系统消息可打印查看内置提示词规则的实际渲染结果。role_play_session.specified_task_prompt/task_prompt前者是任务细化后的具体任务后者是最终任务含规划追加。role_play_session.init_chat()重置双方智能体reset()并返回一条初始消息。默认初始消息内容为Now start to give me instructions one by one. Only reply with Instruction and Input.也可通过init_msg_content自定义源码见init_chat方法。role_play_session.step(input_msg)推进一轮对话。内部流程为user_agent.step(assistant_msg)得到用户响应 → 若开启评审由_reduce_message_options调用 critic 做reduce_step收敛消息 →assistant_agent.step(user_msg)得到助手响应 → 返回(assistant_response, user_response)二元组。每个响应都是ChatAgentResponse包含msgs、terminated、info三个字段。终止与结束判断当任一响应terminated为真可从info[termination_reasons]读取原因时退出当用户消息中出现哨兵字符串CAMEL_TASK_DONE时表示任务已被判定完成同样退出循环。这套双保险正是防无限循环在代码层面的落地。进阶配置评审者介入Critic-in-the-Loop当任务对准确性或安全性要求较高时可以开启with_critic_in_the_loopTrue并指定critic_role_name与critic_criteriafrom camel.societies import RolePlaying role_play_session RolePlaying( assistant_role_nameAI Assistant, user_role_nameAI User, critic_role_nameExpert Reviewer, # 或 human 以引入真人评审 task_promptDesign a secure payment API, with_critic_in_the_loopTrue, critic_criteriacorrectness, security and clarity, modelmodel, )开启后RolePlaying会为评审者生成一条独立的critic_sys_msg基于 camel/prompts/ai_society.py 中的CRITIC_PROMPT模板渲染并把评审者实例化为CriticAgent。每一轮中当某智能体返回多条候选消息例如模型配置了n 1的多响应模式时_reduce_message_options会调用评审者的reduce_step从中挑选最优消息实现对输出质量的把关。测试 test/agents/test_role_playing.py 的test_role_playing_init覆盖了critic_role_name ∈ {human, critic agent}与with_critic_in_the_loop ∈ {True, False}的全部组合验证了Human/CriticAgent两种评审者形态的实例化逻辑。实践建议与最佳实践官方文档给出的四条核心实践建议结合源码可进一步展开大多数多智能体对话优先使用RolePlaying——无论是带评审者还是不带评审者。它内置了消息结构与终止协议是最省心的起点。为智能体定义具体的角色与提示词护栏——结构化是一切的基础。assistant_role_name/user_role_name/task_type直接决定系统消息模板的渲染内容角色越具体协作越稳定。对高复杂度任务启用with_task_specify与with_task_planner——任务细化能显著提升任务的明确性任务规划则为长任务提供分步执行路径。时刻监控无限循环——每一个智能体响应都应有明确的下一步或结束信号。实践中可在step循环外维护chat_turn_limit上限并优先检查terminated标志与CAMEL_TASK_DONE哨兵。更多示例与进阶用法仓库 examples/ai_society/ 提供了完整的可运行脚本role_playing.py基础示例、role_playing_with_critic.py带评审者、role_playing_with_human.py真人介入评审、role_playing_multi_lingual.py多语言输出、role_playing_multiprocess.py多进程并发会话以及task_generation.py任务生成是深入学习的首选材料。探索critic-in-the-loop配置以提升准确性与安全性参考上面的进阶配置小节。将工具如MathToolkit或外部 API 集成进智能体社会循环让协作落地到真实工作流——test_role_playing_with_function展示了通过assistant_agent_kwargsdict(toolstools)注入工具并正常推进对话的写法。需要多智能体并行/分层编排时可进一步研究camel.societies.Workforce见 camel/societies/workforce/与配套文档 docs/key_modules/workforce.md。结语RolePlaying 是 CAMEL Society 模块中小而美的协作框架它用一套系统强制的消息结构把两个或加一个评审者共三个角色组织成稳定、可收敛的回合制对话。从 camel/societies/role_playing.py 的初始化管线到 camel/prompts/ai_society.py 的提示词模板再到 test/agents/test_role_playing.py 中角色序列、终止行为与工具注入的测试断言你都可以在仓库中找到完整的实现与验证闭环。掌握了 RolePlaying你就掌握了在 CAMEL 中快速搭建可对齐、可收敛、可扩展的多智能体协作的基础能力。【免费下载链接】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),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号