<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Architecture on LYon's Blog</title><link>https://yindongliang.com/tags/Architecture/</link><description>Recent content in Architecture on LYon's Blog</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Wed, 19 Aug 2026 04:49:26 +0000</lastBuildDate><atom:link href="https://yindongliang.com/tags/Architecture/index.xml" rel="self" type="application/rss+xml"/><item><title>memory-core 记忆方案与 Mem0 调研沉淀</title><link>https://yindongliang.com/posts/memory-core-mem0-research-synthesis/</link><pubDate>Wed, 19 Aug 2026 00:00:00 +0000</pubDate><guid>https://yindongliang.com/posts/memory-core-mem0-research-synthesis/</guid><description>&lt;blockquote class='book-hint '>
&lt;p>脱敏说明：本记录只保留架构与方案级信息，不包含真实数据库连接、密钥、内部地址、租户/用户原始标识、日志片段等敏感数据。&lt;/p>&lt;/blockquote>&lt;h2 id="先给结论">先给结论&lt;a class="anchor" href="#%e5%85%88%e7%bb%99%e7%bb%93%e8%ae%ba">#&lt;/a>&lt;/h2>
&lt;ul>
&lt;li>memory-core 的记忆能力在仓库里已经有较完整的产品级与实现级沉淀，核心是“按需读取 + 后处理写入”的长程记忆闭环。记忆并不替代上下文窗口，而是提供可治理的线程化长期事实。&lt;/li>
&lt;li>请求层的记忆语义已较完整定义：&lt;code>memory.read&lt;/code>/&lt;code>memory.write&lt;/code>/&lt;code>tenant_search&lt;/code>/&lt;code>enabled&lt;/code> 组合可控，可独立读写。&lt;/li>
&lt;li>memory-core 的实现思路已沉淀为：事实抽取（LLM）→ 嵌入（向量化）→ 检索（语义 + 关键词）→ 回放到模型上下文 → 后置写回。&lt;/li>
&lt;li>mem0 方向不是“引用库”而是“规则目标”，关键价值在于你对比了“如何比 Mem0 更聪明更完整”：只从最新一轮抽取、强调原子事实、时间线归并与状态更新。&lt;/li>
&lt;li>当前仓库未发现对 mem0 的外部官方对比文档、性能指标或 POC 结果的直观证据表，尚有一处空缺：缺少可复现实验对比（latency、召回率、成本、误召回率）。&lt;/li>
&lt;/ul>
&lt;h2 id="一已有沉淀memory-core-的产品级记忆方案">一、已有沉淀：memory-core 的产品级记忆方案&lt;a class="anchor" href="#%e4%b8%80%e5%b7%b2%e6%9c%89%e6%b2%89%e6%b7%80memory-core-%e7%9a%84%e4%ba%a7%e5%93%81%e7%ba%a7%e8%ae%b0%e5%bf%86%e6%96%b9%e6%a1%88">#&lt;/a>&lt;/h2>
&lt;h3 id="1-记忆职责定位">1. 记忆职责定位&lt;a class="anchor" href="#1-%e8%ae%b0%e5%bf%86%e8%81%8c%e8%b4%a3%e5%ae%9a%e4%bd%8d">#&lt;/a>&lt;/h3>
&lt;ul>
&lt;li>定位为 Long-term Memory Service，提供 &lt;code>Add&lt;/code> 写入和 &lt;code>Search&lt;/code> 检索，不试图保存全量对话。&lt;/li>
&lt;li>与 Agent 生命周期集成：在请求链路中作为“线程化长期记忆”补齐跨轮上下文。&lt;/li>
&lt;li>与 Volume 并列为状态能力：记忆提供语义检索，Volume 提供文件态持久化。&lt;/li>
&lt;/ul>
&lt;h3 id="2-与-agent-运行时的集成">2. 与 Agent 运行时的集成&lt;a class="anchor" href="#2-%e4%b8%8e-agent-%e8%bf%90%e8%a1%8c%e6%97%b6%e7%9a%84%e9%9b%86%e6%88%90">#&lt;/a>&lt;/h3>
&lt;ul>
&lt;li>&lt;code>memory.read&lt;/code> 在首个模型决策前做 thread-scoped prefetch，作用域默认是当前线程。&lt;/li>
&lt;li>预取结果通过 &lt;code>memory context&lt;/code> 注入 Prompt，模型在运行中可再用 &lt;code>memory_search&lt;/code> tool 做后续查询。&lt;/li>
&lt;li>&lt;code>memory.write&lt;/code> 在最终回答后触发，属于确定性收尾步骤，不作为模型决策类型。&lt;/li>
&lt;li>读写可分离：可只回忆不写入，也可只写入不预取。&lt;/li>
&lt;/ul>
&lt;h3 id="3-作用域与线程语义">3. 作用域与线程语义&lt;a class="anchor" href="#3-%e4%bd%9c%e7%94%a8%e5%9f%9f%e4%b8%8e%e7%ba%bf%e7%a8%8b%e8%af%ad%e4%b9%89">#&lt;/a>&lt;/h3>
&lt;ul>
&lt;li>默认 thread 作用域，依赖 &lt;code>previous_response_id&lt;/code> 进行线程锚定。&lt;/li>
&lt;li>&lt;code>tenant_search&lt;/code> 可将搜索从单线程扩展到工作区/租户范围；否则未配置线程上下文时结果为空。&lt;/li>
&lt;li>线程映射与响应链路要素可保留，即使当前轮不产生新事实也能为后续检索打基础。&lt;/li>
&lt;/ul>
&lt;h2 id="二现有实现沉淀memory-corereadme-与服务文档">二、现有实现沉淀：memory-core/README 与服务文档&lt;a class="anchor" href="#%e4%ba%8c%e7%8e%b0%e6%9c%89%e5%ae%9e%e7%8e%b0%e6%b2%89%e6%b7%80memory-corereadme-%e4%b8%8e%e6%9c%8d%e5%8a%a1%e6%96%87%e6%a1%a3">#&lt;/a>&lt;/h2>
&lt;h3 id="1-核心能力与接口约束">1. 核心能力与接口约束&lt;a class="anchor" href="#1-%e6%a0%b8%e5%bf%83%e8%83%bd%e5%8a%9b%e4%b8%8e%e6%8e%a5%e5%8f%a3%e7%ba%a6%e6%9d%9f">#&lt;/a>&lt;/h3>
&lt;ul>
&lt;li>两个核心 RPC：&lt;code>Add&lt;/code>、&lt;code>Search&lt;/code>。&lt;/li>
&lt;li>&lt;code>Add&lt;/code>：支持 &lt;code>async&lt;/code>（快速 ack 后异步）与 &lt;code>AddSync&lt;/code>（完整同步调试路径）。&lt;/li>
&lt;li>&lt;code>Search&lt;/code>：支持语义检索路径，返回 &lt;code>memory&lt;/code> 命中项并用于上下文注入。&lt;/li>
&lt;li>依赖链路明确：&lt;code>memory-core&lt;/code> 依赖 &lt;code>model-core&lt;/code> 做生成抽取，嵌入可走专用 endpoint 或 model-core 兜底。&lt;/li>
&lt;/ul>
&lt;h3 id="2-数据与存储策略">2. 数据与存储策略&lt;a class="anchor" href="#2-%e6%95%b0%e6%8d%ae%e4%b8%8e%e5%ad%98%e5%82%a8%e7%ad%96%e7%95%a5">#&lt;/a>&lt;/h3>
&lt;ul>
&lt;li>生产实现以 Postgres 为主，已有 memory-core migration 版本管理。&lt;/li>
&lt;li>采用 pgvector/向量语义检索，并保留降级能力（关键词/结构化检索）。&lt;/li>
&lt;li>事实缩减（reduce）发生在写入前：超长事实会先被模型压缩，缩减前原文保留于 metadata，避免信息丢失。&lt;/li>
&lt;li>现有 schema 在写回时强调 &lt;code>memory&lt;/code>、时间维度与元信息化表达，便于去重与更新。&lt;/li>
&lt;/ul>
&lt;h3 id="3-幂等与治理思路">3. 幂等与治理思路&lt;a class="anchor" href="#3-%e5%b9%82%e7%ad%89%e4%b8%8e%e6%b2%bb%e7%90%86%e6%80%9d%e8%b7%af">#&lt;/a>&lt;/h3>
&lt;ul>
&lt;li>memory 写入有幂等与状态追踪设计，系统中有 pending 处理、审计/可观测对齐。&lt;/li>
&lt;li>模型调用、内存写入、审计事件会进入统一的 usage 与 trace 口径。&lt;/li>
&lt;/ul>
&lt;h2 id="三mem0-相关调研要点脱敏后的结论">三、mem0 相关调研要点（脱敏后的结论）&lt;a class="anchor" href="#%e4%b8%89mem0-%e7%9b%b8%e5%85%b3%e8%b0%83%e7%a0%94%e8%a6%81%e7%82%b9%e8%84%b1%e6%95%8f%e5%90%8e%e7%9a%84%e7%bb%93%e8%ae%ba">#&lt;/a>&lt;/h2>
&lt;h3 id="1-你的-promptmd-里明确了比-mem0-更智能完整的方向">1. 你的 prompt.md 里明确了“比 Mem0 更智能/完整”的方向&lt;a class="anchor" href="#1-%e4%bd%a0%e7%9a%84-promptmd-%e9%87%8c%e6%98%8e%e7%a1%ae%e4%ba%86%e6%af%94-mem0-%e6%9b%b4%e6%99%ba%e8%83%bd%e5%ae%8c%e6%95%b4%e7%9a%84%e6%96%b9%e5%90%91">#&lt;/a>&lt;/h3>
&lt;ul>
&lt;li>目标从“提取事实”升级为“可治理事实系统”：
&lt;ul>
&lt;li>每次只从最新一轮消息提取新事实，不直接从历史事实再抽新事实。&lt;/li>
&lt;li>强调原子化：每条 fact 1-2 句话、可长期复用。&lt;/li>
&lt;li>强调高信号：避免过度保守，保留可复用偏好、计划、关系与时间事实。&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h3 id="2-冲突与更新模型">2. 冲突与更新模型&lt;a class="anchor" href="#2-%e5%86%b2%e7%aa%81%e4%b8%8e%e6%9b%b4%e6%96%b0%e6%a8%a1%e5%9e%8b">#&lt;/a>&lt;/h3>
&lt;ul>
&lt;li>事实关系动作明确为 ADD / UPDATE / NOOP / LINK。&lt;/li>
&lt;li>支持时间线修正：未来计划变更时通过时间字段收尾旧 fact（如 &lt;code>is_active=false&lt;/code> 与 &lt;code>event_end&lt;/code>），同时写入新 fact。&lt;/li>
&lt;li>处理方式强调“去重、冲突检测、时间线关联”优先于盲目追加。&lt;/li>
&lt;/ul>
&lt;h3 id="3-prompt-生成与模型输入设计">3. Prompt 生成与模型输入设计&lt;a class="anchor" href="#3-prompt-%e7%94%9f%e6%88%90%e4%b8%8e%e6%a8%a1%e5%9e%8b%e8%be%93%e5%85%a5%e8%ae%be%e8%ae%a1">#&lt;/a>&lt;/h3>
&lt;ul>
&lt;li>历史 top10 fact 以自然语言 bullet 列表呈现，附带 type、时间、状态，避免模型直接从历史事实再次“抽新”。&lt;/li>
&lt;li>同时注入 conversation summary 与最近 raw messages，提升抽取准确率。&lt;/li>
&lt;li>输出要求是结构化 JSON：&lt;code>facts&lt;/code> + &lt;code>temporal_updates&lt;/code>，便于程序化落库。&lt;/li>
&lt;/ul>
&lt;h3 id="4-结论性判断关于-mem0">4. 结论性判断（关于 Mem0）&lt;a class="anchor" href="#4-%e7%bb%93%e8%ae%ba%e6%80%a7%e5%88%a4%e6%96%ad%e5%85%b3%e4%ba%8e-mem0">#&lt;/a>&lt;/h3>
&lt;ul>
&lt;li>当前可确认的是“策略目标是实现比 Mem0 更优的 fact memory pipeline”，并未发现仓库里有完整的 mem0 官方对比实验章节。&lt;/li>
&lt;li>因此 mem0 在当前可复用材料里属于&lt;strong>策略参照锚点&lt;/strong>而不是“已完成对比报告”。&lt;/li>
&lt;/ul>
&lt;h2 id="四可直接沉淀为文档评审材料的核心观点">四、可直接沉淀为文档/评审材料的核心观点&lt;a class="anchor" href="#%e5%9b%9b%e5%8f%af%e7%9b%b4%e6%8e%a5%e6%b2%89%e6%b7%80%e4%b8%ba%e6%96%87%e6%a1%a3%e8%af%84%e5%ae%a1%e6%9d%90%e6%96%99%e7%9a%84%e6%a0%b8%e5%bf%83%e8%a7%82%e7%82%b9">#&lt;/a>&lt;/h2>
&lt;ol>
&lt;li>先定义三层：产品语义（读取/写入/作用域）→ 运行时编排（prefetch + search tool + post-answer write）→ 存储治理（版本化、审计、降级）。&lt;/li>
&lt;li>优先将记忆行为保持“显式 opt-in”：不要求无状态场景默认记忆，保障复现性。&lt;/li>
&lt;li>写入路径建议默认 async，sync 仅用于 debug 与闭环验证。&lt;/li>
&lt;li>记忆 schema 需原子 fact + 时间元信息 + 状态字段（active/事件边界）支撑长期准确性。&lt;/li>
&lt;li>明确把 mem0 作为目标模型，而非必须外部依赖：目标是可控、可解释、可维护的事实管理。&lt;/li>
&lt;/ol>
&lt;h2 id="五未落地但建议后续补齐">五、未落地但建议后续补齐&lt;a class="anchor" href="#%e4%ba%94%e6%9c%aa%e8%90%bd%e5%9c%b0%e4%bd%86%e5%bb%ba%e8%ae%ae%e5%90%8e%e7%bb%ad%e8%a1%a5%e9%bd%90">#&lt;/a>&lt;/h2>
&lt;ul>
&lt;li>按时间切片做一版“mem0 对比矩阵”：抽取准确率、召回率、更新正确率、延迟、成本与误用率。&lt;/li>
&lt;li>补一版“生产回放案例”：同一对话在 mem0-风格和当前策略下各写入/检索结果差异。&lt;/li>
&lt;li>补充“失败/重试策略”：embedding 失败、模型抽取不稳定、向量维度不一致时的行为界面。&lt;/li>
&lt;/ul>
&lt;h2 id="六参考材料仅内部链接">六、参考材料（仅内部链接）&lt;a class="anchor" href="#%e5%85%ad%e5%8f%82%e8%80%83%e6%9d%90%e6%96%99%e4%bb%85%e5%86%85%e9%83%a8%e9%93%be%e6%8e%a5">#&lt;/a>&lt;/h2>
&lt;ul>
&lt;li>&lt;code>docs/design/managed-agent-api-whitepaper.md&lt;/code>&lt;/li>
&lt;li>&lt;code>docs/design/managed-agent-api-whitepaper.zh-CN.md&lt;/code>&lt;/li>
&lt;li>&lt;code>docs/design/agent-platform-architecture.md&lt;/code>&lt;/li>
&lt;li>&lt;code>docs/technical-whitepaper-zh-CN.md&lt;/code>&lt;/li>
&lt;li>&lt;code>services/memory-core/README.md&lt;/code>&lt;/li>
&lt;li>&lt;code>services/memory-core/docs/prompt.md&lt;/code>&lt;/li>
&lt;/ul></description></item></channel></rss>