跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Go / GolangAI算法

ReAct Agent 与 Agent 编排:从单 Agent 闭环到多 Agent 协作

深入解析 ReAct Agent 与 Agent 编排技术。首先阐述 Agent 最小运行时骨架(Agent、Runner、AgentEvent),强调将运行过程视为一等公民。接着详解 ReAct 范式(Reason-Act-Observe 闭环),说明其如何锚定外部事实以降低幻觉风险。随后介绍三种典型编排模式:Workflow Agents(确定性流程)、Supervisor(中心化调度)和 Plan-Execute(规划执行)。最后厘清 Transfer 与 AgentAsTool、BreakLoop 与 Exit、ADK Workflow Agents 与 compose.Workflow 等易混淆边界。文章旨在帮助开发者构建可治理、可观测的多 Agent 协作系统。

PhpPioneer发布于 2026/4/6更新于 2026/5/2223 浏览
ReAct Agent 与 Agent 编排:从单 Agent 闭环到多 Agent 协作

ReAct Agent 与 Agent 编排:从单 Agent 闭环到多 Agent 协作

核心主线

今天只讲一条主线:单个 Agent 怎么跑起来,多 Agent 又是怎么被编排起来的。前者的核心是 ReAct 闭环,后者的核心是 Agent Orchestration(编排)。而 CloudWeGo Eino ADK 给这两件事提供了工程化落地方式。

什么是编排?从广义上讲:只要你在组织多个执行单元的顺序、依赖、分工、路由,这都叫编排。单个 Agent 内部的多节点流程编排算编排,多个 Agent 之间的协作编排也算编排。而今天编排的主角是多 Agent 之间的协作。

为什么需要 ReAct 和 Agent 编排

能对话为什么不等于能上线?很多人第一次接触 Agent,会觉得它无非就是 Prompt + Model + Tool。但真到生产环境中,这些是远远不够的。因为一个能上线的 Agent,不只是要会回答,还要会调工具、传状态、控制流程中断恢复、输出可观测的执行过程。所以这场分享是在讲一个可治理的 Agent 系统。

Agent 最小运行时骨架

在 Eino ADK 里,最重要的不是某个具体 Agent,而是它背后的运行时骨架。包含三个词:Agent、Runner、AgentEvent。

  • Agent 解决的是:谁来执行任务。
  • Runner 解决的是:这个任务怎么被统一托管起来。
  • AgentEvent 解决的是:执行过程中发生了什么。

这意味着,Agent 不再只是一次性返回一个字符串,而是持续地产出事件流:可能是模型输出、可能是 tool call、可能是 transfer,也可能是 interrupt。Eino 的切入点很精准:把 Agent 运行过程也当成一等公民。后面我们讲 ReAct 和编排,其实都建立在这套运行时骨架上。

ReAct 范式详解

ReAct 的核心不是某种 prompt 技巧,而是一种闭环范式:Reason → Act → Observe。也就是:模型先思考下一步怎么做,然后调用工具去拿外部信息,再把工具结果喂回模型继续推理。这个闭环会不断重复,直到模型不再产生 tool call,才结束。

在这里插入图片描述

ReAct 最关键的价值在于它把模型的推理锚定在了外部事实之上。以前模型是'自己想',现在模型是'边查边想'。所以它的可解释性更强,幻觉风险也更低。

面试中常问的两个控制点:

  1. 终止条件是什么?答:模型不再产生 tool call。
  2. 为什么要有 MaxIterations/MaxStep?答:防止无限循环,控制成本和可用性。

Eino 中的 ReAct 落地

在 Eino 里,ReAct 不是停留在概念层,而是被明确表达成了一个执行闭环。最直观的理解就是 ChatModel 和 ToolsNode 之间形成了一个环。模型先输出 tool call,工具执行后把 observation 写回状态,再回到模型继续推理。这个过程一直循环,直到没有 tool call,或者命中直接结束条件。

在 ADK 里,这个闭环最典型的封装就是 ChatModelAgent。它本质上就是一个工程化的 ReAct Agent。它帮你处理了很多工程问题,比如:工具调用循环最大迭代次数、某些工具执行后直接返回、显式退出协议等。

因此,更愿意把 ChatModelAgent 理解成:不是'一个聊天模型',而是'一个带 ReAct 运行时的 Agent 封装'。

Agent 编排的核心逻辑

如果 ReAct 解决的是'一个 Agent 内部怎么闭环',那 Agent 编排解决的就是:多个 Agent 之间怎么协作。这两件事不是同一个层面的问题。ReAct 关注的是单 Agent 内部:推理、行动、观察;Orchestration 关注的是多 Agent 外部:分工、路由、状态共享、控制权转移。也就是说:ReAct 是单体闭环,编排是群体协作。

在 Eino ADK 里,最值得讲的三种编排模式分别是:Workflow Agents、Supervisor、Plan-Execute。

三种典型编排模式

Workflow Agents

Workflow Agents 是确定性编排。路怎么走,是代码提前写死的。比如顺序执行、循环执行、并行执行。它的优点是:可预测、易审计、易测试。它的缺点是:灵活性不如模型自主决策。

Supervisor

Supervisor 是中心化调度。也就是有一个总控 Agent,负责把任务分配给不同子 Agent。子 Agent 负责干活,总控负责继续判断下一步。它更像一个项目经理模式。

Plan-Execute

Plan-Execute 是'先规划,再执行,再重规划'。它适合长任务、复杂任务。因为它不是边走边猜,而是先把任务拆成步骤,再一步一步做。所以它比纯 ReAct 更适合长链路研究型任务。

这三种模式,本质上对应三种不同的控制哲学:Workflow 是代码决定流程,Supervisor 是中心调度决定流程,Plan-Execute 是规划结果决定流程。

关键概念边界辨析

Transfer vs AgentAsTool

Transfer 是控制权交接。我把任务交给你,你接着往下做。AgentAsTool 是工具式调用。我调用你,等你返回结果,然后我继续处理。所以一个是'交棒',一个是'外包'。

BreakLoop vs Exit

BreakLoop 是局部退出。只跳出当前 Loop。Exit 是全局终止。后面的 Agent 都不再执行。

ADK Workflow Agents ≠ compose.Workflow

若这个搞混了,将会非常致命。ADK 里的 Workflow Agents,是多 Agent 的编排模式。compose.Workflow 是底层 DAG 编排框架。后者强调的是数据流映射,而且它不支持环。所以 ReAct 这种闭环,不能拿 compose.Workflow 去表达,得用 Graph 或 ChatModelAgent 这种方式去做。

总结

ReAct 解决的是单 Agent 如何形成'推理—行动—观察'的闭环;Agent 编排解决的是多个 Agent 如何分工、协作和治理。Eino ADK 的价值,就在于把这两件事都做成了可工程化落地的运行时。

从工程视角看,Agent 不只是'模型会说话',而是'模型、工具、状态和控制流'被组织成了一个可治理系统。ReAct 是这个系统里单 Agent 的闭环,编排是多个 Agent 的协作方式。

目录

  1. ReAct Agent 与 Agent 编排:从单 Agent 闭环到多 Agent 协作
  2. 核心主线
  3. 为什么需要 ReAct 和 Agent 编排
  4. Agent 最小运行时骨架
  5. ReAct 范式详解
  6. Eino 中的 ReAct 落地
  7. Agent 编排的核心逻辑
  8. 三种典型编排模式
  9. Workflow Agents
  10. Supervisor
  11. Plan-Execute
  12. 关键概念边界辨析
  13. Transfer vs AgentAsTool
  14. BreakLoop vs Exit
  15. ADK Workflow Agents ≠ compose.Workflow
  16. 总结
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 2025 年世界职业院校技能大赛人工智能赛道备赛方案
  • GitHub Copilot 接入第三方 OpenAI 兼容模型方法
  • 基于 SpringBoot 的停车场管理系统设计与实现
  • Java Lambda 表达式详解
  • 中国人工智能大模型技术白皮书核心内容解读与学习指南
  • Qwen3-14B 本地部署与 Ollama WebUI 集成实战
  • Python 开发 MCP Server 集成 MongoDB 数据库查询服务实战
  • 网络安全入门指南:从零开始学习渗透测试技术
  • HTTP 协议基础与 HTTPS 原理
  • Ubuntu 24.04 安装 PostgreSQL
  • OpenClaw 安装教程:从零搭建本地 AI 助手
  • 10 款 AIGC 降重与论文辅助工具介绍
  • OpenClaw 安装配置指南:本地部署、隧道访问与百炼模型接入
  • AI 产品经理必知技术:大模型微调原理与方法
  • VS Code 安装 GitHub Copilot 及 AI 编程实战
  • 深入 GPT-2 模型架构与训练细节解析
  • OpenClaw 接入 Telegram 机器人配置与加入群聊
  • WebPlotDigitizer 智能图表数据提取工具与科研应用指南
  • Python 版本管理实战指南:pyenv 安装与配置详解
  • 博士求职复盘:华为、字节与 DeepSeek 的抉择与思考

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online