提示工程 + RAG

  1. LLM 可以开箱即用,通过提示工程和它直接对话并解决问题
  2. 随着 LLM 的能力越来越强,尤其是其推理模型的出现,LLM 的回答越来越准确
  3. 但 LLM 并非全知全能预训练的数据有截止时间 - RAG
  4. RAG 是一种 LLM 应用开发范式
    • 将 LLM 与外部数据源相结合来提高准确性相关性
    • 先通过向量之间的相似度,用检索系统外部数据源搜索数据,以识别与用户查询相关的信息
    • LLM 随后利用检索到信息生成更精确,更及时的响应

RAG 过程 - 通过 RAG 增加 LLM 的知识,大大提高了 LLM 回答的准确性和相关性

Key Value
检索 通过向量数据库或者其它检索系统,找出与用户查询相关的信息
增强 将检索到的信息作为上下文提供给 LLM
生成 LLM 基于这些额外信息生成回答

image-20250916224705473

Agent + Tool Call

  1. RAG 解决的是让 LLM 使用内部知识,同时减少幻觉的问题,但 RAG 本身并没有增强 LLM 的行动能力 - Agent
  2. Agent 本质上是赋予 LLM 使用工具采取行动的开发范式

Agent 的工作流程

Key Value
规划 LLM 理解用户需求,规划解决方案
工具选择 决定使用哪些工具来完成任务
工具调用 调用选定的工具并处理返回结果
反思和调整 评估进展,必要时调整计划
输出结果 向用户呈现最终结果

image-20250916224606942

  1. 工具调用的能力让 LLM 不再局限于生成文本,而是可以执行实际操作,极大扩展了 AI 应用的范围和价值
  2. OpenAI 的 Function Calling 和 Anthropic 的 Tool Use 都允许开发者为 LLM 定义可调用的工具,LLM 可以自主决定何时使用这些工具

LLM 应用开发范式

image-20250916225337398

  1. 要让 LLM 拥有各种工具调用的能力,绝非易事
    • 即使是使用 LangChain,要为 LLM 配置一个工具,也要在程序中手动向 LLM 注册工具的名称以及各种参数
  2. 在有了 MCP 协议后,无论是 RAG,还是 Agent + Tool Calls,这两个 LLM 应用开发的关键范式,都将得益于 MCP 提供的工具发现主动调用能力

MCP + RAG + Agent

MCP 是一个开放标准,用于将 AI 连接到数据库工具,相当于为 LLM 构建的 API 层

image-20250916231224149

  1. MCP 为 LLM 提供了连接到不同数据源工具标准方式
  2. 所有的工具或者服务提供商都会按照 MCP 协议制定的标准定义一个共享接口
    • 无需每个开发团队都分别与他们构建一次性集成,而 MCP 客户端中的 LLM 可以无缝地接入该接口
  3. 对于 RAG 来说
    • MCP 通过统一的 SessionMessage 协议工具发现机制,使 RAG 能够无缝接入多源数据检索
    • 只需一次集成即可动态检索注入上下文,大幅提高 RAG 的准确性和可维护性
  4. 对于 Agent 来说
    • MCP 为 Agent 提供了标准化工具调用接口结果回传格式
    • 让 LLM 可以自主选择分步调度各类工具执行复杂任务,无需手动注册编码集成
    • 这将显著提升 Agent 应用的开发效率扩展能力