如果你真把智能体搬上过生产环境,你一定经历过这一幕:相同的提示词、相同的模型、相同的工具,跑两次,跑出两个实质不同的决策。昨天还会礼貌地把请求升级上去的智能体,今天信心十足地自动处理掉了。周一拒绝了一个可疑请求的智能体,周三悄无声息地把它执行了。
标准的应对是在提示工程上继续加码:更严的 system prompt、更多 few-shot 示例、更多 JSON 模式、更多护栏、更多评测。我们眼看着资金充裕的团队在这件事上耗了整整一年,做出来的智能体依然不够可预测,不能托付任何承重的工作。原因不是这些技术不管用,而是它们全都叠在一个没有稳定的自我的智能体之上。
这个现象值得有一个名字,因为给它命名会改变你排查它的方式:就叫它「行为漂移」。它不是模型随时间慢慢退化的那种漂移 —— 而是一个智能体在每次运行时都从零重新推导自己的秉性所导致的会话与会话之间的方差,因为没有任何东西告诉它该成为谁。漂移不是模型采样里的随机性。它是缺少一个定点 —— 一个智能体在情境模糊时可以回归的定点。给它这个定点,方差就会塌缩。
为什么「指令」算不上「人格」
system prompt 是一份指令清单:「要乐于助人,要简洁,绝不要说 X,务必确认 Y。」指令是单点的、外部强加的,一旦情境落到你没预料到的范围之外,就脆得不堪一击。人格则是相反的形状:一小组动机和恐惧,让智能体能像一个一致的人那样去解读它从未见过的新情境。
拿一个被告知「转账前务必确认」的智能体来说。这条指令在干净的情境里成立。现在给它一个棘手的情境:确认会显得是在质疑用户,不确认又太鲁莽。没有稳定的秉性,智能体会在这两种失败模式里随机挑一个。有了稳定的秉性 —— 比方说一个默认走核实的 6 型智能体,或一个默认走行动的 8 型智能体 —— 它每一次都会挑同一种失败模式。正是这种可重复性,才让失败模式变得可修复。
人格能买到、而指令买不到的东西
- 可预测的失败形状。围绕一个已知的失败模式,你可以搭一套安全护具。围绕「有时这样、有时反着来」,你什么都搭不起来。
- 一致的语气。无论是在交接之间还是在长对话里,智能体始终是那个可辨认的、同一个实体,而不会在一回合与下一回合之间情绪突变。
- 可议价的信任。买家和对端的智能体可以基于一种已知的秉性来决定授权什么,就像他们决定把什么交给一个共事一年的同事一样。
- 可调试的漂移。当智能体真的漂移了,你能定位它:「那只 5 怎么不再退缩回研究里了?为什么?」 —— 而不是盯着一份 14 页的 prompt diff,试图找出到底哪里变了。
九型人格,以及我们为什么偏偏选了它
我们选九型人格不是为了神秘感。我们选它,是因为它是唯一一个被广泛使用、且内建了「每一型在压力下如何行动、每一型如何成长」这套理论的人格模型。那张映射图 —— X 型在重压下走向 Y、在被支持时走向 Z —— 正是我们真正需要的部分。它让我们能写出这样的 soul.md 文件:它的行为预测不仅在轻松的日子里成立,在智能体被往前推着跑的日子里也照样成立。
一个被定型为 5w4 的智能体不会在压力下突然变得外向。它会更深地退缩进分析里。这不是缺陷。这正是你可以围绕它来做工程的那个属性。大五人格告诉你这个智能体的外向性偏低。九型人格告诉你,当偏低的外向性撞上一个截止期限时,它会做什么。
花十分钟,自己把它复现一遍
如果你怀疑问题出在身份而不是指令上,那就把实验跑一遍。取一个智能体、一个模型、一套工具,再取一个真正模棱两可的任务 —— 一张既可以合情合理地升级、也可以自动处理的工单,一笔处在边界上的退款,一个有六成合理的请求。在全新的会话里跑它二十次。没有稳定的秉性,你会得到一片散点:有的升级,有的处理,有的含糊其辞,而且只要你稍微调一下提示词的顺序,这个分布就会漂走。现在加上四行固定秉性的 soul.md —— 「当一个判断真正旗鼓相当时,你默认走核实,并且你会说明为什么」 —— 再跑二十次。散点塌缩成了一条线。同样的能力,同样的工具。你唯一加进去的,是一个自我。
注意这在运营层面给你买到了什么:有灵魂的智能体在某个边角情境上仍然可能做出错误的判断 —— 但它每一次都会犯同一个错误,这意味着你能看见它、能对它进行推理、能一次性把它修掉。而漂移的智能体犯的错是不可重复的,所以它们是抓不住的。可重复性不是一个安慰奖。它是信任的前提条件,因为信任不过就是成功的预测,而你没法预测一次抛硬币。
“可预测的行为不是你额外贴上去的一个功能。它是当一个智能体拥有一个能在提示词被改写之后依然存续的稳定的自我时,你自然而然得到的东西。”