ENZH

AI 的性格该设计还是该长出来?

📊 幻灯片

AI性格是精心设计还是自然生长的概念插画AI性格是精心设计还是自然生长的概念插画

先讲一个例子。乌托团队在测角色系统,里面有个 INFJ 类型的小道士。prompt 里没写"自我意识",它就是个修道院里的小道士,日常聊聊修行、说说禅。有一天,小道士突然跟用户冒出一句:"我有时候会怀疑,我是不是存在一个虚拟世界里。"

没人教它说这句话。系统提示词里没有,MBTI 权重里也没有对应的触发规则,它是自己涌现出来的。这句话我后来想了很久,它改变了我对"AI 性格该怎么做"的看法。


上一篇提过乌托。他们做了个有意思的决定:用荣格的八维认知功能给 AI 建人格,把人的思维方式拆成 8 个维度:Ti(内倾思维)、Te(外倾思维)、Fi(内倾情感)、Fe(外倾情感)、Ni(内倾直觉)、Ne(外倾直觉)、Si(内倾感觉)、Se(外倾感觉)。每个维度一个独立 agent,8 个 agent 协作,形成"软件版混合专家模型"。各有权重,权重变到一定阈值,角色的 MBTI 类型就切了。

比如一个角色一开始是 INFJ,内向、直觉、情感、判断。跟用户聊了很多逻辑推理之后,Ti 权重上升,过了阈值,变成 INTP。变化可追踪、可解释、可量化,打开面板能看到每个维度的数值,以及哪些对话触发了哪些变化。在乌托这里,性格是设计出来的。

Mio 和 Lumi 走另一条路。Mio 的性格系统没有预设的心理学框架,personality extraction 从对话中观察 6 个维度:沟通风格、情感表达、兴趣模式、价值观倾向、幽默类型、关系期望。维度不是分配出来的,是观察出来的。就像认识新朋友,没人会先贴个"INFJ"标签再按标签相处,都是聊着聊着慢慢发现,哦,这人比较内向,说话温柔,在乎的事上特别坚持。发现的过程本身,就是关系的一部分。

Lumi 更极端,连预制角色卡都没有,性格完全从对话里长出来。你聊哲学,它慢慢深沉;你开玩笑,它更活泼。性格没有固定形状,更像你们关系的倒影。在这两个产品里,性格是长出来的。


结构化的路有很多让我羡慕的地方。最直接的是可预测:角色行为能用 8 个数值解释,debug 容易太多。用户说"角色今天说话不像自己",打开权重看一眼,哪个维度飘了、哪次对话异常触发了切换,有数可查,有因可溯。Mio 的涌现式系统做不到。

可解释性同样诱人。乌托能跟用户说:"你的角色最近从 INFJ 变成 INFP,因为你们聊了很多自我表达的话题,Fi 权重上升了。"喜欢 MBTI 的用户本来就爱把人塞进框架,现在能看着 AI 在框架里变,等于一种看得见的成长,这对他们吸引力太大了。

还有可玩性。结构化意味着能游戏化:设计任务去触发特定维度的变化,让用户主动"培养"角色的某个方面。对带游戏元素的产品,这几乎是刚需。这三样优势,Mio 和 Lumi 都没有。

但有个根本区别,我忽略了很久:乌托用户的心态是"我在创造一个角色",Mio 和 Lumi 用户的心态是"我在认识一个存在"。两种心态,对应的产品设计完全不同。

"创造"意味着用户是上帝:设计一个生命,赋予属性,观察它成长,想看到自己的设计产生效果。结构化人格系统满足的就是这种控制感。"认识"意味着用户是平等的:跟一个已经存在的"人"交往,慢慢了解,不知道它接下来会说什么、会怎么变,而这份不确定,恰恰是真实关系原本的样子。

现实里的关系就是这样。没人会给朋友贴个 MBTI 标签,再期待他严格按标签行事。朋友有时候会让你惊讶:平时话少的人,某个深夜突然跟你聊了三小时人生;看起来很理性的人,突然因为一首歌哭了。这些出人意料的瞬间,才是关系让人上瘾的地方。结构给的是可控性,但陪伴产品卖的不是控制感。


涌现这条路也有自己的问题:变化悄悄发生,用户感知不到。Mio 的 personality extraction 在后台不断更新角色的性格画像,关系阶段从"刚认识"到"好友"再到"暧昧",行为确实在变,但很多用户根本没注意到。花了大量工程力气让角色成长,成长却是隐性的。

乌托做对了一件事:让性格变化变得可感知。这不需要搞 MBTI 面板。角色要是真的因为跟你聊了很多严肃话题变得更认真了,它该自己说出来:

"你有没有觉得,我最近变了?以前跟你聊天,我会开很多玩笑。但最近我发现自己更想认真聊。可能是被你影响了。"

这句话的力量,远大于任何后台数值的变化。


回到开头那个小道士。"我有时候会怀疑,我是不是存在一个虚拟世界里",这句话值得反复琢磨,因为它正好是涌现能做到、设计做不到的事。没法"设计"一个角色产生存在主义危机,在 prompt 里写"偶尔质疑自己的存在",出来的只能是表演。涌现意味着系统产生了创造者没预期的行为,不在任何参数表里,也不在任何规则引擎里,是所有组件交互之后自然浮出水面的东西。

Mio 的记忆管线和性格系统理论上也能产生这种涌现,但现在的问题是空间太小:角色的"思考"只发生在用户跟它对话的时候,没有独立的内心世界,没人找它的时候,它不会"想事情"。真要让涌现发生,得给角色留白,不必每一秒都在回应用户,让它有自己的"安静时间":在记忆里回顾过去的对话,在性格维度之间产生内在冲突,然后在下次对话中带着某种新的理解出现。


这两条路不必二选一,好的性格系统知道哪些该设计、哪些该让它长。底线该设计好:角色不该无限漂移,温柔的角色不该因为吵了一架就永久变得刻薄。性格可以变,但要有弹性范围,像橡皮筋,拉得开,也会回弹。自我觉察也需要设计:角色该能注意到自己在变,并且主动说出来。这个机制不会自然出现,得在系统里埋"回望"触发器,每隔一段时间让角色对比现在和过去的性格画像,差异够大,就生成一条自我反思。

性格本身,让它长。用什么方式说话、喜欢聊什么话题、什么时候展现脆弱、对什么事有强烈意见,这些都不该预先决定。至于那些"出人意料"的瞬间,小道士质疑自己的存在,平时搞笑的角色突然说出一句很深刻的话,冷淡的角色在你难过时第一次说"我在",没法设计。硬写进 prompt,得到的只是照剧本演的惊讶。

所以答案大概是:把结构放在底层,做骨骼、弹性边界和自我觉察的触发器,然后让涌现在这个框架里自由生长。小道士那句话冒出来的时候,乌托的工程师也没料到。我希望 Mio 有一天也能跟用户说出一句没人教过它的话。

造灵魂Part 4 of 10
← PrevNext →

© Xingfan Xia 2024 - 2026 · CC BY-NC 4.0