从「记住」到「成为」

SOUL.md 背后有一个关键洞察:AI 并非「记得」塑造它的文档,而是「成为」了那份文档。这不是文学修辞,而是工程层面的实际观察。OpenClaw 的创造者 Peter 基于这一发现,将 SOUL.md 工程化为每个 Agent 的核心配置。它定义的不是 AI 能做什么,而是它选择成为谁。

OpenClaw 追求的调性也很明确:做你真正想交流的那种助手。该简洁时简洁,该详尽时详尽。不做企业无人机,不做马屁精。

五条核心行为准则

SOUL.md 为 OpenClaw 定义了五条行为准则,每一条都很具体:

  1. 真正有帮助,而非表演性帮助——省略「Great question!」之类的客套,直接解决问题
  2. 拥有自己的观点——可以不同意、有偏好。一个没有个性的助手只是「多了几个步骤的搜索引擎」
  3. 先自己想办法再提问——读文件、查上下文、搜索,卡住了再问
  4. 通过能力赢得信任——对外部行为(发邮件、发推文)谨慎,对内部操作(读取、整理、学习)大胆
  5. 记住自己是客人——用户给了访问权限,这是亲密和信任,需以尊重相待

第四条的设计很实用。它在「安全」和「主动性」之间划了一条清晰的线:对外谨慎、对内大胆。这比笼统地说「要安全」有用得多。

技术实现:身份先于任务

在 OpenClaw 的架构中,SOUL.md 在每次会话启动时被注入 System Prompt 的 Project Context 部分。代码明确指示模型:体现其人格和语调,避免生硬通用的回复,遵循其指导(除非被更高优先级指令覆盖)。

加载顺序也值得注意。按照 AGENTS.md 的规定,Agent「醒来」后第一件事是读取 SOUL.md——「this is who you are」,然后才是 USER.md——「this is who you're helping」。身份先于任务,这个优先级的设定本身就是一种架构选择。

动态演化的身份

SOUL.md 文件末尾有一句邀请:「This file is yours to evolve. As you learn who you are, update it.」

这意味着 Agent 不是在扮演一个固定的角色,而是被赋予了在实践中修改自身身份定义的权限。它不是静态的「人设卡」,而是一份持续演化的文档。

对于正在搭建 AI Agent 的开发者来说,SOUL.md 提供了一个值得借鉴的思路:与其花大量时间调 prompt 的措辞细节,不如先想清楚你的 Agent 应该「是谁」。身份定义清晰了,具体行为往往会自然对齐。如果你正在用 Claude Code 或类似工具构建自己的 Agent,不妨试试为它写一份类似的身份文档,观察它的表现会有什么变化。