RAG + Function Calling + ReAct 详细讲解

RAG + Function Calling + ReAct 详细讲解

(Agent 岗位最核心三大件,面试必问,我给你讲得透彻又好记


一、三大核心分别是什么?

1. RAG:检索增强生成

Retrieval Augmented Generation

是什么

让大模型先去外部查资料,再回答问题,而不是只靠模型内部知识。

解决什么

  • 模型知识过时
  • 私有数据(文档、数据库)无法访问
  • 严重幻觉

流程

  1. 文档加载 → 分块 → 向量化 → 存入向量库
  2. 用户问题向量化 → 检索最相关片段
  3. 把问题 + 检索片段一起喂给 LLM
  4. LLM 基于资料生成答案

特点

  • 不训练模型,成本低、安全可控
  • 事实性强,适合知识库问答

2. Function Calling:函数调用

也叫 Tool Calling、工具调用

是什么

LLM 不再只输出文本,而是输出结构化指令,让系统去执行外部函数/API/工具。

比如:

  • 查天气
  • 查数据库
  • 调计算器
  • 发邮件
  • 执行代码

解决什么

  • LLM 只会"说话"不会"做事"
  • 无法获取实时信息
  • 无法操作外部系统

特点

  • 结构化输出(JSON)
  • 精准调用工具
  • Agent 能完成真实任务

3. ReAct:推理 + 行动

Reasoning + Acting

是什么

一种让 LLM 边思考边行动的范式,把"推理"和"工具调用"交替执行。

格式固定为:

  • Thought:我要做什么
  • Action:调用什么工具
  • Observation:工具返回结果
  • Thought:根据结果继续推理
    ...直到得出答案

解决什么

  • 复杂问题无法分步解决
  • 盲目调用工具
  • 缺乏逻辑规划

特点

  • 可解释性强
  • 适合多步、复杂任务
  • 是 Agent 的灵魂架构

二、三者关系(一句话串起来)

  • RAG 负责"查知识"
  • Function Calling 负责"用工具做事"
  • ReAct 负责"规划怎么查、怎么用"

合在一起 = 一个会思考、会查资料、会用工具的智能 Agent。


三、Function Calling 原理(超详细,面试标准答案)

1. 本质原理

Function Calling 的本质是:
把函数信息放进 Prompt,让 LLM 学会输出结构化调用指令,再由后端解析执行。

不是模型内置魔法 ,完全是提示工程 + 结构化解析


2. 详细工作流程

① 定义函数元信息(给 LLM 看)

你告诉模型每个工具:

  • 函数名
  • 功能描述
  • 参数名、类型、是否必填
  • 示例

例如:

json 复制代码
{
  "name": "get_weather",
  "description": "获取城市天气",
  "parameters": {
    "type": "object",
    "properties": {
      "city": {
        "type": "string",
        "description": "城市名"
      }
    },
    "required": ["city"]
  }
}

② 把函数描述拼进 Prompt

系统提示词模板:

你可以调用以下工具:

  1. get_weather(city: str)
    当需要调用工具时,请严格按 JSON 格式输出...

③ LLM 判断是否需要调用工具

根据用户问题,LLM 推理:

  • 不需要 → 直接回答
  • 需要 → 生成工具调用 JSON

典型输出:

json 复制代码
{
  "name": "get_weather",
  "parameters": {
    "city": "北京"
  }
}

④ 后端解析并执行函数

后端识别到 JSON → 调用真实接口 → 获取结果。

⑤ 把工具返回结果再喂给 LLM

LLM 根据结果生成最终自然语言回答。


3. 核心原理总结(面试背诵版)

  1. 通过 Prompt 向 LLM 注入函数元信息(名称、参数、用途)
  2. LLM 理解任务后,输出结构化调用指令(JSON)
  3. 系统解析 JSON 并执行真实函数/API
  4. 将执行结果返回给 LLM,生成最终回答

一句话:
Function Calling = 函数描述Prompt + 结构化输出 + 后端执行调度


四、三者在 Agent 中的地位

  • ReAct:大脑(思考与规划)
  • Function Calling:手脚(执行动作)
  • RAG:记忆与知识库(提供依据)

如果你需要,我可以再给你整理一套
"RAG + Function Calling + ReAct 串联流程图 + 一道综合面试题答案"

相关推荐
爱听歌的周童鞋2 小时前
Agent Skill 从使用到原理,一次讲清
agent·reference·script·skill·mcp·claude code
迷失02 小时前
基于AI多智能体的自主渗透测试框架
ai·渗透测试·agent·multi-agent·skills·渗透测试skill
x-cmd2 小时前
[260326] x-cmd v0.8.10:跨 Shell 统一配置命令短名;自动装好依赖运行 WhisperLiveKit 实时语音转写
linux·人工智能·ai·whisper·shortcut·x-cmd
写点啥呢3 小时前
最适合AOSP开发的AI编辑器——cursor
agent·ai编程·cursor
实在智能RPA3 小时前
实在 Agent 支持本地化部署吗?深度解析企业级私有化 AI 智能助理的技术架构与落地实践
人工智能·ai·架构
金融RPA机器人丨实在智能3 小时前
2026产业跃迁:基于大模型的自主智能体产品如何重塑企业生产力?实在Agent商业实战全解析
人工智能·ai
深藏功yu名3 小时前
Day25(高阶篇):RAG检索与重排序算法精研|从原理到参数调优,彻底攻克检索瓶颈
人工智能·算法·ai·自然语言处理·排序算法·agent
一晌小贪欢3 小时前
【计算机科普知识】:什么是AI智能体(AI Agent)
人工智能·ai·chatgpt·ai agent·智能体·ai智能体
AI扑社4 小时前
2026 GEO 布局完整解决方案(可落地执行)
ai·学习方法·解决方案·geo