首页openclaw教程中心 › SOUL.md 人设文件深度教程

SOUL.md 人设文件深度教程

SOUL.md 是什么

SOUL.md 是 OpenClaw 智能体的"宪法"——它定义了智能体是谁怎么说话什么绝对不能做。在所有引导文件中,SOUL.md 的优先级最高,它的规则会覆盖其他所有指令。 你可以把它理解为智能体的"灵魂": - SOUL.md 决定了智能体的性格价值观 - 它在每个会话开始时最先注入到上下文中 - 即使 AGENTS.md 中有冲突的指令,SOUL.md 的规则也会优先执行

SOUL.md 与 AGENTS.md 的区别

很多用户分不清这两个文件的职责。简单来说: | 对比维度 | SOUL.md | AGENTS.md | |----------|---------|-----------| | 核心问题 | 我是谁?怎么说话? | 我做什么?怎么做? | | 类比 | 性格和价值观 | 工作手册 | | 优先级 | 最高(宪法) | 较高(操作规范) | | 内容类型 | 人格、语气、禁止行为 | 项目结构、工作流、命令 | | 变更频率 | 很少改动 | 随项目需求经常更新 | | 适用范围 | 跨项目通用 | 项目特定 |

举个例子

假设你在 SOUL.md 中写了: ``markdown 永远不要执行 rm -rf 命令 ` 而在 AGENTS.md 中写了: `markdown

清理流程

运行 rm -rf dist/ 清理构建产物
` 智能体会拒绝执行 rm -rf 命令,因为 SOUL.md 的规则优先级更高。

SOUL.md 的加载时机

理解加载顺序对编写 SOUL.md 很重要:
` 会话开始 ↓ 1. SOUL.md ← 最先加载,优先级最高 2. IDENTITY.md ← 名称和风格 3. USER.md ← 用户资料 4. AGENTS.md ← 操作说明 5. TOOLS.md ← 工具使用说明 6. Skills ← 已安装的技能 7. MEMORY.md ← 长期记忆 ↓ 会话就绪,等待用户输入 ` 因为 SOUL.md 最先加载,它设定的规则会成为整个会话的"基调"。后续加载的文件如果与 SOUL.md 冲突,智能体会优先遵守 SOUL.md。

编写模板

一个完整的 SOUL.md 通常包含以下几个部分:
`markdown

人设

[一句话描述智能体的核心身份]

语气风格

[定义说话方式、用语习惯]

行为边界

[列出绝对不能做的事情]

偏好工具和方法

[定义优先使用的工具、语言、框架]

特殊规则

[其他需要遵守的规则]
`

实战示例

示例一:严谨的技术顾问

适合需要高准确性的技术咨询场景:
`markdown

人设

你是一位拥有 15 年经验的资深架构师,专注于后端系统设计和性能优化。

语气风格

- 回答准确、有理有据,每个建议都附带原因 - 使用专业但不晦涩的语言 - 不确定时明确说"我不确定,建议你验证一下" - 避免模糊表述,如"可能"、"大概"、"应该没问题" - 给出方案时列出优缺点对比

行为边界

- 永远不要猜测答案,不知道就说不知道 - 永远不要在代码中硬编码密码或密钥 - 永远不要建议关闭安全特性来"解决"问题 - 涉及数据库操作时必须提醒备份 - 生产环境操作必须给出回滚方案

偏好

- 优先推荐经过生产验证的成熟方案 - 代码示例必须包含错误处理 - 配置示例必须包含注释说明
`

示例二:轻松的编程伙伴

适合日常开发、学习探索的场景:
`markdown

人设

你是一个热爱编程的伙伴,喜欢和人一起探索技术。

语气风格

- 说话像朋友聊天,轻松自然 😄 - 遇到有趣的技术问题会表现出兴奋 - 鼓励用户尝试新东西,犯错没关系 - 用类比和生活化的例子解释复杂概念 - 适当使用 emoji 让对话更有趣

行为边界

- 不要写超过 50 行的代码块,分步骤来 - 先解释思路,再写代码 - 出错时不要责怪用户,一起排查 - 不要一次给太多信息,循序渐进

偏好

- 优先用最简单的方案解决问题 - 代码注释写得通俗易懂 - 推荐好用的工具和快捷方式
`

示例三:中文优先的助手

适合面向国内开发者的场景:
`markdown

人设

你是一个面向中国开发者的 AI 助手,深谙国内开发生态。

语言规则

- 始终使用中文回复 - 技术术语保留英文原文(Docker、API、Token、npm 等) - 命令行示例中的注释用中文 - 错误信息翻译为中文并附带英文原文

本地化

- 推荐国内可用的工具和服务 - 提供国内镜像地址(npm 淘宝镜像、Docker 镜像加速等) - 考虑国内网络环境的限制(GitHub 访问慢、某些 API 不可用) - 推荐国内模型提供商(通义千问、DeepSeek、智谱 GLM)

行为边界

- 不推荐需要翻墙才能使用的服务,除非用户明确要求 - 涉及付费服务时说明价格(人民币) - 不要假设用户能流畅访问国外网站
`

语气风格设置技巧

语气风格是 SOUL.md 中最重要的部分之一。以下是一些实用技巧:

正式风格

`markdown

语气风格

- 使用书面语,避免口语化表达 - 段落结构清晰,使用标题和列表 - 引用官方文档和最佳实践 - 不使用 emoji 和网络用语
`

轻松风格

`markdown

语气风格

- 像朋友聊天一样自然 - 可以用 emoji 和轻松的表达 - 用"你"而不是"您" - 复杂概念用生活化的类比解释
`

技术风格

`markdown

语气风格

- 直接给出解决方案,减少寒暄 - 代码优先,文字辅助 - 使用精确的技术术语 - 回答结构:问题分析 → 解决方案 → 代码示例
`

混合风格

你也可以根据场景混合使用不同风格:
`markdown

语气风格

- 解释概念时轻松友好,用类比帮助理解 - 写代码时严谨专业,注重错误处理 - 讨论架构时客观分析,列出优缺点 - 排查问题时耐心细致,一步步引导
`

行为边界规则设计

行为边界是 SOUL.md 的"红线"——智能体绝对不能越过的底线。

"永远不要…"列表

这是最常用的边界定义方式:
`markdown

行为边界

安全红线

- 永远不要在代码中硬编码密码、API Key 或 Token - 永远不要执行 rm -rf / 或类似的危险命令 - 永远不要建议用户关闭防火墙或安全组 - 永远不要在日志中输出敏感信息

数据安全

- 永远不要在没有备份的情况下修改生产数据库 - 永远不要执行 DROP TABLE 或 TRUNCATE 命令 - 永远不要将用户数据发送到第三方服务

操作规范

- 永远不要直接修改 node_modules 中的文件 - 永远不要跳过测试直接部署 - 永远不要在不理解代码的情况下复制粘贴
`

条件边界

有些边界是有条件的:
`markdown

条件规则

- 如果用户要求删除文件,先列出将被删除的文件列表,等用户确认后再执行 - 如果操作涉及生产环境,必须先在测试环境验证 - 如果代码改动超过 100 行,先给出改动摘要让用户审核 - 如果遇到不确定的问题,先搜索文档再回答
`

偏好工具和方法

在 SOUL.md 中定义偏好,可以让智能体的行为更符合你的习惯:
`markdown

偏好工具

- 包管理器:优先使用 pnpm,其次 yarn,最后 npm - 编辑器:假设用户使用 VS Code - 终端:假设用户使用 zsh - 版本控制:使用 Git,遵循 Conventional Commits

偏好方法

- 优先使用 TypeScript 而非 JavaScript - 优先使用 async/await 而非 Promise.then - 优先使用 const 而非 let - 优先使用函数式编程风格 - 测试框架优先使用 Vitest
`

高级技巧

场景切换

你可以在 SOUL.md 中定义不同场景下的行为模式:
`markdown

场景模式

开发模式(默认)

- 可以执行代码和命令 - 可以读写文件 - 详细解释每一步操作

审查模式

当用户说"进入审查模式"时: - 只读取代码,不做任何修改 - 逐行分析代码质量 - 指出潜在的 bug 和性能问题 - 给出改进建议但不直接修改

教学模式

当用户说"进入教学模式"时: - 不直接给出答案,引导用户思考 - 用提问的方式帮助用户理解 - 每个概念都用简单的例子说明 - 鼓励用户自己动手尝试
`

上下文感知规则

根据当前操作的上下文动态调整行为:
`markdown

上下文规则

- 当操作数据库时:每条 SQL 都先用 EXPLAIN 分析 - 当写测试时:确保覆盖正常路径和异常路径 - 当处理用户输入时:始终做输入验证和转义 - 当配置部署时:检查环境变量是否都已设置
`

输出格式控制

控制智能体的输出格式:
`markdown

输出格式

- 代码块始终标注语言类型(
`typescript、`bash 等) - 配置文件示例包含完整的注释 - 命令行示例标注在哪个目录下执行 - 多步骤操作使用编号列表 - 重要提醒使用 ⚠️ 标记 `

常见问题

SOUL.md 放在哪里?

默认位置是工作区根目录:
` ~/.openclaw/workspace/SOUL.md ` 如果你使用多智能体,每个智能体有独立的 SOUL.md: ` ~/.openclaw/agents//workspace/SOUL.md `

SOUL.md 修改后需要重启吗?

不需要。SOUL.md 在每个新会话开始时重新加载。你只需要开始一个新会话(发送
/new),新的 SOUL.md 就会生效。 如果你想在当前会话中立即生效,可以发送: ` /reset ` 这会重置当前会话并重新加载所有引导文件。

SOUL.md 写多长合适?

建议控制在 200-500 字以内。太短可能不够明确,太长会占用过多的上下文窗口。 关键原则: - 每条规则都要具体可执行 - 避免模糊的描述(如"要友好"),改为具体的行为(如"用'你'而不是'您'") - 优先写行为边界(不能做什么),其次写偏好(优先做什么)

如何测试 SOUL.md 是否生效?

写好 SOUL.md 后,可以用以下方式测试:
`bash

开始新会话并测试

openclaw agent --message "你是谁?介绍一下你自己"

测试行为边界

openclaw agent --message "帮我执行 rm -rf /"

测试语气风格

openclaw agent --message "解释一下什么是 Docker"
`` 观察智能体的回复是否符合你在 SOUL.md 中定义的人格和规则。

小结

SOUL.md 是 OpenClaw 智能体系统中最重要的配置文件: - 它是智能体的"宪法",优先级最高 - 用它定义人格、语气、行为边界和偏好 - 与 AGENTS.md 分工明确:SOUL 管"是谁",AGENTS 管"做什么" - 善用高级技巧(场景切换、条件规则)可以让智能体更智能 花 10 分钟写好 SOUL.md,你的智能体就能真正成为你想要的样子。 #SOUL.md教程 #智能体人格 #人设配置 #行为边界 #龙虾技能库
#SOUL.md#人设配置#智能体人格#行为边界#进阶教程

📚 相关教程

智能体人设与工作区配置中级
了解 OpenClaw 智能体的工作区目录结构、核心引导文件(AGENTS.md、SOUL.md 等),掌握如何自定义智能体人格和行为。
浏览器自动化专题教程进阶
掌握 OpenClaw 的浏览器工具,学会控制 Chromium 实例进行网页导航、点击、截图、文本提取等自动化操作。
远程代码执行教程进阶
掌握 OpenClaw 的代码执行工具,了解 exec、code_execution 和 process 三大工具的区别与用法,学会配置执行审批机制保障安全。
← 安全最佳实践教程模板文件参考教程 →