首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >ReAct机制:Agent到底是怎么"思考"的?

ReAct机制:Agent到底是怎么"思考"的?

作者头像
不肯过江东丶
发布2026-06-29 11:47:40
发布2026-06-29 11:47:40
790
举报
从认知到落地,带你打造AI生产力

你有没有好奇过一个问题:

那些号称"自主决策"的AI Agent,到底是怎么决定什么时候该查数据、什么时候该分析、什么时候该出结论的?

不是靠运气,不是靠直觉,而是靠一套机制——ReAct。

01

为什么需要ReAct

假设你让Agent解决一个问题:"帮我分析一下张三最近的消费情况,如果有异常就标记出来。"

纯推理模式:Agent一顿分析,从用户画像到消费心理学全扯了一遍,但没查任何实际数据。结论是"建议关注消费异常"——全是废话,因为它根本没看数据。

纯行动模式:Agent上来就疯狂调API:查订单、查支付记录、查退款记录、查登录日志……调了一大堆,但没有分析,最后扔给你一堆原始数据:"这是张三的所有记录,你自己看吧。"

显然,纯推理是纸上谈兵,纯行动是无头苍蝇。Agent需要的是边想边干、干了再想——这就是ReAct存在的意义。

02

ReAct是什么

ReAct = Reasoning(推理)+ Acting(行动)

它定义了一个循环:

代码语言:javascript
复制
思考 → 行动 → 观察 → 思考 → 行动 → 观察 → ... → 最终答案

循环直到Agent认为任务完成了,给出最终答案。下面我们看一个完整的例子👇

用户输入:

"帮我分析一下张三最近的消费情况,如果有异常就标记出来。"

第1轮

思考:用户想分析张三的消费。我需要先获取张三最近一个月的消费记录。

行动:调用 query_user_transactions(user="张三", period="最近30天")

观察:返回了87条交易记录,总金额¥12,430。其中有一笔¥5,000的支出,备注是"未知商户"。

第2轮

思考:87笔交易,总金额¥12,430。有一笔¥5,000的"未知商户"支出,这个比较可疑。我需要查一下这笔交易的详情。

行动:调用 get_transaction_detail(transaction_id="T20240515-0089")

观察:交易时间凌晨3:15,IP地址来自境外,支付方式为信用卡。

第3轮

思考:凌晨3点、境外IP、¥5,000、未知商户——这四个条件同时满足,基本可以判定是异常交易。我还需要确认这是不是张三本人的操作。

行动:调用 check_user_login_log(user="张三", time="2024-05-15 03:00-04:00")

观察:该时段没有张三的登录记录。

第4轮

思考:登录记录显示张三当时没有操作,这笔交易很可能是盗刷。分析已经完成,汇总结果。

最终回答:

张三最近30天消费共87笔,总金额¥12,430。发现1笔异常:5月15日凌晨3:15,¥5,000,未知商户,境外IP操作,且该时段张三没有登录记录。高度疑似盗刷,建议立即冻结卡片并联系张三确认。

看到了吗?Agent不是一次性把所有数据查出来,而是查一步、分析一步、再决定下一步查什么。这个"边想边干"的过程,就是ReAct。

当然,ReAct不是一成不变的,实际使用中有几种常见变体:

1. 标准ReAct

最基本的循环:思考 → 行动 → 观察 → 继续或结束。

适合:简单明确的任务,一两轮就能搞定。

2. 带规划的ReAct

在循环开始前先做一个整体规划:"我需要1.查消费记录 2.分析异常 3.确认身份 4.出报告",然后按计划执行。

适合:长链路任务,防止Agent跑偏。

3. 带反思的ReAct

在观察之后加了一个"反思"环节:刚才的结论对吗?要不要换个方法再试试?

比如Agent查了消费记录,发现结果为空。反思环节会想:"可能是时间范围不对?要不要扩大查询范围?"

适合:结果不确定、可能需要调整策略的场景。

03

Skills + ReAct:1+1>2

ReAct + Skill的组合威力在于:

  • Skill提供能力:比如一个"订单分析Skill",封装了查订单、查物流、查退款等5个函数
  • ReAct提供决策:Agent在循环中判断"现在该用Skill里的哪个函数"

举个例子,一个客服Agent可能有这些Skill:

用户问"我的订单到哪了,如果还没发货就帮我退款"——这个任务跨了两个Skill(订单+退款),Agent通过ReAct循环自动切换:

  • 第1轮:用订单Skill查物流 → 发现未发货
  • 第2轮:用退款Skill查退款政策 → 符合条件
  • 第3轮:用退款Skill申请退款 → 成功

Agent自动在多个Skill之间跳转,这就是Skills + ReAct的威力。

ReAct不是让Agent"更强",而是让Agent"更聪明"——知道什么时候该想、什么时候该干、什么时候该停。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-06-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大聪明教你学Java 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档