写在前面
"AI 会自己干活"------这是 Agent 字面意思上最直观的理解。
但这话遮住了一个更要命的问题:Agent 和你平时用的 ChatGPT、豆包对话框,差别到底在哪?同样是 LLM 在背后跑,凭什么 ChatGPT 回你一段话就结束,Agent 却能"自己干完一整件事"?
答案不在模型大小,也不在 prompt 写得多花,而在结构。
普通 AI 对话 vs Agent:差在结构,不是参数
普通对话,你问他答,一问一答就收工。
你说"帮我写封邮件",LLM 输出一段文字,任务结束。它是个问答机器------输出一次,没有后续。
Agent 不一样。它有一个持续运转的循环结构:你给一个任务,它自己去拆任务、决定下一步、调工具、看结果,循环往复,直到完成(或者它自己判断"该停了")。
| 维度 | 普通 AI 对话 | Agent |
|---|---|---|
| 执行结构 | 一问一答,线性 | 循环往复,持续运转 |
| 任务粒度 | 单轮完成 | 多轮拆解 |
| 外部能力 | 只动嘴 | 调工具动手 |
| 终止条件 | 输出完就停 | 任务完成 / 超限 / 失败 |
| 典型场景 | 写邮件、解释概念 | 分析竞品、跑通项目 |
别被"循环"俩字吓到,它的核心其实就三个动作。
ReAct 三件套:Reason / Act / Observe
Agent 一轮里干三件事:
- Reason(思考) :分析当前状态,决定下一步干嘛
- Act(行动) :调用工具,去搜索、读文件、跑代码
- Observe(观察) :把工具返回的结果拿回来看
观察完,回到思考,再行动,再观察......这个循环有个名字,叫 ReAct(Reasoning + Act + Observe)。
注意------ReAct 是一套 Agent 通用执行标准,不是 LangChain 这个开发库的私货。它描述的是"Agent 应该怎么转",跟具体用什么框架无关。
markdown
Reason(思考下一步)
↓
Act(调工具)
↓
Observe(看结果)
↑________↓
(回到 Reason)
一个 Demo:让 Agent 分析竞品写报告
你说"帮我分析三家竞品,写份报告"。Agent 会这么转:
第一轮
- Reason:得先搜竞品最新动态
- Act:调搜索工具,查 A/B/C 三家
- Observe:信息量挺大,但缺财务数据
第二轮
- Reason:补财务数据,去官网或 API 抓
- Act:调数据接口工具
- Observe:财报拿到了,还差用户口碑
第三轮 / 第四轮......
- 一直转,直到最后一轮------把所有素材汇总,写报告交付
每一轮都是一次完整的 Reason-Act-Observe。轮次越多,任务越复杂,Agent 的"持续运转"价值才真正体现出来。
Agent 最核心的动作:Tool Use
整个 ReAct 循环里,Act 这一步本质就是 Tool Use。
工具是 Agent 的手和脚。没有工具,它只能在脑子里转------转完还是只有文字。
常见的工具这么几类:
| 工具类型 | 能力 | 典型代表 |
|---|---|---|
| 搜索工具 | 上网查实时信息 | 联网搜索 |
| 代码执行器 | 跑代码、看结果 | Anthropic(工程化最完善) |
| 文件读写 I/O | 读项目、改代码 | Claude Code、Cursor |
| 浏览器操作 | 打网页、点提交 | Manus |
| API 调用 | 接外部服务 | 各种 MCP Server |
插一句------Anthropic 之所以被业内叫"最牛的 Agent 企业",不是模型参数多,是它的代码执行 + 验收机制做得最工程化。AI 测试 Agent、跑通验收、文无第一武无第二(Claude 武的那一派)。
工具覆盖范围 = Agent 的能力边界
工具越多,Agent 能干的事越多。这句话反过来也成立:没接的工具,Agent 真的不会。
所以选 Agent 产品,核心就看一件事------它的工具生态覆盖到哪。
工具覆盖范围直接决定 Agent 能力的天花板。同样是"Agent",能调浏览器的和不能调浏览器的,差出一整类任务(自动化表单提交、网页信息抽取)。能跑代码的和只能调 API 的,差出"真调试"和"假调试"。
这也是为什么 MCP 协议最近火------它就是来解决"工具接得太乱"的问题,让 Agent 用统一协议吃下任意第三方工具。下篇咱们细聊。
5 个踩坑提醒
1. 把 Agent 当 ChatGPT 用。 一句话甩过去等它答,结果它开始自己调工具、转循环------你以为它"卡了",其实它在 Reason。耐心等 Observe。
2. 工具描述写得像给人看。 Tool 的 description 是给 LLM 看的"产品说明书"。写"搜索网页"和写"用此工具获取互联网实时信息,输入查询关键词",LLM 选用率差一截。
3. 没设循环上限。 Agent 转起来不知道停,token 烧光才罢休。一定要配三道刹车:最大轮次、token 上限、相同结果连续次数。
4. 工具越多越好?错觉。 一次塞 10 个工具,LLM 选错率飙升。3-6 个是甜区,多的做分组按需加载。
5. Observe 结果没回喂给 LLM。 工具跑完了结果丢进数据库就完事?错。结果必须作为 ToolMessage 塞回 messages 列表,下一轮 Reason 才看得到。少了这一步,循环就断了。
写在最后
Agent 不是"更聪明的 GPT",是"换了一种执行结构的 AI"。一问一答是直线,Agent 是循环;直线走完就停,循环转到任务完成。而让循环真正能转动的,是 Tool Use------工具是 Agent 的手脚,工具生态的广度决定了 Agent 能走多远。