当前位置: 首页 > news >正文

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

http://www.jsqmd.com/news/1401053/

相关文章:

  • 30秒给Windows Defender装上“总开关“:defender-control开源管理器上手全攻略
  • 【Linux 驱动小白教程】四、模块符号导出 EXPORT_SYMBOL + 模块传参完整实操
  • 办卡储值哪家划算?跑7家实测 汉阳餐厅推荐收好
  • Python pip镜像源配置全攻略:原理、方法与实战技巧
  • Meta Muse Glimmer 30B开源大模型:Apache 2.0许可下的本地部署与实战指南
  • Firefox数据恢复全攻略:从配置文件原理到书签、历史、标签页找回
  • 珠海发电机回收公司哪家靠谱?五星回收三大品牌深度对比与避坑指南 - 广东再生资源回收
  • 2026年8月上海债务纠纷律所:借贷合同违约应对与诉讼策略制定指南 - 品牌深度评测
  • GLM ZCode深度解析:AI编程助手如何重塑开发流程与成本策略
  • 直播录屏自动化处理:FFmpeg工具链与Python脚本实践指南
  • AI智能体开发实战:从架构设计到工程落地的核心指南
  • 基于OpenClaw与AI Agent的腾讯云COS智能管理实践
  • 销售周报不再靠回忆,讯飞AI录音卡通话自动生成客户跟进清单 - 城刊速递
  • 2026年7月贵阳市二手房价格深度分析报告
  • 分布式事务seata框架下at/tcc/sage模式代码
  • 票据销毁是什么?为什么要销毁票据? - 生态测评师
  • 【Bug已解决】[Security] Incomplete Fix for CVE-2026-44513: community Pipeline Branch Bypasses trust_remo…
  • Vue 3 中集成 mxGraph 图形库:从原理到工程实践
  • 树莓派Debian系统打造复古游戏站:从系统优化到模拟器配置全攻略
  • 企业级壁纸管理:商用图库筛选与批量处理方案
  • Python自动化监控网页更新并发送提醒
  • 毕业论文AI检测率高原因分析与降重技巧
  • 谷歌云TPU即服务实战指南:从环境配置到性能调优
  • OpenSSL 密码工具套件:openssl 命令完整详解(加密 / 密钥 / 证书实战)
  • 2026年7月遵义市二手房价格深度分析报告
  • 天道15,16集
  • Python学习系统工程:从环境搭建到实战项目的完整路径设计
  • 上海分手协议履行纠纷律所:2026年8月分手协议违约责任法律认定 - 品牌深度评测
  • day26-即梦全流程
  • ANSYS 2024 R2安装与多版本共存部署指南