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」,或 点此回看原文。

相关推荐
死磕音视频11 小时前
让小模型做选择题:限定候选项并读取 logits 概率的入门实践(附 Python 代码)
开发语言·python·大模型·文本分类·transformers
余槐i13 小时前
Skills 增至 30 个,Claude Code 反而变慢:token 与加载实测
性能优化·开发工具·ai agent·claude code·agent skills
Starry-sky(jing)15 小时前
Hermes Agent 部署后怎么升级?v0.21.7 Linux 源代码版实测
linux·人工智能·ai agent·版本升级·hermes agent
changshuaihua00115 小时前
LangChain · LangGraph · LangSmith 全景解析:LLM应用开发完整生态
人工智能·大模型·ai编程
O。O蛋黄酥啊16 小时前
实时语音 Agent 开发完全指南:从 ASR/TTS 到 WebRTC/VAD 的链路拆解
大模型·webrtc·语音识别·tts·asr
smilejingwei17 小时前
不用大模型不烧 token 能把智能问数做到啥程度?
大模型·token·智能问数·nlq
liferecords17 小时前
Xiaomi-OCR-0:小米把 1.7 亿样本灌进 0.8B 小模型,文档解析和 OCR 问答一把抓
人工智能·大模型·ocr·多模态
loulanyue_18 小时前
我们正从规模化时代迈向研究时代:破除预训练幻象与通用泛化困境——读Ilya Sutskever重磅专访全景解析
人工智能·深度学习·机器学习·大模型·通用人工智能
余槐i20 小时前
Ollama 长文档问答后半段全空:context 默认值与静默截断的代价
性能优化·大模型·api·rag·ollama