LangChain测试OpenWiki记忆层:跨文档问题上准确率较纯检索约提升 5 倍
LangChain称,在自建的 111 份合成保险文档库上,用OpenWiki把资料编译成带引用的wiki作为agent持久记忆,在需要跨来源串联的问题上准确率从 0.10 升至 0.52;再叠加证据图后准确率再升 27%、引用一致性翻倍,但简单查找问题上wiki与纯检索表现相近、延迟更高。
AI解读:这次测试回答的问题是:当agent需要反复处理大量互相引用、互相修订的企业文档时,把资料预先编译成wiki是否有用。LangChain的结论是,在需要跨来源推理的问题上收益明显,在单段查找类问题上没有优势。
实验使用LangChain自建的 111 份合成保险长文档库和一份 972 条事实的核对账本,对比对象是同一个检索agent的两种配置:仅对原始文档做关键词检索,以及接入OpenWiki编译出的wiki;两次运行中模型、指令、文档和问题均保持不变。
LangChain报告,80 道简单查找题上两者准确率接近(检索 0.84,wiki 0.83),引用重合度分别为 0.72 和 0.74,每道正确答案成本约 0.020 和 0.021 美元,但wiki配置的延迟从 9 秒升至 12 秒。
50 道需要跨文档追踪依赖的关联题上,wiki配置准确率 0.52,检索为 0.10;每道正确答案成本从约 0.55 美元降至 0.19 美元,但引用重合度从简单题上的 0.74 降至 0.25。LangChain称引用稳定性不等于答案正确,但证据不稳定可能改变答案,对需要可复现、可审计的场景是问题。
为改善证据路径稳定性,LangChain在wiki之上加入轻量证据图:把每个段落作为独立单元,把声明与段落、新旧文档覆盖关系等连成带类型的边。该图构建不到 1 秒,LangChain称其覆盖了测试库中所有显式交叉引用,且构建不需要额外模型调用。
叠加证据图后,LangChain报告准确率再提升 27%,引用一致性翻倍,答案中位时间下降 40%,每道正确答案成本下降 58%;但LangChain同时指出,这些成本数字不含wiki编译与更新费用——编译 111 份文档花费 4.15 美元,后续每加 17 份文档约每份 0.09 美元,文档维护成本可能超过简单查找场景节省的检索开销。
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记忆的基础,包括事实类、事件类和流程类记忆。