三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

Agent 的运行范式:ReAct(Reasoning+Acting)

Agent 的运行范式:ReAct(Reasoning+Acting)

聊天机器人是“你问一句、我答一句”;Agent 是“你说目标、我反复尝试直到完成”。让它能干活的,不是模型变聪明了,而是它学会了“循环”。

ChatGPT 很强大,但它基本是一次性对话:你提问,它生成答案。即便它能联网、能写代码,本质上也是一次性输出。

Agent 不一样。你让它“帮我订一张明天早上飞往上海、价格不超过 800 的经济舱机票”,它不会直接给一段话,而是会自己查航班、比价、看余票、再决定怎么回复你。

这个“查→看→再查→再决定”的过程,就是 Agent 的运行循环。 它是 Agent 和聊天机器人最核心的区别。

一、循环四步:Think → Act → Observe → Repeat

李博杰在书里把 Agent 的核心动作归纳得很清楚:Agent 不是一次性生成答案,而是在一个循环里反复运转,直到任务完成。

这个循环通常分成四步:

  1. Think(思考)
    :LLM 读一遍当前上下文,判断“我现在该做什么”。
  2. Act(行动)
    :调用一个外部工具,比如查天气、跑 SQL、发邮件、搜索网页。
  3. Observe(观察)
    :把工具返回的结果写回上下文。
  4. Repeat(重复)
    :带着新的观察结果再次思考,直到任务完成或触发停止条件。

也就是说,Agent 的每一次“回复”背后,可能经历了多轮内部的思考—行动—观察。

举个例子:

你说:“把上周的销售数据汇总成图发给我。”

Agent 可能会这样跑:

  1. Think:要查数据库 →
  2. Act:调用 SQL 工具查数 →
  3. Observe:拿到结果 →
  4. Think:要画图 →
  5. Act:调用代码工具生成图表 →
  6. Observe:图出来了 →
  7. Think:要发邮件 →
  8. Act:调用邮件工具发送 →
  9. 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」,或 点此回看原文。

← 返回列表