AI Agent 实战教程 05:RAG 如何增强 Agent

AI Agent 实战教程 05:RAG 如何增强 Agent

乐闻的头像
乐闻

2026年06月06日 09:11· 阅读 11

RAG 是 AI Agent 获得外部知识的重要方式。没有 RAG,Agent 主要依赖模型参数和当前上下文;有了 RAG,Agent 可以查询文档、知识库、数据库和业务资料,从而回答更具体、更实时、更可信的问题。

对于 Agent 来说,RAG 通常不是一个独立应用,而是一个工具。当 Agent 判断自己缺少知识时,就调用检索工具,把相关内容取回,再基于这些内容继续推理或执行任务。

RAG 的基本流程

RAG 通常包含四个核心步骤。

第一,文档处理。系统把文档、网页、笔记或数据库内容切分成较小片段,也就是 chunks。切分太大,检索不精准;切分太小,语义可能不完整。

第二,向量化。使用 Embedding 模型把每个 chunk 转成向量。向量可以表达文本语义,使系统能根据相似度查找相关内容。

第三,检索。用户提出问题后,系统把问题也转成向量,在向量数据库中找出最相关的 chunks。

第四,生成。系统把检索结果放入模型上下文,让模型基于这些资料生成回答。

Agent 为什么需要 RAG

Agent 经常要处理具体业务任务,而这些任务需要外部知识。例如:

  • 根据公司内部文档回答问题;
  • 根据 API 文档生成代码;
  • 阅读会议纪要并提取待办;
  • 根据产品资料生成教程;
  • 查询历史决策记录;
  • 从知识库中找出相关案例。

这些知识通常不在模型参数中,即使模型知道一些通用知识,也无法保证和当前业务一致。RAG 可以让 Agent 使用可控知识源。

Embedding 的作用

Embedding 是 RAG 的基础。它把文本转成向量,使“语义相近”的内容在向量空间里距离更近。

例如用户问“如何让 Agent 调用外部系统”,即使文档里写的是“Tool Calling 用于连接函数和 API”,向量检索也可能找到相关内容。

但 Embedding 不是万能的。它可能找出语义相似但事实不匹配的内容,也可能漏掉关键词强相关的内容。因此生产系统常结合关键词搜索、过滤条件和 rerank。

上下文注入的技巧

检索到内容后,不能简单全部塞给模型。上下文窗口有限,内容越多,模型越容易分散注意力。

常见优化包括:

  • 只保留 Top K 结果;
  • 对结果去重;
  • 使用 rerank 重新排序;
  • 保留来源信息;
  • 对长内容做摘要;
  • 按任务类型选择不同检索策略。

对于需要可信答案的场景,最好要求模型基于检索内容回答,并在必要时给出引用。

RAG 与 Agent 的结合方式

最简单方式是把 RAG 封装成一个工具,例如 「search_knowledge_base(query)」。Agent 在需要知识时调用它。

更复杂的方式是让 Agent 能选择不同知识源。例如产品文档、代码仓库、历史工单、会议纪要分别对应不同检索工具。Agent 先判断问题属于哪个领域,再选择相应工具。

还可以让 Agent 在检索结果不足时自动扩展关键词、调整过滤条件,或者向用户澄清问题。

常见问题

第一个问题是检索不到。可能是文档没入库、切分不合理、Embedding 模型不适合、查询改写不充分。

第二个问题是检索到了但用不好。模型可能忽略上下文,也可能把不同来源混在一起,产生不准确结论。

第三个问题是知识过期。文档更新后,如果索引不更新,Agent 会使用旧知识。

第四个问题是权限隔离。不同用户能访问的知识库不同,RAG 必须遵守权限边界。

小结

RAG 让 Agent 拥有外部知识,但可靠性来自工程细节:文档切分、Embedding、向量数据库、rerank、上下文组织、引用约束和权限控制。对于企业级 Agent,RAG 往往是从演示走向可用的关键一步。

标签: