Agent Loop:AI 是怎么从"一句一答"进化成"自己干活"的
如果只用一个概念来解释"Agent 和普通聊天机器人到底差在哪",我的答案会是 Agent Loop。这篇文章想用最通俗的方式,把它讲清楚。
一个"一句一答"解决不了的问题
你跟 ChatGPT、DeepSeek 聊天的时候,交互模式是这样的:
你说一句 → 它回一句 → 结束
一问一答,单次往返。这叫 Single-pass(单轮响应)。
绝大多数聊天场景下,够用了。你问"量子纠缠是什么",它给你解释清楚,完事儿。
但有些事情,一个来回搞不定。比如你说:
帮我查一下最近三个月 A 股涨幅最大的 10 只股票,分析它们的行业分布,然后做一张可视化图表。
这里面有搜索、有筛选、有数据处理、有图表生成。中间任何一步的结果都会影响下一步怎么做,出了错还得回头调整。
单轮响应干不了这事。
Agent Loop 就是为了解决这个问题而存在的。
Agent Loop 是什么
一句话:Agent Loop 是让 AI 在循环里反复"推理 → 调工具 → 看结果",直到任务完成或触发停止条件的执行循环。
换成生活比喻:普通聊天是问路,路人指一下就走;Agent Loop 是你请了个私人助理,他接了任务后自己一趟趟跑腿------查资料、打电话、算账、画图,中间发现不对还回头重来,最后把成品交到你手上。
听起来抽象?拆成伪代码就六行:
python
while not done:
response = call_llm(messages) # LLM 想一步
if response has tool_calls: # 它决定调工具
results = execute_tools(...) # 执行工具
messages.append(results) # 结果塞回上下文
else:
done = True # 不调了,输出答案
return response
就是一个 while 循环。
LLM 每跑一轮,要么决定调用某个工具继续干活,要么判断任务完成、输出最终结果。循环会一直转,直到它认为"够了"或者触发了你设置的停止条件(比如最大迭代次数、token 预算)。
Anthropic 的工程团队有个说法挺到位的:"Agent 通常就是 LLM 在一个循环里基于环境反馈使用工具。"
每一轮循环里,AI 在做五件事
把循环拆开,每轮内部跑五个阶段:
- 感知(Perceive):接收输入------用户的指令、上一轮工具的结果、或者一条报错,全部塞进上下文。
- 推理(Reason) :LLM 想清楚"现在什么状况、目标达成了吗、下一步干嘛"。这一步是整个循环的大脑。
- 规划(Plan):复杂任务先拆成子步骤、排优先级;简单任务直接跳到执行。
- 行动(Act):真正动手------调 API、查数据库、跑代码。这些动作都通过"工具"完成,工具定义了名称、描述和参数 schema。
- 观察(Observe):检查结果------成功了吗?数据对吗?够了吗?没完成就把结果追加进上下文,回到第 1 步继续转。
五个阶段,不断循环。这就是 Agent Loop。
用一个例子走一遍
任务:找 2026 年引用量最高的 Agent Memory 论文,总结核心发现。
- 第 1 轮:推理"得先搜论文" → 调学术搜索 API → 拿到 15 篇论文和引用数。
- 第 2 轮:推理"引用最高那篇 340 次,得拿全文" → 调文档检索工具 → 拿到摘要和核心章节。
- 第 3 轮:推理"信息够了,可以总结了" → 不调工具,直接生成 → 输出答案,退出循环。
三轮、三次工具调用、一个完整答案。用单轮响应根本没法做------你不可能在一次 LLM 调用里同时搜索、检索、总结。
三种主流"干法"
Agent Loop 是统称,具体到"LLM 在循环里怎么思考和行动",业界演化出了几条路子。
ReAct:边想边做
全称 Reasoning + Acting,2022 年普林斯顿和谷歌联合提出。机制很直觉:每一步先想(Thought),再做(Action),然后看结果(Observation)。
想完做,做完看,看完再想。
优点:灵活,每一步都可以根据上一步的结果调整策略,碰到意外能随时应变。
缺点 :每轮都调 LLM 做推理,token 消耗高,延迟也高。适合:探索性任务、路径不确定、需要随时纠偏的场景。
Plan-and-Execute:先想好再做
把"规划"和"执行"彻底拆开:先让一个 Planner 生成完整的任务计划,再让一个 Executor 按计划逐步走,走完所有步骤任务结束。
优点:LLM 调用次数少,规划只做一次,执行阶段每步不需要重新推理。
缺点 :计划本身有问题、或者执行中环境变了,整个流程容易跑偏。适合:步骤清晰、环境稳定、对成本敏感的任务。
Reflexion:做完回头看
在 ReAct 的基础上加了一层"反思"。三个组件协作:Actor(执行者) 按 Thought → Action → Observation 循环干活,Evaluator(评估器) 做完后打分,Self-Reflection(反思器) 复盘"哪一步判断错了、为什么失败、下次怎么避免",把结论存进情景记忆。
下次遇到类似任务,Agent 从记忆里取出之前的反思笔记,作为上下文的一部分送给 LLM。
相当于给 Agent 配了一本**"错题本"**。
优点:能从失败中学习,不改模型权重、只靠自然语言反馈就能让 Agent 持续进步。
缺点 :每多一次尝试就多一轮完整循环,加上反思本身也是一次 LLM 调用,token 消耗是三种里最高的;而且它依赖明确的成功/失败信号。适合:需要迭代提升、有清晰评估标准的任务。
三种怎么选
| 维度 | ReAct | Plan-and-Execute | Reflexion |
|---|---|---|---|
| 决策方式 | 每步都推理 | 先规划后执行 | 执行后反思改进 |
| 灵活性 | 高 | 低 | 中 |
| Token 消耗 | 高 | 低 | 最高 |
| 适合场景 | 路径不确定 | 步骤明确 | 需要迭代提升 |
实际工程里三种经常混着用:Plan-and-Execute 做顶层框架,每个子步骤内部用 ReAct 处理不确定性,整体再加 Reflexion 做复盘。
上生产之前,先想清楚两件事
成本
Agent 每转一圈就是一次 LLM 调用。它的 token 消耗大约是普通聊天的数倍,复杂任务上能到几十倍;一个不受约束的 Agent,单次任务成本能到几美元。
控成本的手段:能用 Plan-and-Execute 就别用 ReAct------规划一次比每步推理便宜得多;给每个 Agent 设 token 预算;缓存工具调用结果;Prompt Cache 可以砍掉大量重复输入成本。
可观测性
普通聊天就一个来回,出了问题一目了然。Agent 可能跑了 15 轮循环,调了 8 个工具,中间还有分支判断。结果不对的时候,你得知道:第几轮开始跑偏的?哪个工具返回了错误数据?LLM 的推理在哪一步出了岔子?
没有结构化日志和追踪,Agent 就是黑盒,出了问题无从下手。生产环境需要:每一轮的推理过程、工具选择、参数、返回值全部记录;支持按时间线回放;连续多轮没进展时自动告警。
最容易被忽视的一环:停止条件
没有停止条件的 Agent Loop 是危险的。
一个真实案例:某团队部署的网页爬虫 Agent,目标网站改了页面结构,爬虫工具开始返回空数据,而 prompt 写着"重试直到拿到数据"------于是它 5 分钟内循环了 400 次,烧掉几千个 token,直到撞上平台速率限制才停下来。
如果设了最大迭代次数(哪怕只是 3 次),这事根本不会发生。
生产环境推荐的停止条件:最大迭代次数、token/成本预算、无进展检测、目标达成检查。这几个条件叠着用,互为保底。
它和传统编程的本质区别
初次接触 Agent Loop 的人经常会问:这跟我写个 for 循环调 API 有啥区别?
区别在控制权。
传统编程里,循环做什么、怎么做、何时停,全部由你的代码决定,逻辑是硬编码的。
Agent Loop 里,每一轮做什么、调哪个工具、传什么参数,是 LLM 在运行时动态决定的。你写的代码只提供循环框架和工具集,具体走哪条路,是 Agent 自己"想"出来的。
所以 Agent 能处理开放性任务------你不需要提前写好所有的 if-else 分支。
代价是 Agent 也会出错------毕竟决策权交给了一个概率模型。
思考与总结
1. Agent 的本质,是把程序的控制流从确定性代码转移到了概率模型上。
这既是它强大的地方------能应对开放式任务;也是它危险的地方------你没法用单元测试保证它每一步都对。所以我们才需要日志、预算、停止条件这些"工程护栏"。很多人做 Agent 只盯着 prompt 打磨,其实真正决定它能不能上生产的,是这个循环骨架搭得结不结实。
2. 最反直觉的一点:越聪明的 Agent 越贵,工程上反而要用"笨办法"省钱。
ReAct 每步都推理、Reflexion 还要反思,效果是好,但 token 消耗成倍上涨。于是现实里的最优解往往是"反着来"------先规划好、少推理,用更"机械"的方式把成本压下来。这跟"用更聪明的模型"的直觉正好相反。
3. 停止条件,才是 Agent 设计里最被低估的细节。
"什么时候停下来"比"怎么干"更关键。一个不会停的 Agent,再聪明也是事故现场。这让我联想到:评估一个 Agent 系统成不成熟,别问它"能干什么",先问它"干不完的时候,会不会体面地停下来"。
4. Agent 和 AI 的本质区别:AI 负责"想",Agent 负责"做成"。
大模型(AI)本质上是一个"知识 + 语言"引擎:你问它答,被动响应,一次一问一答,能力边界就停在"输出一段内容"。
Agent 则是在 AI 之上加了两样东西------手(工具) 和 眼睛(环境反馈),再套上一个循环。它不再是"回答一个问题",而是"搞定一件事":自己拆目标、定计划、调工具、看结果,错了回头改,直到完成。
所以可以这么记:AI 负责"想",Agent 负责"做成"。 没有 AI,Agent 就没有大脑;但光有 AI、不给它循环和工具,它永远只是个会说话的聊天机器人。