产品LangChain Blog·原文 2026年10月28日本站收录 2026年10月29日

LangChain测试OpenWiki记忆层:跨文档问题上准确率较纯检索约提升 5 倍

LangChain称,在自建的 111 份合成保险文档库上,用OpenWiki把资料编译成带引用的wiki作为agent持久记忆,在需要跨来源串联的问题上准确率从 0.10 升至 0.52;再叠加证据图后准确率再升 27%、引用一致性翻倍,但简单查找问题上wiki与纯检索表现相近、延迟更高。

LangChain在官方博客中公布了一项针对agent持久记忆的测试:用一个开源wiki编译器OpenWiki把企业文档编译成带引用的wiki页面,再叠加一层证据图,让agent在回答跨文档问题时复用已有理解,而不是每次重新检索和拼凑。

LangChain称,测试使用自建的 111 份合成保险长文档库,问题分为 80 道简单查找题和 50 道需要跨文档追踪依赖的关联题。需要说明的是,这是LangChain自己设计并执行的评测,结果出自其博客叙述,并非独立验证;合成文档库也不能等同于真实企业的全部文档形态。

测试怎么做的

LangChain构建的文档库包含旧版本、相互矛盾的内容、间接引用链、不同措辞和超长文档,用来模拟企业文档库的混杂状态。配套的账本记录 972 条事实,并控制了每条事实应出现在哪里、文档之间如何引用、版本之间改了什么。

对比条件是同一个检索agent的两种配置:Search对原始文档做关键词检索,Wiki接入OpenWiki编译、且保留来源链接的wiki。LangChain表示模型、指令、文档和问题保持一致,只改变agent能否访问编译好的记忆;每道题问三次,用来观察运行之间的波动。

衡量指标有三类:准确率由评分器对照 972 条事实清单检查答案和引用证据;一致性用三次运行所引证据的重合度(平均两两Jaccard相似度)衡量;另外记录每道题的模型花费和实际耗时。

简单题没差别,关联题差距明显

LangChain称,OpenWiki把 111 份文档编译成约为原始体量十分之一的wiki,花费 4.15 美元;后续新增 17 份文档,每份约 0.09 美元。下文所列检索与回答成本不含编译和更新成本。

简单查找题上,Search与Wiki的准确率分别为 0.84 和 0.83,引用重合度 0.72 和 0.74,每道正确答案成本约 0.020 和 0.021 美元;Wiki配置的延迟从 9 秒增加到 12 秒。

关联题上,Search准确率 0.10,Wiki为 0.52;每道正确答案成本从约 0.55 美元降至 0.19 美元。LangChain称wiki的编译上下文帮助agent用更少的工具调用找到相关关系。

不过Wiki配置在关联题上的引用重合度只有 0.25。LangChain明确表示,引用稳定性不是正确性指标,但证据路径变化可能改变答案,尤其当来源互相冲突时;对关键业务功能,团队需要的是可复现、可审计的答案。

证据图补上了什么

LangChain在wiki之上加了轻量证据图。做法是把每份文档切成段落并分配唯一标识,再把声明、wiki页面、段落和主题之间连成带类型的边,例如声明引用段落、新文档覆盖旧文档、章节指向其他文档。部分边直接从文档引用中确定性地提取,不需要再调用模型。

图构建耗时不到 1 秒,LangChain称其解析了测试库中所有显式交叉引用。agent通过两个工具使用该图:locate按问题匹配标题、章节、页面和声明找起点,expand沿连接展开支持段落和相关文档;只有单一路径时自动前进,遇到分支再由agent选择。

LangChain表示,这一层的职责是证据导航,不做全组织的知识建模;它复用已有的引用和链接,而不是用模型抽取实体再对齐。不过,从wiki派生的边仍依赖wiki中模型生成引用的准确性。

叠加证据图后,LangChain报告相对仅用wiki准确率提升 27%,引用一致性翻倍,答案中位时间下降 40%,每道正确答案成本下降 58%。LangChain同时承认,这并未让agent完全确定化。

LangChain自己划出的适用边界

LangChain认为,编译wiki最有价值的情形是反复出现的跨来源推理;在简单查找上,纯检索同样准确且更快,编译和维护文档的开销可能超过检索节省。

按其博客说法,当多个agent反复回答横跨同一批分散来源的问题时,共享wiki保留了来源之间的关系,图边则引导agent找到支持证据;LangChain称在其测试中,这一组合以更低的每正确答案成本给出了更准确的回答,并称足够的复用次数可以抵消建设维护记忆的成本。这一判断基于其自建合成库的测试结果,未在真实企业环境中验证。

LangChain还提到下一步计划:让wiki更动态地只编译和保留跨来源问题所需的上下文,而不是整个仓库;并探索把声明和类型化边作为其他类型agent记忆的基础,包括事实类、事件类和流程类记忆。

信息来源

LangChain Blog原始来源