深色模式
01 · Agent 是什么:会用工具的大模型
学完你能说出:
- Agent = 大模型 + 工具 + 循环:模型负责决定「下一步做什么」,程序负责去执行。
- Agent 和普通聊天、固定流程(Workflow)的区别。
- 什么任务适合用 Agent,什么任务不适合。
先看地图
前面学的 RAG 是「固定两步」:先查,再答。但很多任务没法提前写死步骤,比如「帮我比较三家公司的财报并写总结」:要查几次、查什么,得边做边决定。
这就是 Agent 要解决的问题。本篇讲 4 个点:① Agent 的组成 → ② 一个任务的完整循环 → ③ 为什么这么设计 → ④ Agent vs Workflow,什么时候用。
一句话本质
Agent(智能体)= 让大模型当「大脑」,自己决定调用哪些工具、调用几次,直到把任务完成。
生活类比:带着手机的实习生
- 普通聊天的大模型 = 一个博学但被关在房间里的人:只能凭记忆回答,不能查、不能动手。
- Agent = 给他一部手机(工具:能搜索、能算、能发邮件),让他自己判断下一步该干什么,干完看结果,再决定下一步。
- 但手机里每个 App 都是你装的、你授权的:他只能用你给的工具。
一步步看:「明天北京要不要带伞?」
可用工具:get_weather(city, date)(查天气)。
| 轮次 | 谁在做 | 内容 |
|---|---|---|
| 1 | 模型思考 | 要回答带不带伞,得先知道明天北京的天气 |
| 1 | 模型决定行动 | 调用 get_weather(city="北京", date="明天") |
| 1 | 程序执行 | 真的去调天气接口,拿到「小雨,降水概率 80%」 |
| 1 | 结果喂回模型 | 观察(Observation):小雨,80% |
| 2 | 模型思考 | 信息够了 |
| 2 | 模型输出 | 「明天北京有小雨,降水概率 80%,建议带伞。」 |
关键点:模型自己从不执行任何东西。它只是输出一段「我想调用 get_weather,参数是……」,真正去调接口的是外面的程序。
Agent 的四个组成部分
| 组成 | 作用 | 例子 |
|---|---|---|
| 大模型(大脑) | 理解任务、决定下一步 | GPT、Claude、通义千问等 |
| 工具(手脚) | 和外部世界交互 | 搜索、查数据库、执行代码、发邮件 |
| 循环(流程) | 想 → 做 → 看结果 → 再想 | 直到完成,或达到最大轮数 |
| 记忆(笔记本) | 记住之前做了什么 | 对话历史、存到外部的长期笔记 |
为什么这么设计
为什么需要 Agent?只用大模型不行吗?
- 问题:大模型只能生成文字,不能查实时信息、不能操作系统;而且复杂任务的步骤没法提前写死。
- 方案:给模型一组工具,让它在循环里自己决定调用哪个、调用几次。
- 好处:能完成多步骤、需要和外部交互的任务,比如查资料、分析数据、执行操作。
一句话答法
大模型只会生成文字、不能获取实时信息和执行操作;Agent 让模型在循环中自主选择并调用工具,从而完成多步骤、需要和外部交互的任务。
为什么工具由程序执行,而不是模型直接执行?
- 问题:如果模型能直接执行任意操作,一次误判或被诱导,就可能删库、乱发邮件。
- 方案:模型只输出「想做什么」,程序检查参数、确认权限后再执行。
- 好处:所有动作都可以检查、记录、拦截;危险操作可以要求人工确认。
一句话答法
模型只负责决策、程序负责执行,中间可以加参数校验、权限控制和人工确认,Agent 才可控、可审计。
为什么要设置最大轮数?
- 问题:模型可能反复调用同一个工具,或者在两步之间来回打转,停不下来,白白花钱。
- 方案:限制最多循环 N 轮(比如 10 轮),超过就停下并报告。
- 好处:防止死循环和费用失控。
一句话答法
防止模型陷入重复调用或无效循环,控制成本和延迟。
Agent vs Workflow:什么时候用哪个
Workflow(工作流):步骤是人提前写死的,比如 RAG 的「检索 → 生成」。
| Workflow | Agent | |
|---|---|---|
| 步骤谁定 | 开发者提前写好 | 模型运行时决定 |
| 可预测性 | 高,每次都一样 | 低,每次可能不同 |
| 成本和速度 | 低、快 | 高、慢(多轮调用模型) |
| 适合 | 步骤固定的任务 | 步骤不确定、需要探索的任务 |
选择原则:能用固定流程解决的,就别用 Agent。 Agent 更灵活,但也更贵、更慢、更难调试。先用最简单的方案,确实不够再加自主性。
英文术语拆解
| 术语 | 拆开看 | 一句话意思 |
|---|---|---|
| Agent | agent 代理人、行动者 | 能自主决定并调用工具完成任务的 AI 系统 |
| Tool | 工具 | Agent 可调用的外部能力,如搜索、计算 |
| Action | act 行动 + -ion | 行动:调用某个工具 |
| Observation | observe 观察 + -ation | 观察:工具返回的结果 |
| Workflow | work 工作 + flow 流程 | 工作流:提前写死步骤的流程 |
| Autonomy | auto 自己 + nomy 规则 | 自主性:自己决定怎么做的程度 |
| Max Iterations | max 最大 + iterations 迭代次数 | 最大循环轮数 |
面试怎么问
Q:什么是 Agent?和普通的 LLM 调用有什么区别?
Agent 是以大模型为决策核心,结合工具调用、循环执行和记忆的系统。普通调用是一问一答;Agent 会根据任务自主规划步骤,多轮调用工具获取信息或执行操作,根据结果调整下一步,直到完成。
Q:Agent 和 Workflow 怎么选?
步骤固定、可预测的任务用 Workflow,稳定、便宜、好调试;步骤不确定、需要根据中间结果决定后续操作的任务才用 Agent。实践中常常是 Workflow 为主,在个别环节引入 Agent。
Q:Agent 一般由哪几部分组成?
大模型(规划和决策)、工具(与外部交互)、执行循环(感知 → 决策 → 行动 → 观察)、记忆(短期上下文和长期存储)。有的还会单独列出规划模块。
容易混的地方
- 「模型调用了工具」不严谨:准确说法是模型生成了调用请求,由程序执行。
- Agent 不是越自主越好:自主性越高,越不可控。生产环境通常加很多约束:限定工具、限定轮数、关键操作人工确认。
- RAG 和 Agent 不对立:「检索知识库」可以作为 Agent 的一个工具,这种叫 Agentic RAG。
和其他知识的连接
- ← 来自 RAG 是什么:RAG 是固定流程;Agent 让模型自己决定什么时候查、查什么。
- → 影响 工具调用:模型是怎么「说出」要调哪个工具的。
- → 影响 ReAct 与规划:循环里「想」和「做」怎么交替。
- 类比 调度与并发同步:操作系统调度进程、Agent 调度工具,都在决定「下一步让谁干」。
自测 3 问
Q1:Agent 由哪几部分组成?用「实习生」类比说一下。
点开看答案
大模型是大脑(判断下一步做什么),工具是手机里的 App(能查、能算、能发消息),循环是做事流程(想 → 做 → 看结果 → 再想),记忆是笔记本(记住做过什么)。
Q2:在 Agent 里,工具是谁执行的?为什么这样设计?
点开看答案
外面的程序执行,模型只输出「想调哪个工具、参数是什么」。这样中间可以做参数校验、权限控制和人工确认,所有动作都可检查、可拦截、可记录。
Q3:「每天把销售数据汇总成固定格式的日报」适合用 Agent 吗?
点开看答案
不太适合。步骤固定(取数 → 汇总 → 套模板),用固定流程(Workflow)更稳定、便宜、好调试。Agent 适合步骤不确定、要根据中间结果决定下一步的任务。
✅ 验收清单
- 能说出 Agent 的四个组成部分,并用类比解释
- 能讲清「查天气」例子里每一轮谁在做什么
- 能说清工具为什么由程序执行(问题 → 方案 → 好处)
- 能对比 Agent 和 Workflow,并给出「什么时候用哪个」的原则
- 能解释为什么要设置最大轮数
下一步该懂什么
- 模型是怎么用结构化的方式「说」出要调哪个工具的?→ 工具调用 Function Calling