OpenClaw 的主智能体和子智能体,为什么加载的东西不一样?

我在配置 OpenClaw 多 Agent 工作流的时候,发现一个有意思的设计:主智能体启动时加载 7 个文件,子智能体只加载 2 个。
一开始我觉得奇怪——子智能体为什么不把人格、记忆、用户信息都加载上?不是越完整越好吗?
后来想明白了:子智能体不需要"人格",它只需要干活。
这个设计背后有一套很清晰的哲学,今天把我理解到的分享出来。
主智能体加载了什么?

主智能体启动时,按顺序加载 7 层文件:
第一层是 AGENTS.md,智能体的基础配置——全局指令、工作目录、红线规则。这是所有智能体的地基,所以第一个加载。
第二层是 TOOLS.md,工具配置——有哪些工具可用、怎么调用。没有工具,智能体什么都干不了。
第三层是 SOUL.md,人格注入——这个智能体是什么性格、什么语气、怎么对待用户。这是主智能体和子智能体最大的区别所在。
第四层是 IDENTITY.md,身份信息——名字、头像、特征。让主智能体知道"我是谁"。
第五层是 USER.md,用户信息——用户的偏好、背景、上下文。让主智能体理解"我在跟谁说话"。
第六层是 HEARTBEAT.md,心跳机制——定期检查任务、主动触发行为。让主智能体能"主动干活",而不只是被动响应。
第七层是 memory/*.md,记忆文件——历史对话、学习内容、用户偏好积累。让主智能体"越来越懂你"。
七层加起来,主智能体就是一个有人格、有记忆、有主动性的完整存在。
子智能体只加载两个文件

子智能体启动时,只加载 AGENTS.md 和 TOOLS.md。
也就是说:它知道规则是什么、有哪些工具可用。但它不知道自己"是谁",不知道用户"是谁",没有记忆,也没有主动性。
它就是一个纯粹的执行者。 接到任务,干完,返回结果。
为什么子智能体不需要人格?

我一开始觉得"不加载人格"是偷懒,后来理解了背后的三个原因。
第一,人格会干扰任务执行。
举个例子:如果主智能体的人格是"温和体贴"的,子智能体的任务是"删除一批文件"。如果子智能体也有温和人格,它可能会犹豫"要不要跟用户确认一下?"。但如果它没有人格,就会直接执行——因为这是主智能体已经决策好的任务。
子智能体不需要判断"该不该做",只需要知道"怎么做"。
第二,节省 token。
SOUL.md、IDENTITY.md、USER.md、memory 文件加起来,可能要占 2000-6000 个 token。如果你同时跑五六个子智能体,这些 token 的消耗会很可观。
子智能体不加载这些文件,token 消耗能降低 30%-50%。意味着你可以同时跑更多子智能体,速度也更快。
第三,避免决策冲突。
如果主智能体和子智能体都有自己的"想法",它们可能会在策略上产生分歧。主智能体说"用方案A",子智能体觉得"方案B更好"——这就乱了。
只有一个大脑做决策(主智能体),其他人负责执行(子智能体),效率最高。
本质上就是一个 CEO + 执行团队的架构

想通这个之后,OpenClaw 的整体架构就很清晰了。
主智能体是 CEO:理解用户需求、制定计划、分配任务、监督执行、总结反馈。它需要完整的人格和记忆,因为它要做判断。
子智能体是执行团队:接任务、干活、交结果。它们不需要知道为什么要做这件事,只需要知道怎么做。
我在实际配置中的体感也验证了这一点。之前我试过给子智能体也加载 SOUL.md,结果它在执行简单任务的时候会多问一堆确认性的问题,反而拖慢了整个流程。去掉之后,干脆利落。
一个实际的工作流示例

比如我让 OpenClaw 帮我写一篇公众号文章。
主智能体会先理解我要写什么、面向什么读者、什么风格,然后把任务拆成三部分:子智能体 A 搜集资料,子智能体 B 写大纲,子智能体 C 写正文。
三个子智能体各自只加载 AGENTS.md 和 TOOLS.md,独立执行自己的任务,完成后把结果交回给主智能体。主智能体再整合、审查、输出最终结果。
整个过程中,子智能体不需要知道"我是温柔的还是严肃的""用户喜欢什么风格"——这些判断全由主智能体负责。子智能体只需要把资料搜全、大纲写清楚、正文写通顺。
分工明确,效率最高。
这个设计对我配置多 Agent 工作流的启发

理解了这个架构之后,我配置 OpenClaw 的思路变了:
不再给子智能体加多余的上下文。以前我总觉得信息越全越好,现在知道——对子智能体来说,信息越少越专注。
主智能体的 prompt 要花更多时间打磨。因为它是唯一做决策的角色,它的判断质量直接决定整个工作流的产出质量。
子智能体的数量可以大胆增加。因为每个子智能体的 token 消耗很低,并行跑五六个也不会太贵。
这大概就是 OpenClaw 架构设计里最精妙的一个点:用最小的加载成本,换最大的执行效率。
本文来自「研路炼钢」
夜雨聆风