Teverant AI · AI 应用趋势

2026-10-12

RAG 是什么 AI?企业知识库问答怎么做

本文讲清 rag 是什么 ai,解析企业知识库问答的适用场景、数据治理、权限控制、检索优化、引用拒答与上线验收方法。

一、RAG 是什么 AI:不是新模型,而是企业知识的“开卷问答层”

从业务视角看,RAG(检索增强生成)是一条问答工作流:用户提出问题后,系统先到企业知识源中查找相关内容,再把检索结果交给大语言模型组织答案。它不是一种独立的大模型,也不会替代模型本身;模型负责理解与表达,RAG 负责在生成之前提供可用的企业证据。

这一区分很重要。仅使用大语言模型时,回答主要依赖训练阶段形成的参数知识。模型可能熟悉通用概念,却不知道企业内部的制度版本、项目资料、产品手册或流程文件。RAG 在模型与企业内容之间增加了一层检索连接,使回答可以参考未进入模型训练集的私有资料。

因此,RAG 的企业价值不能简单概括为“减少幻觉”。它更直接地解决三个工程问题:让模型能够使用内部知识;让知识变化主要通过更新资料而非重新训练模型来处理;让回答能够关联到原始材料,便于用户核对依据。这里的“依据”不是模型声称自己参考了某份文件,而是系统实际检索到、传入生成上下文并可回到原文查看的内容。

组成部分主要职责不应被误解为
大语言模型理解问题,归纳已提供的上下文并生成自然语言天然掌握企业全部资料
检索层从允许访问的知识范围中寻找与问题相关的内容仅做关键词搜索或向量匹配
知识来源承载制度、手册、说明文档及其他业务材料把文件上传后即可自动成为可靠知识
生成与引用基于检索内容形成回答,并提供原文核验入口给答案附上链接就等于内容可信

“开卷”是理解 RAG 的一个合适类比,但开卷不等于一定答对。资料是否完整、检索结果是否相关、模型拿到的上下文是否包含关键条件,都会影响最终输出。RAG 可以为模型提供证据,却不能自动保证文件本身正确,也不能把低质量资料变成可靠结论。它降低的是模型脱离企业资料自由作答的概率,而不是从机制上消除错误。

企业实施 RAG 时,建议始终检查三条链路是否同时成立:

  • 文档接得进来:业务资料能够被持续采集、解析和更新,检索时拿到的不是残缺正文或长期未同步的旧内容。
  • 权限管得住:检索范围与用户身份、资料可见范围保持一致,不能因为接入大模型而绕过既有的信息边界。
  • 答案验得出来:用户可以看到回答依据,并能返回原始内容核对;系统也应区分“检索到材料”和“材料足以支持结论”。

这三条链路决定了企业 RAG 的实际可用性。只有文档接入而没有权限约束,知识库会带来信息暴露风险;只有检索结果而缺少可核验依据,用户难以判断回答是否可靠;只关注模型表达而忽略资料质量,则容易得到措辞流畅但依据薄弱的答案。后续的需求判断、数据治理、检索优化和上线验收,都应围绕这三条链路展开,而不是把选模型或选向量数据库当成建设起点。

二、先判断需求:什么问题适合做 RAG,什么问题不能只靠 RAG

判断一个需求是否适合 RAG,先不要讨论模型参数或向量数据库,而要确认答案从哪里产生。RAG 更适合处理“答案已经写在资料里,但用户难以快速找到”的问题。通常可从三个条件判断:相关内容能够纳入管理;知识会更新,或属于模型原本不了解的内部信息;回答需要附带可核验的来源。

例如,制度条款、产品手册、技术规范和内部操作说明,主要工作是从文档中定位相关段落,再让模型结合上下文组织答案。这类需求的知识载体相对明确,RAG 可以在不重新训练基础模型的情况下,把组织内部资料加入回答过程。此时项目重点不是让模型“记住”文档,而是确保它能找到正确版本,并说明结论依据。

另一类问题表面上也是问答,答案却不完整存在于文档中。以员工询问可用休假为例,制度资料只能解释计算规则;要得到针对当前员工的结果,还需要读取与本人相关的业务记录。同样,订单进展之类的问题也依赖持续变化的业务数据。对这些需求,文档检索只能承担解释规则、补充口径的部分,当前状态应由业务数据源提供。

需求类型答案来源RAG 的位置
制度解释、资料查找、文档问答受管理的文档与知识资料可作为主要问答机制
个人信息、业务状态查询文档规则与业务数据负责检索说明材料,并与数据查询组合
审批、记录变更、交易处理业务系统及其流程规则只提供相关知识,不承担完整执行过程

还要区分“回答问题”和“完成动作”。如果用户的真实目标是提交审批、更新记录或完成交易,那么系统不仅要理解知识,还要处理身份、参数、流程结果和异常情况。RAG 可以解释办理条件、定位操作依据,却不应被当作完整的业务自动化方案。架构上应把知识查询与业务执行拆开,分别定义输入、权限和失败处理。

立项前建议形成一份答案边界清单,而不是先建设一个覆盖全部资料的知识库。至少明确以下事项:

  • 知识范围:系统回答哪些主题,哪些问题明确不处理;
  • 服务对象:不同岗位或组织可访问哪些内容;
  • 来源约束:回答必须依据哪些正式资料,普通参考材料能否作为证据;
  • 时效要求:哪些问题可以使用定期同步的文档,哪些必须读取当前业务数据;
  • 回答策略:找不到充分依据时,是拒绝作答、提示补充条件,还是转入其他处理渠道;
  • 动作边界:系统只给出说明,还是需要衔接后续业务流程。

一个直接的判断方法是追问:“去掉语言模型后,这个问题的可靠答案应当从哪里取得?”如果答案是某份受控资料,优先考虑 RAG;如果答案来自业务系统中的当前记录,就需要数据查询能力;如果目标是改变系统状态,则还需要独立的执行链路。先完成这一步分类,可以避免把所有企业 AI 需求都包装成知识库问答。

三、从文档到知识库:先解决数据治理,再讨论向量库

企业 RAG 的首要问题通常不是选择哪一种向量数据库,而是确定哪些资料可以作为答案依据。若源文档重复、过期或责任不明,检索系统只会更快地暴露这些问题。向量化不会自动判断制度是否仍然有效,也无法替企业决定 Wiki、正式通知与历史工单之间谁更权威。

第一步应盘点知识来源,并给每类资料定义治理规则。网盘和 Wiki 往往覆盖面广,但版本状态未必清楚;产品手册适合解释功能与操作;工单可以补充真实问题,却可能包含临时处置和个别结论;合同的适用范围取决于具体主体与版本;业务系统中的记录则持续变化。盘点时不要只登记存放位置,还要明确维护责任、更新节奏、有效区间以及发生冲突时的采用顺序。

治理对象需要作出的判断缺失后的影响
知识来源是否允许进入问答范围低质量材料混入检索结果
权威级别多个来源冲突时采用哪一个答案可能引用旧稿或非正式说明
维护责任由谁确认更新、失效与删除问题出现后无人处理
生命周期何时生效、替换或停止使用新旧版本同时被召回

数据准备也不等于批量上传文件。工程流程至少要处理正文和表格解析、重复内容清理、标题结构恢复以及语义分块。扫描件、复杂表格和跨页条款若解析错误,后续使用更强的嵌入模型或重排模型也难以补救。处理后的内容还应保留必要的检索属性,例如原始出处、版本状态、归属范围、时间信息与访问限制。字段不必追求数量,而要能支持过滤、追溯和运维。

分块策略应服从文档结构,而不是让所有资料套用同一个字符长度。制度条款需要尽量保留适用条件、例外和处理结论;FAQ 可以按问答单元组织;技术文档则应维持章节、步骤和前置条件之间的关系。固定长度切分虽然实现简单,却可能把条件留在前一块、把结论放到后一块。即使需要控制块大小,也应保存块所属标题、相邻内容和原文位置,便于检索后补齐上下文。

知识库还要具备持续更新能力。源文档新增后应进入增量处理;版本替换时要让旧内容退出有效检索范围;资料失效或被删除后,相关文本、向量及缓存也应同步处理。仅完成首次导入,只能得到一次性快照。RAG 可以通过更新索引吸收新资料,但这一优势能否落地,取决于索引变化是否跟随源系统,而不是取决于模型参数是否更新。

因此,在讨论向量库容量、索引算法或嵌入模型之前,可以先做一次更直接的检查:资料是否有明确来源,冲突时是否能够判断优先级,旧版本是否可以下线,删除是否会传播到检索端。若这些问题没有答案,项目当前缺少的通常不是检索技术,而是可执行的知识治理机制。

四、权限不是登录校验:RAG 如何避免搜到不该看的文档

用户能够登录知识库,只能证明身份已被识别,不能说明他有权查看库内全部内容。企业 RAG 的授权对象不是一个页面,而是每次检索涉及的文档、段落、引用和衍生内容。权限设计应从“谁可以检索哪些资料”出发,而不是在答案生成后再判断是否展示。

较稳妥的做法是尽量沿用源系统的授权关系。文档同步进入索引时,将源系统中的人员、群组、组织归属、文档访问控制列表和保密级别转换成检索服务可执行的权限字段。RAG 不应另建一套长期独立维护的权限名单,否则源系统已经撤权,知识库仍可能保留旧授权。

权限对象索引侧处理需要验证的问题
用户与用户组保存稳定身份标识及组关系组成员变化后,检索权限是否同步更新
部门与组织范围映射组织标识及适用范围调岗后是否仍能访问原部门资料
文档 ACL记录允许或拒绝访问的主体单文档授权能否覆盖目录级默认规则
密级转换为可参与过滤的权限属性用户级别不足时是否直接排除内容

权限判断应进入检索条件。系统先解析当前用户身份和授权范围,再在召回文档片段时应用过滤。不要先从全库取回内容,再依靠提示词要求模型“不要泄露”。一旦敏感片段进入模型上下文,它就已经越过了数据访问边界;即使最终答案没有直接复述,该内容仍可能出现在调试信息、调用链路或中间结果中。提示词可以约束回答风格,但不应承担授权控制。

工程上还要明确异常策略。身份无法确认、权限关系缺失或授权服务不可用时,不应自动放宽为全库检索。系统可以停止本次查询,或仅访问明确允许公开的资料,并向用户说明当前无法完成权限校验。这里需要显式设计失败路径,避免组件异常意外扩大可见范围。

检索过滤只是第一道边界。答案引用可能带出原文标题和链接,缓存可能保存已撤权的结果,历史会话可能继续展示旧片段,运行日志也可能记录问题、上下文与完整回答。下载、复制和导出功能还会把内容带离原有系统。因此,这些衍生载体应采用与原检索结果一致的授权与脱敏规则。

  • 展示引用前重新确认当前用户对来源文档仍有访问权。
  • 缓存键纳入用户或权限范围,避免不同授权主体共用结果。
  • 会话恢复时重新检查历史引用,不把旧授权视为永久有效。
  • 日志按用途控制字段,对正文、身份信息和查询内容分别脱敏。
  • 导出内容保留来源与权限标记,并受独立的导出授权约束。

权限还存在时效问题。员工离职、组织调整、文档撤权或密级变化后,需要检查索引中的权限字段是否更新,同时处理缓存、会话和已生成引用中的旧内容。只更新源系统页面而不处理这些副本,不能视为撤权完成。同步链路应保留变更时间、处理状态和失败原因,便于追踪某次授权变化是否已经传递到各个环节。

上线验收时,不要只用有权限的正常账号测试。应覆盖无权限访问、跨部门查询、调岗后访问、离职账号、文档临时撤权、共享链接和历史会话恢复等路径,并检查检索结果、引用、缓存、日志与导出是否执行相同边界。企业 RAG 的权限合格标准,不是模型承诺不说,而是未授权内容没有进入本次问答的数据链路。

五、问答效果怎么提升:把问题拆成召回、排序与上下文组织

RAG 回答不准时,先不要调整提示词或更换大模型。生成结果取决于上游提供了什么材料:相关内容未进入候选集,属于召回问题;正确片段已经出现,却被无关内容挤掉,属于排序问题;证据都在,但被切碎、重复或缺少前后文,则应检查上下文组织。三类问题需要分别定位。

环节需要回答的问题常见处理方式
候选召回正确资料是否被搜到混合检索、查询改写、字段过滤
相关性排序正确资料能否排到前面重排序、分级筛选、去重
上下文组装模型拿到的证据是否完整清晰相邻片段补全、按主题聚合、控制冗余

只使用向量检索,往往覆盖不了企业查询的全部形态。向量方法擅长匹配含义相近、措辞不同的表达,例如用户口语与制度文本之间的差异;BM25 一类关键词方法则更容易保留精确字符匹配,对故障代码、设备型号、缩写和领域词汇更有价值。因此,检索方案应通过业务问题集比较语义检索、关键词检索及两者组合,而不是预设向量方案一定更优。

混合检索不是把两份结果简单拼接。两条检索通道的分数尺度可能不同,需要使用统一的融合规则,例如按名次合并的 RRF,再处理重复片段和权限过滤。验收时应分别观察不同问题类型:自然语言提问是否能找到同义材料,精确标识符是否命中对应文档。若只看总体平均值,局部失效容易被掩盖。

召回阶段的目标是避免漏掉证据,而不是立刻得到最终上下文。工程上可以先取得范围较宽的候选集,再由重排序模型重新判断问题与片段的关联程度,将真正有用的内容送入生成环节。语料规模较大时,可采用分级流程:低成本检索负责缩小范围,轻量排序继续筛选,计算开销较高的 Cross-Encoder 只处理剩余候选。每增加一层,都应验证它是否改善结果,并记录新增延迟与资源消耗。

查询本身也可能限制召回。一个问题同时包含多个意图时,单次检索容易只覆盖其中一部分;表达过短或指代不明时,检索词也不足以定位资料。此时可以改写查询,或生成若干侧重点不同的检索表达,再合并候选结果。但改写属于额外推理步骤,会增加模型调用、响应时间与费用,还可能改变原问题含义。因此需要保留原始查询,并检查改写结果是否遗漏限定条件。

上下文并非越长越好。片段进入提示词前,应去除重复内容,补齐必要的标题、条款归属和相邻段落,并尽量让同一主题的证据保持连续。若切分边界破坏了表格、步骤或定义,即使检索命中,模型也可能无法还原完整含义。此类问题应回到文档切分与上下文拼装处理,而不是依靠生成模型猜测缺失部分。

RAG 与长上下文可以配合使用:检索先从资料集中缩小证据范围,长上下文再承载这些高相关且结构完整的内容,供模型综合分析。相比直接放入大量文档,这种方式更容易控制输入范围、成本和证据来源。最终调优也应按链路逐段验收:先确认能否找到,再确认排序是否合理,最后检查模型看到的上下文是否足以支持回答。

六、答案可信不等于模型会说:设计引用、拒答与冲突处理

企业 RAG 的可信度不应按语言是否流畅判断,而要看结论能否由检索证据支撑。模型可以负责组织表达,但不应自行补全制度条件、适用范围或例外条款。RAG 能把回答约束在指定知识来源附近,从而降低虚构内容、误用旧信息和混淆内部术语的风险,但不能保证完全消除幻觉。

首先要定义“有证据回答”的输出契约。对影响业务判断的结论,答案应关联到原文标题、具体章节或段落,并在条件允许时提供可访问链接。引用不能只指向知识库首页,也不能列出与结论关系不明的一组文档。用户应当能够从答案直接返回对应原文,核验上下文、适用对象与版本。

  • 结论与引用一一对应,避免在一个引用下混入多个未经支持的判断。
  • 引用保留文档标题、定位信息和版本标识,便于复核。
  • 生成内容不得扩大原文含义;证据只覆盖部分条件时,应限定回答范围。
  • 引用片段与最终答案一起记录,方便后续排查和回归测试。

其次要把拒答作为正常路径,而不是系统异常。检索结果为空、片段与问题关联较弱,或者资料没有覆盖关键条件时,系统应明确说明“现有资料无法确认”。可以同时指出缺少哪类信息或建议核验哪个责任部门,但不应调用模型常识把空白补成确定结论。提示词中的“仅依据资料回答”只能形成行为约束,不能替代证据检查;应用层仍需根据相关性、引用覆盖情况和资料状态决定是否允许生成。

多份文件互相冲突时,也不能把不同表述自动拼接成一个看似完整的答案。工程上应先建立冲突裁决规则:优先比较文件效力与责任主体,再判断适用组织、人员或业务范围,最后结合生效时间、发布日期和版本状态确定候选依据。较新的文件不一定覆盖范围更窄的专项规定,因此排序结果仍需保留适用条件。系统无法确定优先级时,应并列展示冲突点、对应来源及待确认事项,而不是替用户作出无依据的裁决。

答案出错后,不要直接归因于“大模型不够好”。应沿处理链路定位故障,否则更换模型或反复修改提示词通常无法解决根因。

现象主要环节检查方向
权威资料存在,但没有被检索到召回检查切分、查询改写、索引范围与过滤条件
正确片段已出现,但位置过低排序检查重排逻辑、相关性特征及版本优先级
证据正确,答案却遗漏条件或改变原意生成检查提示约束、上下文组织与输出模板
来源彼此矛盾,答案未提示冲突处理检查权威级别、适用范围和时间规则

因此,可信问答的验收对象不是单独一段答案,而是“结论、证据、适用条件和不确定性”组成的完整记录。只有这条链路可核验、可拒绝、可追责,RAG 才能从演示型问答进入企业业务环境。

七、从 PoC 到上线:用可复现的验收替代演示效果

RAG PoC 的目标不是做出一场顺畅演示,而是确认某个知识域能否形成可运行、可评估、可追责的问答闭环。首个范围宜选择责任主体明确、资料版本可确认、实际查询频繁的领域。不要在试点阶段同时接入多个部门的全部文件,否则错误究竟来自原始资料、权限规则还是检索链路,很难定位。

测试问题应取自真实业务场景,并在脱敏后沉淀为固定回归集。样本需要覆盖日常表述、同一意图的不同说法、多条件组合问题,以及资料中不存在答案的提问。对于已失效文件,可将其作为专门样本,用来检查系统是否错误引用旧版本。每条样本应保留预期答案要点、允许引用的资料范围、适用身份和是否应当拒答,后续调整才能进行前后对比。

验收层级主要检查内容失败时优先排查
召回需要的证据是否进入候选片段数据缺失、切分方式、查询改写、过滤条件
排序高价值证据是否排在可用位置重排配置、标题权重、版本与时效信息
答案结论是否符合证据,关键条件是否遗漏上下文组织、指令约束、模型生成
引用引文是否真正支撑对应结论片段定位、引用映射、答案拆句
拒答缺少依据时是否停止推断置信门槛、证据判定、兜底流程

权限测试应与内容测试分开执行。可为同一个问题配置不同部门、岗位或项目身份,比较可检索范围和最终输出;还要覆盖权限被收回后的再次查询,以及文档正文、标题、摘要和引用中可能暴露敏感内容的情况。验收记录不能只保存最终答案,还应保留检索条件、候选片段、排序结果与身份上下文,便于判断问题发生在哪一层。

质量指标之外,还要观测运行成本与业务结果。工程侧可记录完整请求耗时和每次调用开销;使用侧可跟踪用户是否继续追问、是否转交人工,以及问题最终有没有得到解决。指标口径需提前定义。例如,追问可能表示答案不清楚,也可能是正常的连续咨询,不能脱离会话原因直接判断优劣。

上线宜先限制用户范围和知识域,并保留反馈入口、失败会话回放及版本标记。每次变更数据、切块策略、召回配置、重排逻辑或提示词后,都应重新运行同一套回归样本,同时检查权限用例。这样可以发现某项优化是否改善了目标问题,却破坏了其他场景。

失败样本应按链路归因,而不是统一归咎于模型。找不到资料,先检查数据接入与检索;找到错误版本,检查元数据和过滤;证据正确但回答偏离,再处理上下文编排与生成约束。只有确认瓶颈确实位于生成环节时,更换模型才是合理选项。PoC 通过的标准也不应是“看起来能回答”,而应是范围内的质量、权限、成本和运营流程都已有明确的验收结果。

八、FAQ:企业做 RAG 最常见的四个决策问题

RAG 是否等于企业知识库或向量数据库?

不等于。企业知识库是被管理的内容集合,可能包含制度文件、技术手册、项目资料和业务说明;向量数据库是保存向量并执行相似度检索的基础设施;RAG 则是一条问答工作流:收到问题后查找外部资料,把相关内容交给大语言模型,再基于这些内容生成答案。

因此,仅把文档写入向量数据库,不代表知识库问答已经可用。检索结果是否相关、文档版本是否正确、模型获得了哪些上下文,以及答案能否指向依据,都属于 RAG 链路。反过来,RAG 也不必绑定某一种向量数据库;只要外部信息能够被检索并用于生成,就符合其基本范畴。

有长上下文模型后,企业还需要 RAG 吗?

通常仍然需要,两者解决的问题不同。长上下文扩大了模型单次能够读取的材料范围,适合对已经选定的一组资料做综合分析;RAG 负责先从更大的文档集合中筛出相关内容。把全部资料直接塞进提示词,会持续消耗 token,而且材料变长后,关键信息可能因位于上下文中部而未被充分利用,这通常被称为“Lost in the Middle”。

工程上不必在两者之间二选一。更稳妥的组合是先检索,缩小候选资料范围,再利用长上下文完成对照、归纳或推理。如果文档量很小、更新不频繁,并且每次都需要通读全部材料,直接使用长上下文也可能更简单。

RAG 能否保证不产生幻觉并且不泄露数据?

不能保证。RAG 能让回答受到外部资料约束,并支持展示信息来源,但模型仍可能误解片段、混合不同证据,或者生成资料中没有的结论。它降低的是风险,不是把生成式模型变成确定性查询系统。

数据安全也不能由 RAG 机制本身兜底。检索增强只回答“查到什么并交给模型”,并不天然解决“谁可以查什么”。企业需要把访问控制作为独立的安全能力处理,并验证不同身份下的检索结果。上线验收时,还应分别观察检索内容、最终答案和引用依据,不能只检查文字是否流畅。

企业应该先做向量 RAG、混合检索,还是 GraphRAG?

选择标准应是问题结构,而不是技术名称。若用户表达与文档措辞经常不同,向量检索适合先建立语义匹配基线;若资料中大量存在错误码、产品编号或固定术语,可在向量检索之外加入 BM25 关键词检索,再用 RRF 等方法合并排序。混合检索兼顾语义近似与精确匹配,通常更适合术语密集的知识库。

GraphRAG 面向另一类问题:答案分散在多份材料中,必须沿实体关系进行跨文档推理。它需要先从文档中抽取实体与关系并建立图结构,因此构建复杂度和查询延迟通常高于常规向量 RAG。

实际决策可以按最小复杂度推进:单文档或局部事实问答先验证向量检索;精确词匹配不足时引入混合检索;只有当真实问题持续表现为跨资料、多跳关系查询,并且前两种方案难以覆盖时,再评估 GraphRAG。这样更容易判断效果提升究竟来自检索设计,还是来自额外的图谱工程。