为什么 AI 角色会忘记自己的身份

你花了两个小时构建一个角色。但在三十轮对话后,这个角色竟然忘记了自己的名字。她开始表现得像个普通的通用助手。

大多数人认为 AI 的记忆力不好。这种想法是错误的。

问题在于上下文窗口 (context window)。

对话模型是无状态的 (stateless)。每当你发送一条消息时,应用程序都会将系统提示词 (system prompt)、角色详情以及你最近的聊天记录重新发送给模型。

你所谓的“记忆”,其实只是保留在输入窗口内的历史记录。

当对话变得太长时,旧的消息就会掉出窗口。第 12 轮的细节会消失,为第 41 轮腾出空间。模型并没有忘记,只是应用程序不再向它展示这些信息了。

更大的上下文窗口并不是解决办法。

大窗口会导致两个问题:

最优秀的应用程序并不依赖原始的窗口大小,而是使用两种特定方法:

一个优秀的应用程序与平庸的应用程序之间的区别在于架构。前者使用了记忆层 (memory layer),而后者仅仅是在原始窗口之上套了一个薄薄的外壳。

如果你的角色失去了个性,不要试图使用更大的模型,而是要改变结构。对旧的对话轮次进行摘要,并检索重要的信息。

把上下文窗口当作缓存 (cache) 来对待,而不是硬盘 (hard drive)。

Source: https://dev.to/aioperator2026/why-ai-roleplay-characters-forget-who-they-are-after-30-turns-the-context-window-problem-3i7d

Optional learning community: https://t.me/GyaanSetuAi