
你有没有过这种经历跟某个 AI 助手聊得挺好关掉对话框再打开它又跟你像陌生人一样问有什么可以帮你。你上次说你喜欢喝美式、你孩子在学钢琴、这周五项目要上线——它全忘了。这不是模型笨是它默认只有当前这一轮对话的脑子。想让它跨会话记得你得自己额外接一套记忆系统。我最近翻到一个开源项目EverMemOS现在改名叫 EverOS 了后面会讲思路挺清楚它不跟某个大模型绑死而是独立做一个记忆操作系统对话来了抽记忆、要用了再查出来喂给模型。我把它核心的东西捋了一遍讲给同样想给 Agent 加长期记忆的朋友。几个词先说明白后面不反复解释 -Agent智能体能自己调工具、跑流程完成任务的 AI 程序不是单纯聊天框。 -中间件夹在两个系统中间、负责转手的那层组件。 -RAG检索增强生成先搜相关资料、再把资料喂给模型回答减少胡说。它到底是啥一句话EverMemOS 是夹在你的对话 / Agent和大模型中间的一层记忆中间件。打个比方大模型像个临时工每次来上班都不认识你EverMemOS 就是前台那本登记簿把每个访客的喜好、历史都记下来临时工上岗前先翻一翻。它想解决的就是一句话——让 Agent 跨会话、跨平台、还能推理地记住东西而不是聊完就忘。记忆是怎么存进去、又怎么取出来的EverMemOS 把整套流程拆成三段。名字挺学术其实不难懂1. Encoding编码 / 抽取你发一条消息它调大模型把里面有价值的信息抠出来发生了啥事、你知道的某条事实、你的偏好、你跟谁啥关系。2. Consolidation巩固 / 整理抠出来的记忆不会直接堆着。它会按情节和用户 / 实体画像归拢重复的合并、新的补上慢慢长成一张长期记忆网。就像你不会把聊天记录全塞一个文件夹而是整理成他的喜好你们的共同朋友。3. Retrieval检索 / 取用下次要回答你时它按你的问题去翻记忆库把相关的几条捞出来拼进提示词prompt再问大模型。所以模型看起来记得你其实是 EverMemOS 在背后递小纸条。它到底记得哪些东西不是所有记忆都一个样。EverMemOS 分了四类各管各的类型记的是什么生活里的例子Episodes情节什么时候、在哪、发生了啥上周三你说要去上海出差Facts事实一条条客观信息你老家是成都Preferences偏好你喜欢 / 讨厌什么不喝奶茶爱喝美式Relations关系你跟谁、什么关系你是张三的项目搭档这四类合起来比单纯存聊天原文强在哪原文是死的分类后的记忆能被精准检索、能被推理。比如你问我下周去上海要不要带伞它需要的是你下周去上海情节 外部天气而不是去翻三周前的整段聊天。想找的时候怎么找存进去容易找得准才难。EverMemOS 给了四种检索方式按场景挑方式怎么找适合啥BM25关键词按词匹配像传统搜索引擎专有名词、精确说法比如订单号 A123Embedding向量按意思找同义词也能命中他喜欢啥运动能捞出爱踢球Hybrid混合上面俩结合默认平衡款大多数情况闭眼选这个Agentic智能体让 AI 自己决定怎么查、怎么排序复杂多步问题代价高但更准向量检索Embedding把文字变成一串数字意思接近的文字数字也接近所以能按意思而不是字来搜。BM25老牌关键词算法就是这段话里出现了这几个词所以相关。效果到底行不行吹得再好得看 benchmark。EverMemOS 在LoCoMo一个专门考长上下文记忆和推理的基准上做到了93% 的推理准确率。LoCoMo 是啥Long-Context Memory 的缩写给 AI 一堆长对话然后考它记不记得细节、能不能做单跳 / 多跳推理比如他提到的那个朋友家在哪需要连推两步。93% 在同类型里算很靠前的数。底层也不是玩具。它直接用生产级组件Milvus专门存向量的数据库管意思相近那种检索Elasticsearch全文搜索引擎管 BM25 关键词MongoDB存结构化记忆和元数据Redis做缓存、管会话换句话说真要上生产这套栈不用你自己拼。谁适合用我翻了一圈文档和用例觉得这几类人会最有感觉做对话助手的开发者用户偏好、历史话题跨会话保留回答更一致。客服系统记用户的问题、设备号、处理结果下次接入自动带上。个人 / 团队知识 Agent把文档、会议、聊天沉淀成可检索的记忆。多 Agent 协作不同 Agent 共用一套记忆或者按角色隔离。做记忆 / 推理研究的人它自带 LoCoMo、LongMemEval、PersonaMem 这些基准的复现脚本。上手跑一下环境要求Python 3.10、Docker 20.10、uv一个比 pip 快的 Python 包管理器、大概 4GB 内存。# 1. 克隆并进入目录 git clone https://github.com/EverMind-AI/EverMemOS.git cd EverMemOS # 2. 启动依赖MongoDB、Elasticsearch、Milvus、Redis docker compose up -d # 3. 装 uv 和依赖 curl -LsSf https://astral.sh/uv/install.sh | sh uv sync # 4. 配置 API Key cp env.template .env # 编辑 .env填 LLM_API_KEY抽取用和 VECTORIZE_API_KEY向量化 / 重排 # 5. 启动服务 uv run python src/run.py # 6. 健康检查 curl http://localhost:1995/health # 返回 {status: healthy, ...} 就说明起来了服务跑在http://localhost:1995。写一条记忆、再查出来核心 API 就这两个import requests API_BASE http://localhost:1995/api/v1 # 写入一条对话消息系统会自动抽取并入库 requests.post(f{API_BASE}/memories, json{ message_id: msg_001, create_time: 2025-02-01T10:00:0000:00, sender: user_001, content: I love playing soccer on weekends })# 按问题检索相关记忆 response requests.get(f{API_BASE}/memories/search, json{ query: What sports does the user like?, user_id: user_001, memory_types: [episodic_memory], retrieve_method: hybrid # bm25 / embedding / hybrid / agentic 选一个 }) result response.json().get(result, {}) for memory_group in result.get(memories, []): print(memory_group)项目结构 配置略讲src/服务入口和编码 / 巩固 / 检索逻辑docs/配置、API、架构说明evaluation/各基准评估脚本docker-compose.yaml一键起那四个依赖配置主要两处.env填 key和config.json端口、连接、检索默认参数。另外 EverMind-AI 还在办Memory Genesis Competition 2026记忆相关的开源竞赛分 AgentMemory、平台插件、OS 基础设施几个赛道想参与的可以去 Discord 组队。改名后记重要写这篇时我去仓库确认了一下原项目EverMemOS 已经更名为 EverOS现在地址是github.com/EverMind-AI/EverOS最新版本v1.4.1。上面代码里的 clone 地址和 API 细节是按我当时看到的材料v1.2.0写的大方向没变但真要上手建议直接去新仓库看最新文档避免按旧名找不到。名词速查表LLM大语言模型ChatGPT、Claude 那种能理解和生成文字的 AI。Agent智能体能自己调工具、跑流程完成任务的 AI 程序。RAG检索增强生成先搜相关资料、再把资料喂给模型回答减少胡说。向量 / Embedding把文字转成一串数字意思近的数字也近方便按语义搜。BM25经典关键词搜索算法按词出现算相关度。LoCoMo长上下文记忆基准考 AI 记不记得之前聊过啥、能不能推理。Milvus / Elasticsearch / MongoDB / Redis分别是向量库 / 搜索引擎 / 文档库 / 缓存都是成熟的生产组件。