公司动态

Odysseus记忆系统详解:如何让AI真正记住你的偏好和对话上下文

📅 2026/9/3 12:53:05
Odysseus记忆系统详解:如何让AI真正记住你的偏好和对话上下文
Odysseus记忆系统详解如何让AI真正记住你的偏好和对话上下文【免费下载链接】odysseusSelf-hosted AI workspace.项目地址: https://gitcode.com/gh_mirrors/ody/odysseusOdysseus 是一个自托管的 AI 工作区Self-hosted AI Workspace它的记忆系统Memory System让 AI 助手能够跨对话记住你的姓名、偏好、联系方式和长期项目。本文带你从新手视角理解 Odysseus 记忆系统的工作原理数据存在哪里、AI 如何自动提取你的偏好、记忆又如何被注入到每次对话上下文中让你不再需要反复向 AI 自我介绍。为什么普通的 AI 助手记不住你大多数大语言模型是无状态的——每次新开会话模型对你的了解都归零。你可能不得不反复告诉它我叫什么、做什么工作、喜欢简洁的回答。Odysseus 的解法是把你的信息沉淀成持久化记忆记忆独立于对话存在关闭浏览器、重开新会话都有效每次发起新对话时系统会先检索与当前话题相关的记忆悄悄注入到上下文里记忆由你或 AI 自动提取产生可以随时查看、编辑、删除。这就是让 AI 真正记住你的核心思路把对话里的有用信息变成一份属于你、随时可检索的个人知识库。记忆系统的三层架构Odysseus 的记忆系统由三个部分组成各司其职层级模块职责存储层src/memory.py把每条记忆存入本地memory.json文件语义层src/memory_vector.py为记忆建立向量索引支持意思相近的检索服务层services/memory/service.py对外提供remember记住/recall回忆两个核心动作存储层一个透明的本地 JSON 文件所有记忆最终存放在数据目录下的memory.json中。每一条记忆包含text记忆内容例如用户喜欢简洁的中文回答category分类如identity身份、preference(偏好)、contact联系方式、project、goal等timestamp / source / owner时间戳、来源、所属用户uses被实际注入对话的次数热度统计这种纯本地、明文可读的设计很适合自托管用户你的偏好数据只在你自己的机器上随时可以备份或检查。语义层向量索引让换个说法也能找到关键词匹配有个死穴你存了用户养了一只猫叫芝麻但问我的宠物叫什么就查不到。src/memory_vector.py 用向量数据库ChromaDB为每条记忆生成嵌入向量按语义相似度做检索——只要意思相近即使措辞完全不同也能被召回。当向量索引不可用时系统会自动降级到基于关键词重叠的匹配算法src/memory.py 中的get_relevant_memories保证记忆功能永不失联。服务层remember 与 recall 两个动词services/memory/service.py 把整套能力封装成两个极简动作remember(...)→ 存入一条新记忆并同步写入向量索引recall(...)→ 按查询语义返回最相关的前 N 条记忆。上层无论是 AI 工具调用还是网页界面都通过这两个入口操作记忆简单且可插拔src/memory_provider.py 定义了MemoryProvider抽象接口未来可接入外部记忆系统。AI 如何自动学习你的偏好最无感的记忆来源是后台自动提取由 services/memory/memory_extractor.py 实现。每轮对话后悄悄提取值得记住的事实每完成一次 LLM 回复系统会把最近几条消息交给模型做分析提示词要求非常克制只提取跨对话都有用的持久事实姓名、职业、城市、家庭成员、长期项目、强烈偏好明确排除今天问了什么、临时情绪、一次性任务这类噪声每次对话最多提取 2 条宁缺毋滥若与已有记忆重复直接跳过。也就是说你只是在聊天中随口说了一句我是做前端的AI 就会把它沉淀为一条fact类记忆之后所有会话都能用得上。定期整理房间记忆审计记忆多了难免杂乱。系统每新增若干条记忆后会触发一次 LLM 审计curator合并真正重复的条目用户名叫 Sam 用户叫 Sam → 保留一条删除明显无价值的条目关于 AI 说了什么的、空话拿不准的一律保留保持保守绝不误删。此外还有指纹机制memory_tidy_state.json如果自上次整理后记忆没变过就跳过审计避免浪费 LLM 调用。手动记住3 种方式随手存记忆除了自动提取你也可以主动让 AI 记住任何东西行内指令在聊天框直接输入remember: 我习惯用深色模式。src/memory.py 会识别remember / memorize / save / note / store开头的消息把后面的内容存为记忆AI 工具调用当你说记住这件事AI 会自动调用manage_memory工具执行 add / list / edit / delete / search见 src/agent_loop.py 中的工具定义接口与界面HTTP API/api/memory/add等端点routes/memory/memory_routes.py支持程序化管理网页端也有对应的记忆管理界面可以浏览、编辑、删除每一条记忆。记忆如何进入对话上下文记住是第一步用得上才是关键。检索与注入流程大致如下你发出一条新消息系统以消息内容为查询调用记忆检索向量检索优先命中即返回返回 Top-N 条相关记忆其中身份类记忆姓名等享有最高优先级——只要你问我叫什么身份记忆必然在列src/ai_interaction.py命中的记忆以 USER CONTEXT 形式注入本轮对话的系统上下文AI 据此自然应答被真正注入的记忆uses计数 1长期没人用的记忆可以被识别出来。整个流程对用户完全透明——你只是在正常聊天AI 却记得你。隐私与安全你的记忆只属于你作为自托管工具Odysseus 的记忆系统在安全上做了不少细节设计新手也能放心使用用户隔离每条记忆都有owner字段查询接口严格按登录用户过滤routes/memory/memory_routes.py多用户部署时互不可见原子写入保存记忆时先写临时文件再整体替换避免断电或崩溃留下半截文件失败即停fail-closed如果memory.json暂时读取失败系统会拒绝执行写操作并返回 503而不是把记忆库误清空——宁可这次改不了也不能悄悄丢数据去重保护向量层的相似度检测默认阈值 0.92在存入前识别近重复防止同一事实被记多遍。总结Odysseus 的记忆系统用一套很朴素但完整的设计解决了AI 失忆问题️本地 JSON 向量索引数据透明、检索智能后台自动提取 定期审计偏好越聊越懂你remember:指令 / AI 工具 / API三种方式手动补记用户隔离 原子写入 失败即停自托管也能守住隐私底线。如果你正在寻找一个能真正记住你的自托管 AI 助手Odysseus 的记忆系统值得你亲自体验。【免费下载链接】odysseusSelf-hosted AI workspace.项目地址: https://gitcode.com/gh_mirrors/ody/odysseus创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考