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

Agent杂货铺

零散记录一些Agent相关的内容。不成体系,看情况是否整理

ReAct

ReAct 是一种实践代理模型的高级框架,通过将大语言模型(LLMs)的推理和执行行动的能力结合起来,增强了它们在处理复杂任务时的决策能力、适应性和与外部环境的交互。ReAct包括许多关键组件,如 LLMs、用于外部交互的工具(Tools)、多种代理类型(Agent Types)、思维链(Chain-of-Thought,CoT)Prompting和 ReAct Prompting。

CoT和ReAct Prompting示例

一、思维链(Chain-of-Thought,CoT)

▋ 核心原理
通过显式要求AI展示推理过程,模仿人类逐步解决问题的思考路径。与直接输出答案不同,AI会先分解问题、执行中间推理,最后得出最终结论。

▋ 核心价值

  • 提升复杂问题(数学/逻辑/多步推理)的解决能力
  • 错误更容易溯源
  • 输出过程可解释性增强

▋ 实现方式

[System]
当解决数学问题时,请按以下步骤执行:
1. 逐句解读题目条件
2. 列出已知变量与未知量
3. 选择适用的公式
4. 分步计算并验证每步合理性
5. 最后用方框标出最终答案[User]
某商品原价200元,先涨价20%再降价25%,现价多少?

▋ 典型输出

1. 初始价格:200元
2. 第一次涨价:200 × (1+20%) = 240元
3. 第二次降价:240 × (1-25%) = 240 × 0.75 = 180元
4. 验证:20%涨幅与25%降幅并非抵消,实际变化率是(1.2×0.75)=0.9
→ 最终价格:[[180元]]

▋ 适用场景

  • 数学应用题(如折扣计算、追及问题)
  • 逻辑谜题(如谁在说谎类问题)
  • 因果推理(如故障排查)

二、ReAct Prompting

▋ 核心原理
整合推理(Reason)与行动(Act)的交互模式,允许AI在需要时调用外部工具/知识库,形成"思考-行动-观察"循环。

▋ 核心组件

  • Reason:分析当前状况,确定需要采取的行动
  • Act:执行具体操作(如调用API/查询知识库)
  • Observe:获取行动结果,继续推进思考

▋ 实现案例(天气信息查询)

[System]
你拥有查询实时天气的API权限(act.get_weather),请按以下流程处理问题:
1. 解析用户问题中的关键信息(地点/时间/天气要素)
2. 判断是否需要调用API
3. 若需调用,用JSON格式请求:act.get_weather({"city":"北京"})
4. 根据API返回数据生成自然语言回答[User]
北京明天适合穿什么衣服?

▋ 典型交互过程

Thought:用户询问穿衣建议,需先获取北京明日天气预报
Action:act.get_weather({"city":"北京","date":"2023-08-20"})
Observation:{"temp_min":18℃, "temp_max":26℃, "weather":"小雨"}Thought:明日气温在18-26℃间有小雨,建议:
1. 外层防水外套
2. 内搭长袖衬衫
3. 携带折叠伞

▋ 技术优势对比

维度CoTReAct
核心能力线性推理动态交互
外部交互可调用工具/API
适用场景封闭问题开放域动态问题
错误处理依赖预设逻辑可实时修正

三、组合应用案例(客服场景)

[System]
处理客户投诉时按ReAct框架执行:
1. Reason:识别问题类型(物流/质量/服务)
2. Act:调用CRM系统查询订单(act.query_order)
3. Reason:根据数据判断责任方
4. Act:生成解决方案模板
5. 最终回复需包含:致歉+处理方案+预防措施

执行过程:

用户:订单#1123还没收到,已经超时3天!Reason:物流延迟类投诉,需确认物流信息
Action:act.query_order(1123)
Observation:物流状态"运输中",最后节点"杭州分拣中心"Reason:因极端天气导致延误,需提供补偿方案
→ 方案:1. 优先派送 2. 赠送20元优惠券
→ 预防:开通极端天气物流预警通道

四、最佳实践指南

CoT优化技巧:

  • 让我们逐步思考...开头引导推理
  • 要求用特定符号(如→、◆)标注关键步骤
  • 添加验证环节(“请检查第三步计算是否合理”)

ReAct设计要点:

  • 明确定义可用的 Action 清单
  • 设置行动次数限制(防止死循环)
  • 设计异常处理机制(如API超时响应)

混合使用场景:

  1. 先用 CoT 拆解复杂问题
  2. 对需要外部数据的子任务启用 ReAct
  3. 最后用 CoT 整合所有信息得出结论
http://www.xdnf.cn/news/389449.html

相关文章:

  • 大模型知识蒸馏(Qwen2.5系列模型KL散度蒸馏)
  • leetcode热题100——day26
  • 当虚拟照进现实——《GTA6》如何重新定义开放世界的可能性‌
  • Git的核心作用详解
  • pwm控制
  • istio in action之服务网格和istio组件
  • LLM框架
  • Ubuntu 24服务器部署abp vnext应用程序的完整教程
  • 模块自动导入的小工具
  • 使用go开发安卓程序
  • 【漫话机器学习系列】252.零损失(0-1 Loss)
  • 豆包:国内 web 辅助开发的领头羊
  • 79.评论日记
  • Linux防火墙
  • Python模块与包以及工程文件管理
  • 【Python训练营打卡】day22 @浙大疏锦行
  • Linux-Ext系列文件系统
  • AI Agent(10):个人助手应用
  • Transformer Decoder-Only 参数量计算
  • 【计算机视觉】OpenCV实战项目 :Image_Cartooning_Web_App:基于深度学习的图像卡通化
  • 代理售票系统|基于Java+vue的代理售票系统(源码+数据库+文档)
  • CVPR2023 | StyLess: 提升对抗样本的可迁移性
  • MATLAB 矩阵与数组操作基础教程
  • 量化交易系统开发经验分享--回测框架调研
  • 股票回购、股票减持和股票解禁对股票价格影响的综合分析
  • Synchronized与锁升级
  • 经典工具箱、常见工具、软件合集【免费无广告】
  • 【C/C++】跟我一起学_C++同步机制效率对比与优化策略
  • 云计算中的虚拟化:成本节省、可扩展性与灾难恢复的完美结合
  • mybatis执行sql过程