嘿大家,我不是码农。 我使用 Cloudflare Workers 构建了一个文本 RPG 后端。它在早期运行得很好,但在后期完全失去了头脑,忘记了背景。
我检查了我的服务器代码,认为我找到了问题。 我正在遭受“金鱼记忆”的困扰。
目前,我系统要求 LLM 输出一个 memory_summary 的 JSON:
"memory_summary": "在 1-2 句话中总结当前事件。"
而在我的后端,我只从最后一次响应中提取了摘要:
if (savedState.last_ai_response?.memory_summary) memoryText = savedState.last_ai_response.memory_summary;
然后我将 memoryText Feed 回到下一个提示中:### [MEMORY SUMMARY (LONG-TERM)] ###。
因为它只总结当前事件,它不断地覆盖过去。 到第 10 章时,它完全忘记了第 1-8 章。
我的问题:
那些正在构建 AI 游戏的人们,如何重写这个逻辑?
我应该改变 LLM 提示,以强制将旧摘要与新事件合并吗? (例如“在 100 个词以内更新旧摘要以包含新事件”?) 或者是在后端代码中直接处理一个过去摘要的数组更好?
关于构建一个稳定的“滚动上下文窗口”任何建议都会救赎我的生命!
评论 (0)