聊天机器人是“你问一句、我答一句”;Agent 是“你说目标、我反复尝试直到完成”。让它能干活的,不是模型变聪明了,而是它学会了“循环”。
ChatGPT 很强大,但它基本是一次性对话:你提问,它生成答案。即便它能联网、能写代码,本质上也是一次性输出。
Agent 不一样。你让它“帮我订一张明天早上飞往上海、价格不超过 800 的经济舱机票”,它不会直接给一段话,而是会自己查航班、比价、看余票、再决定怎么回复你。
这个“查→看→再查→再决定”的过程,就是 Agent 的运行循环。 它是 Agent 和聊天机器人最核心的区别。
一、循环四步:Think → Act → Observe → Repeat
李博杰在书里把 Agent 的核心动作归纳得很清楚:Agent 不是一次性生成答案,而是在一个循环里反复运转,直到任务完成。
这个循环通常分成四步:
- Think(思考)
:LLM 读一遍当前上下文,判断“我现在该做什么”。 - Act(行动)
:调用一个外部工具,比如查天气、跑 SQL、发邮件、搜索网页。 - Observe(观察)
:把工具返回的结果写回上下文。 - Repeat(重复)
:带着新的观察结果再次思考,直到任务完成或触发停止条件。
也就是说,Agent 的每一次“回复”背后,可能经历了多轮内部的思考—行动—观察。
举个例子:
你说:“把上周的销售数据汇总成图发给我。”
Agent 可能会这样跑:
Think:要查数据库 → Act:调用 SQL 工具查数 → Observe:拿到结果 → Think:要画图 → Act:调用代码工具生成图表 → Observe:图出来了 → Think:要发邮件 → Act:调用邮件工具发送 → Observe:发送成功,停止。
把每一步拆开看,你会觉得“这不就是我写自动化脚本时常干的事吗?”没错,Agent 的循环本质,就是把“人处理复杂任务时的试错过程”自动化了。

二、停止条件:什么时候该停下来
循环不能无限跑,否则就会变成“死循环”。Agent 必须知道什么时候停。
常见的停止条件有三种:
- 任务完成
:达到了用户目标,比如成功订票、图已生成并发送。 - 达到最大步数
:超过预设的轮次限制,比如最多跑 10 轮,防止失控。 - 模型主动判断“可以结束了”
:LLM 自己输出停止信号,比如“我已经完成任务,可以向用户汇报结果”。
三、为什么“循环”这么重要
没有循环,大模型只能“一次性猜测”。它可能会给你一份看起来很完整的机票推荐,但实际上没有查任何实时数据。
有了循环,Agent 就能:
- 根据真实反馈修正
:查不到数据就换关键词,报错就看日志再调。 - 把复杂任务拆成多步
:每一步只做一件小事,降低出错概率。 - 引入外部系统
:通过工具调用,把模型的“脑子”和真实世界连接起来。
这其实和工程师做交付很像。你不可能一次性把一个复杂项目写完,都是提交、看结果、改 bug、再提交。Agent 的运行循环,就是这种工程直觉的自动化。
用日常开发的经历做类比:提交任务 → 看日志 → 报错就改 → 再提交 ... 。这个“提交—观察—修正—再提交”的循环,和 Agent 的 Think-Act-Observe-Repeat 是不是一回事?也许你在使用agent工具时可以也见到过,打印的灰色思考过程中经常出现,“欸?这个不对,让我重新检查下代码”,类似的日志,包括你自己开发一个简单的agent,把思考过程输出出来,就会清晰的感觉到循环的作用。
四、普通人需要记住什么
不用去背那四步的英文。你只需要记住一句话:
Agent 不是一次回答,而是一次“尝试—反馈—再尝试”的循环。
聊天机器人靠模型的训练知识回答问题;Agent 靠循环把目标一步步执行出来。下次再有人说“Agent 不就是大模型套壳吗”,你可以告诉他:壳就是循环,没有这层壳,模型只能动嘴皮子。
参考
李博杰《深入理解 AI Agent》第 1 章 Agent 基础
本文首发于微信公众号 BigDataLab,转载请注明出处。
更多 AI / 大模型实战干货,欢迎微信搜索关注「BigDataLab」,或 点此回看原文。
