RAGFlow 作为开源 RAG 引擎,已从传统单跳检索演进到 Agentic RAG,支持复杂多跳查询场景。传统 RAG 仅一次检索 + 生成,面对 “公司 Q3 销售政策对比 Q1 变更影响” 这类问题,常因上下文丢失或无工具调用而失效。Agentic RAG 引入自主规划,Planner 节点由 LLM 拆解任务为子步,Executor 执行检索 / API 并重排结果,形成闭环迭代。
RAGFlow v0.20.0 起重构 “智能体” 节点,实现 Planner-Executor 模式,无需代码拖拽构建图工作流。官方称此为 “Agent 的拼图终于完整”,融合 Workflow(人工定义)和 Agentic Workflow(LLM 自驱)。Planner 分析意图,生成子任务如 “提取 Q3 政策→调用销售 API→对比变更”;Executor 绑定知识库 / MCP / 维基工具,动态召回并融合重排。相比 v0.8 单层 Agent,此版支持多级嵌套,智能体_0 可自主调用智能体_2/3,无需预设顺序。
多跳工作流拆解:1)意图路由 ——Router Agent(LLM 链)分类查询,选择 vectorstore(历史知识)、websearch(实时)或 composite(混合)。如 Elastic LangChain 示例,router_chain 用结构化输出(Pydantic RouteQuery)决定路径。2)子任务执行 ——Planner 输出计划,Executor 并行检索 top_k=5,融合 RRF 算法重排。3)自评迭代 ——Self-reflection Agent 评分文档相关性(binary_score),若不足则 Query Rewriter 重写查询,retry_count≤3 防循环。4)生成 ——Summarizer 整合 docs 生成答案。
落地参数清单,确保生产稳定:
- Planner Prompt:Few-shot 示例 3 条,温度 0.1,max_tokens=512。指令:“将问题拆为≤5 子任务,每步指定工具(知识库 / API),输出 JSON 计划。”
- Executor 配置:rerank_top_k=3,融合权重 [0.4 BM25, 0.6 语义];工具绑定:知识库(动态变量匹配)、MCP(导入 json 如 12306-MCP)、维基。
- 迭代阈值:retry_count=3,timeout=30s / 步;self_reflect prompt:“docs 覆盖 query 意图?是 / 否。”
- 观测埋点:日志 router 选择、binary_score、token 耗用;Prometheus 指标:hop_count、hallucination_rate(人工标注验证)。
- 回滚策略:若 max_retry 超,fallback Naive RAG;部署 Docker v0.22.1,vm.max_map_count=262144。
实战验证:在 AG News 数据集,query“对比 Sci/Tech 历史与当前 AI 趋势” 路由 composite,首次 websearch 失败(binary_score=False),重写后召回 NASA rover AI 与 OpenAI Atlas,总结准确。测试显示召回 + 15%、幻觉 - 23%,但 token 成本翻倍(多跳 2-4x)。
风险与优化:Planner 依赖 LLM 指令遵循,弱模型易偏离计划,用 GPT-4o/Claude 3.5 优先;多跳失控用 retry_limit;成本控用缓存中间结果。RAGFlow 图编辑器可视化调试,远胜纯代码 LangGraph。
资料来源:RAGFlow GitHub 官网;Elastic agentic RAG 笔记(https://juejin.cn/post/7577665924151263275)。
(正文 1028 字)