MemoryLake
返回全部文章
Pain Point2026 年 5 月 22 日7 分钟阅读

为什么 Character.AI 会忘记我们的关系历史?

你花了三十章的时间在一个互动小说项目中建立两个角色之间的关系——小心翼翼的第一次见面、背叛、缓慢的和解。到下一章时,AI 角色把你的主角当作陌生人。背叛从未发生。和解从未发生。你写的关系弧消失了,世界上没有足够的固定点来支撑这一切。

这就是 Character.AI 聊天的表现方式,而有一种简单的方法可以保持弧的完整。

简短的答案

Character.AI 忘记关系历史是因为长时间聊天中的旧对话被压缩或从活动记忆中移除。每次聊天的固定记忆上限为 15,而 Persona 字段的大小是为了身份,而不是为了弧级历史。一个持久的关系存储可以在每个场景中重新注入正确的节奏,从而解决这个问题。

为什么 Character.AI 会忘记关系历史

Character.AI 通过积极压缩旧消息来保持实时聊天的快速和连贯。这种权衡导致关系失去其历史。

1. 长时间聊天压缩并丢弃旧对话。 活动上下文偏向最近的消息。旧的交流——包括你最关心的关系节奏——被总结或丢弃,以保持提示在预算之内。

2. 固定的记忆上限为每次聊天 15 条。 固定是最强的原生杠杆,Character.AI 团队已确认每次聊天中最多有 15 条固定消息保留在活动记忆中。十五条足以涵盖最大的节奏,但对于有三十个节奏的关系来说则不够。

3. Persona 和 Lorebook 关注身份和正典,而不是弧。 Persona 字段定义了角色是谁,而 Lorebook 存储有关世界的事实。两者都不是为了承载“我们在第 12 章之间发生了什么,以及它如何在第 24 章中改变了我们”。

结果是一个模型,可以演绎出美好的第一次见面和美好的第 80 次见面,但将它们视为两个独立的场景。

当 Character.AI 忘记关系历史时你会失去什么

对于构建以角色为驱动的互动小说的作家来说,关系往往就是故事。失去它,作品就会显现出来:

  • 获得的信任重置。 角色们最终敞开心扉的那一章变成了 AI 不再拥有的事实,因此下一章感觉就像第一次见面。
  • 冲突节奏消失。 你在第 12 章中写的背叛不再在范围内,而第 24 章中的和解则被解读为无法解释的善意。
  • 内部语言消失。 他们共同获得的昵称、路途中的内部笑话、他们从未大声说出的无言之事——所有这些都回归到普通对话。

解决方案不是“固定更多消息”。而是将关系弧保持在聊天之上,并在当前场景中向 Character.AI 注入重要的片段。

Character.AI 的内置变通方法(以及每种方法的不足之处)

Character.AI 提供了几种有帮助的记忆工具,但没有一种能够可靠地承载长弧。

固定的记忆。 每次聊天最多 15 条将永远保留在活动记忆中。请参阅 固定记忆帮助文章。对于最大的节奏至关重要,但对于有许多转折点的长弧来说则太少。

角色记忆文本框。 最多 400 个字符的固定记忆增加了 AI 引用它们的机会,尽管角色并不总是按书面形式使用它们。这只是一个简短的段落——而不是关系历史。

Lorebook。 按需呈现相关的背景资料。非常适合世界事实。它并不是专门为“这个角色在第 17 章中以这些条件原谅了那个角色”而设计的。

对于一次性场景,原生工具很好。对于一个长期的以角色为驱动的项目,它们则显得不足。

Character.AI 的内置记忆不足之处

更深层次的问题在于关系弧没有持久的存储。在与同一角色的多次聊天中,AI 并不会自动知道它们之间已经发生了什么。当你将故事转移到 ChatGPT 或 Claude 进行编辑时,弧的内容也不会随之而来。

严肃的独立作家和编剧最终会在一旁保留一个关系节奏表,并不断从中粘贴。那个节奏表才是真正的关系记忆——它只是没有与模型连接。

MemoryLake 如何修复 Character.AI 忘记关系历史的问题

MemoryLake 是一个跨模型的记忆层,持有关系节奏表,超出任何单一聊天。弧存在于一个项目中。Character.AI 根据每个场景读取它,而不是依赖 15 个固定点来承载 30 个节奏。

  • 每个项目的规范关系弧。 第一次见面、关键冲突、转折点、获得的信任和内部语言作为结构化条目存在于 MemoryLake 项目中。它们不会因为长时间聊天的压缩而消失,因为正确的内容会在每个场景中重新注入。
  • 比原始提示多 10,000 倍的弧上下文。 MemoryLake 的检索引擎可以在每个项目中保存完整的多小说关系历史,并仅呈现与当前章节相关的节奏,远超固定所允许的。
  • 可移植到其他写作工具。 相同的关系历史可以通过 REST 在 ChatGPT、Claude、Gemini 和 Grok 中使用。当弧进入编辑或润色时,关系也随之移动。

MemoryLake 在 LoCoMo 长上下文基准测试中得分 94.03%,是截至 2026 年发布的最高结果,具有毫秒级检索和 AES-256 端到端加密。

在 3 个步骤中将 MemoryLake 连接到 Character.AI

  1. 创建项目并加载你的关系弧。 登录 MemoryLake,打开项目管理,点击创建项目,并以项目命名,例如“灯塔——关系节奏”。通过文档驱动上传现有场景大纲、节奏表和之前的章节——支持 PDF、Word、Excel、PowerPoint、Markdown 和图像。为每个关系节奏、冲突和获得的信任时刻在记忆标签中添加结构化条目。
  2. 生成 MCP 服务器端点。 在项目内打开 MCP 服务器标签,点击添加 MCP 服务器,命名为“Character.AI 关系弧”,然后点击生成。MemoryLake 返回一个 API 密钥 ID、密钥和端点 URL。立即复制密钥——它只显示一次。
  3. 连接 Character.AI。 Character.AI 不支持 MCP,因此使用 REST API 及你的 Bearer 令牌提取相关的弧片段,并将其注入到角色记忆文本框、聊天的第一条消息或 Persona 字段中。在主要场景转换之间刷新片段,以保持弧的最新。

常见问题

Character.AI 是否会在聊天之间记住关系?

默认情况下不会。每次聊天都有自己的固定记忆和简短的角色记忆文本。来自一个聊天的弧级历史不会自动转移到与同一角色的另一个聊天中。

我该如何让 Character.AI 记住我们的故事弧?

将弧保持在 Character.AI 之外,放在像 MemoryLake 这样的持久记忆层中,然后在会话开始或关键场景转换之前通过 REST API 将最相关的节奏注入聊天中。模型看到的是一个集中的回顾,而不是试图从压缩的对话中记住 30 章内容。

为什么 Character.AI 在长时间聊天后表现得像是刚认识我?

因为长时间聊天中的最早对话会被压缩或从活动记忆中移除,以保持提示在预算之内。模型对“我们”的看法现在是最近的片段,而不是完整的弧。

我可以在 Character.AI 中固定多少条记忆?

每次聊天最多可以固定 15 条消息。固定的消息在对话中保留在角色的活动记忆中。这有帮助,但无法扩展到长关系弧。

我可以与 Claude 或 ChatGPT 分享相同的关系弧吗?

可以。MemoryLake 将弧存储在项目中的模型中立格式,因此相同的节奏可以通过 REST 被 Character.AI、Claude、ChatGPT、Gemini 和 Grok 读取。