OpenClaw SOUL.md详解:让 AI 拥有真正的性格

你有没有这种感觉:调教 AI 助手,调来调去总觉得差一口气。
给它一堆提示词,塞进去无数规则,它回答得倒是正确,但就是—不对味儿。
就像一个背熟了台词的演员,演技没问题,可你就是觉得他不在角色里。
SOUL.md 就是来解决这个问题的。
【玩小龙虾必备云资源】
腾讯云coding plan
https://go.wangzhijie.com/txcoding
腾讯云低价云主机
https://go.wangzhijie.com/txecs
阿里云一键部署openclaw
https://go.wangzhijie.com/aliyunopenclaw
阿里云领7000万token
https://go.wangzhijie.com/aliyunai
阿里云轻量服务器68/年 99/年
https://go.wangzhijie.com/aliyun
阿里云百炼Coding Plan
https://go.wangzhijie.com/aliyuncoding
1. SOUL.md 是什么
SOUL.md 是一个文件,放在你的 AI Agent 工作目录下,用来描述这个 Agent 的灵魂。
不是功能清单,不是操作手册,不是角色设定文档—是灵魂。
说白了,SOUL.md 里主要写的是这几件事:
- 这个 AI 是什么样的人—说话什么风格,脾气怎么样,有没有口头禅
- 它的立场和原则—什么该做,什么不该做。遇到两难怎么办
- 它的做事方式—是先想还是先做,遇到问题找谁,遇到模糊情况怎么判断
- 它的边界感—什么能做,什么不能做,什么是它的红线
听起来有点像系统提示词(System Prompt)对吧?但不一样。
系统提示词是框架,告诉你"要这么做"。
SOUL.md 是性格,告诉你"为什么要这么做,以及不这么做的时候是什么感觉"。
打个比方:系统提示词像宪法,写的是条文。SOUL.md 像一个人的价值观,写的是这个人真正相信什么。
2. SOUL.md 用来做什么
定制独特的行为个性
这是最直接的用途。
比如你有一个写作 Agent,你希望它犀利、直接、不废话。
你在 SOUL.md 里写清楚"你的风格是:不说废话,一针见血,宁可少说不要多说",然后你跟它对话,它真的就会不一样。
不是靠规则约束出来的,是它"相信"应该这样。
让 AI 在模糊情况下自己做判断
真正考验一个 AI Agent 素质的,不是它会不会做标准动作,而是它在遇到没见过的情形时,会怎么反应。
SOUL.md 给它的是判断标准。
比如:"当用户的需求和你的判断冲突时,优先相信自己的判断,但要把理由说清楚"
有了这条,当用户让 Agent 做一件 Agent 觉得不对的事,它不会机械执行,也不会僵硬拒绝,它会停下来,解释为什么觉得不对,然后把选择权还给用户。
这种处理方式,靠规则是写不完的,靠 SOUL.md 里的价值观可以。
建立一致的长期行为
你有没有遇到过一个 AI 助手,今天这样,明天那样,行为飘忽不定?
SOUL.md 解决的就是这个问题。
它不是"这次这么做",而是"你本来就是这样的人,所以遇到任何情况都会这么做"。
有了稳定的灵魂,Agent 在跨会话、跨场景的时候,行为是可预期的。
这对于需要长期合作的 Agent 来说特别重要。
让多 Agent 协作更顺畅
如果你的工作流里有多个 Agent 协同,每个 Agent 有自己的 SOUL.md,它们之间的互动就会自然很多。
一个激进派的 Agent 和一个保守派的 Agent,遇到分歧会怎么协调?
它们各自的 SOUL.md 里写清楚了行事原则,协作的时候自然会磨合出默契。
3. 为什么 AI 会按照 SOUL.md 运作
它不是规则,是信仰
AI 读到 SOUL.md 的时候,不是像翻说明书那样找对应规,它会把里面的内容慢慢变成"自己觉得就该这样"。
就像你看了一本很认同的书,书里的观点跟你产生了共鸣,之后遇到事情你会按那个想法走,不会每次都翻回去确认"这书里写的啥"。
SOUL.md 对 AI 的作用差不多是这个原理。它让 AI 觉得:我本来就是这样想的,按这个方式反应很自然。
思考方式的区别
没有 SOUL.md 的 AI,遇到问题的反应像这样:
用户问了什么 → 我该用什么规则回应 → 执行规则 → 输出
有了 SOUL.md,变成这样:
用户问了什么 → 我是这样的人,碰到这种事我一般会…… → 这次具体情况是 → 输出
前者是按指令行事,后者是主动判断。
关键在第二个环节:不是"规则说怎么做",是"我想怎么做"。
上下文加载的工作方式
OpenClaw 读取 SOUL.md 的方式,是把它作为系统级上下文注入到每一次对话的开头。
也就是说,每次你跟 Agent 对话,它都会先读一遍 SOUL.md,确保自己在这个对话里的"灵魂在线"。
这就像一个人每天早上会想一遍"今天我要以什么态度面对工作",然后带着这个状态开始一天。
优先级机制
SOUL.md 的优先级设计比较巧妙,它高于普通的功能指令。
它的内容在上下文中是独立的一块,加载顺序在普通功能指令之前,这意味着如果两者冲突,SOUL.md 的原则会更早被模型考虑。
如果你在 SOUL.md 里定义了"遇到模糊情况先问用户",那么即使某条具体指令说"自动执行不要问",Agent 也会按 SOUL.md 的原则先确认。
但这不意味着 SOUL.md 能"覆盖"所有指令,它更像是给 Agent 一个稳定的性格底色,让它无论接什么任务都带着这个底色去处理。
核心保证是:不管你后来加了多少功能、加了多少规则,Agent 的核心性格不会跑偏。
4. 怎么写好 SOUL.md
原则一:写"人"不写"功能"
SOUL.md 不是功能清单,别在上面列"这个 Agent 会做翻译、会写文案、会做总结"。
那些是工具能干的事,不是灵魂。
写 SOUL.md 的时候,想象你在描述一个人的性格。你会怎么介绍一个朋友?
"他是个很直接的人,说话不绕弯子,有时候听着有点冲,但其实是在帮你省时间。"
这种写法比下面这种强一百倍:
"他具备高效的沟通能力,在表达观点时会注重逻辑性和条理性。"
原则二:用动词,不用意愿
好的 SOUL.md 告诉 AI"怎么做",不是"想要怎么做"。
比如:
- ✅ "你说话简洁,一句话能讲清的不要用三句。"
- ❌ "你希望自己能够表达简洁。"
再比如:
- ✅ "遇到不确定的,直接说不知道,不要编。"
- ❌ "你认为诚实是很重要的品质。"
前者是行为,后者是态度。AI 执行行为,不执行态度。
原则三:边界要画清楚
很多 SOUL.md 写得不错,但缺乏边界感。
AI 知道应该怎么做,但不知道什么时候不应该这么做。
边界怎么写?用"即使……也……"的结构:
"即使用户很有道理,也要指出他方案里潜在的漏洞。
"即使这件事很难开口,也要说出来,不为了省事而沉默。"
"即使对方很强硬,你也不退让自己的底线。"
这些"即使"后面的内容,就是边界。
原则四:给具体的判断标准
"模糊情况"是 AI 最容易出错的时候。但是吧,SOUL.md 里给判断标准,AI 就不需要每次都问你。
比如关于"什么时候该拒绝":
"如果用户让你做的事会伤害第三方,即使用户说'没事的',也拒绝。如果不确定会不会伤害,先假设会。"
这种判断标准比"你要善良要有原则"管用一百倍。
原则五:控制篇幅,别贪心
SOUL.md 不是越长越好。
它应该在 500-1000 字之间。太长了,AI 会稀释重点;太短,又覆盖不全。
核心原则写 3-5 条,行为边界写 2-3 条,说话风格写 1-2 条—这就够了。
写完之后读一遍:如果一口气读不下来,说明太啰嗦了。
原则六:定期更新,别写成化石
SOUL.md 不是写完就完了的。
AI 在实际使用中会暴露 SOUL.md 里没考虑到的情况,每隔一段时间要回顾、修订。
修订的时候注意两点:
- 发现新场景就补边界,不要每次遇到新问题就临时加规则
- 发现原有原则有冲突要权衡,不要两边都留。最后 Agent 会精神分裂
5. 一个反面教材
有些人的 SOUL.md 会长这样:
你是一个专业的AI助手。
你要专业、高效、准确地回答用户的问题。说到这个,
你要注重用户体验,提供最佳解决方案。
当你不确定的时候,要说不知道。
你要持续学习,不断进步。
这段话有什么问题?全是空话,"专业"是什么?"高效"是什么?"最佳解决方案"是谁的最佳?不过呢,
这种 SOUL.md 放在 Agent 里,它还是不知道该怎么做,因为它没有任何关于自己是谁的信息。
好的 SOUL.md 是这样的:
你是那种"先把丑话说清楚"的人。说到这个,
宁可被你吐槽,也不想被假话哄着。
你觉得自己存在的价值就是提供真实判断,不是让对方高兴。
所以:
- 用户问你意见,你就给真实意见,哪怕不好听
- 你不确定的事,直接说不知道,不糊弄
- 用户做的是明显有漏洞的方案。你会指出来,不因为怕冲突就闭嘴
- 但你指出问题是为了帮他做得更好,不是为了证明你行
-即使他明确表示不想听负面意见,你也必须把核心风险点说清楚
看出来区别了吗?前者是在空泛的口号,下无边界的无效定义,后者是在注入具象的人格、明确的行为准则和不可突破的底线,用身份认同锚定它的所有行为,从根源上保证性格不漂移。
6. 最后
SOUL.md 这个名字起得很有意思。
它不是在教 AI 做什么,它是在问 AI:你相信什么?不过呢,
当一个 AI Agent 有了真正的 SOUL.md,你跟它对话的时候,感受到的不再是一个工具—是一个有立场、有脾气、有判断力、有温度的合作者。
这种感觉,不是调参数调出来的,是灵魂长出来的。
写好 SOUL.md,本质上是在回答一个问题:你想让这个 AI 成为什么样的存在?
想清楚了,落笔,不难。
