娱乐 · 深入

记得太多,角色反而没有人味

长局里最像假的不是遗忘,是它什么都记得
跑了十几场的角色,会把三周前酒馆里一句客套也一字不差地记住 —— 这不是记性好,这是没有人生。真人不会这样:被砍过一刀比听过一句寒暄重得多,重要的越想越牢、琐碎的自己就淡了。这一页把「记忆」从一根越来越长的对话搬成每个角色各自一份记录,并给它四条设计:用第一人称写(他记得的,不是上帝视角发生过的)· 按意思取而不是按关键词取 · 重要度加权、并随时间衰减 · 知识有边界(只有合理会知道那件事的角色,记录里才有那一行)。再补一条最容易被忽略的:让角色可以写日记 —— 写下来的东西,之后才查得到。
方法 · 一图看懂
1
分清两种数据 — 「世界本来是什么」(设定 / 账本 · 靠它不前后矛盾)与「他记得什么」(角色私有记忆 · 靠它像人);⛔ 不混在一处 —
2
用第一人称写,不用上帝视角 — 写「我被他骗了」,不写「他撒了谎」;同一件事在不同角色那里是两段不同的记录 —
3
按意思取,不按关键词取 — 「上次那家店」要能命中「酒馆」;只做字面匹配 ⇒ 角色会记得字、忘了事 —
4
给记忆称重并让它淡下去 — 每段标一个粗档重要度,检索时按重要度加权;淡出速率与该段的重要度成正比 —
5
给知识划边界 — 「某座城被烧了」这种事实只写在当时可能在场的角色名下;不写,就每场都得你亲口交代 —
三档记忆实现,差别到底在哪
市面上的做法可以粗分成三档,值得先看清自己站在哪一档:
① 摘要式 —— 一场对话结束后写一段摘要,存成该角色一个普通文本文件,下次开口前读进来。好处是简单、透明、你自己就能改;代价也直白:摘要好不好,完全取决于它这次选择留下什么(不少模型处理长对话与记忆摘要会明显吃力)。
② 不公开的专有做法 —— 有产品宣称做了「长期记忆」与「随剧情更新的性格」,但不公开技术细节。当黑盒用可以,出问题时你没法纠。
③ 每个角色一份私有记忆库 —— 记忆以该角色第一人称写入,按意思检索,带重要度与衰减,可写日记,并支持「这件事只让某些人知道」。
⇒ 前两档回答的是「模型记住了什么」,第三档回答的是「这个角色记得什么」。要长局有人味,要的是第三档。
重要度与衰减:落地只要两列
别被「遗忘曲线」吓到 —— 落地时你只需要在每段记忆后面加两列:
· 重要度:粗档就够(高 / 中 / 低),判据是「这件事改变了他的处境吗、还是只是发生过」。
· 写入日期:用于算新近程度。
检索时的排序 = 重要度 × 时间衰减,其中衰减按「越重要越慢」走,而不是给所有记忆同一个半衰期。
⇒ 关键认识:精确的衰减函数不重要,有这两列本身就是筛选 —— 它逼你在写下的那一刻做一次判断,而这一步判断才是「像人」的来源。
它会在什么时候反噬
三条最容易踩的:
① 记忆没人读 —— 写进去了但检索没接上(或者只把「最近几条」喂进去),等于没写。写与读必须成对。
② 只看条数不看「谁该知道」 —— 把所有角色的记忆汇总成一份共用背景,世界又连成一体了,等于把前面几期的功夫撤掉。
③ 只写不删 —— 三个月后检索里全是「他问我今天天气」这类客套,重要的那几条被挤到后面。
⇒ 纪律:每场结束只写三到五条,并「显式丢掉」你觉得不该留的那一条。允许「本场无值得记的」这句话存在。
原理 · 为什么有效
为什么「会忘」比「记得多」更像人 —— 因为记忆不是存档,是带权重的召回。真人记得的分布本身携带意义:越重要越牢、越近越清。所以当角色「想不起某件小事、却死记着某一次背叛」时,你不必听它解释,就能感到他有过去;反过来,一个把所有细节一字不差记住的角色,只证明了两件事 —— 它在同一段上下文里生成,以及它没有取舍。
第二层原因是边界:「谁知道什么」如果不由记录决定,就只能由你每场口述决定,而每场口述等于每场重设世界 —— 于是你会越来越懒得交代,世界也就越来越薄。把记忆按角色分开写,等于把这件事从「你每场的负担」变成「你每场要维护的一张小表」:这一场的角色只读到他该读的那一份,「另一个角色为什么会知道」这件事就有了物理依据 —— 他的记录里没有那一行。
第三层是它与「账本」的分工:世界现在是什么样归账本(静态、可查、不因人而异),这个角色记得什么归记忆库(有视角、有偏差、会淡)。两者混在一起,就会出现「因为记忆里有,所以世界就是那样」的错位。
适用场景
适合:已经跑了十几场、开始觉得「所有角色都什么都知道」的人 · 想让长局里出现真正信息差的人 · 愿意在每场结束后花五分钟写几条记忆的人 · 同时跑多个 AI 角色、想把它们分开养的人。
不适合:一次性即兴短局 —— 那种场合「所有人共享同一页」反而是优点,写记忆只会拖慢开场。
也⛔ 不适合把游戏存档当唯一事实源的人:状态一致性归账本与判定机制(骰子该由谁掷、规则谁说了算),本页只管「角色记得什么」。
自测 · 5 问
上一场里有没有哪件事,只有一个角色知道 —— 我能说出是哪一个吗
如果现在问一个不在场的角色那件事,它会不会也知道?我最近测过吗
我最近一次给它记的记忆,是用第一人称写的,还是上帝视角
我记得最牢的那一条是什么,为什么它比别的牢
上一次它「忘」了一件事,是真的淡出,还是从来没人告诉过它
怎么上手 · 验证步骤
下一次开团前只做三件事:① 先给一个角色建记忆库(⛔ 不要一次给全部角色建),写三到五条第一人称记忆,每条标重要度;② 开场前只把「这次在场的角色」那一份读进去(⛔ 别人的不要读,这才是信息差的来源);③ 跑完一场后回来补写 2~3 条,并主动删掉一条你判断不该留的。
跑满三场再决定要不要扩到全部角色 —— 一套记忆库值不值,看的不是写得漂不漂亮,是有没有哪一场真的因为「他不知道」而变得更好玩。
自检两句:① 这一场里有没有出现「只有一个人知道」的事?一场都没有 ⇒ 记忆写成公用的了。② 我读完这一场的记忆之后,能不能说出「他现在最在意的是什么」?说不出 ⇒ 记忆写成了流水账 —— 记的是发生过的事,不是对他重要的事。
[C级]Arcanum RPGs《Mantella, CHIM and SkyrimNet (2026): The Skyrim AI NPC Mods Compared — Setup, Cost and What Each Remembers》(2026-09 口径 · 三档记忆实现对照 = 摘要式 / 不公开做法 / 每角色私有记忆库 · 「重要度」与「按重要度比例的衰减」两个概念 · 日记成为可检索记忆 · 比一个人更大的事实只给合理会知道的角色 · 「长故事正是 AI 一致性最容易崩的地方」) [C级]Arcanum RPGs《AI Dungeon Multiplayer (2026): How It Works, What It Costs, and Why the Table Forgets Faster》(2026-09-25 对照官方文档 · 全桌共享一份记忆 ⇒ 四个人填满上下文的速度是四倍 · 早期事件更快被遗忘 · Host 的模型设置对全桌生效) [C级]编程知识《构建混合架构RPG引擎:LLM负责叙事,引擎负责规则》(事件溯源 = 存事件序列而非终态 · 叙事器可查完整事件历史以避免时间线矛盾 · 系统提示词里反复强调「不要改变事件摘要中已确定的结果」) [C级]TelegAI《Create your own adventure》(公开的长局设定 · 记忆优先级三层 = 长期规则永不被削弱 / 短期事件可牺牲 / 冲突时保规则与隐藏锚点状态 · NPC 各自有语气与盲区且不是全知) 同类:你的 AI 跑团,世界里真的有别人吗? · 酒馆第四场烧了,第五场它还记得吗 · 让 AI 当 GM,骰子该由谁掷?
继续往下读
同级:你的 AI 跑团,世界里真的有别人吗? 随机一篇