diff --git a/docs/figure/reme-blog/reme-blog-auto-resource.svg b/docs/figure/reme-blog/reme-blog-auto-resource.svg index dfc22cff..b881f7cd 100644 --- a/docs/figure/reme-blog/reme-blog-auto-resource.svg +++ b/docs/figure/reme-blog/reme-blog-auto-resource.svg @@ -1,51 +1,80 @@ - Auto Resource with Daily Paper - Daily Paper turns external research into searchable, traceable personal memory on a schedule, with more resource workflows to come. + Auto Resource + A general workflow that imports external information, interprets it with traceable sources, and integrates it into a user-owned personal knowledge base. - - + + + + Auto Resource - Turn fresh external knowledge into user-owned memory on a schedule - + Bring external information into a traceable, user-owned knowledge base + Re + Me - - Daily Paper - Select noteworthy new papers every day - - Discover - Hugging Face weekly & monthly charts - - Filter & Read - Deduplicate, rank, select, and read PDFs - - Save to Memory - Paper notes + a five-minute digest - Updated again tomorrow + + + + + External Information + Keep originals as the source of truth - + + Documents · notes · web archives + research · reports · structured data + + md · txt · json · jsonl + csv · yaml · html + + Create · update · delete + Changes remain visible and recoverable + resource/ + Original files remain user-owned - - - - Personal Knowledge Base - PDFs · paper notes · daily digest - Searchable · traceable · interconnected - resource/ → daily/ → digest/ + - - - Future Sources - Financial news - Xueqiu / Weibo - trusted creators - More knowledge - you care about + + + + Auto Resource Ingestion + Parse, interpret, and preserve provenance - - Currently in Beta · more resource workflows are coming + + 1 Parse content and structure + Read text, sections, fields, and metadata + + 2 Interpret reusable information + Extract themes, key facts, and actionable details + + 3 Attach traceable provenance + Link every memory back with source_resource + daily/ + Write readable resource memory + + + + + + + + Knowledge Base + One memory system for every source + + + daily/ + Readable, traceable resource memory + + digest/ + Long-term knowledge via Auto Dream + + metadata/ + Rebuildable index and knowledge graph + Search · link · reuse + External knowledge returns to future tasks + + User files stay authoritative · derived indexes remain rebuildable diff --git a/docs/figure/reme-blog/reme-blog-cover-benchmark.png b/docs/figure/reme-blog/reme-blog-cover-benchmark.png new file mode 100644 index 00000000..b8a8186e Binary files /dev/null and b/docs/figure/reme-blog/reme-blog-cover-benchmark.png differ diff --git a/docs/figure/reme-blog/reme-blog-cover-benchmark.svg b/docs/figure/reme-blog/reme-blog-cover-benchmark.svg new file mode 100644 index 00000000..8745b418 --- /dev/null +++ b/docs/figure/reme-blog/reme-blog-cover-benchmark.svg @@ -0,0 +1,47 @@ + + ReMe Hero and Public Benchmark Results + ReMe self-evolving personal knowledge base hero with LongMemEval 89.4%, BEAM 100K 66.1%, and BEAM 1M 65.0% results. + + + + + + + + + + + + + + + PUBLIC BENCHMARK RESULTS + Agentic scores across multi-session and long-context settings + + + + 89.4% + LongMemEval cleaned-s + 500 questions · cross-session retrieval + + + + 66.1% + BEAM 100K + 20 cases · 400 questions + + + + 65.0% + BEAM 1M + 35 cases · 700 questions + + Scores from different benchmarks are not compared directly + + diff --git a/docs/zh/reme-blog.md b/docs/zh/reme-blog.md index 903dca77..f19e11fa 100644 --- a/docs/zh/reme-blog.md +++ b/docs/zh/reme-blog.md @@ -10,15 +10,14 @@ 这正是 ReMe 想解决的事情。 -> **ReMe 是一个面向 AI Agent 的、自进化的个人知识库。它让对话与资料持续沉淀为可读、可编辑、可检索、相互链接的 Markdown -记忆,并主动发现潜在兴趣。** +> **ReMe 是一个面向 AI Agent 的、local-first 的自进化个人知识库。它让对话与资料持续沉淀为可读、可编辑、可检索、相互链接的 Markdown 记忆,并从中提炼值得继续关注的线索。** 项目地址:[https://github.com/agentscope-ai/ReMe](https://github.com/agentscope-ai/ReMe) 项目文档:[https://docs.agentscope.io/reme](https://docs.agentscope.io/reme)

- ReMe 自进化个人知识库 + ReMe 自进化个人知识库与公开基准结果

## 一个会持续生长的记忆循环 @@ -27,35 +26,23 @@ ReMe 自进化记忆循环

-ReMe 不是另一个聊天机器人,也不试图替代你正在使用的 Agent。它更像一个可以被 QwenPaw、OpenClaw、Hermes、Claude Code 等 Agent -共享的本地记忆层。 +ReMe 不是另一个聊天机器人,也不试图替代你正在使用的 Agent。它更像一个可以被 QwenPaw、OpenClaw、Hermes、Claude Code 等 Agent 共享的本地记忆层。 它围绕一套普通文件,完成四件事: +- Auto Memory 从对话中提炼值得保留的信息; +- Auto Resource 将外部资料整理为可追溯的记忆; +- Auto Dream 把每日记忆进一步整合为长期知识; +- Index、Search 和 Proactive 让旧记忆重新回到新的任务中。 + 这形成了一个 `capture → index → consolidate → recall` 的循环: - 对话和外部资料先被保留下来; - 有价值的信息被整理为每日记忆; - 零散事件进一步合并为长期知识节点; -- 搜索、知识链接和主动兴趣发现,让旧记忆重新回到新的任务中。 +- 搜索、知识链接和兴趣发现,让旧记忆重新参与未来的思考。 -更重要的是,这个循环的中心不是一个用户看不见的黑盒数据库,而是用户自己拥有的 Markdown 文件。索引、图谱和缓存都只是可重建的派生状态。 - -## 再看结果:它真的能从很长的历史里找回信息吗? - -个人知识库可以写出很多漂亮的概念,但最终还是要回答一个朴素的问题:当对话越来越多、跨度越来越长时,Agent 还能不能找到正确的记忆? - -ReMe 在 LongMemEval 和 BEAM 两套长期记忆基准上进行了验证。LongMemEval 关注跨会话信息能否被准确找回和推理;BEAM -则把超长对话切成多批会话,观察上下文规模扩大后,记忆能力是否仍然稳定。 - -| 基准 | 规模或题型 | 样本量 | Agentic 得分 | 主要检验内容与结果 | -|---------------------------|---------------|----------------------:|-------------:|-----------------------------------------------------------| -| **LongMemEval cleaned-s** | **整体** | **500 题** | **89.4%** | **验证跨会话检索、知识更新和时间推理能力** | -| BEAM | 100K 上下文 | 20 cases / 400 题 | 66.1% | 在十类长上下文任务上建立基准表现 | -| **BEAM** | **1M 上下文** | **35 cases / 700 题** | **65.0%** | **上下文扩大到 10 倍后,Agentic 得分仅下降 1.1 个百分点** | - -两套基准的任务、评分器和实验设置不同,分数不能直接横向比较。但结果共同表明,ReMe -能通过外部记忆与多轮搜索,支撑知识更新、多会话推理和长跨度检索,而不需要把全部历史一次性塞进上下文窗口。 +更重要的是,这个循环的中心不是一个用户看不见的黑盒数据库,而是用户自己拥有的文件。索引、图谱和缓存都只是可重建的派生状态。 ## Memory as File:记忆首先是你的文件 @@ -63,13 +50,11 @@ ReMe 在 LongMemEval 和 BEAM 两套长期记忆基准上进行了验证。LongM ReMe Memory as File

-ReMe 的核心设计叫作: **Memory as File, File as Memory。** +ReMe 的核心设计叫作:**Memory as File, File as Memory。** -“Memory as File”意味着,长期记忆不是藏在产品内部,而是落在 workspace 里的 Markdown、JSONL、YAML 和原始资源文件中。你可以用 VS -Code、Typora 或 Obsidian 直接打开,也可以用 Git、网盘或自己的同步方案备份和迁移。 +“Memory as File”意味着,长期记忆不是藏在产品内部,而是落在 workspace 里的 Markdown、JSONL、YAML 和原始资源文件中。你可以用 VS Code、Typora 或 Obsidian 直接打开,也可以用 Git、网盘或自己的同步方案备份和迁移。 -“File as Memory”意味着,每个文件又不只是普通文本。它可以带有 YAML frontmatter、章节结构、行号范围和 -Wikilink,成为一个可索引、可连接、可继续演化的记忆节点。 +“File as Memory”意味着,每个文件又不只是普通文本。它可以带有 YAML frontmatter、章节结构、行号范围和 Wikilink,成为一个可索引、可连接、可继续演化的记忆节点。 例如,一条关于写作偏好的长期记忆可以是: @@ -105,8 +90,7 @@ kind: preference > “这周先不要重构登录模块,客户演示之后再做。上次直接升级依赖导致兼容问题,这次先补回归测试。” -这段话里同时包含了项目状态、时间约束、一次失败经验和后续行动。Auto Memory 会把它从聊天流水中提炼出来,写成当天的一张 daily -记忆卡片;原始对话则继续保存在 `session/dialog/` 中。 +这段话里同时包含了项目状态、时间约束、一次失败经验和后续行动。Auto Memory 会把它从聊天流水中提炼出来,写成当天的一张 daily 记忆卡片;原始对话则继续保存在 `session/dialog/` 中。 ```text session/dialog/project-a.jsonl 原始对话,负责可信 @@ -118,18 +102,38 @@ daily/2026-08-07.md 当天索引,负责总览 它像一位一直在场的记录者,但不是机械地抄写逐字稿,而是把“以后还会用到什么”整理出来。 +## Auto Resource:让外部资料进入同一套记忆系统 + +

+ ReMe Auto Resource 将外部资料整理为可追溯的个人记忆 +

+ +并不是所有有价值的信息都来自对话。研究资料、项目文档、会议纪要、网页存档和结构化数据,同样可能成为个人知识库的一部分。 + +Auto Resource 提供了一条更通用的外部资料入口。资料进入 `resource/` 后,ReMe 保留原文,再把主题、关键事实和可行动信息整理为带有 `source_resource` 链接的 daily 卡片。当前可以处理 Markdown、纯文本、JSON、JSONL、CSV、YAML 和 HTML 等文本类资料。 + +这意味着,Auto Memory 负责从对话建立个人知识,Auto Resource 负责从非对话资料建立个人知识。两条输入最终进入同一个 daily 记忆层,再由 ReMe 统一索引、整合和检索。 + +### Daily Paper:外部资料工作流的一个例子 + +Daily Paper 是建立在这套文件化记忆之上的可选 Cookbook。它会从 Hugging Face Papers 的周榜和月榜收集论文,去除近期已经推荐过的内容,排序后精选三篇,保存 PDF,并生成中文论文笔记与一份约五分钟可读完的简报。 + +想象一下,你持续关注 Agent Memory:每天早上收到的不只是三个论文链接,而是三篇已经保存到本地的详细笔记。简报通过 Wikilink 指向原始笔记,原始笔记又能回到 PDF。一个月后再问“最近有哪些方法在做长期记忆压缩”,这些材料已经进入同一套检索系统,不需要重新从浏览器历史里寻找。 + +Daily Paper 展示了 Auto Resource 可以怎样被组合成具体工作流,但外部资料入口并不局限于论文。 + ## Auto Dream:让日记长成相互连接的长期知识

- ReMe Auto Dream 从 Daily 抽取、分类并整合长期知识,同时写入 Wikilink + ReMe Auto Dream 从 daily 抽取、分类并整合长期知识,同时写入 Wikilink

日记多了,新的问题也会出现:信息虽然都在,却仍然散落在不同日期里。 -假设你先后聊过三次同一个问题: +假设你先后从对话和外部资料中得到三条关于同一个问题的信息: - 第一次排查构建卡死,清缓存无效; -- 第二次发现根因是 Node 内存不足; +- 第二次在项目文档中确认根因是 Node 内存不足; - 第三次又补充了大型 TypeScript 项目下更容易触发这个问题。 Auto Dream 会一起扫描发生变化的 daily 文件,合并表达同一抽象的证据,只保留值得复用的记忆单元,再按内容写入三类长期记忆: @@ -138,7 +142,7 @@ Auto Dream 会一起扫描发生变化的 daily 文件,合并表达同一抽 - `Procedure`:可以再次执行的流程、方法和排查手册; - `Wiki`:通用的定义、原则、观察和知识。 -例如,上面的三次对话会被整理为 `digest/procedure/前端构建卡死排查.md`,包含触发条件、排查顺序、无效尝试、解决方法和适用边界,而不是三篇日记的简单拼接。 +例如,上面的信息会被整理为 `digest/procedure/前端构建卡死排查.md`,包含触发条件、排查顺序、无效尝试、解决方法和适用边界,而不是几篇日记的简单拼接。 整合每个记忆单元时,Auto Dream 会先跨 `personal`、`procedure` 和 `wiki` 搜索已有节点,区分“同一抽象”和“相关知识”。同一抽象决定如何演化目标节点: @@ -160,31 +164,13 @@ Auto Dream 会一起扫描发生变化的 daily 文件,合并表达同一抽 知识的演化与链接发生在同一条流程里。关系不是藏在图数据库里的不可见边,而是正文中可读、可改的内容;文件可以重建图,图不会反过来绑架文件。 -## Auto Resource:持续吸收外部资料 - -

- ReMe Auto Resource 当前包含 Daily Paper,未来将扩展到金融新闻和雪球、微博等更多外部来源 -

- -Auto Resource 让外部信息不断进入用户自己拥有的知识库,成为可以回查、检索和复用的材料。目前它处于 Beta,只包含 Daily -Paper。未来还会持续加入更多资源工作流,例如用户感兴趣的金融新闻、雪球或微博大 V 的公开内容等,让个人知识库被持续关注的外部知识不断丰富。这些目前仍是扩展方向,并非已经上线的能力。 - -### Daily Paper:每天把论文推荐变成可检索的阅读记忆 - -Daily Paper 会从 Hugging Face 周榜和月榜收集论文,去除近期已经推荐过的内容,再进行排序、精选和 PDF -解读,生成中文论文笔记与一份约五分钟可读完的简报。 - -想象一下,你持续关注 Agent Memory:每天早上收到的不只是五个论文链接,而是五篇已经保存到本地的详细笔记。简报通过 Wikilink -指向原始笔记,原始笔记又能回到 PDF。一个月后再问“最近有哪些方法在做长期记忆压缩”,这些材料已经进入同一套检索系统,不需要重新从浏览器历史里寻找。 - ## Memory Index:普通文件,如何变成可搜索的记忆网络?

ReMe Memory Index 构建过程

-Markdown 适合人读,但如果只是把文件堆进目录,Agent 仍然很难快速找到它们。ReMe 会持续监听 `daily/`、`digest/` 和 `resource/` -,将新增、修改和删除同步到可重建的索引中。 +Markdown 适合人读,但如果只是把文件堆进目录,Agent 仍然很难快速找到它们。ReMe 会持续监听 `daily/`、`digest/` 和 `resource/`,将新增、修改和删除同步到可重建的索引中。 一份 Markdown 会被解析为: @@ -194,14 +180,13 @@ Markdown 适合人读,但如果只是把文件堆进目录,Agent 仍然很 在检索侧,ReMe 可以组合三类信号: -| 检索信号 | 解决的问题 | 例子 | -|----------------|------------------------------------|------------------------------------| -| BM25 关键词 | 精确名称、术语和编号不能丢 | “宁德时代”“issue #184” | -| Embedding 向量 | 用户换了一种说法,也要理解语义接近 | “构建卡死”与“打包阶段没有响应” | -| Wikilink 图谱 | 命中一个节点后,看到它的上下游关系 | 从“钴”找到“三元正极”和相关调研记录 | +| 检索信号 | 解决的问题 | 例子 | +|---|---|---| +| BM25 关键词 | 精确名称、术语和编号不能丢 | “宁德时代”“issue #184” | +| Embedding 向量 | 用户换了一种说法,也要理解语义接近 | “构建卡死”与“打包阶段没有响应” | +| Wikilink 图谱 | 命中一个节点后,看到它的上下游关系 | 从“钴”找到“三元正极”和相关调研记录 | -默认配置开箱启用 BM25 与 Wikilink 展开,Embedding 是可选能力,开启后才会参与向量召回。索引、图谱和缓存都写在 `metadata/` -,即使删除也可以根据用户的源文件重新构建。 +默认配置开箱启用 BM25 与 Wikilink 展开,Embedding 是可选能力,开启后才会参与向量召回。索引、图谱和缓存都写在 `metadata/`,即使删除也可以根据用户的源文件重新构建。 ## Memory Search:先找到答案,再沿着关系渐进展开 @@ -209,11 +194,9 @@ Markdown 适合人读,但如果只是把文件堆进目录,Agent 仍然很 ReMe 混合搜索与渐进式展开

-很多 RAG 系统会一次性把 Top-K 文本全部塞进上下文。这样做简单,却容易带来两个问题:孤立切片缺少上下文,而把邻居正文全部展开又会迅速消耗 -token。 +很多 RAG 系统会一次性把 Top-K 文本全部塞进上下文。这样做简单,却容易带来两个问题:孤立切片缺少上下文,而把邻居正文全部展开又会迅速消耗 token。 -ReMe 的混合搜索先让 BM25 与可选的向量检索各自召回候选,再使用 RRF 按排名融合。RRF 不强行比较 BM25 -分数与余弦相似度这两种不同量纲,而是综合一个结果在两张榜单中的位置。 +ReMe 的混合搜索先让 BM25 与可选的向量检索各自召回候选,再使用 RRF 按排名融合。RRF 不强行比较 BM25 分数与余弦相似度这两种不同量纲,而是综合一个结果在两张榜单中的位置。 召回之后,信息按三层渐进式展开: @@ -240,7 +223,7 @@ Agent 不需要把 Alice 的全部档案、所有读书笔记和整个月的日 到这里,ReMe 已经有了两条不断丰富知识库的输入流: - Auto Memory 从持续发生的对话中沉淀个人上下文; -- Auto Resource 通过 Daily Paper 从外部资料中补充新的知识,未来还会支持更多资源工作流。 +- Auto Resource 从外部资料中补充新的知识。 Proactive 则把方向反过来:它从已经积累的对话和资料中,发现你仍未解决或可能希望继续推进的主题,以及你尚未关注,但却与你近期工作紧密相关的信息。从而反哺输入流,为外部知识的补充指明新的路径。 @@ -264,18 +247,36 @@ keywords: 在未来的beta版本中,上层 Agent将会 通过 Proactive 读取这个主题后,可以选择在合适的时机追问:“要不要把最近讨论过的检索问题整理成一份评测方案?”也可以据此启动一个经过用户授权的资料收集流程。不需要用户思考并显示指定自己的兴趣关键词与范围,与会话中潜在体现需求相关的外部资料也会源源不断进入知识库。 -这里有一个重要边界: **ReMe 的 Proactive 本身只读取并暴露兴趣主题,不会擅自联网、推送或改写知识库。** 是否提醒、何时提醒、是否继续收集资料,由上层 -Agent 和产品策略决定。 +这里有一个重要边界:**ReMe 的 Proactive 本身只读取并暴露兴趣主题,不会擅自联网、推送或改写知识库。** 它不是凭空猜测你的兴趣,而是让那些已经出现在行为和对话中、却还没有被明确表达的线索浮出水面。 -它不是凭空猜测你的需要,而是让那些已经出现在行为和对话中、却还没有被明确表达的线索浮出水面。 +## Performance:它真的能从很长的历史里找回信息吗? + + +ReMe 使用 LongMemEval 和 BEAM 验证多会话与超长对话中的记忆能力。评测时,Agent 可以用 ReAct 方式进行多轮搜索和读取,生成答案后再由 LLM-as-judge 评分。 + +| 基准 | 设置 | 样本量 | Agentic 得分 | 主要检验内容 | +|---|---|---:|---:|---| +| **LongMemEval cleaned-s** | **整体** | **500 题** | **89.4%** | 跨会话检索、知识更新与时间推理 | +| BEAM | 100K 上下文 | 20 cases / 400 题 | 66.1% | 十类长上下文记忆任务 | +| BEAM | 1M 上下文 | 35 cases / 700 题 | 65.0% | 更大规模的超长对话设置 | + +LongMemEval cleaned-s 包含单会话事实、偏好、多会话推理、知识更新和时间推理等题型。ReMe 在 500 道问题上取得 89.4% 的整体 Agentic 得分。完整流程和分项结果见 [LongMemEval 评测说明](../../benchmark/longmemeval/README_ZH.md)。 + +BEAM 覆盖矛盾消解、事件排序、信息抽取、知识更新、多会话推理、偏好遵循、摘要和时间推理等十类任务。ReMe 在 100K 设置下的 20 cases / 400 题上取得 66.1%,在 1M 设置下的 35 cases / 700 题上取得 65.0%。完整设置见 [BEAM 评测说明](../../benchmark/beam/README_ZH.md)。 ## ReMe 能帮谁? -如果你是 **智能体用户**,ReMe 可以让个人助理不再每次都从零认识你。你的偏好、项目背景、重要资料和过去做过的决定,会在持续对话中沉淀下来,并在真正相关的时候被重新找到。更重要的是,这些记忆不是藏在平台账号里的黑盒数据,而是你可以直接查看、修改、移动和删除的 Markdown 文件。 +### 直接使用 Agent 的人 -如果你是 **Agent 或 Harness 开发者**,ReMe 提供了一层可以独立接入的长期记忆基础设施。你可以通过 CLI、HTTP API、MCP Server 或 SDK,让不同 Agent 共享同一个文件化 workspace,而不必为每个应用重新实现记忆抽取、知识整理、混合检索和关系展开。文件是事实来源,索引与缓存可以随时重建,也更容易定位一次错误召回究竟来自原始资料、记忆整理还是检索链路。 +如果你希望 AI 在长期协作中持续了解你,ReMe 可以让个人助理不再每次都从零开始。你的偏好、项目背景、重要资料和过去做过的决定,会在持续对话中沉淀下来,并在真正相关的时候被重新找到。 -如果你是 **研究者、工程师、分析师或重度知识工作者**,ReMe 可以把散落在对话、论文、网页和项目资料中的信息逐步变成个人知识网络。例如,研究者可以每天接收相关论文并连接到已有笔记;工程师可以保留跨项目复用的排障经验;分析师可以持续积累事件、观点与来源,在下一次判断时沿着链接找回依据。 +研究者、工程师、分析师和其他知识工作者都属于这一类直接用户。研究者可以让论文、讨论和阅读笔记彼此连接;工程师可以保留项目决定与跨会话排障经验;分析师可以持续积累事件、观点与来源。职业不同,共同需求都是让 AI 能够理解过去、积累经验,并在下一次任务中找回依据。 + +### 构建 Agent 的开发者 + +如果你正在构建 Agent、Harness 或 AI 产品,ReMe 提供了一层可以独立接入的长期记忆基础设施。你可以通过 CLI、HTTP API、MCP Server 或 SDK,让不同 Agent 共享同一个文件化 workspace,而不必为每个应用重新实现记忆抽取、知识整理、混合检索和关系展开。 + +文件是事实来源,索引与缓存可以随时重建,也更容易定位一次错误召回究竟来自原始资料、记忆整理还是检索链路。 归根结底,ReMe 适合那些希望 AI 不只“回答这一次”,还能够理解过去、积累经验,并在长期协作中越来越贴近自己的用户和开发者。我们希望 Agent 越用越懂你,但“懂”不应该建立在一个无法查看、无法修正、无法带走的黑盒上。 @@ -292,7 +293,7 @@ ReMe 给出的答案很朴素: 它会在每一次对话后多记住一点,在每一份资料到来后多理解一点,在夜晚把零散经验重新整理,在未来的某个问题出现时,再沿着知识之间的联系,把真正需要的那段记忆带回来。 -这就是 ReMe 想做的事: **让记忆不只被保存,也能持续进化。** +这就是 ReMe 想做的事:**让记忆不只被保存,也能持续进化。** ## 欢迎贡献 @@ -306,10 +307,5 @@ ReMe 已经开源,我们也欢迎社区一起把这套自进化记忆系统做 无论是一段代码、一份使用案例、一次问题反馈,还是一个新的记忆工作流,都可能帮助 ReMe 更接近真正可读、可控、可持续进化的个人知识库。 -项目地址:[https://github.com/agentscope-ai/ReMe](https://github.com/agentscope-ai/ReMe) -项目文档:[https://docs.agentscope.io/reme](https://docs.agentscope.io/reme) - -

- ReMe -

+贡献指南:[https://docs.agentscope.io/reme/latest/en/contribution](https://docs.agentscope.io/reme/latest/en/contribution)