stoneskin (Mr. Sun)

Personal homepage of Mr Sun - AI Solutions Architect, Tech Lead & AWS Cloud Specialist: resume, selected projects, and teaching archive

Agentic RAG 总结(ByteByteGo《How Agentic RAG Works?》)

← 返回目录

来源(一手原文):Alex Xu / ByteByteGo《How Agentic RAG Works?》,2026-03-23 https://blog.bytebytego.com/p/how-agentic-rag-works 起因:Alex Xu 的 X 图帖《RAG vs Agentic RAG》(2026-10-19)是本文的对照图,本文因它而读。 覆盖范围:全文已读,无付费墙截断。(文首 Sonar 广告是赞助内容,不属于正文,未纳入。) 结构:前半导读(故事与判断,旧版叙事语气),后半精读(机制、数据与证据边界,重读版口径)。2026-10-27 混合定稿。 本篇是导读(脚手架),正文请自己读;读完我来验收。

价值判断:值得重读,值得你花 15 分钟。 它不是新知识,而是把你已有的两摊东西接上电:open-memex 的检索路线和 thinktank 的 judge 设计。作为学习清单里 RAG 主题的进阶篇,它的增量在框架,不在事实。

一句话结论

标准 RAG 的病不在检索、也不在生成,而在中间没人验货:检索回来的东西够不够好,没有任何环节判断就直接拿去生成;Agentic RAG 就是在检索和生成之间插入”评估 + 可重试”的决策循环。

为什么值得看

叙事主线

企业知识问答先有标准 RAG:query 经 embedding 检索向量库、取回 chunks 喂给 LLM 生成。对 “What’s our return policy?” 这类直接问题,几乎百发百中。

困难出现在查询变复杂时,死法有三种,同一个根——系统不反思检索结果:

作者改的环节只有一个:在检索与生成之间插入一个能做决策的 agent——先评估检回结果,再决定回答还是换个方式重试:

标准 RAG:  query ─→ retrieve ─→ generate                 (单向流水线,无检查点)
Agentic:   query ─→ retrieve ─→ evaluate ──够好──→ generate
                               ↑            │
                               └── 不够好:改写 query / 换数据源 ──┘   (带决策点的循环)

但系统从此从”相对确定的流水线”变成”路径随每步所见而变的循环”,延迟、成本、可调试性全部变差。所以结论不是”升级”,而是”按场景做的工程决策”:什么时候上 agentic,什么时候标准 RAG 就是正解,文末三问说了算。

核心机制 / 数据

  1. 三种失败模式(原文 “The problems show up when queries get more complex” 段):① 歧义问题(原文真实示例:”How do I handle taxes?” 可指个税、企业税或非营利免税,标准 RAG 不能澄清也不能改写,拿原题检索、靠相似度碰运气);② 证据分散(原文真实示例:”承包商能不能远程办公”要同时查 remote work policy 与 contractor agreement,标准 RAG 只查一个 chunk 池、没有”去第二个源看看”的概念);③ 虚假自信(相似度高 ≠ 正确——话题对但文档是旧版,系统分不清 relevant 与 actually correct)。三者同根:系统不反思检索结果。
  2. 三种能力,一一对应(原文 “This gives the system three capabilities” 段):① tool use and routing(治分散:财务问题查 SQL 库、政策问题查文档库、产品问题两边都查,可多源);② query refinement(治歧义:检索前改写含糊问题,检索后结果弱再换问法重试,前后都作用于 query);③ self-evaluation(治虚假自信:检回后自问 “Is this relevant? / Is it complete? / Does it conflict with other information?”,任一不过关就换问法、换源、或两者都换重试)。映射段还有一个原文真实示例:检回的 chunk 来自”last updated two years ago”的文档,评估步标出,agent 转而找新版、换源、或在回答里加 caveat(原文 “False confidence solved by self-evaluation” 段)。
  3. 不是开关,是光谱(原文 “it’s misleading to think of Agentic RAG as a binary switch” 段起):最轻 = 一个 router 在 2–3 个知识库里选一个查(对多源环境已是实打实的升级);中间 = ReAct(Reasoning + Acting 交替,多步检索、每步之间评估);最重 = 多 agent 协作、orchestrator 统筹。附加能力:memory 与 semantic caching,跨多轮对话保留上下文(原文光谱段之后一段)。
  4. 代价的数字(原文 trade-offs 段):延迟——标准 RAG 一次查询 1–2 秒,agentic 跑 三四圈可达 10 秒以上,实时聊天通常不可接受(Latency 条);成本——每个决策烧 token,日均数千次查询的系统成本可达标准 RAG 的 3–10 倍,且若 80% 的查询是简单 FAQ,这钱大半烧在不必要的推理上(Cost 条);另三条无数字:debugging and predictability(路径可变、问题难复现、难向干系人解释)、evaluator paradox(用一个 LLM 判断另一个 LLM 的产出,评估员弱则或毙好结果空转、或放烂结果照样坏答案)、overcorrection(评估步丢掉有用的首轮结果、继续找”更好”,最终答案反而不如第一次)。
  5. 选型三问(原文结尾 “three questions can help cut through the noise” 段):① 系统检索的源对不对?② 它能不能评估检回的东西够不够好?③ 不够好时它能不能重试?三问全否且查询复杂 → 考虑 agentic;查询简单、知识库干净 → 标准 RAG 就是正解。且原文明确:若现有 RAG 的失败主要来自 chunking 差、数据陈旧,先修这些,比加 agent 层有用得多(原文 trade-offs 段后一段)。

增量(相对你已有认知与项目)

证据不支持什么

术语台账(极简)

术语 一句白话
embedding 把问题/文本变成一串数字,用来按”意思相近”找内容
chunk 文档切分后被检索的文本块,RAG 检索的基本单位
routing 按问题类型决定去哪个数据源查
query refinement 检索前或检索后把问题改写得更具体、更能命中
self-evaluation 系统对检回结果自问”相关吗、完整吗、冲突吗”
evaluator paradox 用一个 LLM 监督另一个 LLM,监督者本身不可靠
ReAct Reasoning + Acting 交替:想一步、查一步、再想
semantic caching 把问过的问题连同答案按语义缓存,相似问题直接复用

细读指引

按长期要求:职业启示