EverOS:开源Markdown优先智能体记忆运行时,支持混合检索与自进化技能
阅读原文· marktechpost.comEverOS把Agent记忆从沉重的向量数据库堆栈中解放出来,Markdown源真和自进化技能让本地开发更轻便,但基准全由团队自报,上手前最好自己测一下。
EverMind 推出开源智能体记忆运行时 EverOS(Apache 2.0 许可)。它以可编辑的 Markdown 文件为记忆主体,经 SQLite 管理状态、LanceDB 实现混合检索(BM25 关键词 + 向量搜索 + 标量过滤)。每个完成的任务记录为 Case,离线提炼为可复用的 Skill,使记忆随使用自我进化。v1.1.0 新增 Knowledge APIs(支持分类与话题搜索的 Markdown 页面)和 Reflection(跨会话优化 Profile 和 Skill)。据 EverMind 报告,LoCoMo 得分 93.05%,LongMemEval 83.00%,HaluMem 93.04%,p95 检索延迟低于 500ms。运行时可本地优先部署,也提供 EverOS Cloud 托管选项,兼容 OpenAI 协议端点。
EverMind 发布了 EverOS,这是一个面向 AI 智能体的开源记忆运行时,采用 Apache 2.0 许可协议发布。它针对智能体构建者早期遇到的一个问题:大语言模型是无状态的。对话结束后,上下文就消失了。
EverOS 提出了一种不同的底层方案。它不是将记忆锁定在向量数据库中,而是将记忆以纯 Markdown 文件的形式写入。这些文件成为智能体跨会话读取、编辑和搜索的真实数据源。
摘要
- EverOS 将智能体记忆存储为可编辑的 Markdown 文件,并由 SQLite 和 LanceDB 建立索引。
- 混合检索将 BM25、向量搜索和标量过滤融合在单次查询中。
- 案例被提炼为可复用的技能,为智能体提供程序化、自进化的记忆能力。
- 基准测试得分很强,但由 EverMind 自行报告;请在自己的工作负载上验证。
- 它采用 Apache 2.0 开源,云端和自部署版本功能对等。
什么是 EverOS?
EverOS 是一个 Python 库和优先本地化的记忆运行时。它作为服务器运行,配备 CLI 和 FastAPI HTTP API,全程异步优先。你可以将其嵌入现有的智能体工作循环,而无需重建技术栈。
设计将记忆分为两条轨道。用户端记忆包含档案(Profiles)、片段(Episodes)、事实(Facts)和前瞻(Foresights)。智能体端记忆包含案例(Cases)和技能(Skills)。将两者分开的做法并不常见;大多数库只围绕聊天历史。
每条记录都以 .md 文件形式存储。你可以直接打开、编辑、用 grep 搜索、用 Git 管理版本,或在 Obsidian 中查看。独立的无状态库 EverAlgo 负责提取算法,而 EverOS 负责编排并持久化结果。
端点栈兼容 OpenAI 协议。只需更改 base URL,即可连接到 OpenAI、OpenRouter、vLLM、Ollama 或 DeepInfra。这使得集成只需一次配置变更。
运行时默认优先本地化。数据无需离开你的环境,且每一层都可检视。对于不想自部署的团队,可选托管版 EverOS Cloud。两者共享相同的 SDK、检索引擎和记忆格式。
架构——Markdown、SQLite 和 LanceDB
EverOS 采用三层存储栈。Markdown 是真实数据源。SQLite 管理状态与队列。LanceDB 管理向量、BM25 和标量过滤器。
这种设计故意比典型的生产级内存设置更轻量。不需要 MongoDB、Elasticsearch、Milvus、Redis 或 Kafka。对于独立开发者和小型团队来说,这降低了运营成本。
检索采用混合方式。单一的 LanceDB 查询同时结合了 BM25 关键词匹配、密集向量搜索和标量过滤。EverMind 将这种多模态检索路径称为 mRAG。
级联索引同步机制保持文件和索引的一致性。编辑 .md 文件会触发文件监视器,从而重新同步索引。内存保持可检查状态,且不会过时。
检索在标识符层面上也是正交的。你可以按 user_id、agent_id、app_id、project_id 和 session_id 来限定搜索范围。这种范围限定在多智能体和多用户部署场景中非常重要,因为这类场景需要数据隔离。
记忆如何自我进化——案例变为技能
一个显著特点是程序性记忆。EverOS 将每个完成的智能体任务记录为一个案例。重复出现的成功模式会在离线状态下被蒸馏成可复用的技能。
这就是所谓“自我进化”的直白表述。技能在智能体团队之间共享,无需人工整理,也不用硬编码。其目标是让智能体随着使用而不断改进,而不是每次会话都从头开始。
1.1.0 版本增加了更多的生命周期机制。它引入了知识 API,用于支持带分类和主题搜索的、基于来源的 Markdown 页面。还增加了反思(Reflection)功能,这是一个离线过程,用于合并会话片段,并在会话之间完善用户画像和技能。
记忆模型很简单。情景性记忆回答“发生了什么”,用户画像记忆回答“这个用户是谁”,程序性记忆回答“这个任务是怎么完成的”。
基准测试
EverMind 团队报告在 LoCoMo 上达到 93.05%,在 LongMemEval 上达到 83.00%,在 HaluMem 上达到 93.04%。同时还提及 p95 检索延迟低于 500 毫秒。LoCoMo 和 LongMemEval 衡量长期对话记忆能力,HaluMem 则针对记忆幻觉进行评估。这些数据来自 EverMind 发布的内容。
下表将 EverOS 与常见的替代方案在具体设计维度上进行了对比:
| 维度 | EverOS | 朴素 RAG | 完整上下文窗口 | 其他记忆库 |
|---|---|---|---|---|
| 真实来源 | 纯 Markdown .md 文件 | 向量数据库记录 | 仅提示词 | API 或数据库状态 |
| 本地技术栈 | Markdown + SQLite + LanceDB | 向量数据库 + 应用代码 | 无 | 通常为托管服务 |
| 检索 | 混合 BM25 + 向量 + 标量 | 仅稠密向量 | 无(无检索) | 视情况而定 |
| 程序性记忆 | 案例被提炼为技能 | 无 | 无 | 罕见 |
| 多模态摄入 | 单次调用支持 PDF、图片、Office 文档、URL | 手动流水线 | 仅通过上下文 | 部分 |
| LoCoMo 准确率 | 93.05%(EverMind 公布) | — | 不适用(上下文窗口限制) | 视情况而定 |
| 许可证 | Apache 2.0 | 视情况而定 | 不适用 | 各有不同 / 专有 |
使用案例与实际示例
该库提供了与各类工作集成的链接。它们展示了持久性内存在真实产品中的能力。
Hive Orchestrator 是一个浏览器原生的蜂群式思维工具,专为 CLI 编码智能体设计。Claude Code、Codex、Gemini 和 OpenCode 通过共享团队协议以真实 PTY 进程的形式协作。
Reunite 利用语义记忆进行公共价值搜索。家长描述他们记得什么,孩子描述他们回忆起什么,系统则呈现其中的关联。
其他示例涵盖医疗保健和硬件领域。其中包括一个阿尔茨海默病记忆辅助工具和一个 AI 可穿戴设备。该可穿戴设备监听日常生活并将其转化为记忆。一个具备自我进化记忆的学习伙伴也在示例之中。更广泛的生态系统还增加了一个 Claude Code 插件和一个基于 MCP 的记忆层,用于编码辅助工具。
五分钟代码实践
安装使用标准 Python 工具链。EverOS 需要 Python 3.12 或更高版本。本地演示无需 API 密钥。
# Requires Python 3.12+
uv pip install everos # or: pip install everos
everos demo # local educational visualizer, no keys
everos init # paste OpenRouter + DeepInfra keys into .env
everos server start # starts the FastAPI server
curl http://127.0.0.1:8000/health # -> {"status":"ok"}添加和搜索记忆都是纯 HTTP 调用。下面的示例存储一条事实,强制提取,然后检索出来。
# 1) Add a short conversation
curl -X POST http://127.0.0.1:8000/api/v1/memory/add \
-H 'Content-Type: application/json' \
-d '{"session_id":"demo-001","app_id":"default","project_id":"default",
"messages":[{"sender_id":"alice","role":"user","timestamp":1750000000000,
"content":"I love climbing in Yosemite every spring."}]}'
# 2) Flush to force extraction (local demo)
curl -X POST http://127.0.0.1:8000/api/v1/memory/flush \
-H 'Content-Type: application/json' \
-d '{"session_id":"demo-001","app_id":"default","project_id":"default"}'
# 3) Search it back
curl -X POST http://127.0.0.1:8000/api/v1/memory/search \
-H 'Content-Type: application/json' \
-d '{"user_id":"alice","app_id":"default","project_id":"default",
"query":"Where do I like to climb?","top_k":5}'多模态摄入是一个可选功能。安装 everos[multimodal] 可增加对图片、PDF 和音频的解析支持。Office 文档额外需要 LibreOffice,它会先将文件转换为 PDF 再进行解析。
试试看:交互式记忆演示
下面的嵌入式演示会在你的浏览器中模拟 EverOS 循环。添加一段文本,观察它被提取并打上标签,然后通过混合检索找回它。该演示仅供示意,不连接真实服务器。