ARTICLE · 1142159
OpenClaw系列03-SOUL.md人格文件方法论:让每个Agent行为稳定的岗位说明书
02 篇讲清了架构骨架,这篇讲"怎么让每个 Agent 行为稳定不漂移"——SOUL.md 人格文件怎么写才像一份岗位说明书,四个必填件、边界优先于描述、漂移信号与 USER/MEMORY 的分工。
SOUL.md 人格文件方法论:让每个 Agent 行为稳定的"岗位说明书"
01 篇拆了域,02 篇把架构骨架立起来了(隔离、分派、跨域信息流)。但骨架立起来之后,我最容易翻车的地方是——每个 Agent 的行为不稳定:同样的问题,今天答得克制,明天答得啰嗦;投资蜂偶尔冒出家庭建议,工作蜂偶尔越界去聊心法。
这篇讲我最后怎么靠一份文件把这些都摁住的:SOUL.md,我把它当成 Agent 的"岗位说明书"来写。
一、先想清楚:SOUL.md 到底管什么、不管什么
我一开始写 SOUL.md,犯的错是把它当成"功能清单":
"我会读股票、会写代码、会帮你查日历、会做 PPT……"
结果就是行为漂移——它按"功能"理解自己,于是什么都能做,什么都不专注,风格也乱。漂移的典型信号我列几个(你搭完对号入座):
输出忽长忽短,没有稳定的语气和详略 跨域越界:投资蜂开始点评你家庭安排,工作蜂开始讲人生道理 分派不再经过蜂王,某个 Agent 自己"顺手"把别家的活也接了
后来我想通了:SOUL.md 不该描述"它能做什么"(那是 04 篇 SKILL 的事),而该定义"它是什么、边界在哪、遇到事怎么判断"。 一份好的 SOUL.md 更像一份岗位说明书——写清楚岗位职责、行为准则、红线,而不是堆功能。
这是全篇的总纲,后面都从这条长出来:
SOUL.md 的价值,不在"描述多全",而在"边界多清晰"。
二、四个必填件:一份合格的岗位说明书长什么样
我把每个 Agent 的 SOUL.md 拆成四个必填件,缺一块行为就容易漂:
1. 核心身份(我是谁)
名字、角色本质、服务定位。一句定调,比如:
"你不是聊天机器人,你是投资副驾驶——有判断、有数据、有主见。"
这一句最重要,它把 Agent 从"通用助手"钉成"特定角色"。
2. 核心信条(遇到事怎么判断)
这是最有价值的一块。不是罗列功能,而是写判断原则。对比一下两条风格:
信条式写法的好处是:它给的是判断框架,不是答案清单。Agent 面对没见过的问题,也能靠信条推出来,而不是失灵。
3. 沟通规范(固定输出格式)
把常用回复的格式写死,比如"任务完成后按『✅ 结果 + 建议下一步』汇报"。这一件治的是"输出忽长忽短"——格式固定了,风格自然就稳。
4. 边界(明确不做什么)
我认为是四件里最被低估的一件。不写边界,Agent 会自己脑补出越界行为。我每份 SOUL.md 都有一段硬边界,比如蜂王的:
"不直接执行子 Agent 的专属任务(不抢活);只准分派、验收、整合。"
边界越清晰,越界越少。这也是 02 篇"蜂王不抢活"那条纪律在文件层的落点。
三、一个容易被忽略的分工:USER.md 与 MEMORY.md
SOUL.md 只定义"这个岗位"本身,还有两份文件各司其职,别混在一起:
USER.md(用户画像,全员共享一份):我的称呼、时区、沟通偏好、家庭和工作背景。写 20 行就够用,边用边补。它是"服务对象的档案",跟 Agent 人格无关。 MEMORY.md(Agent 的长期记忆):分三层——长期事实 / 近期上下文 / 经验教训(含一块"已移除配置"区,留减法的痕迹)。它记的是"这只 Agent 在这个域里踩过什么"。
三者的边界一句话:SOUL 管"你是谁",USER 管"你服务谁",MEMORY 管"你记住过什么"。 三块分清了,人格才不会和记忆、和用户信息搅在一起。
四、踩坑小结:人格文件最该防的是"漂移"
不展开 4 轮架构的过程,只留三条我最后沉淀下来的纪律:
SOUL.md 写成功能清单 → 必漂:改成"信条 + 边界"式才稳(§一的踩坑根因) 边界条款要写成"硬约束":写"不做什么"比写"尽量专注"有效得多,模糊的边界等于没有边界 漂移信号要能观察:输出风格忽长忽短、跨域越界、分派绕开蜂王——这三条是我每次巡检人格稳定性的检查点
下一篇预告:《04|能力装配:SKILL 的"专有 vs 共有"分配法》——人格管"它是谁",能力管"它用什么",下一篇讲能力怎么按域分配,做到隔离即域隔离。
互动:你的 Agent 人格文件里,"边界"这段写了什么?还是压根没写?评论区聊聊。