Metlivi 博客

虚构的 AI 角色应该记住事实还是感受?

为了让虚构的 AI 角色保持一致性,其记忆应保留发生过的事情,并将角色的反应作为独立记录并列保存。将已确认的故事事实视为锚点;将感受标记为角色自身陈述的体验,并在故事证实之前将解读保留为不确定状态。这样角色就能在保持连贯性的同时作出回应,而不会将对另一个人的猜测变成正史。

2026年9月30日6 分钟阅读阅读、艺术与文化作者:Metlivi Editorial Team
第 1 节

为什么事实和感受需要不同的记忆字段

事实描述了故事中的事件或状态:暴风雨来临前,玛拉把黄铜钥匙留在了窗台上。角色的反应则描述了该角色的体验:玛拉后来表示,找到钥匙时她感到松了一口气。解读则更进一步:也许她担心有人会发现那把钥匙能打开什么。前两者可以直接在一个场景中确立;第三者则是一个假设,除非后面的场景证实了这一点。

这些区别至关重要,因为模型在总结长对话时,可能会把合理的解释变成被记住的事件。关于生成式代理的研究描述了一个用于检索相关记录的记忆流,以及一个综合更高层次反思的过程。作者指出,在他们的实验环境中,观察、计划和反思都对真实感有所贡献。对于角色写作来说,这种架构提供了一个有用的启示:既要保留场景也要保留总结,同时将总结标记为派生出的解读而非原始事件。生成式代理:人类行为的交互式拟态(Generative Agents: Interactive Simulacra of Human Behavior)

第 2 节

什么应该算作已确认的故事事实?

存储叙述中明确确立或用户确认为正史的细节:谁在场、说了什么或做了什么、物品留在了哪里,以及哪些事件相继发生。将出处保留在旁边。一条简短的记录可以这样写:“在车站场景中,伊沃把黄铜钥匙交给了玛拉。出处:用户确认的场景总结。”如果一个角色对自己的反应发表了看法,也要记录出处:“玛拉说伊沃回来时她松了一口气。出处:车站场景中玛拉的对话。”

这是数据溯源(provenance)的实际应用:W3C 的 PROV 模型描述了与生产某事物相关的实体、活动和代理的信息,因此其历史可以帮助读者评估可靠性。这不是一条角色写作规则,但它提出了一个有用的设计选择:保留记忆来自何处以及它是如何被创建的。W3C PROV-O:PROV 本体(W3C PROV-O: The PROV Ontology)

第 3 节

角色应该如何记住自己的感受?

以角色的口吻保留反应,并将它们附加到支撑它们的场景或陈述中。“我弄掉地图时感到很尴尬”,相比“角色把视线移开了”这一允许多种解读的可见动作,更能有力地证明角色自身陈述的感受。一个场景可以同时包含两者:“地图掉落后,玛拉移开了视线。她没有解释原因。”如果玛拉后来表示她感到很尴尬,将其作为后来的陈述添加;不要悄悄地将早先的观察改写为确凿证据。

感受是会改变的。有用的记录可以保存每次反应的时间和上下文,而不是将它们扁平化为一个永久的特质。“玛拉说找到钥匙时她松了一口气”和“玛拉后来表示对谁拿了钥匙感到不安”可以同时成立。一项 2025 年关于对话情景记忆的研究将记忆碎片分为事实性、经验性和主观性信息,并跨会话表示项目之间的关系。其结果关注的是对话式 AI,而不是虚构角色的品质;尽管如此,这些分类为区分场景、体验和解读提供了一个坚实的切入点。情景记忆的存储前推理(Pre-Storage Reasoning for Episodic Memory)

第 4 节

不确定的解读如何在不成为正史的情况下保持有用?

将解读作为一种可能性与其实据、归属者和状态一同存储。例如:“可能的解读:玛拉可能很担心那把钥匙。依据:她移开了视线并转换了话题。状态:未确认。”这为后续写作提供了可以重新审视的线索,同时也明确了目前没有场景确立她的动机。如果故事后来证实或否定了这一解读,请更新其状态,并在有用的地方保留早先的依据。

不要从虚构的对话、角色扮演的选择或模棱两可的动作中推断真实用户的情感状态。将关于真实参与者的陈述与角色的故事区分开来;只有在参与者明确陈述并确认其相关时,才带入有关参与者的信息。这一界限是该任务的设计建议,并非声称可以通过特定的短语或手势可靠地检测出情绪。在对话研究中,不确定性可以表示为一种系统输出,而不是强行给出一个最佳猜测:一篇 ACL 论文研究了不确定性分类以及响应检索中的“以上都不是”选项。这支持了一个更具体的系统设计经验:记忆或响应系统可以保留不确定性,而不是假装每个提示都有确定的答案。“以上都不是”:在对话响应检索中衡量不确定性(“None of the Above”: Measure Uncertainty in Dialog Response Retrieval)

第 5 节

适用于场景和反应的实用记忆记录

紧凑的记录可以针对事件、出处、角色自身陈述的反应以及任何未确定的解读使用不同的字段。这种模式是一种编辑工具,而不是引用的研究所要求的标准:

字段:事件;记录内容:已确认的动作或状态;示例:伊沃在车站把黄铜钥匙递给了玛拉。

字段:出处;记录内容:信息来自何处;示例:用户确认的场景总结。

字段:角色陈述;记录内容:角色自身报告的反应;示例:玛拉说归还钥匙时她松了一口气。

字段:观察;记录内容:没有假定动机的可见或可听细节;示例:玛拉在回答前移开了视线。

字段:解读;记录内容:标记为未确认的可能解读;示例:她可能感到不安;场景并未确立原因。

字段:状态;记录内容:正史、陈述、推断或未解决;示例:事件:正史;反应:陈述;动机:未解决。

这种分离类似于基于模式的对话状态跟踪,即系统将值填入预定义的槽位,而不是将所有对话文本视为一条无差别的记录。所引用的研究针对的是面向任务的对话,因此将这一思路应用到故事记忆是一种类比;其实际好处仅仅在于每种信息都有其指定的位置。利用模式驱动提示的语言模型对话状态跟踪(Dialogue State Tracking with a Language Model using Schema-Driven Prompting)

第 6 节

如何审查和更新角色的记忆

在完成一个场景后,首先仅提取该场景或用户明确确认的事件。然后添加角色明确陈述的任何反应,保留相应的场景和说话者。最后,单独记录解读,并附带简要理由和未解决标签。在检索过程中,只要原始场景或陈述可用,就优先使用它们;将总结作为指针,而不是比它所总结的出处更有力的证据。

当新的写作改变了故事时,有意识地更新相关事实。如果两种叙述发生冲突,在用户解决该冲突或叙事确立发生的事情之前,保持冲突可见。不要通过选择听起来最连贯的叙述来解决冲突。W3C 的溯源资料描述了记录实体、活动、归属和派生;将这一想法应用到这里,有助于作者将总结追溯回场景,并区分原始材料和后来的解读。PROV 概述(PROV Overview)

第 7 节

一条简单的决策规则

在决定角色应该记住什么时,问一问:这是否已被直接确立,是谁说出或展现了它?如果答案明确,请连同其出处一起保留该故事事实。如果角色陈述了一种感受,请将其作为该角色在那一刻的反应保留下来。如果记录描述了一个没有人确认过的动机、情绪或含义,请将其标记为解读或保持其开放状态。其结果是获得既支持连贯性和角色声音,又允许故事中未解答的问题保持未解答状态的记忆。

相关阅读

继续探索这个主题