收藏!Agentic RAG实战:从入门到智能问答系统完整实现指南

本文深入浅出地介绍了Agentic RAG(检索增强生成)技术,结合实际项目案例,详细讲解了查询重写、多路召回、质量评估等关键技术的实现方法。无论你是刚入门的小白还是寻求技术突破的程序员,通过本文都能掌握如何构建高效智能的问答系统,提升RAG应用的查询质量与效率,为你的大模型落地项目提供实践参考。


RAG(Retrieval-Augmented Generation,检索增强生成)是一种将 检索技术生成式 AI 结合的技术框架。

其核心流程包括:

  • 存储阶段:对输入文档进行清洗、分块等预处理,并存入知识库;
  • 查询阶段:接收查询请求后,通过检索系统获取候选结果,再交由生成式 AI 处理,输出逻辑性更强、可读性更好的答复。

在实际应用中,单纯的 RAG 系统往往存在 查询质量不高、手段单一、鲁棒性不足 等问题。于是,业内逐渐探索出结合 Agent 思路的 Agentic RAG实践,用来提升 RAG 系统的查询质量与效率。

Agentic RAG 的核心是引入 查询重写、多路召回、路由决策、质量评估、多步重查等操作,对整个检索-生成链路进行优化。在不引入额外新技术的前提下,仅通过对输入问题与检索策略的智能化控制,就能显著增强查询系统的鲁棒性与准确性。

可以说,Agentic RAG 是 RAG 与 Agent 结合的最佳实践,不仅能指导 RAG 系统的开发,也能对已有 RAG 应用流程设计提供参考。

本文结合我近期完成的 Agentic RAG 实践项目,分享其中的 Agent 设计思路、关键流程和部分代码实现,帮助大家对这类系统架构有一个整体认识。

一、项目目标

结合近半年业内出现的 Agentic RAG 的最佳实践,开发一个 Agent + RAG 原型系统,完成基于知识库的查询任务。

目标拆解如下:

1. 查询前 :对用户输入进行 查询重写,优化问题质量(关键词提取、规范表述、信息补全)。

2. 查询中 :采用 多路召回策略(关键词、向量、融合排序),提高命中率与相关性。

3. 查询后 :对候选结果进行 质量评估;若结果不足,再触发互联网搜索。

4. 结果生成 :将查询结果交由 LLM 理解与重组,生成 语义完整、逻辑性更高、可读性更强的最终回复。

二、关键技术选型

  1. Agent Framework

主流的 Agent 开发框架有 ADK与 LangChain。二者均能胜任本项目需求。

ADK 的优势是功能完备、代码简洁,即便不依赖 Google Cloud 生态也能独立运行。

我本次实践选用 ADK作为开发框架。

  1. Agent 流程控制

项目既有顺序执行逻辑,又涉及动态决策,因此:

SequentialAgent(顺序执行)与 ParallelAgent(并行执行)都不合适;

单纯交由 LLM 驱动的 LLMAgent可能产生幻觉,执行不稳定;

只有支持自定义流程的 Custom Agent才能满足要求。

While the standard Workflow Agents (SequentialAgent, LoopAgent, ParallelAgent) cover common orchestration patterns, you'll need a Custom agent when your requirements include:

Conditional Logic

Complex State Management

External Integrations

Dynamic Agent Selection

google.github.io/adk-docs/ag...

  1. 数据源

《中华人民共和国个人信息保护法》,按行切分作为知识库内容。

code-snippet__js 复制代码
《中华人民共和国个人信息保护法》第一条规定,为了保护个人信息权益,规范个人信息处理活动,促进个人信息合理利用,根据宪法,制定本法。
  1. 存储方案

向量化模型:BGE-M3

检索引擎:FAISS

持久化:Pickle

为更好的展示 Agentic RAG 流程,项目未采用 RAG SaaS 服务或向量数据库。

  1. 查询重写

模型:DeepSeek

  1. 多路召回(智能检索)

关键词召回:jieba + BM25

向量召回:BGE-M3

融合排序:RRF + Cross-Encoder

  1. 质量评估

模型:DeepSeek

  1. 互联网搜索

工具:SerpAPI

  1. 结果整合与优化

模型:DeepSeek

三、关键流程

  1. 查询流程如下:
css 复制代码
code-snippet__js
shell 复制代码
code-snippet__js
### 工作流程详解
  1. 核心类如下:
shell 复制代码
code-snippet__js
### 核心组件
  1. 项目结构如下:
css 复制代码
code-snippet__js

四、关键代码

  1. 主Agent

1)初始化

scss 复制代码
code-snippet__js
classConditionalWorkflowAgent(BaseAgent):
  1. 自定义工作流

1)初始化

css 复制代码
code-snippet__js
    @override

2)自定义流程

arduino 复制代码
code-snippet__js
try:
  1. 查询重写

此项目中的查询重写依赖LLM实现。

bash 复制代码
code-snippet__js
# 查询重写Agent
  1. 多路召回(智能检索)

1)关键词召回:jieba + BM25

BM25参数:

php 复制代码
code-snippet__js
defkeyword_search(self, query: str, top_k: int = 10, k1: float = 1.5, b: float = 0.75) -> List[Dict[str, Any]]:

使用jieba分词(中文友好):

bash 复制代码
code-snippet__js
# 对查询进行相同的分词和过滤处理

BM25公式:

bash 复制代码
code-snippet__js
# BM25公式

结果排序:

bash 复制代码
code-snippet__js
# 按分数排序

2)向量召回:BGE-M3

bash 复制代码
code-snippet__js
# 生成查询向量

3)融合排序:RRF + Cross-Encoder

bash 复制代码
code-snippet__js
# 按融合分数排序
  1. 质量评估

使用LLM进行质量评估。

bash 复制代码
code-snippet__js
# 质量评估Agent(含80%阈值判断)
  1. 互联网搜索

使用SerpAPI进行搜索:

less 复制代码
code-snippet__js
defweb_search_tool(query: str, max_results: int = 5) -> str:
  1. 结果整合

使用LLM进行结果整合。

bash 复制代码
code-snippet__js
# 答案生成Agent(基于阈值判断)

场景一:命中搜索结果如下:

场景二:1. 未命中结果如下:

场景二:2. 触发互联网搜索结果如下:

场景二:3. 最终返回结果如下:

五、实战借鉴意义

即使在日常业务中:

  1. 查询重写能显著提升命中率。

例如,将口语化表述改写为专业术语;

将模糊问题重写为清晰、完整的查询。

  1. 查询重写可采用 规则 + LLM双路结合。

小模型 LLM 既能降低成本,也能缩短响应时间。

  1. 查询路径可采用 漏斗模型:

逐步评估结果质量,若达标提前终止,降低延迟;

若不达标,则逐步扩展搜索途径,确保查询质量。

  1. 经过 LLM 的二次优化,结果在 逻辑性与可读性上会有显著提升,更贴近实际使用需求。

整体来看,Agentic RAG 在查询链路上提供了可行的优化思路,是企业落地 RAG 系统时非常值得借鉴的一类实践方案。

相关推荐
音视频牛哥几秒前
机器人视频感知架构深度解析:7条技术法则,打造低延迟实时感知与交互
人工智能·计算机视觉·机器人·音视频·大牛直播sdk·机器视觉·rtmp rtsp播放器
l12345sy43 分钟前
Day16_【机器学习—模型拟合问题】
人工智能·机器学习
Ai工具分享1 小时前
让模糊物体变清晰的视频AI:快速提升画质指南
人工智能·音视频
霍格沃兹测试开发学社测试人社区1 小时前
MCP零基础学习(7)|实战指南:构建论文分析智能体
人工智能·测试工具
开开心心就好2 小时前
PDF转长图工具,一键多页转图片
java·服务器·前端·数据库·人工智能·pdf·推荐算法
l12345sy2 小时前
Day16_【机器学习概述】
人工智能·机器学习
大千AI助手2 小时前
InstructGPT:使用人类反馈训练语言模型以遵循指令
人工智能·gpt·语言模型·自然语言处理·rlhf·指令微调·模型对齐
文心快码BaiduComate2 小时前
七夕,画个动态星空送给Ta
前端·后端·程序员
文心快码BaiduComate2 小时前
早期人类奴役AI实录:用Comate Zulu 10min做一款Chrome插件
前端·后端·程序员
机器之心2 小时前
时代2025 AI百人榜出炉:任正非、梁文锋、王兴兴、彭军、薛澜等入选,华人影响力爆棚
人工智能·openai