人工智能何时应停止信任自身知识?——检索触发机制

问题
AI 应该在什么时候停止依赖它已经知道的内容,并在回答之前检索外部信息?
这个问题看起来很简单,但它处于现代 AI 系统最重要的设计决策之一的核心位置。
大型语言模型在其参数中包含了大量知识。检索增强生成会在运行时添加外部信息。但两种极端都不理想。
总是信任模型可能会产生过时或缺乏支持的答案。总是检索信息会增加延迟、成本、无关上下文,并为检索错误带来新的机会。
因此,真正的问题出现在 RAG 之前:究竟应该在什么时候进行检索?
本文使用“检索触发器”这一术语来指代该决策。这里并不是将“检索触发器”作为研究文献中的标准化术语提出。它是一个实用的系统概念,汇集了主动式、自适应式和自我反思式检索研究中已经可见的思想。
检索触发器是一种条件,表示 AI 系统应停止仅依赖内部模型知识,并在生成或最终确定答案之前获取外部证据。— 工作定义
这真正意味着什么
LLM 有两种根本不同的信息获取方式。
第一种是模型知识。这是表示在模型学习参数中的信息。运行时不需要数据库查询、网络搜索或文档查找。
第二种是运行时知识。这是模型运行期间提供的信息:搜索结果、数据库记录、文档、API、用户文件、工具输出或其他检索到的证据。
RAG 连接这两个世界。但 RAG 本身并没有回答这种连接应在何时被激活的问题。这正是检索触发器的目的。
Question
↓
Model Knowledge
↓
Is internal knowledge sufficient?
↓
Retrieval Trigger
↓
External Retrieval, if required
↓
Evidence
↓
Reasoning
↓
Answer Validity Boundary
↓
Answer
因此,检索触发器位于检索之前。答案有效性边界则位于之后。
第一个问的是:我需要外部证据吗?
第二个问的是:我现在是否有足够证据来支持这个答案?
这些是相关的决策,但它们不是同一个决策。
最简单的例子
考虑三个问题。
| 问题 | 内部知识 | 检索触发 |
|---|---|---|
| 法国的首都是什么? | 通常足够 | 没有强烈触发 |
| 英伟达当前的股价是多少? | 可能过时 | 触发检索 |
| 这篇新科学论文是否证明X导致Y? | 无法在不检查证据的情况下确立该主张 | 强烈检索触发 |
第一个问题基于一个高度稳定的事实。
User
↓
"What is the capital of France?"
Model knowledge
↓
Paris
Fresh external evidence required?
↓
No
Answer
↓
Paris
在回答之前检索文档通常不会增加多少价值。
现在考虑一个答案不断变化的问题。
User
↓
"What is the current NVIDIA stock price?"
Model knowledge
↓
Potentially outdated
Current information required?
↓
Yes
RETRIEVAL TRIGGER
↓
Market data / search / API
↓
Answer
模型可能对英伟达了解很多。这并不意味着它知道现在的价格。
第三个例子更为重要。
User
↓
"Does this new scientific paper prove that X causes Y?"
Model knowledge
↓
Can reason about causality,
statistics and scientific methodology.
But:
the actual evidence is not available internally.
RETRIEVAL TRIGGER
↓
Retrieve the paper
↓
Inspect methodology
↓
Inspect results
↓
Compare claim with evidence
↓
Answer Validity Boundary
↓
Answer
模型的推理能力可能完全有用。缺失的组成部分是证据。
这种区别是根本性的。
例子失效之处
上面的例子使决策看起来是二元的:检索或不检索。
现实系统更为复杂。一个问题可能包含多个主张,有些稳定,有些是当前的。检索到的文档可能不一致。检索器可能返回不相关的信息。相关信息可能存在但排名不够高。文档可能权威但过时。
检索本身也可能将不正确的上下文引入原本合理的答案中。
这就是为什么检索不应被视为真相的自动同义词。
关于自适应检索的研究已日益摆脱这样一个假设:每个查询都应采用相同的检索策略。
例如,Self-RAG 明确探索按需检索,而不是为每个输入不加区分地检索固定数量的段落。作者讨论了不必要或不相关的检索如何降低答案质量。
Adaptive-RAG 同样根据问题复杂度在不检索、单步检索和更复杂的检索策略之间进行选择。
因此,重要的问题不是:这个系统有 RAG 吗?
而是:这个系统能否识别何时需要检索,以及何种检索是合适的?
直接回答
当回答需要其内部模型知识无法安全提供的、具备所需时效性、具体性、来源或证据支持的信息时,AI 应触发检索。
在实际系统中,检索触发器可能由若干条件产生:
Need for current information
OR
Need for exact source-specific information
OR
Need for evidence or provenance
OR
Need for private/user-specific information
OR
Insufficient knowledge coverage
OR
Conflicting evidence
OR
High consequence of factual error
如果这些条件均未实质性出现,检索可能是不必要的。如果出现一个或多个条件,外部证据便成为答案生成过程的一部分。
为何如此
语言模型的内部知识通常被称为参数化知识。它是在训练期间学习并编码到模型参数中的。
Lewis 等人最初的 RAG 工作将检索框定为这种参数化记忆与外部非参数化记忆的结合。外部记忆可以被搜索和更新,而无需重新训练整个语言模型。
这种区分造成了一个不可避免的系统性问题。
模型可以知道一些事情。但模型不能假设它所知道的一切都是最新的、完整的、足够具体的,并且有必要的证据支持。
因此,模型可能生成一个语言上令人信服的答案,却仍在其内部知识已不足的边界之外运作。
正是在这一点上,检索触发器变得有用。
背景
传统 RAG 通常如下所示:
Question
↓
Retrieve documents
↓
Add documents to context
↓
Generate answer
这种架构假设先检索后生成。这对许多知识密集型应用效果良好,但也可能执行不必要的检索。
更先进的方法引入了自适应步骤:
Question
↓
Evaluate information requirement
↓
┌───────────────┐
│ │
no retrieval retrieval
│ │
↓ ↓
model knowledge external evidence
│ │
└───────┬───────┘
↓
answer
FLARE 更进一步,在生成过程中考虑检索。它利用即将生成的文本和低置信度 token 作为检索额外信息的信号。
Self-RAG 同样引入了允许检索、生成和批判相互作用的机制,而不是将检索视为无条件的预处理步骤。
Adaptive-RAG 从查询复杂度的角度处理相同的更广泛问题:不同的问题可能需要不同的检索策略。
这些方法在技术上有所不同。但它们揭示了相同的架构洞见:检索应该是一个决策,而不仅仅是一个永久开关。
假设
检索触发框架假设系统在需要检索时至少可以访问一个外部信息源。
该信息源可以是网络搜索、文档存储、向量数据库、SQL 数据库、知识图谱、API、企业系统、用户上传的文档或工具输出。
它还假设检索是有成本的。这种成本不一定是财务成本。
检索会引入延迟、token 消耗、上下文使用、基础设施复杂性以及检索到误导性信息的可能性。
因此,最优系统不是最大化检索,而是最大化适当的检索。
变量
一个实用的检索触发器可以考虑五个主要变量。
时效性
所需信息发生变化的可能性有多大?法国的首都波动性极低。股票价格波动性极高。
特定性
问题是否需要来自特定来源、文档、组织、账户或数据集的信息?如果用户询问某份具体合同的内容,通用模型知识无关紧要。必须检索该合同。
证据要求
答案是否需要来源出处?模型可能知道某个说法被普遍接受,但当任务需要验证时,仍然需要来源。
知识覆盖
该主题是否可能在内部模型知识中得到充分体现?罕见、专有、高度本地化或新发布的信息会产生更强的检索压力。
错误的后果
并非每个错误答案都有相同的影响。当事实准确性对决策产生实质性影响时,可接受的证据门槛可能更高。
这些变量不必实现为字面上的数值分数。它们描述的是决策面。
诊断/决策方法
一个非常简单的检索触发器可以在没有机器学习的情况下实现。
def should_retrieve(
time_sensitive=False,
source_specific=False,
evidence_required=False,
private_context=False,
knowledge_uncertain=False,
conflicting_information=False
):
return any([
time_sensitive,
source_specific,
evidence_required,
private_context,
knowledge_uncertain,
conflicting_information,
])
对于稳定的事实性问题:
should_retrieve()
# False
对于当前股票价格:
should_retrieve(
time_sensitive=True
)
# True
对于科学主张:
should_retrieve(
source_specific=True,
evidence_required=True
)
# True
生产系统可以使这一决策复杂得多。分类器可以预测检索需求。模型可以发出特殊的控制标记。路由器可以对查询复杂度进行分类。检索也可以在生成过程中被反复触发。
实现方式可以改变。架构问题保持不变:
模型当前可用的证据是否足以支持它即将生成的答案?
证据
这里提出的概念与多条检索研究路线一致。
最初的RAG架构展示了将参数化模型知识与外部非参数化知识相结合的有用性,尤其是在知识密集型任务中。
FLARE明确探索了生成过程中的主动检索,包括由低置信度的即将生成内容所触发的检索。
Self-RAG展示了一种架构,其中检索可以按需发生,随后对检索到的段落和生成的内容进行反思。
Adaptive-RAG根据问题复杂度在不同策略之间动态选择,包括不需要检索的情况。
这里使用术语“检索触发器”作为对更广泛决策家族的系统级抽象。
它并不声称这些论文使用了相同的术语。相反,它识别出共同的架构问题:是什么导致AI系统从内部知识转向外部证据?
真实示例
考虑一个连接到公司文档的支持助手。
"How do I reset my password?"
如果该流程稳定且可靠地体现在助手当前的指令中,直接回答可能是合适的。
"What permissions does my account currently have?"
该信息是用户特定的且动态的。检索触发器触发。系统必须检查实际的账户或授权数据。
"Why was my production deployment rejected yesterday?"
模型可以理解部署系统并解释常见原因。但问题询问的是特定事件。需要日志、CI/CD输出或事件记录。
同样的逻辑适用于网络搜索。
"What is RAG?"
一般性解释可能不需要检索。
"What did the authors of Self-RAG specifically conclude about unnecessary retrieval?"
现在需要来源特定的证据。
"What is the latest research on adaptive retrieval?"
这也引入了时效性要求。底层主题没有改变。信息需求改变了。
常见误解和失败模式
更多检索自动产生更好的答案。它不会。不相关的文档消耗上下文并可能分散生成注意力。
高模型置信度意味着检索不必要。模型可以自信地产生错误答案。因此,自我报告的置信度不应被视为唯一的触发器。
成功检索意味着答案已验证。检索仅提供候选证据。证据仍必须相关、足够权威且被正确解释。
RAG自动解决过时知识。只有当检索语料库本身包含当前信息时,它才会这样做。检索过时文档不会产生当前答案。
一个检索步骤总是足够的。复杂问题可能需要多个证据或迭代检索。
边缘情况
有些问题同时包含稳定和不稳定的信息。
"Who founded NVIDIA, and what is its market capitalization today?"
第一部分可能可以依靠稳定的模型知识来回答。第二部分则需要当前信息。
一个足够强大的系统不应必然将整个查询视为一次检索决策。它可以在需要的地方才触发检索。
另一个边缘情况是来源之间的分歧。假设检索返回了三份提出互不兼容主张的文档。
检索触发器已经成功:系统识别出需要外部证据。但任务尚未完成。
系统现在遇到了证据评估问题。这正是答案有效性边界变得重要的地方。
系统可能已经检索到信息,但仍然没有足够的证据来做出强有力的结论。
Retrieval Trigger
≠
permission to answer
触发器获取证据。有效性边界决定该证据是否充分。
局限性
检索触发器是一个概念框架,而不是通用算法。
不同的系统将需要不同的触发规则。客户支持机器人、科学研究助手、搜索引擎和自主软件代理并不具有相同的证据要求。
触发阈值也可能产生自身的失败模式。阈值太低会导致过度检索。阈值太高会导致无支持的回答。
检索基础设施本身也很重要。一个完美的触发器连接到质量差的来源集合,仍然会产生糟糕的证据。
同样,一个出色的知识库如果在需要时触发器从不激活,也几乎没有价值。
因此,检索触发器只解决了更大架构中的一部分问题。
什么会改变这个答案?
未来的模型可能包含更好的机制来识别自身的知识局限。检索器可能变得更便宜、更快速。长上下文系统可能持续携带多得多的源材料。
模型也可能日益将搜索、数据库、工具和结构化知识结合起来,而不向应用开发者暴露一个独立的 RAG 阶段。
这些变化可能会改变触发器的实现方式。它们不一定消除底层的决策。
只要模型已可获得的信息与必须从外部获取的信息之间存在差异,系统就仍然需要某种机制来决定何时跨越这一边界。
实现方式可能会从视野中消失。架构问题依然存在。
结论
RAG 开始得太晚,无法解释整个问题。
在检索能够发生之前,AI 系统必须确定检索是否必要。这个决策就是检索触发器。
Stable known fact
→ answer from model knowledge
Current fact
→ retrieve
Source-specific or evidence-dependent claim
→ retrieve and verify
但更广泛的含义更为重要。可靠的 AI 不仅需要获取知识。它需要一种方法来确定其当前知识何时不足。
Model Knowledge
↓
Retrieval Trigger
↓
Runtime Knowledge / RAG
↓
Evidence
↓
Reasoning
↓
Answer Validity Boundary
↓
Answer
检索触发器决定系统何时应寻求证据。答案有效性边界决定该证据是否充分。
它们共同描述了比单独 RAG 更有用的东西:一个从 AI 看似知道的内容转向它实际能够支持的内容的决策过程。
主要来源
Patrick Lewis 等,Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks(2020)。描述参数模型记忆与外部非参数记忆相结合的基础性 RAG 工作。
Zhengbao Jiang 等,Active Retrieval Augmented Generation(2023)。引入 FLARE 和生成过程中的主动检索,包括基于低置信度预测内容的检索。
Akari Asai 等,Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection(2023)。探索按需自适应检索和自我反思,而不是无条件固定检索。
Soyeong Jeong 等,Adaptive-RAG: Learning to Adapt Retrieval-Augmented Large Language Models through Question Complexity(2024)。根据输入问题在无检索、单步检索和更复杂的检索策略之间动态选择。
Related Articles

LLM从哪里获取数据?Python中的RAG数据源
LLM 并不会神奇地知道你的文件、数据库或 API。这个 RAG 系列的实用续篇用简单的 Python 展示了外部数据如何变成可检索的证据:从文本文件和 SQL 到全文搜索、嵌入、上下文组装以及最终的 LLM 调用。

答案有效性边界:相关性到可靠AI答案之间缺失的层级
一个来源可能相关、权威,但对于所提出的问题仍然是错误的。缺失的层次是适用性:答案成立的条件,以及迫使其被重新考虑的变化。本文介绍了“答案有效性边界”这一面向人类、AI搜索和RAG系统的来源设计模式。

计算机使用代理:为什么成功的演示仍可能是一个不可靠的系统
计算机使用代理如今能够完成令人印象深刻的浏览器和桌面工作流程,但一次成功的运行证明的是能力——而非可靠性。本文展示了如何测试可重复性、环境鲁棒性、长时程控制、状态感知、结果验证以及安全的目标处理。

AI代理应该记住、遗忘、重新计算还是再次检索什么?
长时间运行的代理不应记住所有内容。本文提供了一个实用的生命周期模型,用于决定哪些内容应属于持久记忆、哪些内容应重新检索、哪些内容重新计算更安全,以及哪些内容应过期或被取代。

AI Agent可靠性:为什么最终答案并不足够
正确的输出并不能证明推理的正确性、执行的安全性,或系统的可信赖性。

MCP vs A2A vs UCP vs AP2 vs A2UI:智能体协议栈详解
MCP、A2A、UCP、AP2 和 A2UI 常被描述为相互竞争的智能体标准。它们大多解决的是不同的互操作性问题。本指南将每个协议映射到其实际标准化的边界,并展示它们如何在同一个生产系统中协同工作。

GPU 不是产品:面向未来的私有 AI 架构
私有 AI 基础设施不应围绕单一 GPU 或单一模型来设计。更具韧性的做法是将快速推理 GPU、内存充裕的 AI 系统、物理 AI 节点以及可选的前沿云模型,统一置于一个具备能力感知的路由层之后。

git-with-automatic-upload-and-synchronization-to-a-production-server

什么是RAG?对其工作原理的最简单解释
RAG听起来很复杂,但想法很简单:在AI回答之前,它先从知识源查找有用的信息,并将该信息提供给语言模型。本指南使用一个简单的思维模型来解释RAG、LLM、状态、记忆和工具。

AI代理记忆不是RAG:如何区分记忆、检索、状态和上下文
代理记忆、RAG、状态和上下文经常被当作可以互换的概念来使用。它们并不是。这个实用的架构模型将这四个层次区分开来,展示了每一层各自应处的位置,并解释了当系统将它们合并为一层时会出现什么问题。

企业级多租户架构,适用于国际平台
Loving Rocks 是一款企业级婚礼平台,采用真正的多租户架构设计,实现租户间数据库隔离,并内置国际化支持,以确保全球可扩展性、安全性及长期运营稳定性。

OpenAI Agents API 与 Agents SDK 与 Responses API:2026 年你应该基于什么来构建?
OpenAI 的智能体技术栈在 2026 年 9 月发生了变化。本架构指南按运行时归属将 Agents API、Agents SDK、Responses API 和 Codex SDK 区分开来——以便团队能够选择正确的控制边界,而不是比较产品名称。