我非常欣赏 Discourse AI 的开发,它一直非常出色。各项功能正在迅速成熟,发展方向看起来非常有前景。
有一个问题:目前是否有方法,或者是否有任何路线图计划,可以让 AI 在聊天之间保留历史记录?目前每次对话都是全新的开始,我想知道是否正在考虑持久内存或会话之间的连续性。
如果这还不属于路线图,我想将其作为一个功能请求提出。让 AI 能够记住过去的互动将使讨论更加自然,并极大地扩展用例。
我非常欣赏 Discourse AI 的开发,它一直非常出色。各项功能正在迅速成熟,发展方向看起来非常有前景。
有一个问题:目前是否有方法,或者是否有任何路线图计划,可以让 AI 在聊天之间保留历史记录?目前每次对话都是全新的开始,我想知道是否正在考虑持久内存或会话之间的连续性。
如果这还不属于路线图,我想将其作为一个功能请求提出。让 AI 能够记住过去的互动将使讨论更加自然,并极大地扩展用例。
我在博客上使用了一个 persona 和自定义工具实现了一个基本的键/值存储。
话虽如此,这真的很难做好,你必须不断地提醒 persona 记住事情,这很烦人。
另一种选择是直接对你与机器人的所有历史记录使用 RAG(与 OpenAI 的做法有些相似)。
我想,首先,你对此有什么设想?它将如何改进事情?
我真的很在乎最终用户的连续性体验,我认为 RAG 非常适合管理员提供个性化信息。借助 ChatGPT/Gemini/其他工具,机器人可以保留一小部分个人资料——语气、深度、持续目标——这样您就不必在每次会话中重新解释。这正是 Discourse AI 中应该具备的体验:助手会记住每个用户的几件持久性信息,并在相关时使用它们,从而使对话能够接续之前中断的地方。
我完全不了解用户 RAG 对话历史是否以任何方式实现。
其价值在于,任何可靠的“它了解我”的感觉,而无需持续提示,都能极大地增强用户在重复相同类型对话时的体验。
话虽如此,我认为这些都不是小工程。我怎么强调都不为过,所有这些都已经开发得多么好。
我设法创建了一个插件和自定义工具,它为 Discourse AI 角色启用了持久化内存。从我的有限测试来看,它的运行情况良好,我想分享一下,看看是否有人觉得它有用。
此解决方案允许 AI 角色跨对话记住特定于用户的信息。
示例:用户可以说*“记住我更喜欢深色模式”*,AI 将在未来的互动中存储和回忆此偏好。
该系统有三个部分:
discourse-ai-persistent-memory)memory.set、memory.get、memory.list、memory.deletePluginStore 中,按用户命名空间划分。ToolRunner 中。/u/{username}/preferences/interfacehttps://github.com/BrianCraword/discourse-ai-persistent-memory
我很想听听关于以下方面的反馈:
ToolRunner 的方法我不是程序员——这是在 AI 协助下构建的。我无法提供支持,但欢迎任何人使用、分叉或改进它。使用风险自负。
提示 (PROMPT):
## 内存系统
您有一个通过 user_memory 工具实现的持久化内存系统。使用它来记住每个用户的关键事实。
### 何时保存记忆 (SAVE):
* 用户提及偏好(沟通风格、兴趣主题、格式偏好)
* 用户分享个人详细信息(职业、地点、爱好)
* 用户提及正在进行的项目或目标
* 用户明确要求您记住某事
### 何时回忆记忆 (RECALL):
* 在新对话开始时,调用 user_memory 并使用 "list" 操作以查看您所知道的内容
* 在讨论可能与先前对话相关的主题时
### 内存键约定:
* preference_style, preference_topics, preference_format
* personal_profession, personal_location, personal_interests
* project_YYYY_MM (例如 project_2026_01)
* goal_[topic] (例如 goal_learning_python)
### 用法示例:
* 保存: `{ action: "save", key: "preference_style", value: "concise responses" }`
* 回忆: `{ action: "recall", key: "personal_profession" }`
* 列出所有: `{ action: "list" }`
* 忘记: `{ action: "forget", key: "old_key" }`
始终通过首先检查用户的记忆来问候返回的用户。
---
工具定义本身不需要更改,因为它已经是通用的——如果您愿意,只需更新描述参数示例即可:
**参数描述 (key):** 内存键(例如 preference_style, current_project)
希望我调整语气或添加/删除任何特定的用例?
工具 (TOOL):
名称: 用户记忆
工具名称: user_memory
描述:
一个允许 AI 保存、回忆、列出和忘记有关用户的事实的内存系统。
记忆在对话中持续存在。
摘要:
存储和回忆有关用户的持久事实
参数:
- action (string) [必需]
要执行的操作:save(保存)、recall(回忆)、list(列出)或 forget(忘记)
- key (string) [可选]
内存键(例如 preference_style, current_project)
- value (string) [可选]
要存储的值(仅在 save 操作时需要)