☰
会话一关就失忆?这个开源记忆层让 Agent 真正“记得住人“
2026/10/21 20:42:47 网站建设 项目流程

你有没有过这种经历:跟某个 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(关键词)按词匹配,像传统搜索引擎专有名词、精确说法,比如"订单号 A123"
Embedding(向量)按意思找,同义词也能命中"他喜欢啥运动"能捞出"爱踢球"
Hybrid(混合)上面俩结合,默认平衡款大多数情况闭眼选这个
Agentic(智能体)让 AI 自己决定怎么查、怎么排序复杂多步问题,代价高但更准

  • 向量检索(Embedding):把文字变成一串数字,意思接近的文字数字也接近,所以能按"意思"而不是"字"来搜。
  • BM25:老牌关键词算法,就是"这段话里出现了这几个词,所以相关"。

效果到底行不行

吹得再好,得看 benchmark。EverMemOS 在LoCoMo(一个专门考长上下文记忆和推理的基准)上做到了93% 的推理准确率。

  • LoCoMo 是啥:Long-Context Memory 的缩写,给 AI 一堆长对话,然后考它记不记得细节、能不能做单跳 / 多跳推理(比如"他提到的那个朋友家在哪"需要连推两步)。93% 在同类型里算很靠前的数。

底层也不是玩具。它直接用生产级组件:

  • Milvus:专门存向量的数据库(管"意思相近"那种检索)
  • Elasticsearch:全文搜索引擎(管 BM25 关键词)
  • MongoDB:存结构化记忆和元数据
  • Redis:做缓存、管会话

换句话说,真要上生产,这套栈不用你自己拼。

谁适合用

我翻了一圈文档和用例,觉得这几类人会最有感觉:

  1. 做对话助手的开发者:用户偏好、历史话题跨会话保留,回答更一致。
  2. 客服系统:记用户的问题、设备号、处理结果,下次接入自动带上。
  3. 个人 / 团队知识 Agent:把文档、会议、聊天沉淀成可检索的记忆。
  4. 多 Agent 协作:不同 Agent 共用一套记忆,或者按角色隔离。
  5. 做记忆 / 推理研究的人:它自带 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:00+00: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(记忆相关的开源竞赛),分 Agent+Memory、平台插件、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:分别是向量库 / 搜索引擎 / 文档库 / 缓存,都是成熟的生产组件。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询