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

多智能体(Multi-agent)策略模式:思维链CoT和ReAct

参考:https://zhuanlan.zhihu.com/p/704523060

🎯 一句话记住

  • CoT:像“考试时在草稿纸上写完所有步骤,再抄答案”。
  • ReAct:像“玩密室逃脱,每开一个箱子就去找下一个线索”。

用小学生能听懂的话 + 两个小故事,把 CoT(思维链)ReAct(行动-思考交替) 的区别讲清楚。


🧠 先记住两个关键词

  • CoT:像“在心里自言自语”,把推理过程一口气说完。
  • ReAct:像“边做边说”,先动手做一步,再思考下一步,再动手……

🌰 故事 1:CoT——小明做数学题

题目:小明有 5 颗糖,妈妈又给他 3 颗,他吃掉 2 颗,还剩几颗?

小明心里的小剧场(CoT)
“我先数原来的 5 颗,加上 3 颗就是 5 + 3 = 8 颗。再吃掉 2 颗,8 - 2 = 6 颗。所以还剩 6 颗!”
一口气把推理全说完,再给出答案。
这就是 CoT:先完整思考,再回答


🌰 故事 2:ReAct——小红拼乐高

任务:拼一辆乐高小车,但说明书丢了。

小红边做边说(ReAct)

  1. 行动:先拿起轮子装上去。
    思考:咦,车身还没装,轮子会晃!
  2. 行动:拆掉轮子,先拼底座。
    思考:底座好了,轮子应该装这里。
  3. 行动:把轮子对准卡扣按进去。
    思考:现在装方向盘,车就能开了!
    每一步先做再想,再做再想……
    这就是 ReAct:行动和思考交替进行

📝 小学生总结表

CoT(思维链)ReAct(行动-思考交替)
像什么?一口气把解题步骤全说完边做实验边记录
顺序思考 → 思考 → … → 答案行动 → 思考 → 行动 → 思考…
优点逻辑清楚,一步不漏灵活应变,随时纠错
例子口算题:先算乘法,再加法拼乐高:装错了拆了重装

下面用最少的代码,把 CoT(思维链)ReAct(行动-思考交替) 各写一个可运行的小例子,全部用小学生也能看懂的“加减法”场景。


① CoT(思维链)

一口气把推理过程打印完,再给答案。

def solve_by_cot(a, b, c):# 1. 先把整个思考过程说完print(f"1. 原来有 {a} 颗糖")print(f"2. 妈妈又给 {b} 颗,一共 {a + b} 颗")print(f"3. 吃掉 {c} 颗,还剩 {a + b - c} 颗")# 2. 最后给出答案return a + b - cprint("CoT 答案:", solve_by_cot(5, 3, 2))

运行结果

1. 原来有 5 颗糖
2. 妈妈又给 3 颗,一共 8 颗
3. 吃掉 2 颗,还剩 6 颗
CoT 答案: 6

② ReAct(行动-思考交替)

每做一步就停下来“想一想”,再继续下一步。

def solve_by_react(a, b, c):total = aprint(f"行动:数出 {a} 颗糖")total += bprint(f"思考:妈妈又给 {b} 颗,现在应该有 {total} 颗")total -= cprint(f"行动:吃掉 {c} 颗")print(f"思考:所以最后还剩 {total} 颗")return totalprint("ReAct 答案:", solve_by_react(5, 3, 2))

运行结果

行动:数出 5 颗糖
思考:妈妈又给 3 颗,现在应该有 8 颗
行动:吃掉 2 颗
思考:所以最后还剩 6 颗
ReAct 答案: 6

🎯 一句话总结代码差异

  • CoT:先 print 完所有思考,最后 return 结果。
  • ReAct:每做一次运算就 print,边算边说。
http://www.dtcms.com/a/297720.html

相关文章:

  • 万字解析Redission ---深入理解Redission上锁过程
  • 百度蜘蛛池解析机制:原创
  • ElementPlus:ElMessageBox增加type
  • iOS 加固工具实战解析,主流平台审核机制与工具应对策略
  • ESB 在零售,物流,制造,保险,医疗行业的应用方式
  • 【Linux/Ubuntu】VIM指令大全
  • Adv. Energy Mater.:焦耳热2分钟制造自支撑磷化物全解水电极
  • 基坑渗压数据不准?选对渗压计能实现自动化精准监测吗?
  • 戴尔电脑 Linux 安装与配置指南_导入mysql共享文件夹
  • 如何制定和落实ITIL 4服务请求的标准化与自动化策略
  • c# openxml 打开加密 的word读取内容
  • (笔记)U-boot 2012.10 armv7启动汇编解析
  • C++STL系列之unordered_set和unordered_map
  • gig-gitignore工具实战开发(四):使用ai辅助生成gitignore
  • 开讲啦|MBSE公开课:第二集 MBSE远景设想
  • cocos creator 3.8.6 websocke的一直报错WebSocket is not a constructor
  • Logstash 多表增量同步 MySQL 到 Elasticsearch:支持逻辑删除与热加载,Docker 快速部署实战
  • vue项目创建流程
  • XML的简略知识点
  • PyCharm高效开发全攻略
  • RHCA - CL260 | Day01:Ceph 架构及环境介绍
  • leetcode102:二叉树的层序遍历(队列实现)
  • 栈----1.有效的括号
  • iOS WebView 调试实战,文件上传与权限弹窗异常的排查路径
  • 三维模型驱动下的光伏组件智能排列方案
  • 【深入底层】C++开发简历4+4技能描述6
  • 百特搭AI低代码平台助力企业国际化业务敏捷拓展
  • 《一种采用分布式多模态传感模块的身体尺度机器人皮肤的设计、评估与应用》论文解读
  • 【日志】unity俄罗斯方块——边界限制检测
  • 如何在离线电脑win11上安装VS2022