你走进一家档案馆,请工作人员帮忙查“公司近三年的供应链风险”。普通工作人员会抱着关键词检索一遍,然后把一摞复印纸扔给你——这就是传统 RAG。但真正老练的侦探不会这么干:他会先问,风险分几类?哪条供应链?近三年哪些环节出过事?然后分别去财务室、仓库监控、合作方名单里查,发现证据矛盾时回头再查,最后交给你一份有理有据的报告。 Agentic RAG 就是把 RAG 从“档案馆工作人员”升级成“独立侦探”。它不再走固定的一次性“检索-生成”管道,而是让大语言模型扮演 Agent:自主拆解问题、决定要不要查、选哪个工具、按什么路径查、如何交叉验证多路证据、查完反思够不够,最后才给出答案。 这篇文章以侦探办案为主线,带你拆解 Agentic RAG 的八个核心环节:任务分解、智能决策、工具调用、路径规划、知识图谱、多源融合、自主反思、效果评估。读完你不仅能听懂 Agentic RAG,还能动手写出一个最小实现。

岗位关联

掌握 Agentic RAG,开发者能让 RAG 系统拥有主动拆解问题、自主调用工具、反思并收敛答案的能力,是构建高智商企业知识助手的核心技能。

目录
  1. 可视化演示
  2. 任务分解:先拆案再出门
  3. 智能决策:先判断要不要查
  4. 工具调用:侦探的工具箱
  5. 路径规划:设计调查路线
  6. 知识图谱:线索关系网
  7. 多源融合:拼出完整证据链
  8. 自主反思:复盘后再出发
  9. 效果评估:用数据验收破案成果
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

展示二分查找在有序数组中定位目标值的过程,通过左右指针和中间位置的动态变化理解对数级搜索效率。

本节配有交互动效(进入视口后自动加载,约 3KB)。

二分查找 — 目标值存在于数组中 每次比较中间元素,根据大小关系将搜索范围减半,效率为 O(log n) 绿色表示找到目标,红色表示当前比较的中间位置 mid = ⌊(left + right) / 2⌋,每次范围缩小一半

任务分解:先拆案再出门

侦探接到“物流中转数据泄漏案”。他不会一头扎进档案室问“请给我数据泄漏的答案”,因为没有任何一本书叫《数据泄漏通用答案》。他先掏出小本子,把案子拆成三行:泄漏发生在哪个中转环节?哪些线路近期有异常?谁具备该环节的操作权限?三个问题都具体、可查证。

Agentic RAG 中的 Agent 也是这样面对复杂用户查询的。它先把原始问题交给语言模型,做查询理解与子问题拆分:原始问题太笼统,直接做 embedding 检索很难找到精准片段;拆成若干子问题后,每个子问题都能独立走一次检索,命中率大幅提升。

具体实现中,任务分解往往就是一句 prompt:让 LLM 输出子问题列表,并顺带做意图识别——判断用户是要事实、方案对比,还是操作指令。拆得越清楚,后续每轮检索越精准,也方便 Agent 按顺序逐个击破。

侦探的小本子上多了三行待办事项,对应 q1、q2、q3。任务分解完成,调查大纲有了。下一步要决定:哪些问题出门查,哪些问题凭经验就能答。

q0⇒Q={q1,q2,…,qn}q_0 \Rightarrow Q = \{q_1, q_2, \dots, q_n\}
通俗说明:把原始大问题 q0 拆成一组小问题 q1 到 qn,小问题集合记为 Q。就像侦探把大案子拆成几个可以分别调查的小问号。
  1. q0用户最初输入的那个复杂、模糊的查询。
    q0q_0
  2. Q拆解后得到的子问题集合,大括号表示把多个元素装在一起。
    Q={q1,q2,…,qn}Q = \{q_1, q_2, \dots, q_n\}
  3. q_i第 i 个子问题,例如“哪个环节最近出现过权限异常”。
    qiq_i
  4. n子问题的个数,由模型根据问题复杂度动态决定。
    n>0n > 0

智能决策:先判断要不要查

侦探不会一听到“你从业几年”就跑现场;但如果委托人问“这起案件的嫌疑人是谁”,他必须立刻行动。Agentic RAG 的 Agent 也一样:先评估自己当前的知识够不够,够就答,不够才去检索。

这被称为检索判断,也叫“检索必要性预测”。LLM 会对自己回答某个问题的信心做一个估计:信心低,说明存在知识缺口,应该触发外部检索;信心高,则直接生成。这个判断像侦探的经验直觉,是减少不必要调用的第一道闸门。

工程上,可以让模型输出一个置信度得分,或让模型在“直接回答”和“搜索后再回答”之间做选择。配合阈值 $\tau$,系统就能稳定区分“该答”和“该查”。

侦探的“判断力”是整个调查的起点:不瞎检索,也不装懂。这道闸门挡住了一大批本可以直答的简单问题,让 Agent 把预算花在真正需要调查的案子上。

a={retrieveif s<τanswerotherwisea = \begin{cases} \text{retrieve} & \text{if } s < \tau \\ \text{answer} & \text{otherwise} \end{cases}
通俗说明:Agent 给自己打分 s,如果分数低于阈值 τ,就出门检索;否则直接作答。这是控制检索成本的第一道闸门。
  1. aAgent 最终采取的行动,retrieve 表示去检索,answer 表示直接回答。
    aa
  2. s模型对“我能否凭已有知识回答该问题”的置信度得分。
    ss
  3. τ阈值,像一个及格线,由开发者在成本和准确率之间权衡设定。
    τ\tau
  4. 分支判断s 小于 τ 时走检索分支,否则走直接作答分支。
    if s<τ⇒retrieve\text{if } s < \tau \Rightarrow \text{retrieve}

工具调用:侦探的工具箱

侦探决定要调查,还要选怎么查:翻档案室(向量库)、查线人关系网(知识图谱)、去现场走访(搜索引擎)。Agent 也一样,它身边挂着几个工具:向量检索器、图数据库查询器、Web 搜索工具、SQL 查询器等等。

LLM 通过工具调用(function calling)输出一段结构化指令:工具名是什么、参数是什么。例如 {"tool": "vector_search", "args": {"query": "物流中转 数据泄漏 2024"}}。系统执行该指令,把结果返回给 Agent,Agent 再把结果读入上下文。

工具调用集成的三个关键是:工具定义(名称、描述、参数 schema 要机器可读)、函数调用(LLM 能输出符合 schema 的 JSON)、参数生成(把自然语言转成工具需要的具体参数,如查询词、过滤条件、Top-K)。

侦探的工具箱已经备好。但光有工具还不够,下一步是规划行动路线——先查哪一个,后查哪一个,才能少走弯路。

t∗=arg⁡max⁡t∈T U(t,q)t^{*} = \arg\max_{t \in \mathcal{T}} \, U(t, q)
通俗说明:Agent 从工具集合 T 里挑一个效用 U 最高的工具 t* 来执行当前子问题 q。就像侦探比较“翻档案”和“走访现场”哪个对当前线索更有效。
  1. t\*被选中的最佳工具,是 argmax 的结果。
    t∗t^{*}
  2. T可用的工具集合,比如向量检索、图谱查询、Web 搜索。
    T\mathcal{T}
  3. U(t, q)工具 t 对问题 q 的预期效用,衡量匹配度与信息价值。
    U(t,q)U(t, q)
  4. argmax遍历所有工具,选出使 U 最大的那一个。
    arg⁡max⁡\arg\max

路径规划:设计调查路线

侦探拿到工具后,不会随机乱翻。他会先设计路线:先查档案,若线索指向某个关系人,再查关系网;若关系网显示他有境外资金往来,再搜公开新闻。这种“走走看看、按需调整”的过程,就是检索路径规划。

在 Agentic RAG 中,路径规划可以是固定模板,也可以完全动态。固定模板如“先向量库,再知识图谱,最后网络搜索”;动态规划则让 Agent 根据上一跳结果决定下一跳工具,形成一条多跳路径。每个工具调用就是路径上的一站,每站都会带回新的信息增量。

路径不能太长,因为每一跳都有成本。Agent 需要在“信息增量”和“调用成本”之间做权衡,最终选出一条综合得分最高的路径。

一条高效的调查路线能减少无用功。Agent 一边走一边记录路径,这些记录会为后面的反思环节提供依据。

Score(Path)=∑i=1mri−λ⋅m\text{Score}(Path) = \sum_{i=1}^{m} r_i - \lambda \cdot m
通俗说明:一条调查路线的得分 = 每站收获的信息之和 − 每站都要付出的成本。得分越高,说明这条路既收获大又不太费钱。
  1. Path一条检索路径,由顺序执行的 m 个工具调用组成。
    PathPath
  2. r_i第 i 跳检索带来的信息收益,比如新增的相关事实数量。
    rir_i
  3. λ单次工具调用的成本惩罚系数,包含时间、Token 与费用。
    λ\lambda
  4. m路径总跳数,跳数越多,总成本越高。
    mm
  5. Score总收益减总成本,Agent 选择得分最高的路径执行。
    Score(Path)\text{Score}(Path)

知识图谱:线索关系网

侦探知道,每个嫌疑人不是一个孤立的点:他有前科、有同伙、有资金流水,这些线索之间连成一张网。知识图谱就是这张网——把实体(人、物、事件)作为节点,把关系(认识、属于、发生在)作为边,存成一张大的图结构。

Agentic RAG 结合知识图谱时,先对文档做实体识别和关系抽取,把非结构化文本变成三元组,比如(张三,转账给,李四)。检索时,Agent 不再只查相似段落,还能从已找到的实体出发,沿关系边做多跳跳转,就像侦探顺着关系网不断追问“那他后来又联系了谁?”

这种“从文本跳到图、再从图跳回文本”的能力,让 Agent 回答牵涉多个实体关系的复杂问题,例如“某供应商与某高管之间是否存在间接利益关联”。

侦探顺着案卷里的名字,在关系网上不断扩展:A 认识 B,B 又与 C 有资金往来。知识图谱的每一条边,就是一条新的调查线索。

Efinal=Evector∪{v∣v∈Nk(e),  e∈Evector}E_{\text{final}} = E_{\text{vector}} \cup \{ v \mid v \in N^k(e),\; e \in E_{\text{vector}} \}
通俗说明:最终用于回答的知识集合 = 向量检索到的实体节点 ∪ 这些实体在知识图谱上走 k 步能到达的所有邻居节点。把“相似文本”和“关系网络”两边互补起来。
  1. E_vector向量检索得到的一组实体或文档,是初始线索。
    EvectorE_{\text{vector}}
  2. N^k(e)在图谱中从实体 e 出发,走 k 跳能到达的邻居集合。
    Nk(e)N^k(e)
  3. 集合构造大括号里的 v 表示所有满足条件的邻居都被收集进来。
    {v∣v∈Nk(e),  e∈Evector}\{ v \mid v \in N^k(e),\; e \in E_{\text{vector}} \}
  4. ∪并集操作,把向量线索和图谱扩展线索合并。
    ∪\cup
  5. E_final最终交给生成模块的知识集合。
    EfinalE_{\text{final}}

多源融合:拼出完整证据链

侦探手上现在有档案、人证、监控三路信息。直接堆成一团不行——可能同一件事出现三遍,可能两处说法矛盾,可能现场监控比证人口供更可信。要想得到可靠结论,必须做多源融合。

多源融合要解决三个问题:去重合并(同一事实从不同源反复出现)、相关性排序(把与问题关系不大的噪声排后)、动态权重(不同来源可信度不同,需要给不同权重)。简单做法是让 LLM 做重排与总结;更强的方法是用加权求和把多路证据统一成一份表示。

加权融合的关键是权重 $w_i$ 怎么定:可以人工设定,也可以根据来源历史准确率或与问题的相关度动态计算。

侦探把证据分类比对:剔除重复口供,给最可靠的监控最高权重,最终拼出一条完整证据链。融合不是简单拼接,而是让证据互相印证。

R=∑i=1mwi⋅riR = \sum_{i=1}^{m} w_i \cdot r_i
通俗说明:融合结果 R 等于每个来源的检索结果 r_i 乘以各自的权重 w_i 再求和。权重高的来源,对最终结论影响更大。
  1. r_i第 i 个数据源返回的检索结果。
    rir_i
  2. w_i给第 i 个源的权重,代表可信度或相关性。
    wiw_i
  3. 求和把所有源的加权结果累加,形成统一表示。
    ∑i=1mwi⋅ri\sum_{i=1}^{m} w_i \cdot r_i
  4. R融合后的证据集合,供 Agent 生成最终答案。
    RR

自主反思:复盘后再出发

侦探不会急着结案。他会拿着初步结论问自己:证据链完整吗?有没有解释不通的矛盾?如果发现某个环节站不住脚,他会再次出发调查。这就是自主反思。

Agentic RAG 的反思环节同样如此:Agent 先生成一份草稿,然后对自己的草稿做质量评估——信息量够不够、有没有幻觉风险、是否偏离用户问题。如果评估分数不达标,就进入下一轮检索,把新证据补充进来再生成一版;如果达标,就终止并输出。

这个“生成-评估-再检索”的循环,就是反馈循环。工程上必须设计好终止判定:达到质量阈值就停,超过最大轮数也停,否则 Agent 可能一直转圈。

有了反思,侦探从“自以为破了案”变成“真正破了案”。这个闭环正是 Agentic RAG 区别于管道式 RAG 的灵魂。

at={stopif score(dt)≥θretrieveotherwisea_t = \begin{cases} \text{stop} & \text{if } \text{score}(d_t) \ge \theta \\ \text{retrieve} & \text{otherwise} \end{cases}
通俗说明:第 t 轮生成草稿 d_t,如果质量评分达到阈值 θ 就收手;否则继续检索补证据。这就像侦探复盘后决定“结案”还是“再查”。
  1. a_t第 t 轮 Agent 采取的行动,stop 表示终止,retrieve 表示继续检索。
    ata_t
  2. d_t第 t 轮生成的答案草稿。
    dtd_t
  3. score(d_t)对草稿质量的自评打分,可由 LLM 或规则完成。
    score(dt)\text{score}(d_t)
  4. θ质量阈值,达标即结案。
    θ\theta
  5. 分支判断不达标时回到检索,再次执行工具调用。
    otherwise⇒retrieve\text{otherwise} \Rightarrow \text{retrieve}

效果评估:用数据验收破案成果

委托人怎么判断侦探厉害不厉害?看三样东西:破案率、破案速度、办案成本。Agentic RAG 落地时也一样,必须用指标说话:响应质量、检索效率、成本控制。

响应质量可以用 LLM-as-a-judge 打分、忠实度、答案准确率来衡量;检索效率看 MRR、Hit@K 等排序指标;成本控制看单次问答的 Token 消耗、工具调用次数和延迟。所有指标背后都指向同一个问题:这套自主检索系统是否真的比普通 RAG 更好、更快、更省。

MRR(平均倒数排名)是评估检索排序质量最常用的指标之一,尤其关注“第一个正确答案是否排在前面”。

侦探团长会给每起案子记录“采纳率、耗时、预算”。Agentic RAG 落地时也要先定好这些可度量目标,否则团队吵了半天,也不知道系统到底有没有变强。

---

MRR=1∣Q∣∑i=1∣Q∣1rankiMRR = \frac{1}{|Q|} \sum_{i=1}^{|Q|} \frac{1}{rank_i}
通俗说明:对每个测试问题,看第一个正确答案排在第几名,取倒数;再把所有问题的倒数取平均。排名越靠前,MRR 越接近 1。
  1. Q测试问题集合,|Q| 是问题总数。
    ∣Q∣|Q|
  2. rank_i第 i 个问题中,第一个正确答案在检索结果列表里的排名。
    rankirank_i
  3. 1/rank_i排名越靠前,这个值越大,排在第一名时取 1。
    1ranki\frac{1}{rank_i}
  4. 平均对全部问题求和后除以问题数,得到整体水平。
    ∑i=1∣Q∣1ranki,MRR=⋅∣Q∣\sum_{i=1}^{|Q|} \frac{1}{rank_i}, \quad MRR = \frac{\cdot}{|Q|}

AI 应用场景

智能客服工单自动分诊

阶段:任务分解 + 工具调用

解决的问题:传统客服系统只能做 FAQ 关键词匹配,面对“我的订单卡在物流中转,责任方是谁?”这种组合问题时,既拆不开问题,也不知道该查订单库还是物流库。Agentic RAG 将问题先拆成多个子问题,再分别调用不同系统,最后形成一份可直接执行的工单。

具体案例:某电商企业把工单系统接入 Agentic RAG。用户提问“我买的手机显示已发货但一直没到”,Agent 将其拆解为“订单当前状态”“物流环节是否异常”“责任方归属”三个子问题,分别查订单数据库、物流接口和售后知识库,最后输出工单摘要、处理建议和预估响应时间,客服只需审核即可发送。

企业法务合规审查

阶段:知识图谱 + 多源融合

解决的问题:合规审查需要同时对照法律法规、公司内部制度和历史判例,单源检索会出现信息断层。例如合同里的“违约金条款”是否违反行业规定,需要把实体、关系和法律条文串联起来才能判断。

具体案例:某集团法务部用 Agentic RAG 做合同预审。系统抽取合同中的签发主体、金额、日期等实体,在知识图谱中查询这些主体之间的关联(如是否有关联交易),再从法条库、案例库、公司政策库三路检索,融合后标记出“格式条款风险”“信息披露风险”等合规点,并附上对应的法律依据。

科研文献自主调研

阶段:路径规划 + 自主反思

解决的问题:写综述时要跨多个数据库找文献,还要确认结论没有被最新研究推翻。人工来回检索成本极高,普通 RAG 又不会根据上一轮结果调整检索方向。Agentic RAG 能自主规划路径并反复校验答案。

具体案例:研究员提问“Retrieval-Augmented Generation 在医疗场景的最新进展”。Agent 先检索综述库,再从综述中的关键论文题目出发,跳到论文 API 查询近三年相关内容,接着沿作者合作关系图谱扩展,最终融合多个来源生成综述初稿。初稿中一句结论与最新论文矛盾,反思模块发现后触发补充检索,自动修正并注明争议来源。

Python 演示

python59 行
class AgenticRAG:    """简化版 Agentic RAG:用规则近似 LLM 的决策,演示"决策-检索-反思"闭环。"""     def __init__(self, max_hops=4):        self.max_hops = max_hops        self.hops_count = 0        self.vector_store = {            "RAG": "检索增强生成",            "Agent": "能自主调用工具的智能体",            "知识图谱": "实体与关系的网络"        }        self.kg_edges = [            ("RAG", "升级为", "Agentic RAG"),            ("Agentic RAG", "依赖", "工具调用"),            ("知识图谱", "支持", "多跳推理")        ]     def vector_search(self, query):        results = []        for key, val in self.vector_store.items():            if key in query or query in key:                results.append(key + ": " + val)        return results     def kg_search(self, query):        results = []        for head, rel, tail in self.kg_edges:            if head in query or tail in query or query in head or query in tail:                results.append(head + rel + tail)        return results     def decide_action(self, query, draft):        if len(draft) >= 10 or self.hops_count >= self.max_hops:            return "answer"        if "关系" in query or "知识图谱" in query:            return "kg"        return "vector"     def run(self, query):        draft = ""        path = []        while self.hops_count < self.max_hops:            action = self.decide_action(query, draft)            path.append(action)            if action == "vector":                draft = " ".join(self.vector_search(query))            elif action == "kg":                draft = " ".join(self.kg_search(query))            elif action == "answer":                break            self.hops_count += 1        return draft or "未找到可用知识", path  if __name__ == "__main__":    agent = AgenticRAG(max_hops=4)    answer, trace = agent.run("知识图谱和RAG的关系")    print("检索路径:", " -> ".join(trace))    print("融合答案:", answer)
目的:演示一个极简 Agent 闭环——Agent 判断是否需要检索、选择工具、把结果写回草稿、反思后决定继续还是终止。这里的决策函数用规则近似 LLM 的决策逻辑。
  1. self.hops_count = 0记录已经检索了几步,防止无限循环。
  2. if len(draft) >= 10 or self.hops_count >= self.max_hops:反思终止条件:草稿够长或达到步数上限就停。
  3. if "关系" in query or "知识图谱" in query:意图识别:优先进入知识图谱分支。
  4. path.append(action)把每步使用的工具记入路径,方便回溯与评估。
  5. draft = " ".join(self.kg_search(query))调用知识图谱工具并把结果更新到草稿。
  6. while self.hops_count < self.max_hops:自主循环:让 Agent 自己推动检索进程。

常见误区

误区很多初学者以为,只要把 RAG 链路里加一个 LLM,让它多回答几轮,就算“Agentic RAG”了。于是画框图时多画一个圆圈,就觉得大功告成。

正解Agentic RAG 的核心不是“多一个模型”,而是 LLM 掌控检索流程的控制权:它决定何时检索、调用哪个工具、证据是否充分、要不要再来一轮。整个“决策-执行-反思”循环才是 Agentic RAG,而传统 RAG 的“检索-生成”只是一次性管道。就像侦探的核心能力是“判断和策略”,而不是他口袋里多了几支笔。

为何常见:因为很多教程只展示了模块图,没有强调控制流。看到“Agent”三个字就以为模型数量变多了,忽视了流程控制的关键。

误区有人认为多检索几轮总能召回到更多信息,答案一定会更准确。于是把最大迭代次数设成 10、20,认为“查得越多越好”。

正解多轮检索会带来更多噪声、更高延迟和更多 Token 消耗,还可能把不相关的信息混进上下文。Agentic RAG 的设计目标恰恰是“有节制地调用”:够用就停,缺了才补。反思环节的本质就是判断何时停止,而不是盲目追加检索。

为何常见:把检索次数等同于信息量,忽略了检索结果的边际收益递减和噪声累积。

误区看到知识图谱可视化界面,以为它就是给领导看的展示图,和检索没什么关系。于是觉得这是可有可无的装饰。

正解知识图谱本质上是可查询的图结构数据,在 Agentic RAG 中担任“关系推理引擎”。Agent 检索到某个实体后,能沿着图的边做多跳跳转,回答“谁和谁有关”“是否存在间接关系”这类纯向量检索搞不定的问题。它不是展示品,而是案件关系网本身。

为何常见:因为市面上很多知识图谱工具把可视化做得很突出,让人误以为“画图”就是它的全部功能。

误区把向量库、知识图谱、搜索引擎的结果做成一个列表,用换行拼在一起当成“多源融合”,这是最常见的偷懒实现。

正解真正的融合要处理重复、矛盾、可信度差异和相关性排序。简单拼接会把同一信息重复三遍,也会让矛盾结论同时出现在答案里。正确做法是去重、重排、加权,必要时让 LLM 审查冲突后给出统一结论。侦探不会把三份互相矛盾的口供直接念给委托人听,他要先交叉验证。

为何常见:拼接是最容易想到、最容易实现的“融合”,在 demo 上看起来也有模有样,容易让人误以为这就是完整方案。

误区既然 Agent 能自主决策,那就不需要设计工具、不需要限制轮数、不需要设终止信号,全交给模型就行。

正解现实中必须做好“工程护栏”:工具 schema 要定义清楚,最大迭代次数要设硬上限,终止阈值要调优,系统提示词要约束行为。否则 Agent 可能反复调用同一个无用工具,或在一个错误路径上空转,成本失控。侦探再厉害,委托方也要约定调查预算和工作范围。

为何常见:看 demo 时 Agent 表现很聪明,让人产生“全自动”的错觉,忽视了生产环境下对可控制性和成本的要求。

面试题

Q1. Agentic RAG 与普通 RAG 最主要的区别是什么?

单选题 · easy

  • A.普通RAG用向量库检索,Agentic RAG则完全不用
  • B.Agentic RAG的LLM可自主决定何时检索和调用工具← 正确答案
  • C.普通RAG不需要大语言模型参与即可直接生成回答
  • D.Agentic RAG在处理问题时无法使用外部知识库

答案:B。Agentic RAG 的核心是让 LLM 作为 Agent 掌控检索流程——决定是否检索、用什么工具、何时停止。普通 RAG 仍然是固定管道,也同样用向量库和 LLM,A、C、D 都是错误描述。

Q2. Agentic RAG 中“任务分解”的主要目的是什么?

单选题 · easy

  • A.让所有子问题都只检索同一个最相似的文档
  • B.将复杂查询拆解成更容易检索和回答的子问题← 正确答案
  • C.减少系统内工具的数量从而降低实现成本
  • D.删除那些不需要回答的环节以减少计算量

答案:B。任务分解就像侦探把大案子拆成小问题,目的是让每个子问题都能独立检索、精准命中。它并不减少工具数量,也不删除环节,而是提高检索的可执行性。

Q3. Agent 判断“是否值得检索”时最常用的信号是什么?

单选题 · mid

  • A.查询文本在界面中显示的颜色和字体大小
  • B.当前证据的置信度或模型知识缺口信号← 正确答案
  • C.用户输入的问题是否超过十个汉字长度
  • D.向量数据库里索引分片的数量大小

答案:B。Agent 评估自身对问题的置信度,若置信度低说明存在知识缺口,就触发检索。像侦探判断“这案子我熟不熟”,而不是看提问字数和界面样式。

Q4. 工具调用集成通常需要哪些关键环节?

多选题 · mid

  • A.定义工具名称、描述和输入参数格式← 正确答案
  • B.让LLM生成符合工具约定的函数调用指令← 正确答案
  • C.让工具反过来直接修改LLM的模型权重
  • D.解析工具返回的结果并交回Agent决策← 正确答案

答案:ABD。工具调用需要工具定义(schema)、LLM 生成调用指令、系统执行并解析结果。工具本身不会修改 LLM 权重,C 是错误选项。

Q5. 知识图谱在Agentic RAG中的主要作用是什么?

单选题 · mid

  • A.完全替代所有向量数据库的检索方式
  • B.利用实体与关系进行多跳推理和扩展← 正确答案
  • C.仅用于可视化展示使界面更美观漂亮
  • D.压缩语言模型的参数量以加快推理

答案:B。知识图谱以图结构存储实体与关系,Agent 可沿边做多跳扩展,补足向量检索欠缺的关系推理能力。它不是可视化装饰,也不替代所有检索。

Q6. 多源融合中,下列哪项不是必须处理的问题?

单选题 · mid

  • A.对重复出现的检索结果进行去重合并
  • B.处理不同来源在答案上的相互矛盾
  • C.为各来源设置合理的权重再进行加权
  • D.增加工具数量后答案质量自动提升← 正确答案

答案:D。融合必须去重、消解矛盾、分配权重。但“增加工具数量”不会自动提升质量,反而可能引入噪声,因此 D 不是融合必须处理的问题,而是错误直觉。

Q7. 自主反思环节的终止条件通常是?

单选题 · easy

  • A.用户在界面上手动点击停止按钮才终止
  • B.答案质量评分达标或达到最大迭代步数← 正确答案
  • C.检索到的文档总页数超过一百页才终止
  • D.工具调用的每次执行都返回失败才终止

答案:B。反思循环靠质量阈值和最大步数双重约束收尾,够好就停、超限也停。好的 Agent 不会依赖用户手动停止,也不会以页数或失败次数作为终止信号。

Q8. 设计Agentic RAG的检索路径规划时,需要考虑哪些?

多选题 · hard

  • A.决定每一跳应该优先调用哪一个检索工具← 正确答案
  • B.判断是否需要在多个数据源之间来回跳转← 正确答案
  • C.将每一轮检索到的结果直接丢弃不加以利用
  • D.基于上一轮的结果动态调整下一跳的路径← 正确答案

答案:ABD。路径规划要选工具、定跳转策略,并根据上一跳结果动态修正。检索结果必须被有效利用,C 描述的行为属于错误设计。

Q9. 在评估Agentic RAG效果时,MRR计算的核心是什么?

单选题 · extreme

  • A.系统在所有检索结果中返回的总条数多少
  • B.第一个正确答案在结果列表中的排名位置← 正确答案
  • C.生成回答文本的总字符数和页数大小
  • D.每一次工具调用的耗时和网络延迟长短

答案:B。MRR 关心“第一个正确答案是不是排在最前面”,把排名取倒数再平均。它不统计总条数、不关心字符数,也不衡量延迟。

Q10. 关于Agentic RAG的成本控制,下列说法正确的有?

多选题 · mid

  • A.限制最大迭代次数可以避免系统陷入死循环← 正确答案
  • B.设置合理的终止信号能减少无谓的检索调用← 正确答案
  • C.检索执行的次数越多则运行成本一定越低
  • D.精心设计工具接口以降低不必要的开销← 正确答案

答案:ABD。最大迭代次数是硬性防呆措施,终止信号能及时收手,工具接口设计得越精准越省钱。检索越多成本越高,C 正好说反了。