当前位置: 首页 > 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.lryc.cn/news/599819.html

相关文章:

  • Ubuntu 环境下创建并启动一个 MediaMTX 的 systemd 服务
  • 电科金仓新一代数据库一体机:以 “云数据库 - AI 版” 破局 AI 时代,三骏守护定义行业新标杆
  • 项目管理进阶——解读软件项目管理-项目阶段复盘会(通用模板)【附全文阅读】
  • 文心4.5开源之路:从封闭到开放的力量
  • ARM-I2C硬实现
  • linux-开机启动流程
  • 编程语言Java——核心技术篇(三)异常处理详解
  • 将本地项目推送到远程github仓库
  • 学习游戏制作记录(克隆技能)7.25
  • C语言|指针的应用
  • Python 之 keyboard
  • 详解软件需求中的外部接口需求
  • 网络安全入门第一课:信息收集实战手册(3)
  • 芯显15寸工控液晶屏RV150X0M-N10产品资料详情
  • 高德地图 loca 实现点线的显示和点击
  • Ping32:企业数据安全的智能护盾
  • C++中使用Essentia实现STFT/ISTFT
  • C++中new和delete的多重面孔:operator new、new operator与placement new解析
  • 机器学习-SVM支持向量机
  • Zookeeper学习专栏(十):核心流程剖析之服务启动、请求处理与选举协议
  • 【Linux】进程切换与优先级
  • Metaspace耗尽导致OOM问题
  • 【运维自动化-标准运维】各类全局变量使用说明(下)
  • 伯俊科技× OB Cloud:零售业落地AI的“三步走”渐进式发展实践
  • 企业微信H5应用OAuth2登录,企业微信授权登录
  • 国产DevOps平台Gitee:如何重塑中国企业研发效能新格局
  • 如何在 Ubuntu 24.04 或 22.04 上安装和使用 GDebi
  • Qt 反射机制与动态属性系统
  • UserWarning: Workbook contains no default style, apply openpyxl‘s default warn
  • ReAct Agent(LangGraph实现)