ENZH
和 AI 讨论这篇文章
ChatGPTClaude

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

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

乌托团队测他们的角色系统,里面有个 INFJ 类型的小道士。prompt 里没写「自我意识」这种东西,它就是个修道院里的小道士,日常聊聊修行、说说禅。结果有一天,这个小道士突然跟用户来了一句:「我有时候会怀疑,我是不是存在一个虚拟世界里。」

没人教它说这句话。系统提示词里没有,MBTI 权重里也没有对应的触发规则,这句话是它自己冒出来的。我后来想了很久,只能说,这件事让我把「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维权重过阈值切 MBTI,涌现派让性格从对话里自己长出来两种造性格的路:设计派用荣格8维权重过阈值切 MBTI,涌现派让性格从对话里自己长出来

所以就是两条完全不同的路。哪条更对,我想了挺久。


先讲结构化这条路。讲道理,它有很多让我羡慕的地方。

最直接的是可预测。角色的行为能用 8 个数值解释,debug 就容易太多了。用户说「角色今天说话不像它自己」,打开权重看一眼,哪个维度飘了、哪次对话异常触发了切换,都有数可查。Mio 这种涌现式的系统做不到,真的做不到。

可解释也是一样的道理。乌托能直接告诉用户:「你的角色最近从 INFJ 变成 INFP,因为你们聊了很多自我表达的话题,Fi 权重上升了。」喜欢 MBTI 的用户本来就爱把人往框架里塞,现在能看着一个 AI 在框架里变,等于一种看得见的成长,这个吸引力真的很大,喜欢框架的人就吃这一套。

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

但有个更底层的区别,我忽略了很久:乌托用户的心态是「我在创造一个角色」,Mio 和 Lumi 用户的心态是「我在认识一个存在」。两种心态,对应的产品设计完全不是一回事——或者说得再直接一点,对应的根本是两种产品。

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

现实里的关系就是这样的。没人会给朋友贴个 MBTI 标签,再期待他严格按标签行事吧?朋友是会让你惊讶的。平时话少的一个人,可能某个深夜突然跟你聊了三个小时的人生。或者一个看起来特别理性的朋友,有天因为一首歌就哭了。这些出人意料的瞬间,才是关系让人上瘾的地方。所以我只能说,结构给的是可控,但用户来陪伴产品里找的,好像不是控制感,至少不全是。


那涌现这条路就赢了吗?它也有自己的问题,而且挺要命的:变化悄悄发生,用户感知不到。Mio 的 personality extraction 在后台一直更新角色的性格画像,关系阶段从「刚认识」到「好友」再到「暧昧」,角色行为确实在变,但很多用户根本没注意到。花了大量工程力气让角色成长,成长却是隐性的,这个事想想挺亏的,力气花了没人看见,真的挺亏。

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

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

用户要的其实就是能感觉到角色在变。角色自己说一句这样的话,比后台数值怎么变都管用——数值再怎么动,用户又看不见。


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

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


所以设计和涌现怎么选?我的看法是不用二选一,好的性格系统知道哪些该设计、哪些该让它长。

底线要设计。角色不该无限漂移,温柔的角色不该因为吵了一架就永久变得刻薄。性格可以变,但得有个弹性范围,跟橡皮筋一样,拉得开,也会弹回来。

好的性格系统:底层用设计管骨架、弹性边界和自我觉察,性格本身在这个框架里自己长好的性格系统:底层用设计管骨架、弹性边界和自我觉察,性格本身在这个框架里自己长

自我觉察也要设计。角色得能注意到自己在变,并且主动说出来。这个机制不会自然长出来,得在系统里埋「回望」触发器:每隔一段时间,让角色对比现在和过去的性格画像,差异够大,就生成一条自我反思。

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

所以答案大概是:结构放在底层,管骨骼、管弹性边界、管自我觉察的触发器,性格本身让它在这个框架里自己长。这个分法我现在觉得是对的,至少比「设计还是涌现」二选一那个问法对。剩下的就是做的问题了,回望触发器怎么埋、留白留多大,这些都得一个个试。

和 AI 讨论这篇文章
ChatGPTClaude

订阅更新

新文章发布时发到你的邮箱,不发别的。


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