暗无天日

=============>DarkSun的个人博客

读:你的 CLAUDE.md 缺少灵魂——SOUL.md 与 AI 智能体的人格文件

用 Claude Code 的人大多知道 CLAUDE.md 的重要性:在项目根目录写一份文件,定义编码规范、测试框架、分支策略,AI 每次会话自动加载。但光有项目规矩不够,AI 还缺人格。这篇文章介绍一套三文件框架:SOUL.md 定义 AI 是谁、USER.md 定义你是谁、AGENTS.md 定义怎么做。

CLAUDE.md 管不了的事

CLAUDE.md 解决了一个问题:让 AI 知道这个项目的规矩。语言用 Python、测试用 pytest、分支用 Git Flow。这些都是约束条件,不是人格。

AI 遵守这些规矩的时候,写出来的代码语法正确、格式工整、逻辑通顺,但读起来还是 AI 味。因为它只是在执行一套"正确的规则",不知道自己应该用什么腔调说话、什么算好,什么算差、哪些事情要坚决拒绝。它像一个不会出错但也没有性格的同事。你让他写代码,他写好了。你问他技术问题,他回答了。但你不会觉得他在"和你一起工作"。

这中间的差距,就是 SOUL.md 要填的东西。

SOUL.md:从系统提示到章程

SOUL.md 应该是一套"章程",而不是普通的系统提示词。它定义的是身份,不单纯是任务。具体来说包括:

  • 语气:说话用什么腔调,节奏是快是慢
  • 价值观:什么是对的什么是错的,哪些不能妥协
  • 运行原则:什么样的输出算好、什么样的输出算差
  • 拒绝边界:哪些请求应该直接拒绝

这里有一个关键区别。系统提示词是给模型的指令,它假设模型在"执行一个任务"。章程是给智能体的身份设定,它假设智能体在"扮演一个角色"。同样的内容,用提示词写和用章程写,效果完全不同。

泛泛的指令只会得到泛泛的输出。如果你写"要有帮助且简洁",你得到的就是 ChatGPT 默认的回答,没错但无聊。如果你写"必须简洁,一句话能说清楚就不说第二句,真话再难听也要说,说话一针见血",AI 输出的风格就会立刻转变。

原文还举了一个更极端的例子:在 SOUL.md 里写"可以讲脏话"。大多数 AI 产品公司打死也不会把这个写入默认系统提示,但它恰恰是让智能体"有生命力"的关键。因为"可以讲脏话"的背后是一整套价值观:真实比礼貌重要,准确比温和重要,用户想知道真相而不是被哄着。

这本质上是约束设计的逻辑在起作用。通用 AI 智能体之所以让人觉得像客服,是因为它们被要求"乐于助人",而这个约束太宽泛了,等于没有约束。而明确写出"可以讲脏话""永远不要用好问题来开头""必须带幽默感",这些具体约束反而让 AI 的输出边界清晰,结果更有生命力。

USER.md:让 AI 真正理解你

大多数人的 USER.md 是一份简历:我叫 XX,我在 XX 公司工作,我会 XX 技术。但这远远不够。

真正的 USER.md 是一份深度画像。文章里提到的例子包括:思维习惯、长处、盲点、性格、什么会让你生气、你在乎什么。内容不该是"我是一个程序员",应该是"我习惯先想清楚再动手,讨厌没有上下文的需求,对性能问题特别敏感,做决定之前需要看到数据"。这些东西才是让 AI 理解"你这个人"的关键。

原文说作者的 USER.md 大约 4000 字。这份文档靠记忆写不完,得长期积累。每次发现自己对 AI 的输出不满意,想一想:是不是 USER.md 里少了什么信息?补上。

AGENTS.md:运行规则手册

如果说 SOUL.md 管人格、USER.md 管画像,AGENTS.md 管的就是流程。每次收到消息要检查什么、绝对不能做什么、查询信息的顺序是什么、遇到错误怎么处理。

这其实和 CLAUDE.md 的功能最接近,只是颗粒度更细。CLAUDE.md 写的是"项目用什么语言和框架",AGENTS.md 写的是"收到一个 bug 报告后应该按什么顺序排查"。一个是项目维度的规矩,一个是任务维度的流程。

Claude Code 用户的配置方案

原文的三文件框架可以直接映射到 Claude Code 的现有机制上。

SOUL.md 对应的是 ~/.claude/skills/ 目录下的技能文件。只不过大部分人的技能文件只写了"怎么做任务",没有写"应该用什么语气和价值观"。如果你在技能描述里加上语气要求、好坏输出标准、拒绝边界,技能的质量会上一个台阶。

USER.md 对应的是记忆文件(memory/ 目录)和你自己的 CLAUDE.md 中的 user profile 部分。但这些内容目前分散在各处,没有形成一个集中的"用户画像"文件。如果你在 memory 目录下专门维护一份类似 USER.md 的文档,把思维习惯、盲点、偏好写清楚,AI 对你的理解会深很多。

AGENTS.md 可以融入已有的技能文件,也可以单独作为一个"通用工作流"技能。重点是把操作流程固化为可复用的步骤,而不是每次重复说。

总结

CLAUDE.md 让 AI 遵守项目规矩,SOUL.md 让 AI 有性格,USER.md 让 AI 理解你,AGENTS.md 让 AI 正确执行。四者缺一不可。

大多数人只走到 CLAUDE.md 这一步。这一步当然有用,但不完整。下一步是给 AI 一个"人格":用 SOUL.md 告诉它怎么说话、用 USER.md 告诉它你在乎什么、用 AGENTS.md 告诉它怎么干活。这样配置出来的 AI 看起来才不像客服,更像有判断力的同事。

AI : Claude Code : prompt工程 : 智能体