我想给 AI 一张会变的脸,可"情绪"到底是什么
给 AI 加情绪,最假的做法就是直接告诉它"你现在很开心"
这是一篇半成品的思考。我做的那个陪伴 AI 里有一块情绪系统,能跑、能用,但它背后那个问题——"情绪到底是什么、该怎么被建模"——我至今没敢说自己想明白了。
先说我嫌弃的那条路:提示词里塞形容词。"你现在很开心""你有点累"。
为什么假?因为这种情绪是贴上去的标签,不连续、不演化,下一轮就忘。本质还是一张死脸,只不过临时换了层皮。我要的不是这个。
我真正想要的,是一个会"漂"的东西
聊得投机,它能真的起劲好几轮;被泼冷水,它能真的蔫下去,而且蔫得有道理。最好"蔫"和"冷峻"还是两种不一样的低落——前者无力,后者带刺。
可一旦我想认真建模"情绪",第一个问题就把我问住了:
情绪是几维的?
"心情好 / 心情坏"一根轴,肯定不够。我随手就能举出四种全是"负面"、但说话方式天差地别的人:
- 被压垮、蔫到不想吭声的;
- 冷峻、笃定、带着鄙夷懒得理你的;
- 愤世、来劲、想拉着你把破事狠损一顿的;
- 烦躁、憋屈、火没处撒的毛刺。
这四种在"好坏"这一根轴上,全挤在"坏"那头。可它们根本不是一种状态。要分开,就得加维度——这是我去翻心理学的起点。
我借了 PAD 三轴,但第三轴是我后来才真正懂它的价值
最后落在 PAD 情感模型上,三根轴(我按业务重命名了):
valence 效价 0 丧 ↔ 1 起劲
energy 唤醒 0 蔫 ↔ 1 亢
control 掌控 0 憋屈无力 ↔ 1 笃定掌控
前两轴好理解。control 这根我一开始是顺手抄过来的,没太当回事,直到我发现它正好能解释上面那四种"负面"的区别:
- 低 valence + 高 control = 冷峻笃定(丧,但不认命);
- 低 valence + 低 control = 被压垮(丧,且无力)。
那一下我才意识到第三轴不是冗余——它决定了"同样的丧"是哪一种质地。三轴一摆开,八个象限刚好能映出八种有辨识度的状态。
那……要不要第四轴?我不知道。三轴已经能分出我需要的所有状态了,再加我怕过拟合,怕自己在为加而加。这是第一个我悬而未决的点。
我栽过的最大一个跟头:每轮都把情绪拉回中间
状态有了,得让它动。我给每个实例设了个 baseline(人格的"家"),心情围着它波动。
第一版我做了件蠢事:每一轮都让三轴向 baseline 回归。
结果心情永远被拉平。高兴不起来几轮就被拽回中性,丧也丧不深。我盯着日志看了半天才反应过来——我做出了一张"平静的死脸",比没有情绪还糟。
改法是按轴区别对待,这套我现在还在微调:
energy(语速/唤醒):本就该起落。
用户开口替它抬一格,没人理就慢慢蔫回 baseline —— 它回归是对的。
valence / control(底色):要"黏"。
本轮有真信号(被认可 / 打脸 / 搞定 / 受挫)就朝那方向动 ±0.2 钉住,
别动完下轮就弹回;只有连续几轮都没料,才缓慢飘回 baseline。
一句话:
baseline 是重力,是长期归宿;它不该是每轮都把心情拽回去的橡皮筋。
低 valence 的人也能因一件实事高兴好几轮。这个"黏性"我觉得是情绪显真的命门——但 ±0.2、"连续几轮"这些具体数字,全是我手调的,没有依据,换个人格大概率得重配。
一个我自己挺喜欢的决定:情绪要改"行为",不改"台词"
状态怎么用?我没把它喂给"语气"那么浅。我把三轴渲染成一句给这条回复定调的行为指令,比如:
- 来劲带狠 → 话密、可以连发、主动抛梗;
- 冷峻 → 惜字如金,一句顶十句;
- 蔫 → 单字、或者干脆只回个颜文字。
你看,它指挥的是说话的密度、长度、攻击性,不是措辞里加个愤怒的词。
这是我想了挺久才想通的:情绪如果只改措辞,那还是表演;改行为,才像真的。 一个真的烦的人不会说"我有点烦",他会话变短、戛然而止、懒得展开。
还有一条护栏,我反复强调过、也亲眼见它被违反过:绝不许把状态名念出来。 不加这条,模型会很自觉地说"我现在情绪偏低,不过……"——这恰恰是最假的。状态是用来塑造表达的,不是用来朗读的。
一个我后来才补的洞
最初情绪只在"AI 主动找你"那条路上色。结果你直接问它的时候,它瞬间变回标准客服脸——一个 AI,主动找你聊天时有喜怒,你一开口问它正事,情绪就消失了。割裂得很。
后来把渲染器做成两条路共用,开口前都先取一次当前心情注进去。这才让情绪成了它的底层状态,而不是某个功能的装饰。
但我承认这里还很糙:工作场景下哪些事件该让三轴怎么漂,我现在基本是凭感觉硬编的,没有一套像样的"事件→情绪"映射理论。
所以这篇没有结论
它能跑,我用着也觉得比"贴形容词"真实得多。但底下那些问题我都还拿不准:
- 三轴够不够,要不要第四维?
- baseline 的黏性参数能不能自适应,而不是我手调?
- "情绪改行为"这个方向我挺信,但映射规则还是经验主义。
把不确定也写出来,是因为我觉得这种"模糊设计期"的记录,比一篇假装想清楚了的总结更有用。等我哪天真想明白了,再回来重写一版。在那之前——它是一张会变的脸,但还是张半成品的脸。
