vsoul 中文文档 下载 App

角色回复重复已知信息 —— 上下文组织方式的优化

问题表现

角色对话跑了十几轮之后,你发现它开始:

原因分析

原因一:对话记忆轮数不够

微灵的对话记忆轮数默认大约是20轮。超过这个数量后,早期对话会被截断。

原因二:场景摘要没同步更新

你更新了场景摘要但没告诉AI哪些是新的摘要内容——它可能没读到最新的摘要。

原因三:临时信息太零散

你在对话中说了很多零散的临时信息(今天吃了什么、路上遇到什么),这些都塞进了上下文窗口,挤占了重要信息的位置。

解决方案

方案一:更新对话记忆轮数

在预设系统里找到"对话记忆轮数"参数,适当调高:

方案二:把关键信息写进角色档案

如果某条信息是角色应该长期记住的(比如你的名字、你们的关系、某个重要事实),把它写进角色档案的对应层级,而不是只在对话中提一次:

要记住的信息写进哪层
角色知道你叫什么关系坐标
角色知道这个小镇没有书店世界背景
角色知道你能帮忙联系图书馆身份底稿的能力边界
你们已经一起解决了便利店的事关系坐标 + 场景摘要

方案三:场景结束后写摘要

这是最有效的方式。每个场景结束后整理四类摘要(已确认事实、关系变化、未解决目标、下一幕起点),手动告诉AI这些是最新的状态。

下次互动开始时,先给AI看最新的摘要,再开始对话。这样AI不会重复问已经解决的问题。

方案四:清理无用的临时对话

在长篇剧情中,如果对话里有很多无关的闲聊(比如"今天天气真好""你吃了吗"),这些会挤占上下文窗口。适当清理,或者把临时信息只写在开场事件里。

长期方案

最核心的解决方案还是养成写场景摘要的习惯。AI的上下文窗口是有限的,依赖它自动记忆不可靠。你手动整理的摘要,是唯一可靠的状态记录。