Agent Loop:AI 是怎么从"一句一答"进化成"自己干活"的

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 在做五件事

把循环拆开,每轮内部跑五个阶段:

  1. 感知(Perceive):接收输入------用户的指令、上一轮工具的结果、或者一条报错,全部塞进上下文。
  2. 推理(Reason) :LLM 想清楚"现在什么状况、目标达成了吗、下一步干嘛"。这一步是整个循环的大脑。
  3. 规划(Plan):复杂任务先拆成子步骤、排优先级;简单任务直接跳到执行。
  4. 行动(Act):真正动手------调 API、查数据库、跑代码。这些动作都通过"工具"完成,工具定义了名称、描述和参数 schema。
  5. 观察(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、不给它循环和工具,它永远只是个会说话的聊天机器人。