完整示例与概念桥接
本课讲解
RAG 不是“搜到就答”
普通 RAG 常被描述为:检索一次,把片段放进上下文,然后生成答案。Agentic RAG 把检索也放入 Agent 循环:
提出查询 → 检索 → 检查证据 → 修正策略 ↑ ↓ └──── 证据不足时继续 ←─────────┘Agent 可以根据结果改写查询、切换工具、诊断失败或请求人工帮助,直到证据足够,或达到边界后停止。
maker-checker 循环
官方课程用 maker-checker 风格解释这种迭代:
- maker 提出查询、选择工具并形成候选答案;
- checker 检查相关性、覆盖度、冲突与来源;
- 如果不通过,就把“缺了什么”写回状态,再进行下一轮;
- 如果通过,才生成与来源绑定的答案。
Checker 不能只检查“有没有搜索结果”。它要检查结果是否真正支持所要表达的结论。
证据的四种状态
支持
片段直接支撑结论,语义范围一致。
无关
包含相似关键词,但回答的是另一个问题。引用无关内容只会制造虚假可靠感。
冲突
不同来源给出不兼容信息。Agent 应展示冲突、比较来源权威性与版本,而不是静默挑一个喜欢的。
不足
来源只能支持结论的一部分。此时可以继续检索、缩小回答、标记不确定性或请求人工判断。
查询修正来自明确缺口
宽查询“Agent 工具”命中很多内容,但问题是“工具失败怎样处理”。Checker 应把缺口写成 error handling,下一轮再检索具体词。没有诊断的重复检索只会重复噪音。
每一轮至少记录:
query命中来源使用片段相关性判断尚未解决的缺口继续或停止理由这样才能避免重复循环,并让人理解为什么需要下一次工具调用。
引用是可核验关系
好的引用不是页面末尾的一串链接,而是“这条结论由哪段证据支持”。Course Helper 应把每个关键结论连接到课程路径、锁定 commit 和相关片段。
要区分:
- 来源事实:官方课程明确写出的内容;
- 课程重构:本应用为零基础学习者设计的解释;
- 推断:根据多个事实形成的结论。
如果是推断,应明确标注,而不是伪装成来源原文。
边界与治理
Agentic RAG 仍受基础设施、领域和权限限制。检索库可能被投毒,查询可能泄露敏感数据,记忆可能让旧错误延续。高风险领域仍需要来源治理、审计与人工监督。
迭代次数也必须受限。证据一直不足时,诚实报告缺口比无限检索或编造答案更可靠。
本课完成定义
你需要能审查一组候选片段,说明哪些支持、冲突或无关;根据证据缺口写出下一条查询;并让 Course Helper 输出能逐条核验的课程引用。
本课依据锁定版本的Agentic RAG重构。