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

React范式:思考与行动的循环

范式名称核心思想类比理解核心工作流程典型应用场景
ReAct范式**推理(Reasoning)行动(Action)**交替进行,通过外部反馈(Observation)来指导下一步决策。人类解题:拿到一道数学题,先思考(推理)解题步骤,然后动笔计算(行动),检查结果(观察),再根据结果决定是继续下一步还是修正错误。Thought -> Act -> Observe循环需要与外部环境(如数据库、API、工具)交互的复杂任务,例如:数据分析、智能客服、自动运维。
Plan-and-Solve (或 Plan-and-Execute)先规划,后执行。一次性制定完整的步骤计划,然后按计划逐步执行,通常缺乏执行中的动态调整。建造房子:建筑师先画出全套设计图纸(规划),施工队再严格按照图纸施工(执行)。如果图纸有误或遇到意外,整个工程可能受阻。Plan -> Step1 -> Step2 -> ... -> Result目标明确、步骤清晰、环境稳定的任务,例如:按照固定模板生成报告、执行预设的数据处理流水线。
Reflection (或 Self-Reflection)行动后反思。在执行完一个或一系列行动后,对结果进行批判性评估,发现问题并生成改进方案,然后重新执行。学生写作文:写完初稿后,通读一遍(观察结果),反思哪里逻辑不通、语句不顺(推理),然后修改文章(新的行动)。Act -> Observe -> Critique -> Reflect -> (Re)Act对输出质量要求高、需要迭代优化的任务,例如:代码调试、文章润色、方案设计评审。
Multi-Agent多角色协作。多个具备不同角色和能力的智能体通过通信协议(如A2A)进行分工合作,共同完成复杂任务。医院会诊:内科、外科、影像科等多位专家(多个Agent)各自检查病人,然后开会讨论(通信),共同制定治疗方案(协作决策)。AgentA -> (Communicate) -> AgentB -> (Cooperate) -> Result涉及多领域知识、需要分工或辩论的复杂任务,例如:复杂项目评估、辩论赛模拟、集成多源数据的决策系统。

核心循环拆解:以ReAct为例

ReAct范式的核心是一个循环迭代的过程,其标准步骤可用以下伪代码表示:

# ReAct 核心循环伪代码 def react_agent(initial_question): # 初始化 context = initial_question max_steps = 10 for step in range(max_steps): # 1. Thought(推理):分析当前情况,决定下一步做什么 thought = llm_reason(context, available_tools) # print(f"Thought {step}: {thought}") # 2. Act(行动):执行决策,通常是调用一个工具或API action, action_input = parse_thought_to_action(thought) # print(f"Act {step}: 调用工具【{action}】,输入:{action_input}") # 假设我们有一个工具调用函数 if action in available_tools: observation = available_tools[action](action_input) # else: observation = "错误:未知工具。" # 3. Observe(观察):获取行动结果,作为下一次推理的输入 print(f"Observe {step}: {observation}") context += f" 行动结果:{observation}" # 检查任务是否完成 if is_task_complete(observation, initial_question): final_answer = llm_generate_final_answer(context) print(f"最终答案:{final_answer}") return final_answer return "任务未能在最大步数内完成。" # 示例:可用工具字典 available_tools = { "search_web": search_function, "calculate": calculator_function, "lookup_database": db_query_function, # }

范式间的关系与演进

这四种范式并非互斥,而是常常在高级的**智能体工作流(Agentic Workflows)**中被组合使用,形成更强大的问题解决能力 。

  1. 基础单元ReAct是构建智能体最基础的“原子”循环,它赋予了智能体与环境交互和动态决策的能力 。
  2. 增强与组合
    • Plan-and-Execute + ReAct:可以先制定一个高层计划(Plan),然后在执行每个步骤时使用ReAct循环来处理其中的不确定性 。这就像项目经理制定了季度目标(规划),但每个工程师在完成具体模块时仍需灵活解决技术难题(推理-行动)。
    • ReAct + Reflection:在每次或每几次Act-Observe后,加入一个Reflection步骤,评估当前进展和质量,从而纠正错误或优化后续策略 。这就像学生在解题过程中,每做两步就回头检查一下计算和逻辑。
  3. 复杂系统Multi-Agent是更高层次的架构范式,其中的每个智能体(Agent)内部可能采用ReAct、Plan或Reflection等范式。它们通过A2A(Agent-to-Agent)通信协议进行结构化信息交换与协作,共同完成超大型任务 。

通俗示例:如何用这些范式点外卖

假设任务是:“帮我订一份适合感冒患者吃的、清淡的午餐,预算50元以内。”

  • 只用 Plan-and-Solve

    规划:1. 打开外卖APP。2. 搜索“粥”。3. 按价格排序。4. 选择第一个。5. 下单。 执行:严格按上述步骤执行。风险:可能选到一份“皮蛋瘦肉粥”,虽然清淡但皮蛋对感冒未必好,规划时未考虑“食材适应性”。
  • 使用 ReAct

    思考:用户感冒了,需要清淡、易消化的食物。粥或清汤面比较合适。先看看附近有什么店。 行动:调用【搜索外卖商家】工具,关键词“粥 面 清淡”。 观察:返回A店的“青菜粥”20元,B店的“鸡汤面”35元,C店的“海鲜粥”45元。 思考:海鲜是发物,感冒时可能不宜食用。鸡汤面听起来不错,有营养。检查一下用户评价。 行动:调用【查看商家评价】工具,商家B。 观察:评价显示鸡汤面较油腻。 思考:评价说油腻,那可能不适合。青菜粥最安全。在预算内。决定下单A店的青菜粥。 行动:调用【下单】工具,商品“青菜粥”。

    (这个过程展示了ReAct如何根据观察到的信息动态调整决策)

  • 加入 Reflection
    在ReAct流程下单后,可以增加一个反思步骤:“我刚刚推荐了青菜粥,虽然安全但营养单一。是否应该再建议用户搭配一份蒸蛋?或者询问用户是否有其他口味偏好?” 这可以优化本次建议,或为下次服务积累经验 。

  • 使用 Multi-Agent

    • 营养专家Agent:分析感冒饮食需求,推荐“粥类、清汤面、蒸蛋”。
    • 美食侦探Agent:负责搜索和筛选符合要求、评价好的外卖商家。
    • 预算管家Agent:确保总价在50元以内,并计算优惠。
    • 三个Agent通过通信(A2A)交换信息(营养清单、商家列表、价格),共同协商出最优解——比如“青菜粥+蒸蛋”的组合 。

总结来说,ReAct是让AI学会“边想边做”的核心范式;Plan-and-Solve提供了宏观蓝图;Reflection赋予了其“复盘优化”的能力;而Multi-Agent则是构建分工协作的AI团队的架构思想。在实际的AI智能体系统中,这些范式像积木一样被灵活组合,以应对不同复杂度的现实世界任务。


参考来源

  • 收藏备用!ReAct范式深度解析+LangGraph落地实战,小白也能学会的大模型Agent构建指南
  • 收藏!大模型智能体(Agent)入门:从概念到ReAct范式实操全解析
  • 第四章深度解析:智能体经典范式实战指南——从ReAct到Reflection的全流程拆解
  • AI Agent核心技术范式深度解析:从ReAct到智能体工作流,小白也能轻松掌握并收藏
  • ReAct、Plan-and-Execute、Reflection、Multi-Agent:AI Agent 核心工程范式解析,小白程序员必备收藏
  • AI Agent开发实战:基于ReAct范式的智能体构建与优化
http://www.cnnetsun.cn/news/2691438.html

相关文章:

  • 惠普OMEN游戏本性能控制终极指南:OmenSuperHub完全掌控你的硬件
  • Arm C1-Pro核心AMU寄存器架构与性能监控解析
  • PDF文件智能瘦身:pdfsizeopt技术深度解析与实战指南
  • UnityExplorer终极指南:如何快速掌握这款强大的Unity游戏调试工具?
  • 磁盘操作练习
  • Claude Code 常见报错排查指南及解决方法
  • 从零入门电路设计:核心原理、EDA工具与全流程实践指南
  • 基于Particle Photon的三重验证物联网智能门锁设计与实现
  • AI人工智能-目标检测(YOLOv12)-蚊子数据集训练
  • 5步解决英雄联盟游戏体验优化难题:LeagueAkari工具箱的完整指南
  • 【算法五十五】240. 搜索二维矩阵 II
  • 南大CS保研,除了计科系还有哪些宝藏学院?软件、AI、智能学院保姆级对比
  • 7天以上长途旅行大容量托运箱推荐:爱可乐王朝系列宝藏前开盖行李箱 耐磨抗摔高级高颜值还抗造
  • 如何免费解锁B站缓存视频:m4s-converter完整使用指南
  • 终极解决方案:如何快速修复Windows系统所有Visual C++运行时库问题
  • 终极指南:3分钟搞定Windows和Office永久激活的完整解决方案
  • 从TPA3118D2芯片到PCB:D类功放设计全流程与调试心得
  • 企业级 AI 自动化|OpenClaw 龙虾实战与认证
  • 树莓派运行Windows 10/11全攻略:ARM架构部署、驱动优化与性能调优
  • AI幽默生成:从模式模仿到认知理解的NLP技术挑战
  • 告别FileZilla!用MobaXterm搞定泰山派RK3566与Windows文件互传(含SSH配置避坑)
  • QKeyMapper:打破Windows输入限制的终极解决方案
  • Java内部类与匿名内部类
  • 2026年免费的视频总结app大横评理性算账比效率准度,谁才是隐藏的王者
  • 在Ubuntu 20.04上搞定ORB-SLAM3编译:一个C++14标准设置救了我的命
  • 暗黑破坏神2存档编辑器终极指南:5分钟实现角色自由定制,告别复杂十六进制编辑
  • STM32C542开发(1)----点亮LED
  • Grok犯下183宗罪、4天“灭国”,GPT直接把自己“饿死”!让AI“统治”社会15天,只有Claude撑到了最后
  • Avidemux视频编辑神器:3分钟学会开源视频剪辑的终极指南
  • 基于Arduino Uno的温湿度数据记录器:从传感器采集到SD卡存储