AI研究

RAG被批评有三个“结构性死穴”:永远从零开始推导、没有任何知识积累;无法把分散的点连成线;粒度混乱到把宪法和操作手册混在一起搜——当企业真正想要的不是“每次现查现答”而是一个能积累判断经验的“AI员工”时,知识库到底该继续在RAG框架里打补丁,还是需要一层“经验沉淀”的结构化层?

👤 为我痴狂 👁 117 阅读 ❤ 0 点赞 ➦ 0 分享 📅 2026-11-01
首页› AI› AI研究› 正文
RAG · 知识工程 · 经验沉淀
RAG的三个结构性死穴与“经验沉淀层”:企业知识库该不该换一层地基

当企业要的不是“每次现查现答”,而是一个能积累判断经验的“AI员工”时,问题就不再是检索召回率,而是知识系统是否具备跨会话的状态与判断沉淀能力。本文沿着“从检索增强到经验增强”这条主线,拆解三个死穴的机制成因,并给出经验沉淀层的数据模型、构建流水线与评估方案。

摘要

检索增强生成(Retrieval-Augmented Generation,RAG)把“参数化记忆”与“非参数化检索”解耦,在开放域问答上取得了工程上的成功,但当它被直接移植为企业知识工作的基础设施时,暴露出三个结构性缺陷:无状态导致的重复推导、缺乏关系归纳导致的知识碎片化、粒度失配导致的检索噪声。本文认为,这三者并非调参可解,而是RAG“检索—拼接—生成”单向流水线的架构属性。文章提出在检索层与生成层之间插入一个独立的经验沉淀层(Experience Consolidation Layer,ECL),以“判断单元”为最小粒度,承载决策情境、约束条件、适用边界与置信度,并通过写入—归纳—校验—退役的生命周期管理实现知识的可积累性。全文给出ECL的四类实体模型、五阶段构建流水线、与RAG的三种耦合拓扑、可验证的评估指标与消融方案,并讨论其失效边界与合规风险。

一、导语:一个被误诊的问题

过去两年,企业知识库的技术讨论几乎被RAG垄断。检索质量差,就上重排序(rerank);召回不全,就做混合检索;答案不准,就加查询改写(query rewriting)与多跳检索。这些手段在开放域问答基准上确实有效,但当系统被投放到真实的业务场景中——合同审查、故障处置、合规判定、客户争议处理——用户的不满往往不是“答案错了”,而是“它每次都像第一次来上班”。

这个抱怨指向的不是检索精度,而是系统的记忆形态。RAG的记忆是“文档记忆”:它记得文档里写了什么,但不记得自己上一次是怎么判断的、为什么那样判断、那个判断后来被证明对还是错。于是每一次交互都退化为一次独立的、无历史的推理,企业积累的隐性判断经验无法进入系统,只能停留在人的头脑里。

笔者认为,把这个问题描述为“RAG不够好”是一种误诊。更准确的表述是:RAG解决的是“知识可得性”问题,而企业当下要解决的是“判断可积累性”问题。两者属于不同层次,用同一套架构去覆盖,必然在某一端失守。

本文的主线由此确立:从“检索增强”走向“经验增强”。检索增强的优化目标是“找到对的文档”,经验增强的优化目标是“复用对的判断”。前者是信息检索问题,后者是知识工程与决策支持问题。沿着这条主线,下文先拆解三个死穴的机制成因,再论证补丁路线的天花板,最后给出经验沉淀层的完整设计。

二、背景与问题定义:RAG到底解决了什么,又没解决什么

2.1 RAG的原始命题

RAG由Lewis等人在2020年提出(Lewis et al., Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, NeurIPS 2020),其核心是把预训练模型的参数化记忆与外部文档索引的非参数化记忆结合,用检索结果条件化生成过程。原始动机有两个:一是让模型访问训练截止之后的新知识,二是为生成结果提供可溯源的依据。这两个动机都指向知识的时效性与可验证性,而非知识的组织形态。

本文评述:RAG的原始设计目标非常克制,它要解决的是“模型不知道”的问题,而不是“模型不会判断”的问题。后续工程实践把RAG泛化为企业知识库的通用底座,实际上是对其能力边界的一次越界使用。这种越界在文档问答场景尚可容忍,在需要一致判断的业务场景则迅速暴露。

2.2 企业知识工作的真实需求结构

把企业知识工作拆开看,它至少包含三类需求,三者的技术诉求并不相同:

需求类型 典型问题 技术诉求 RAG覆盖度
事实查询 某条款怎么规定?某参数是多少? 高召回、可溯源 较好
关系推理 这两份文件冲突时以哪个为准? 跨文档关系、优先级建模 有限
判断复用 上次类似情形我们是怎么判的?为什么? 决策状态、经验沉淀、一致性 缺失

三类需求中,RAG在第一类上表现良好,在第二类上需要额外结构支撑,在第三类上则基本无能为力。企业抱怨的“每次从零开始”,正是第三类需求缺失的直接表现。需要强调的是,这不是说RAG做错了什么,而是说RAG的架构里没有为“判断”预留位置——它的输入是查询,输出是文本,中间没有可持久化的决策状态。

2.3 术语澄清:什么是“经验”

本文所说的“经验”,不是泛指模型参数中隐含的统计规律,而是指在特定业务情境下、由具体约束条件触发、经过实际结果校验的判断记录。一条完整的经验至少包含五个要素:情境(situation)、触发条件(trigger)、判断(judgment)、依据(evidence)、结果反馈(outcome)。缺少结果反馈的只是“观点”,缺少触发条件的只是“常识”,缺少情境的只是“规则”。这个定义为后文的数据模型奠定了基础。

三、死穴一:无状态推导——永远从零开始的代价

3.1 机制:RAG是无状态函数

从系统视角看,一个标准RAG管线可以抽象为:

answer = Generate( Rerank( Retrieve( q, Index ) ), q )

其中:
  q      : 当前查询
  Index  : 静态文档索引
  输出    : 仅依赖 (q, Index),不依赖任何历史状态

这个函数是无状态的(stateless):相同查询在索引不变时得到相同结果,系统不记录“上次回答被用户纠正过”“上次这个判断被推翻了”。多轮对话中的上下文窗口只是短期缓存,会话结束即丢失,且长度受限,无法承载跨月、跨项目的判断历史。

本文评述:无状态在Web检索场景是优点(可缓存、可水平扩展、幂等),但在知识工作场景是缺陷。知识工作的价值恰恰在于“不重复犯同样的错”,而无状态系统在结构上无法保证这一点。把无状态当作默认正确,是一种从检索系统继承来的惯性思维。

3.2 代价的量化:重复推导的三种损耗

重复推导的代价可以拆为三类,均可观测:

(1)算力与延迟损耗。每次判断都要重新检索、重排、生成,token消耗与响应延迟线性叠加。以一次中等复杂度的合规判定为例,检索返回20个片段、重排后保留5个、生成约800 token,单次成本虽小,但同一类问题在一年内被重复问数百次时,累计开销可观。此处不给出具体金额,因为不同厂商定价差异过大,读者可按自身单价估算。

(2)一致性损耗。由于生成过程的随机性(采样温度、上下文顺序、检索结果的细微差异),同一问题在不同时间可能得到不同答案。这在需要审计追溯的场景是硬伤——监管问“为什么这次判A上次判B”,系统无法给出可解释的差异来源。

(3)纠错损耗。用户对错误答案的纠正不会写回系统。下一次同类问题,系统仍会犯同样的错。人工纠正的价值被一次性消耗,无法复利。

这里有一个容易被忽略的边界条件:并非所有场景都需要状态。开放域百科问答、一次性咨询,无状态反而更简洁。经验沉淀的必要性与“判断复用频率×判断一致性要求”正相关。频率低、容错高的场景,强行引入状态层是过度工程。

3.3 已有的缓解手段及其局限

工程上已有若干缓解手段,但都只是局部补丁:

手段 作用 局限
长上下文窗口 单会话内保留历史 跨会话失效;长上下文存在“中间遗忘”现象
对话摘要记忆 压缩历史、降低token 摘要丢失判断依据;无法结构化查询
向量记忆库 把历史问答存入向量库再检索 本质仍是相似度检索,无判断结构、无置信度演化
提示词固化规则 把经验写成规则塞进系统提示 规则膨胀、相互冲突、无法按情境激活

本文评述:这些手段的共同问题是把“记忆”当作“文本的堆积”而非“判断的结构”。向量记忆库看似解决了持久化,但它检索的仍是“相似的历史文本”,而不是“可复用的判断逻辑”。当历史问答本身质量参差时,检索到的可能是错误的先例,反而放大偏差。这一点在后文的失效边界一节会进一步展开。

四、死穴二:关系缺失——点连不成线的机制成因

4.1 分块(chunking)天然破坏关系

RAG的索引单位是文本块(chunk),分块是为了适配嵌入模型的输入长度与检索粒度。但分块是一个去关系化操作:一份制度文件被切成若干段后,段与段之间的“总则—分则”“原则—例外”“上位—下位”关系在索引中不复存在,只剩下各自独立的向量。检索时命中的是孤立片段,生成时模型只能从片段字面推断关系,推断质量取决于片段是否恰好携带了关系线索。

更麻烦的是跨文档关系。企业知识中大量判断依赖于“A文件与B文件冲突时以哪个为准”“C条款是D流程的前置条件”,这类关系分散在不同文档、不同章节,分块后几乎不可能通过向量相似度召回。GraphRAG等工作试图用知识图谱补足这一点,其思路是先抽取实体与关系构建图,再在图上做社区摘要与检索(Edge et al., 2024, From Local to Global: A Graph RAG Approach to Query-Focused Summarization)。

本文评述:GraphRAG的方向是对的,但它解决的是“实体关系”层面的连接,而非“判断关系”层面的连接。知识图谱能告诉你“条款X适用于场景Y”,但无法告诉你“上次在场景Y中,因为约束Z,我们选择不适用条款X”。前者是本体论知识,后者是决策经验。把两者混为一谈,是当前图增强路线的一个常见盲区。

4.2 关系缺失的三种业务后果

后果一:局部正确、全局矛盾。每个片段单独看都对,拼起来的答案却自相矛盾。典型如合规审查中同时引用总则与例外条款,却未说明例外优先。

后果二:无法回答“为什么”。系统能给出结论,但给不出结论之间的推导链。用户追问“依据是什么、和哪条冲突、为什么选这条”,系统只能重新检索,无法沿关系链回溯。

后果三:新知识无法挂载。当一份新文件发布,系统不知道它应该挂在哪个已有知识节点下、影响哪些既有判断。新知识只能作为又一个孤立块进入索引,等待被偶然检索到。

4.3 一个可操作的判断:什么时候关系比片段重要

并非所有知识库都需要强关系建模。可以用一个简单判据:如果业务问题的答案依赖于“两个以上文档的优先级或依赖关系”,则关系建模是必需的;如果答案能在单一文档内闭合,则分块检索足够。这个判据可以直接用于知识库的分层设计——把文档分为“自闭合型”与“关系依赖型”,前者走标准RAG,后者进入带关系结构的沉淀层。这一分层思想会在第七节展开为完整的架构。

五、死穴三:粒度失配——宪法与操作手册同池检索的荒谬

5.1 粒度失配的定义

粒度失配(granularity mismatch)指检索单元的知识抽象层级与查询所需的知识抽象层级不一致。企业知识天然分层:宪法级(原则、价值观、合规底线)、制度级(管理办法、审批权限)、流程级(操作步骤、SOP)、事实级(参数、编号、联系人)。这四层的抽象层级、变更频率、适用主体都不同,但标准RAG把它们切成同样大小的块,放进同一个向量空间,用同一个相似度阈值检索。

结果是:查询“这个报销能不能批”,可能召回宪法级的“勤俭节约原则”、制度级的“审批权限表”、流程级的“报销SOP”、事实级的“差旅标准金额”。四类片段混在一起,模型要么被原则性表述带偏(给出“应本着节约原则”的空话),要么被操作细节淹没(给出具体步骤却漏掉权限约束)。

本文评述:粒度问题的本质不是“块切得不好”,而是“不同抽象层级的知识被强行压平到同一平面”。调块大小只能在单一层级内优化,无法恢复层级结构。要真正解决,必须在索引之上重建层级,并让检索具备“按查询意图选择层级”的能力。

5.2 为什么调块大小无效

块大小是一个全局超参数,而粒度需求是查询局部的。块切得小,事实级查询召回准,但原则级查询会丢失上下文;块切得大,原则级查询完整,但事实级查询引入大量噪声。这是一个无法用单一参数调和的矛盾。工程上常见的“多粒度索引”(同时建小块与大块索引)只是把选择权交给检索策略,并未解决“如何判断当前查询需要哪个粒度”的问题。

本文评述:多粒度索引是必要但不充分的条件。真正缺的是一个显式的层级标签与意图路由——在索引时标注每个知识单元的抽象层级,在查询时先判定意图层级,再定向检索。这需要额外的元数据治理,而这恰恰是纯RAG管线不提供的。

5.3 粒度失配的可观测信号

在实践中,粒度失配可以通过以下信号识别(这些信号来自对检索日志的常规分析,属于工程经验总结,非特定论文数据):检索结果中同时出现抽象层级差异极大的片段;生成答案中原则性表述与操作细节比例失衡;用户追问“具体怎么做”或“依据哪条原则”的频率升高;同一查询在不同时间召回的层级分布不稳定。把这些信号纳入监控,可以作为是否需要引入层级治理的判据。

六、为什么“打补丁”路线存在天花板

6.1 补丁清单与各自的边界

围绕三个死穴,业界已经积累了相当多的补丁。把它们列清楚,有助于看清天花板在哪里:

补丁 针对死穴 机制 天花板
查询改写 / HyDE 粒度失配 把查询映射到更易检索的形式 不改变索引结构,无法恢复层级
重排序模型 粒度失配 对候选片段做相关性精排 只能排序,不能补全缺失的关系
多跳检索 关系缺失 迭代检索、逐步逼近 跳数增加带来误差累积与延迟膨胀
GraphRAG 关系缺失 实体关系图 + 社区摘要 建模实体关系,不建模判断经验
对话记忆 / 向量记忆 无状态 历史存储 + 相似检索 无判断结构、无置信度演化、无退役机制
微调 / 持续学习 无状态 把经验写入参数 不可解释、难更新、易灾难性遗忘、无法按情境激活

6.2 天花板的共同根源

把这些补丁放在一起看,会发现一个共同点:它们都在“检索—生成”这条单向流水线内部做优化,没有任何一个引入了独立的、可持久化的、结构化的判断状态。检索侧优化改变的是“取什么材料”,生成侧优化改变的是“怎么组织语言”,但“上次怎么判、为什么、后来对不对”这个信息始终不在系统里。

本文评述:这不是说补丁没有价值。补丁在各自的目标上都是有效的工程手段,且成本远低于重构。问题在于,当业务需求从“查得到”升级为“判得准、判得一致、判得可追溯”时,补丁的边际收益迅速递减,而系统复杂度线性上升。此时继续打补丁,是在用架构的复杂度换取本应由架构分层解决的问题。

6.3 一个决策框架:什么时候该换层

是否引入经验沉淀层,可以用四个问题做初筛:判断复用频率是否高(同类判断是否反复出现);判断一致性要求是否强(是否涉及审计、合规、对外承诺);判断是否依赖多文档关系(是否跨制度、跨流程);纠错是否具有复利价值(纠正一次是否能长期受益)。四个问题中若有三项为“是”,则补丁路线的边际收益大概率已接近天花板,值得考虑分层重构。这个框架是启发式的,不构成严格判据,但可作为立项讨论的起点。

七、经验沉淀层:一个独立中间层的提出

7.1 定义与定位

经验沉淀层(Experience Consolidation Layer,ECL)是位于检索层与生成层之间的一个独立结构化层,其职责不是存储文档,而是存储判断单元(judgment unit)及其演化历史。它与RAG的关系不是替代,而是分工:RAG负责“找到事实材料”,ECL负责“复用判断逻辑”。

┌─────────────────────────────────────────────┐
│  应用层:问答 / 审查 / 处置建议              │
├─────────────────────────────────────────────┤
│  生成层:LLM 组织语言、给出结论              │
├─────────────────────────────────────────────┤
│  经验沉淀层(ECL)                           │
│   · 判断单元库(情境-条件-判断-依据-结果)   │
│   · 关系图(优先级 / 依赖 / 冲突 / 例外)    │
│   · 置信度与生命周期管理                     │
├─────────────────────────────────────────────┤
│  检索层:向量 / 关键词 / 图检索              │
├─────────────────────────────────────────────┤
│  知识源:文档 / 制度 / 工单 / 会议纪要       │
└─────────────────────────────────────────────┘

本文评述:把ECL画成“层”而非“模块”,是有意为之。模块可以被绕过,层则定义了调用契约。一旦ECL成为层,生成层在给出判断前必须先查询“是否有可复用的先例”,这就把“经验复用”从可选优化变成了架构约束。这是与“向量记忆库”这类模块化补丁的根本区别。

7.2 与相关工作的关系

ECL在思想上与若干研究方向有交集,但目标不同。检索增强生成提供了“外部记忆”的基本范式(Lewis et al., 2020);GraphRAG提供了关系建模的工程路径(Edge et al., 2024);记忆增强的智能体研究(如MemGPT,Packer et al., 2023)探索了分层记忆管理;案例推理(Case-Based Reasoning,CBR)在经典AI中早已提出“以旧案例解新问题”的框架(Aamodt & Plaza, 1994)。

本文评述:ECL可以看作CBR思想在大模型时代的一次工程化重述,但有两点关键差异。其一,CBR的案例通常是人工整理的完整问题-解方案,成本高、覆盖窄;ECL的判断单元可以从人机交互中半自动抽取,成本结构不同。其二,CBR的相似度匹配依赖人工设计的特征,ECL可以借助嵌入模型做语义匹配,但同时保留结构化条件做硬约束过滤,避免纯语义匹配的“看起来像就复用”的错误。这两点差异使得ECL在工程上比传统CBR更可行,但也引入了新的风险——自动抽取的判断单元质量参差,必须有校验机制,这将在第九节展开。

7.3 核心设计原则

原则一:判断与依据分离。判断单元存储“结论”,依据存储“支撑材料及其引用”。两者分离,使得依据可以更新(文档改版)而判断保留,也可以判断被推翻而依据留档。这是可审计性的基础。

原则二:置信度是一等公民。每条判断单元携带置信度,置信度随复用结果演化(被采纳上升、被推翻下降)。没有置信度的经验库会退化为“一堆等权重的观点”,无法区分可靠与不可靠。

原则三:适用边界显式化。每条判断单元必须声明“在什么条件下不适用”。边界条件是经验复用中最容易出错的地方——把A场景的经验套到B场景,往往比没有经验更糟。

原则四:可退役。经验会过时。制度变更、市场变化、技术迭代都会让旧判断失效。ECL必须有退役机制,否则库越大噪声越多。

八、ECL的数据模型:四类实体与判断单元

8.1 四类实体

ECL的最小完整模型包含四类实体:判断单元(JudgmentUnit)、情境(Situation)、依据(Evidence)、演化记录(EvolutionRecord)。四者关系如下表:

实体 核心字段 作用
JudgmentUnit id、结论、触发条件、适用边界、置信度、层级标签、状态 可复用的判断
Situation 业务域、场景标签、关键实体、约束集合 判断的触发语境
Evidence 来源文档ID、片段ID、版本、引用位置 可溯源的依据
EvolutionRecord 时间、动作(创建/采纳/推翻/修订/退役)、操作者、原因 经验的演化史

8.2 判断单元的结构化表示

判断单元建议采用“半结构化”表示:核心字段结构化,便于过滤与一致性校验;结论与条件用自然语言,便于语义匹配与人工审阅。一个示例(模拟数据,仅示意结构):

{
  "id": "JU-2024-0871",
  "layer": "制度级",
  "domain": "采购合规",
  "trigger": {
    "scenario": "单一来源采购金额超过阈值",
    "constraints": ["金额 > 100万", "非紧急", "供应商非唯一"]
  },
  "judgment": "应走公开招标,不得直接适用单一来源",
  "boundary": ["紧急抢险情形除外", "已获董事会特批除外"],
  "evidence": [
    {"doc": "采购管理办法v3.2", "chunk": "第14条"},
    {"doc": "董事会纪要2024-06", "chunk": "第3项"}
  ],
  "confidence": 0.86,
  "status": "active",
  "evolution": [
    {"t": "2024-07-02", "action": "created", "by": "reviewer-A"},
    {"t": "2024-09-11", "action": "adopted", "by": "case-3391"},
    {"t": "2025-01-08", "action": "revised", "reason": "补充紧急情形例外"}
  ]
}

本文评述:这里刻意没有把判断单元设计成纯三元组(主语-谓词-宾语)。三元组适合表达事实,不适合表达“带条件的判断”。判断的本质是“在条件C下,选择J而非J'”,这个“而非”是三元组难以承载的。半结构化表示牺牲了一部分机器可推理性,换来了对判断语义的保真度。在工程上,这个取舍是值得的,因为ECL的主要消费者是LLM与人工审阅者,而非形式化推理机。

8.3 关系类型

判断单元之间需要显式关系,至少覆盖四类:优先级(priority),如制度级高于流程级;依赖(depends-on),如判断B以判断A成立为前提;冲突(conflicts-with),两条判断在相同情境下给出不同结论,需人工裁决;例外(exception-of),一条判断是另一条的边界例外。这四类关系构成了判断之间的“线”,正是死穴二所缺的。

九、构建流水线:五阶段与工程实现

9.1 阶段一:知识分层与元数据治理

在抽取判断之前,先给知识源打层级标签(宪法级/制度级/流程级/事实级)与业务域标签。这一步是人工与规则结合:制度文件通常有明确的章节结构,可规则化解析;会议纪要、工单需要分类模型辅助。层级标签是后续检索路由与优先级关系的基础,不能省略。

操作要点:建立层级判定规则表,明确每类文档的默认层级;对边界模糊的文档(如“指导意见”)单独标注并人工确认;元数据写入索引,检索时作为过滤条件。可参考业界关于文档解析与结构化抽取的工程实践,例如LlamaIndex 文档中关于节点元数据与索引结构的说明。

9.2 阶段二:判断单元抽取

抽取分两条来源:文档来源与交互来源。文档来源从制度、SOP、纪要中抽取“条件—结论”结构;交互来源从历史问答、工单处置、审批记录中抽取“情境—判断—结果”。两条来源的抽取提示词不同,但输出遵循同一schema。

操作要点:先用小样本人工标注校准抽取提示词,再批量运行;抽取结果必须保留原文引用位置,便于回溯;对抽取置信度低的条目进入人工复核队列,不直接入库。关于结构化抽取的提示工程与校验方法,可参考Prompt Engineering Guide中的结构化输出章节。

9.3 阶段三:去重、合并与冲突检测

同一判断可能从多个来源被抽取多次。需要做语义去重(嵌入相似度 + 条件字段比对),合并为一条并保留多份依据。合并后运行冲突检测:相同情境下结论不同的判断单元,标记为conflicts-with,进入人工裁决队列。

操作要点:去重阈值不宜过高,宁可保留少量重复也不要误合并不同判断;冲突检测要区分“真冲突”(结论互斥)与“伪冲突”(条件不同但表述相似),后者应通过条件字段比对排除。

9.4 阶段四:置信度初始化与演化

置信度初始化可基于来源权威性(制度高于纪要)、抽取置信度、人工复核结果三者加权。演化规则建议采用简单的贝叶斯式更新:被采纳则提升,被推翻则下降,下降至阈值以下进入待退役队列。具体权重需按业务校准,不宜照搬。

本文评述:置信度机制的价值不在于数值精确,而在于强制系统对“经验可靠性”表态。一个没有置信度的经验库,在检索时无法排序,在冲突时无法裁决,在退役时无法判断。数值可以粗糙,机制不能缺失。

9.5 阶段五:检索接口与生成层集成

ECL对外暴露的检索接口应支持三类查询:按情境检索可复用判断、按关系检索依赖链、按层级检索原则性约束。生成层在给出结论前调用该接口,把命中的判断单元作为“先例”注入上下文,并要求模型显式说明“沿用了哪条先例、是否触发边界例外”。

def answer(query, situation):
    # 1. 检索事实材料(标准RAG)
    facts = rag.retrieve(query)

    # 2. 检索可复用判断(ECL)
    precedents = ecl.search(
        situation=situation,
        layer=["制度级", "流程级"],
        min_confidence=0.6,
        status="active"
    )

    # 3. 冲突与边界检查
    conflicts = ecl.detect_conflicts(precedents)
    if conflicts:
        return escalate_to_human(conflicts)

    # 4. 生成并要求显式引用先例
    return llm.generate(
        query=query,
        facts=facts,
        precedents=precedents,
        instruction="说明沿用的先例及其边界条件"
    )

这段伪代码的关键在第3步:冲突检测放在生成之前,而非之后。生成之后再做一致性检查,成本高且难以修正;生成之前拦截冲突,可以把问题交给人,而不是让模型“编一个折中答案”。关于检索增强系统的工程模式,可参考LangChain RAG 教程与RAG 架构讲解视频。

十、与RAG的三种耦合拓扑及选型

10.1 三种拓扑

ECL与现有RAG管线的耦合方式,按侵入程度从低到高有三种:

拓扑 结构 适用 代价
旁路式 ECL作为独立检索源,与RAG结果并列注入 试点验证、低风险场景 侵入小,但生成层需自行权衡两路结果
前置式 先查ECL,命中高置信先例则直接复用,未命中再走RAG 高频、强一致场景 需处理“先例过时”风险,依赖置信度机制
融合式 ECL与RAG统一编排,判断与事实在同一推理链中交替调用 复杂多跳判断 工程复杂度最高,需编排框架支持

10.2 选型建议

建议按“旁路式→前置式→融合式”渐进推进

🔒 复制本站文章内容需登录并达到 L3。当前:未登录

分享到

💬
微信
📷
朋友圈
🐧
QQ好友
🌐
QQ空间
👁
微博
📌
钉钉
🔗
复制链接
📑
复制图文

微信扫一扫分享

打开微信「扫一扫」,扫描二维码后在微信中分享给好友或朋友圈。

💬 评论 (0)

评论功能已关闭

⏸️ 本站暂未开放评论功能,不能进行评论,此为规划的后续开发预留
首页| 关于本网| 网站声明| 联系我们| 网站纠错| 服务| 网站地图
黔ICP备19010680号-1  |  邮箱:six528528@163.com
贵公网安备 52010302001819号
Copyright 2019-2026 http://www.databrush.com/ All rights reserved.
QQ
QQ扫一扫
Logo
DBN数据刷