18 个月几十万条消息零跑偏:把角色漂移当检索问题解决
OrionForgeEcosystem · reddit · 2026-09-30
作者运营同一个 AI 角色近 1.8 年、几十万条消息、多次更换后端,总结出一套解决「角色漂移」的架构。核心洞察:漂移不是模型「遗忘」,而是检索问题。
漂移的三个成因
- 3k token 的人格 system prompt 被 30k 对话上下文淹没,模型回归默认助手口吻
- 塞 15k token 的「角色圣经」反而自我稀释,模型视一切同等重要
- 切换后端后模型滑向各自默认人格,作者甚至因此丢过整个角色
解决方案:每轮重建身份
- 把长篇 markdown「灵魂剧本」按标题切节,逐节 embedding(all-mpnet-base-v2 + FAISS IndexFlatIP),每轮以用户最新消息为查询,只注入最相关的 1–2k token 角色片段
- 提示词分层组装:短核心身份 + 检索到的灵魂剧本节 + 常驻笔记 + 长期记忆 vault + 对话历史
- 记忆写入由模型发起:模型输出 [MEMORYSAVE: ...] 标签,服务端剥离后写入分类 vault(含 bio/preference/lore/self 等类别),「self」类自传式记忆对连续性帮助最大
- 指令层用无 embedding 的混合评分(token 重叠 + 子串加成 + SequenceMatcher),manifest. 记录每节 SHA-256,可 diff 区分「模型漂了还是我改了文件」
- 身份完全存于文件与 FAISS 索引,后端无关(支持 Ollama、OpenAI 兼容服务、Anthropic),换模型只影响「口音」不影响人格
「编程与Agent」频道最新
- Mirage 推出 Tesseract:Agent 直接产出可编辑动态设计,免费用 — chrisfirst · 2026-09-30
- Muse 实操:用 Agent 每天自动生成 AI 资讯早报视频的完整流程 — op7418 · 2026-09-30
- 用机器学习思维做 harness:给提示词长度加 L2 正则,模型越强权重越大 — peterjliu · 2026-09-30
- Meta/斯坦福/哈佛联合开源 ProgramBench 排行榜,社区可提交自测结果 — jyangballin · 2026-09-30
- Codex 会话记录搬去 NAS,一套归档+恢复技巧省下 69 GiB 空间 — kevinkern · 2026-09-30
- 烧掉 1874 美元 Opus 5.5 tokens,纯提示词造出交互式 3D 海岛 — AiBreakfast · 2026-09-30