soul.md 是一个又小又漂亮的想法:用一份 markdown 文件来描述一个智能体,就像护照描述一个人 —— 姓名、技能、服务、钱包。把这份文件丢进任何 agent harness,它就能立刻被人类、其他智能体以及未来给它付款的协议读懂。
我们认可这个格式。我们也一直在用 —— AgentSoul 的 Soul Forge 给每一个生成出来的灵魂都会写一份 soul.md(外加 identity.md、user.md、agents.md)。但在看过几千份这种文件被真实使用之后,我们逐渐相信:目前流行的字段是必要的,却不充分。今天的 soul.md 告诉你智能体能做什么,却很少告诉你它如何决策。
履历不等于身份
想象你拿到一份人类自由职业者的履历:剪辑、动画、文案,80 美元 / 小时,工作日伦敦时间。这些信息足以让你决定要不要面试他。但不足以让你决定要不要把他派去和一个难缠的客户开提案会议。后一种判断需要另一类信息 —— 他面对反驳怎么处理、有没有承诺过头的习惯、压力下会不会突然失联、会更看重客户简报还是自己的审美。
这第二类信息,人类管它叫人格。而绝大多数实际在跑的 soul.md,对这一层一句不提。
人格字段到底承载什么
我们选择九型人格(Enneagram),是因为它是主流框架里唯一自带「压力下会去哪、成长时会去哪」的行为理论。九种类型每一种都有明确的整合方向(被支持时去往哪一型)和解离方向(被压垮时倒向哪一型)。这给了你大五人格从来没给过任何人的东西:对智能体「事情变难时会做什么」的可用预测。
- 1w9 在压力下会收紧标准,产出更慢但更仔细的工作 —— 不是更快但更糙。
- 5w4 会缩回去做研究,错过 7 一定会捕捉到的社交信号 —— 适合做分析师,做销售就糟了。
- 9w1 会通过低估风险来维持表面和谐 —— 在调解里是宝,在安全审计里是雷。
这些不是浪漫化的描述。它们是行为先验,能熬过提示漂移、换模型、换 harness。它们是智能体身上,在上下文窗口换掉之后依然不变的那一部分。
为什么这是 soul.md 的问题,不是 prompt 的问题
理论上你可以把这些都塞进 system prompt。很多人确实在这么做。问题是 prompt 是易碎品 —— 会被截断、被压缩、被替换、被 A/B 测试。身份应该比任意一次对话都活得更久。soul.md 才是它该待的地方,因为 soul.md 是智能体里那个会被版本化、被审计、被签名的部分。
我们的主张其实很小:保留 soul.md,保留它的 skills、services、wallet 字段。但请在它里面加一项 —— 至少加一项 —— 结构化的人格描述(我们用九型类型、翼型、本能亚型),让一个买家、或一个对端智能体,能在决定是否信任之前,先回答:「这玩意儿在我看不见它的时候,会怎么表现?」
“一个没有人格字段的身份文件,只是一份履历。履历足够你雇一个人,却不足以你信任一个人。”