ReAct和Multi-Agent是什么

📅 2026/8/20 12:21:27
ReAct和Multi-Agent是什么
上一篇有说到Agent的等级可以理解为Agent的智能程度或者是运行模式。平时用得比较多的是ReAct模式和Multi-Agent体系。ReAct具备“思考行动”能力的Agent推理框架不像LLM只会回答问题和输出结果而是经过思考再调用工具执行根据结果继续思考最后输出结果。用户问题-LLM思考-决定行动-调用工具-获取结果-继续思考-输出结果这是单个Agent的运行模式它的核心是Reason思考→ Act行动→ Observe观察循环往复直到任务完成。Reason分析现状决定下一步限制LLM发散思维基于当前的信息决定下一步行动是什么。Act根据思考阶段决定的动作调用工具执行动作。当前只执行一个动作输出结果。Observe根据执行结果给到下一轮的Reason。循环操作一个是细化了思考和行为另一个是减少了LLM的幻觉让结果的准确率提高。在两个交互式决策基准测试ALFWorld 和 WebShop中ReAct 仅需一到两个上下文示例提示其绝对成功率分别比模仿学习和强化学习方法高出34% 和 10%https://arxiv.org/abs/2210.03629举例说明用户输入查询订单详情接口为什么返回500接口GET /api/order/detail/10001环境生产环境ReAct执行过程【第 1 轮】思考接口返回 HTTP 500通常是服务端异常。需要先查看应用日志定位异常堆栈。行动执行日志查询loki_query( serviceorder-service, keywordorderId10001, levelERROR)观察发现异常java.lang.NullPointerExceptionat OrderService.java:125异常代码order.getCustomer().getName()【第 2 轮】思考已经定位到 NullPointerException。问题发生在 OrderService.java 第125行。需要查看附近代码确认哪个对象为空。行动读取代码git_tool.read( fileOrderService.java, line120-130)观察代码public OrderDetail queryDetail(Long orderId){ Order order orderRepository.find(orderId); String name order.getCustomer() .getName(); return build(order,name);}第125行order.getCustomer().getName();【第 3 轮】思考代码存在对象为空风险。可能原因1. order不存在2. customer信息不存在需要查询数据库确认数据。行动执行SQLselect *from order_infowhere id 10001;观察查询结果order_id:10001customer_id:null订单存在但是客户信息为空。【第 4 轮】思考已经确认根因order数据存在但是customer_id为空。代码没有进行空值判断直接调用order.getCustomer() .getName()导致NullPointerException。需要检查历史代码确认是否存在数据校验缺失。行动查询代码提交记录git_history( fileOrderService.java)观察发现最近上线版本新增客户名称展示功能。新增代码String name order.getCustomer().getName();没有增加非空判断。【第 5 轮】思考问题已经定位。需要生成故障报告并给出修复方案。行动生成分析报告。观察报告生成完成。输出报告问题分析订单详情接口返回500原因是OrderService.java 第125行存在空指针异常。异常链路用户请求 | v/api/order/detail/10001 | vOrderService.queryDetail() | v查询订单成功order.customer_id null | v执行order.getCustomer() .getName() | vNullPointerException | vHTTP 500根因订单数据存在客户信息缺失代码未进行空值校验。影响部分无客户信息订单无法查询详情。修复建议方案1增加空值判断Customer customer order.getCustomer();if(customer ! null){ String name customer.getName();}方案2使用 OptionalString name Optional.ofNullable(order.getCustomer()) .map(Customer::getName) .orElse(未知客户);方案3增加数据库约束customer_id NOT NULLMulti-Agent这是一种多智能体系统AI系统架构。将一个复杂任务拆分成多个具有不同角色能力和目标的Agent让每一个Agent通过通信和协作一起完成任务。可以理解为一个AI团队团队里的Agent各司其职。LLM能力虽然很强但是单个Agent会有角色的冲突容易混乱。当遇到一个复杂问题的时候多重身份才能更好地完成任务。而且虽然任务的复杂度上升需要的信息也越多上下文长度有所限制Token不够LLM的效果急速下降。核心角色Manager Agent相当于项目经理负责理解用户目标拆解任务分配任务汇总结果专业Agent每个Agent有自己的角色和目标LLMRole PromptMemoryTools。各个专业Agent通过消息通信共享上下文和工具完成任务。举例说明用户输入请设计开发一个订单系统功能1. 创建订单2. 支付订单3. 库存扣减4. 查询订单状态要求高并发可扩展。Manager Agent思考用户需要开发一个完整订单系统。任务较复杂需要拆分1. 分析业务需求2. 设计系统架构3. 编写核心代码4. 设计测试方案需要调用不同专业Agent协作。行动创建任务Task1:交给 产品Agent分析订单业务需求Task2:交给 架构Agent设计技术方案Task3:交给 开发Agent实现核心功能Task4:交给 测试Agent设计测试方案观察任务分配完成。各Agent开始执行。Product Agent思考需要明确订单系统业务流程。核心能力1. 用户下单2. 支付订单3. 库存扣减4. 查询订单状态5. 取消订单行动输出需求文档订单状态CREATE |PAYING |PAID |SHIPPED |FINISHED异常状态CANCELLEDREFUND观察需求确认订单核心流程用户 |创建订单 |支付 |扣库存 |发货 |完成Architect Agent思考订单系统涉及订单数据库存数据支付数据高并发场景下需要保证1. 数据一致性2. 高可用3. 服务解耦行动设计架构用户 | Gateway | ---------------- | |Order Service Payment Service |Inventory Service | MySQL Redis 方案 订单创建1. 创建订单2. 发送订单消息3. 扣减库存4. 支付成功更新状态使用RocketMQ保证最终一致性Redis缓存热点订单MySQL保存核心数据观察系统架构设计完成。Developer Agent思考根据架构设计需要实现1. OrderController2. OrderService3. OrderRepository4. MQ消息处理行动生成代码观察订单创建模块开发完成。包含✓ 下单接口✓ 状态管理✓ MQ消息发送Test Agent思考需要验证1. 正常下单2. 重复提交3. 支付失败4. 库存不足5. MQ重复消费行动测试 POST /order/createCase1:库存充足结果订单创建成功Case2:库存不足结果订单创建失败1000个用户同时购买检查订单数量库存数量数据一致性发现问题支付成功后库存扣减失败。需要增加事务补偿机制。Manager Agent汇总思考所有Agent已经返回结果。需要整合需求架构代码测试结果形成最终方案。行动汇总所有Agent输出。观察订单系统设计完成。输出订单系统设计方案一、业务功能支持✓ 创建订单✓ 支付订单✓ 查询订单✓ 取消订单二、系统架构 用户 | Gateway | Order Service / \ Payment Inventory | RocketMQ | MySQL三、核心技术方案1. 分布式事务采用RocketMQ事务消息保证订单创建支付库存扣减最终一致。2. 幂等设计订单表order_no 唯一MQ消费message_id去重3. 高并发优化Redis缓存订单状态数据库读写分离四、测试方案功能测试✓ 创建订单✓ 支付✓ 查询压力测试QPS 5000异常测试库存不足重复支付MQ重复消费这个例子有点长但是比较清晰知道Multi-Agent到底做了些什么大家可以对比一下我们常用的AI Coding比如使用Trae的时候其实底层的Multi-Agent也是如此运作的。Trae | Multi-Agent架构 | -------------------------------- Planner Coding Test Review | | | | ------------------------------ | ReAct Thought → Action → Observation总结ReAct是一个Agent如何工作。Multi-Agent是多个Agent如何写作。Multi-Agent系统里的每个专业Agent通常使用ReAct作为内部运行机制。AI Agent系统 | | -------------------- | | v v 单 Agent系统 Multi-Agent系统 | | | | v v ReAct模式 多个Agent协作 | ----------------------------------- | | | v v v 产品Agent 开发Agent 测试Agent | | | ----------------------------------- 每个Agent内部 | v ReAct Thought → Action → Observation学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】