尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

用户记忆与知识库的工程实践:从 RAG 到智能体化检索的技术体系

用户记忆与知识库的工程实践:从 RAG 到智能体化检索的技术体系 用户记忆与知识库的工程实践从 RAG 到智能体化检索的技术体系本文基于开源技术书《深入理解 AI Agent》第三章系统梳理 Agent 跨会话的持久化知识体系。该章将上下文管理从单次会话扩展到跨会话场景涵盖用户记忆系统的四种存储格式、RAG 完整技术栈、结构化索引方法、智能体化 RAG以及知识更新的安全机制。两个尺度——面向个人的用户记忆和面向群体的共享知识库——共用许多底层技术也面临同样的工程挑战。用户记忆系统从轨迹到长期记忆Agent 要跨会话提供个性化服务需要一层持久的用户记忆。这层记忆不保存每句对话而是用额外的 LLM 调用提取、压缩并审查对未来有用的事实。记忆的层次结构记忆系统按时间尺度分为不同层次轨迹是一次 Agent 运行过程中的完整历史记录按时间顺序排列、只增不改为 Agent 决策提供即时上下文。用户长期记忆则是跨会话、跨实例的持久化存储以键值对形式与特定用户 ID 绑定会被反复改写、合并、淘汰。前者是流水账后者是档案。四种渐进式存储格式同一条用户信息可以用不同粒度和结构来表示。该章介绍了四种渐进式的存储格式Simple Notes每条记忆是一个最小不可再分的事实如用户邮箱johnexample.com开销极低但信息关联性完全丢失。Enhanced Notes将每条记忆保存为包含完整上下文的段落保留叙事结构和语义完整性但存在存储冗余和更新复杂问题。JSON Cards三层嵌套结构类别-子类别-键值对支持部分更新但刚性结构假设信息可清晰分类。Advanced JSON Cards加入来源叙事背景backstory、主体身份person、与用户关系relationship和时间戳解决了消歧问题。实践中的选择标准是关键且少量的数据用 Advanced JSON Cards 以保证可检索性大量且非关键的对话事实用 Simple Notes 以降低成本多数生产系统采用混合模式。记忆能力的三层次评估框架该章建立了衡量记忆系统能力的三层次框架第一层基础回忆准确存储和检索用户直接提供的、结构化的、无歧义的信息第二层多会话检索在多段会话中检索所有相关信息并推理判断如两辆车的用户要预约保养时主动询问是哪辆第三层主动服务综合来自多个会话的信息提供具有预见性的主动帮助如发现护照即将过期并发出预警这个框架贯穿全章——后文的实验都用它来衡量检索技术对记忆能力的提升。记忆框架案例Mem0 与 Memobase开源社区已出现多个专门的记忆管理框架。Mem0 经历了从写入时消歧到检索时推理的演进2025 年版本把冲突处理放在写入阶段ADD/UPDATE/DELETE/NOOP2026 年 v3 改为仅做 ADD、在检索时融合语义相似度、BM25 和实体匹配并按时间排序。Memobase 则聚焦用户画像形态把用户记忆分为可配置槽位的用户画像和按时间线记录的事件记忆采用缓冲批处理策略摊薄 LLM 调用成本。认知科学基础该章从认知科学视角补充了记忆内容类型的理解情景记忆具体事件、语义记忆一般性知识和程序记忆行为流程分别对应 Agent 中的事件记录、用户偏好和操作流程。三套分类体系记忆层次、存储格式、认知类型是正交维度可以自由组合。RAG 基础检索增强生成的技术栈RAG 的核心思想是将 LLM 的生成能力与外部知识库的广度和时效性相结合。核心流程是检索相关片段 - 注入上下文 - LLM 基于上下文生成答案。文档分块在能够检索之前需要把长文档切成适合独立检索的片段。常见策略有三类固定大小切分简单但无视文档结构、递归/结构感知切分按自然边界递归切分是生产系统默认选择和语义切分在语义断崖处下刀质量更高但需额外嵌入计算。块大小与重叠量的选择是一对典型权衡太小语义模糊太大稀释检索精度。该章还埋下一个伏笔——分块会切断片段与原始上下文的联系该公司指代谁这类信息留在了块外面后文上下文感知检索一节将正面解决这个问题。稠密嵌入语义理解稠密嵌入用深度学习把文本映射到向量空间语义相近的内容向量距离也近。从 Word2Vec只能捕捉词汇共现关系到 BERT、BGE-M3上下文感知同一词在不同语境有不同向量实现了从词汇级到语境级语义的飞跃。衡量向量相似度的常用方法是余弦相似度——关心方向是否一致而非长度大小。稀疏嵌入精确匹配稀疏嵌入根植于传统信息检索核心是精确的关键词匹配。从 TF-IDF 到 BM25 的演进核心改进是引入词频饱和重复出现的边际贡献逐渐降低和长度归一化使不同长度文档更公平比较。BM25 在技术代码、人名等精确匹配查询上表现极佳却读不懂同义表达。混合检索两路融合与重排序两种方法各有盲区。混合检索的思路是两个引擎都跑结果合并。难点在于两路得分不可直接比较余弦相似度是 0-1BM25 可能是 0 到几十的任意值。常用融合方法是倒数排名融合RRF完全抛开原始得分、只看排名。流水线的第三个阶段是神经重排序它用跨编码器对查询和文档做深度交互匹配——就像面试官与候选人逐字斟酌精度远高于检索阶段双编码器的初筛。该章强调重排序不是为了补救 RRF 丢掉的得分才存在的无论前一步用哪种方式融合重排序都值得加因为它换用了一种更强的匹配范式。超越扁平文本知识的组织与检索该章提出了一个根本性问题把文档切成互不关联的扁平文本块会丢掉知识固有的层次和跨文档关联。两个案例说明了这个问题黑猫白猫的计数问题100 个独立案例文档中受限于 top-k 大部分根本不会被检索到模型基于不完整样本得出错误结论。Xfinity 优惠资格的边界问题几百条工单各自只记录个案结论没有任何一条写着资格范围本身模型还会因最近邻偏置而给出不一致的答案。结论是把原始案例或文档不加处理地直接放进知识库是远远不够的。必须在索引阶段投入计算资源对原始知识主动提炼、抽象和结构化。结构化索引RAPTOR 与 GraphRAGRAPTOR采用自下而上的递归抽象。文本块作为叶子节点通过聚类分组后生成更高层次的摘要作为父节点不断递归形成从细节到概括的知识树。它适合从概念逐步钻进细节的查询。GraphRAG将文档知识建模为由实体和关系构成的知识图谱。其核心优势是多跳关系推理沿关系边遍历和实体消歧同名实体是图中的不同节点。适合A 和 B 之间是什么关系的查询。然而知识图谱作为通用存储方案面临固有局限将自然语言转为三元组会导致语义降级——条件判断和时间依赖等核心逻辑在三元组中全部丢失。实践中推荐分层互补以自然语言保存核心信息辅以结构化元数据索引在需要多跳推理的垂直场景将知识图谱作为专项索引手段。文件系统范式OpenVikingOpenViking 提出了第三种哲学将所有上下文映射为虚拟文件系统中的目录和文件每个条目拥有唯一 URI。核心设计是 L0/L1/L2 三层按需加载——L0 约 100 tokens 的摘要用于快速判断相关性L1 约 2000 tokens 的概览供决策L2 为完整原文仅按需加载。选择 Markdown 纯文本而非专用数据库意味着用户可直接阅读、编辑可通过 Git 版本控制。该章特别强调了一个实践前提文件之间必须建立链接与索引。如果只是把知识拆成独立文件平铺在目录里Agent 几乎无从在相关条目间导航。正确做法是把知识库组织得像 Wikipedia每个条目在提及其他条目时以链接指向它。智能体化 RAG从被动管道到主动探索者传统 RAG 是一个单向数据流查询直接用于检索结果直接注入上下文模型直接生成答案。这种非智能体化模式高效但能力上限低缺乏对问题进行深度理解和迭代探索的能力。智能体化 RAG把 RAG 从固定数据处理流程升级为由 Agent 主导的动态迭代探索。Agent 采用 ReAct 模式通过思考-行动-观察循环主导整个过程自主决定查询关键词调用知识库搜索工具评估信息是否充分不够则提炼更精确的查询再次搜索。该章的实验用司法问答数据集对比了两种模式。简单问题两者差距不大但面对复杂问题如醉酒过失致人重伤且有盗窃前科如何量刑非智能体化 RAG 因首次检索关键词不精确常遗漏关键信息而智能体化 RAG 展现出多轮迭代检索能力——先分解问题并行搜索多个子问题评估后发现缺少联系信息再构造更精确的二次查询最终综合给出有法条依据的完整回答。RAG 的安全边界把外部内容检索进上下文也带来了安全风险检索到的文档是间接提示注入最典型的载体。防御要分两层——指令与数据分离对所有检索内容做来源标记和不让检索内容直接触发高风险操作转账、删除等动作不应仅凭检索内容就自动执行。上下文感知检索解决分块的固有缺陷该章介绍了 Anthropic 提出的上下文感知检索。核心思想是在对文本块进行向量化索引之前先利用 LLM 为其生成包含核心上下文的前缀摘要然后拼接后再索引。例如孤立的该公司第二季度的收入增长了 3%“变得模棱两可加上前缀”[本段内容节选自 ACME 公司 2025 年 Q2 财务报告]后就重新锚定在了原始语义环境中。这种方法同时增强了稀疏检索增加可精确匹配的关键词和稠密检索注入关键语义背景。据 Anthropic 数据此技术结合 BM25 可将检索失败率降低 49%再结合重排序器降幅达 67%。双层记忆架构将知识库技术应用于用户记忆该章最后把知识库技术反过来应用到用户记忆场景形成了双层记忆架构用 Advanced JSON Cards 把少量关键事实结构化后常驻上下文提供概览用上下文感知检索按需从海量原始对话中取回细节。回看三层次评估框架基础回忆靠可靠存取即可满足多会话检索靠检索技术补齐而主动服务之所以最难正因为它要求系统同时握有全局概览和精确细节两种视角。双层架构将两者结合才让主动服务首次在工程上落地。知识更新机制增量更新与定期整理一个上线运行的知识库会持续收到新信息。完整的更新机制必须包含两条路径。增量更新把知识库当代码库最稳妥的工程答案是把知识库当成代码库把每次知识变更当成一个 Pull Request。采用提议者-审核者模式Proposer Agent 在工作分支上提出最小而完整的 diffReviewer Agent 独立审核每个新断言是否能被证据支持。两个 Agent 应优先使用能力相近但来自不同家族的模型以降低同类错误概率。流水线应明确分开三层原始证据层只增不改的对话和文档、知识层经过提炼可持续修订的 Markdown 或代码、服务层从已合入版本生成的检索索引。定期整理回到原始数据增量更新每次只看到局部长期运行后多次局部正确的修改仍可能累积全局问题。定期整理至少包含三项工作去重去旧与合并、回到原始数据核查不能只在摘要之间相互改写、冲突解决与场景限定遇到矛盾说法时追溯各自信息源而非简单保留最新一条。从数据中提取深度知识该章还展示了从结构化数据集中提取隐性知识的范式。以司法判例为例知识不只写在法条里更多体现在成千上万份判例中法官如何权衡各种因素的经验中。过程分两阶段先用 LLM 把非结构化案例描述转换为标准化 JSON 对象再运用统计分析和模式识别发现哪些因素对结果有最显著影响。这本质上是从信息检索到知识发现的飞跃——Agent 不一定要把知识库当成静态仓库它可以先把数据读懂提炼出结构化决策逻辑再基于这个逻辑来回答问题。小结第三章把持久化知识分成两个尺度面向个人的用户记忆和面向群体的共享知识库。前者遵循读取相关记忆 - 后台提取候选 - 来源核验 - 更新的生命周期并可在四种存储格式间按需取舍。知识库的主流水线是分块 - 稠密/稀疏检索 - 融合 - 重排序 - 生成用 recallk 等指标验收。RAPTOR、GraphRAG、OpenViking、上下文感知检索和智能体化 RAG 分别改变知识的组织、分块或检索控制方式。双层记忆架构将结构化概览常驻上下文与按需精准检索原始细节结合使最高级别的主动服务能力首次在工程上成为可能。知识更新不能跳过来源、时间、冲突和隐私检查——增量更新吸收新证据定期整理回到原始数据全局重审所有修改通过独立审核后才发布。本文内容整理自开源技术书《深入理解 AI Agent》(bojieli/ai-agent-book)采用 Apache 2.0 许可证
返回列表