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

AI Agent认知框架(ReAct、函数调用、计划与执行、自问自答、批判修正、思维链、思维树详解和对比,最后表格整理总结

以下是主流AI Agent认知框架的详细说明、对比及表格总结:
在这里插入图片描述


1. 各认知框架详解

(1) ReAct (Reasoning + Action)
  • 定义:结合推理(Reasoning)和行动(Action)的循环过程。
  • 核心机制
    • 模型先推理(Reason)生成可能的解决方案或步骤。
    • 执行(Act)具体操作(如查询工具、调用API)。
    • 根据反馈结果迭代优化。
  • 适用场景:需要逐步解决问题的复杂任务(如多步骤推理、工具调用)。
  • 示例:用户问“纽约到巴黎的航班价格”,模型先推理需要查询航班数据,再调用API获取实时价格。
(2) 函数调用(Function Calling)
  • 定义:模型通过预定义的函数接口直接调用外部工具或API。
  • 核心机制
    • 模型生成符合函数参数的自然语言指令。
    • 系统解析指令并调用对应函数执行。
  • 适用场景:需要调用结构化工具(如数据库查询、API接口)的任务。
  • 示例:调用天气API获取实时天气数据。
(3) 计划与执行(Plan-And-Execute)
  • 定义:分阶段处理任务,先制定计划再执行。
  • 核心机制
    1. 计划阶段:模型生成详细步骤或子任务。
    2. 执行阶段:逐步完成每个子任务并整合结果。
  • 适用场景:复杂多步骤任务(如编写代码、解决问题)。
  • 示例:解决数学题时先规划解题步骤,再逐步计算。
(4) 自问自答(Self-Ask)
  • 定义:模型通过生成问题并自行回答来逐步推导答案。
  • 核心机制
    • 模型生成中间问题,模拟人类的思考过程。
    • 逐步回答问题,最终整合答案。
  • 适用场景:需要分步推理或知识补全的任务(如阅读理解、逻辑推理)。
  • 示例:阅读一段文字后,自问关键细节并回答以提炼答案。
(5) 批判修正(Critique & Revise / Self-Reflection)
  • 定义:模型自我检查输出并迭代优化。
  • 核心机制
    1. 生成初步答案:模型输出初始结果。
    2. 批判阶段:模型评估答案的合理性。
    3. 修正阶段:根据批判结果调整并重新生成。
  • 适用场景:需要高准确性的任务(如写作、代码调试)。
  • 示例:模型生成代码后,自我检查语法错误并修正。
(6) 思维链(Chain-of-Thought, COT)
  • 定义:通过逐步展开中间推理步骤生成最终答案。
  • 核心机制
    • 模型以自然语言详细描述推理过程。
    • 分步骤推导,最终整合为答案。
  • 适用场景:需要展示思考过程的任务(如数学题、逻辑推理)。
  • 示例:解决数学题时分步写出计算过程。
(7) 思维树(Tree-of-Thought, TOT)
  • 定义:通过分支探索多种可能的推理路径。
  • 核心机制
    • 模型生成多个可能的中间思路(分支)。
    • 评估并选择最优路径继续推理。
  • 适用场景:需要探索多种可能性的任务(如创意生成、策略规划)。
  • 示例:设计解决方案时生成多个分支思路并筛选最佳方案。

2. 核心差异对比

关键维度对比
框架核心机制是否依赖外部工具是否分阶段是否自我修正典型输出形式
ReAct推理+行动循环部分(迭代)动态步骤结果
函数调用直接调用函数工具返回的数据
计划与执行分阶段计划+执行可选结构化步骤输出
自问自答生成问题并回答分步推理过程
批判修正自我检查+迭代优化修正后的最终答案
思维链(COT)逐步展开推理过程详细推理步骤
思维树(TOT)分支探索多种路径多分支结果+最优选择
技术特点差异
  • 是否需要外部工具
    • ReAct、函数调用依赖外部工具,其他框架主要依赖模型自身推理。
  • 推理路径
    • COT是线性推理,TOT是分支探索。
  • 迭代能力
    • 批判修正框架具备自我迭代能力,其他框架多为单次推理。

3. 选择建议

需求场景推荐框架理由
需要逐步推理并调用工具ReAct动态推理与行动结合
直接调用外部API或函数函数调用简洁高效,适合结构化任务
复杂多步骤任务规划计划与执行明确分阶段处理
需要展示中间思考过程思维链(COT)详细推理过程透明
需要探索多种可能性思维树(TOT)分支式探索最优解
需要高准确性输出批判修正自我检查与迭代优化

总结表格

框架名称核心特点适用场景优缺点
ReAct推理+行动循环多步骤工具调用灵活但需要工具支持;适合复杂任务
函数调用直接调用函数结构化API调用简单高效;依赖工具接口
计划与执行分阶段计划+执行复杂任务规划结构清晰;需明确步骤划分
自问自答生成问题并回答分步推理任务思维过程透明;计算开销较大
批判修正自我检查+迭代优化高精度输出需求输出质量高;需多次迭代
思维链(COT)逐步展开推理过程需要展示推理过程可解释性强;线性路径可能遗漏最优解
思维树(TOT)分支探索多种路径需要探索多种可能性创新性强;计算资源需求高

总结

  • 工具依赖型:ReAct、函数调用 → 需结合外部工具。
  • 推理过程透明:COT、Self-Ask → 适合需要解释的场景。
  • 探索与优化:TOT、Critique & Revise → 多分支或高精度需求。
    根据具体任务需求(如是否需要工具、推理路径、输出形式)选择合适的框架。

相关文章:

AI Agent认知框架(ReAct、函数调用、计划与执行、自问自答、批判修正、思维链、思维树详解和对比,最后表格整理总结

以下是主流AI Agent认知框架的详细说明、对比及表格总结: 1. 各认知框架详解 (1) ReAct (Reasoning Action) 定义:结合推理(Reasoning)和行动(Action)的循环过程。核心机制: 模型先推理&…...

springBoot_自定义starter

Spring Boot 自定义 Starter 详解 一、Spring Boot Starter 基础概念 1.1 什么是 Spring Boot Starter Spring Boot Starter 是 Spring Boot 的一个核心概念,它是一种特殊的依赖描述符,包含了一组可以集成到应用中的依赖项。简单来说,Star…...

搭建TypeScript单元测试环境

我们在学习TypeScript的时候如果能够搭建一个单元测试的环境,那写些demo会很简单,下面我们使用jest来搭建一个单元测试环境 Jest 是一个由 Facebook 开发并开源的 JavaScript 测试框架,被广泛应用于前端和 Node.js 项目的单元测试。以下是关…...

第十一届机械工程、材料和自动化技术国际会议(MMEAT 2025)

重要信息 官网:www.mmeat.net 时间:2025年06月23-25日 地点:中国-深圳 部分展示 征稿主题 智能制造和工业自动化 复合材料与高性能材料先进制造技术 自动化机器人系统 云制造与物联网集成 精密制造技术 智能生产线优化 实时数据分析与过…...

leetcode 1143. Longest Common Subsequence

目录 题目描述 第一步,明确并理解dp数组及下标的含义 第二步,分析明确并理解递推公式 第三步,理解dp数组如何初始化 第四步,理解遍历顺序 代码 题目描述 这道题和第718题的区别就是,本题求的是最长公共子序列的长…...

SSH 私钥文件权限控制指南

1. 为什么必须严格控制私钥文件权限? 安全机制:SSH 协议强制要求私钥文件必须仅对所有者可读,防止未授权访问。 风险:若权限过松(如其他用户可读),SSH 客户端会拒绝连接,避免私钥泄…...

stack和queue的学习

stack的介绍 stack的文档介绍 stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,…...

微服务Nacos组件的介绍、安装、使用

微服务Nacos组件的介绍、安装、使用 在微服务架构日渐普及的今天,服务注册与配置管理成了系统架构中的关键环节。阿里巴巴开源的 Nacos(Naming and Configuration Service)正是解决这一问题的利器。本文将为你全面介绍 Nacos 的概念、安装方…...

SpringBoot_为何需要SpringBoot?

Spring Boot 出现前的开发困境 配置繁琐 大量的 XML 配置文件 Spring 是一个非常优秀的轻量级框架,但其配置却是重量级的需要编写大量的 XML 配置文件或注解配置,使项目配置复杂且难以维护配置文件中容易出现错误,且排查问题困难开发过程中…...

格式工厂 v5.18最新免安装绿色便携版

前言 用它来转视频的时候,还能顺便给那些有点小瑕疵的视频修修补补,保证转出来的视频质量杠杠的。更厉害的是,它不只是转换那么简单,还能帮你把PDF合并成一本小册子,视频也能合并成大片,还能随心所欲地裁剪…...

使用logrotate实现日志轮转

logrotate 是一个强大的 Linux 工具,用于自动化管理日志文件的轮转、压缩、删除和归档。它能有效防止日志文件无限增长,节省磁盘空间,同时保持日志的可追溯性。以下是详细讲解 logrotate 的用法,涵盖安装、配置、测试、自动化、常…...

MQTTX + MCP:MQTT 客户端秒变物联网 Agent

引言:MQTTX 与 MCP 的融合 作为最受欢迎的 MQTT 客户端工具,MQTTX 在 1.12.0 beta 版本中集成了模型上下文协议(MCP)到 Copilot AI 功能中,显著提升了服务能力。这一融合让 MQTTX 转变为 MCP Host(也就是发…...

redis close+连接参数设置+并发情况风险分析

1,如下代码 redis 为什么 client.close,不关闭会出现什么问题 public void confirm(String token, MenuHistoryVO menuHistoryVO) {if (StringUtil.isEmptyOrNull(token) || Objects.isNull(menuHistoryVO)) {return;}String key getKey(token);JedisC…...

[密码学实战]GMT 0048-2016智能密码钥匙密码检测规范技术解析与实战指南

GMT 0048-2016智能密码钥匙密码检测规范技术解析与实战指南 引言 随着信息安全需求的升级,智能密码钥匙(如USB Key、安全芯片等)作为密码运算和密钥管理的核心设备,广泛应用于金融、政务、物联网等领域。中国国家密码管理局发布…...

Android OkHttp 框架的使用与源码、原理解析

一、引言 在如今的移动应用开发领域,网络交互已经成为了绝大多数 Android 应用不可或缺的一部分。无论是获取最新的资讯内容、同步用户数据,还是与后端服务器进行实时通信,高效且稳定的网络请求都是保障应用良好用户体验的基石。而 OkHttp 框…...

Qt C++ 解析和处理 XML 文件示例

使用 Qt C 解析和处理 XML 文件 以下是使用 Qt C 实现 XML 文件处理的几种方法&#xff0c;包括解析、创建和修改 XML 文件。 1. 使用 QXmlStreamReader (推荐方式) #include <QFile> #include <QXmlStreamReader> #include <QDebug>void parseXmlWithStr…...

快手砍掉本地生活的门槛

一场本地商家的效率革命。 作者|景行 编辑|杨舟 “两斤鸡翅根七块九&#xff0c;两盒蓝莓九块钱&#xff0c;两公斤卫生纸十四块九一提。” 这是朝阳佳惠超市&#xff0c;在快手一则普通的短视频内容。 佳惠超市在辽宁省朝阳市有22家分店&#xff0c;打开佳惠超市的相关快手…...

Python基础语法3

目录 1、函数 1.1、语法格式 1.2、函数返回值 1.3、变量作用域 1.4、执行过程 1.5、链式调用 1.6、嵌套调用 1.7、函数递归 1.8、参数默认值 1.9、关键字参数 2、列表 2.1、创建列表 2.2、下标访问 2.3、切片操作 2.4、遍历列表元素 2.5、新增元素 2.6、查找元…...

Vue 3中如何封装API请求:提升开发效率的最佳实践

在现代前端开发中&#xff0c;API请求是不可避免的一部分&#xff0c;尤其是与后端交互时。随着Vue 3的广泛应用&#xff0c;如何高效地封装API请求&#xff0c;既能提升代码的可维护性&#xff0c;又能确保代码的高复用性&#xff0c;成为了很多开发者关注的话题。 在本文中&…...

GitHub 趋势日报 (2025年04月17日)

本日报由 TrendForge 系统生成 https://trendforge.devlive.org/ &#x1f4c8; 今日整体趋势 Top 10 排名项目名称项目描述今日获星总星数语言1Anduin2017/HowToCook程序员在家做饭方法指南。Programmer’s guide about how to cook at home (Simplified Chinese onl…⭐ 224…...

第5章-1 优化服务器设置

上一篇&#xff1a;《第4章-5 linux 网络管理》&#xff0c;接着服务器设置 本章我们将解释如何为MySQL服务器创建合适的配置文件。这是一个迂回的旅程&#xff0c;有许多兴趣点和可以俯瞰风景的短途旅程。这些短途旅程是必要的。确定合适配置的最短路径并不是从研究配置选项并…...

【AI】Windows环境安装SPAR3D单图三维重建心得

效果一览 左图为原始单个图像&#xff0c;右图为通过SPAR3D重建后的三维建模&#xff0c;可以看出效果还是不错的。 本地环境配置 系统&#xff1a;Windows 11 专业版CPU&#xff1a;i5-13400F内存&#xff1a;32GBGPU&#xff1a;RTX3060 12GBcuda&#xff1a;11.8conda&…...

桌面应用UI开发方案

一、基于 Web 技术的跨平台方案 Electron Python/Go 特点&#xff1a; 技术栈&#xff1a;前端使用 HTML/CSS/JS&#xff0c;后端通过 Node.js 集成 Python/Go 模块或服务。 跨平台&#xff1a;支持 Windows、macOS、Linux 桌面端&#xff0c;适合开发桌面应用。 生态成熟&…...

使用docker在manjaro linux系统上运行windows和ubuntu

因为最近项目必须要使用指定版本的solidworks和maxwell&#xff08;都只能在win系统上使用&#xff09;, 且目前的ubuntu容器是没有桌面的&#xff0c;导致我运行不了一些带图形的ros2功能。无奈之下&#xff0c;决定使用docker-compose写一下配置文件&#xff0c;彻底解决问题…...

Agent智能体ReAct机制深度解读:推理与行动的完美闭环

一、从Chain-of-Thought到ReAct的范式演进 1.1 传统决策机制的局限 #mermaid-svg-Jf3ygvgHcGciJvX8 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Jf3ygvgHcGciJvX8 .error-icon{fill:#552222;}#mermaid-svg-Jf3y…...

在 Node.js 中使用原生 `http` 模块,获取请求的各个部分:**请求行、请求头、请求体、请求路径、查询字符串** 等内容

在 Node.js 中使用原生 http 模块&#xff0c;可以通过 req 对象来获取请求的各个部分&#xff1a;请求行、请求头、请求体、请求路径、查询字符串 等内容。 ✅ 一、基础结构 const http require(http); const url require(url);const server http.createServer((req, res)…...

Redis(01)Redis连接报错Redis is running in protected mode……的解决方案

一、引言&#xff1a;从一个典型连接错误说起 在分布式系统开发中&#xff0c;Redis 作为高性能缓存中间件被广泛使用。 然而&#xff0c;当我们首次部署 Redis 并尝试从外部客户端连接时&#xff0c;常常会遇到以下错误&#xff1a; DENIED Redis is running in protected m…...

18487.1-2015-解读笔记之四-交流充电之流程分析

前面简单分析了国标交流充电桩插枪监测逻辑和PWM控制逻辑&#xff0c;下面简单分析一下交流充电流程 附录A 交流充电连接过程和控制时序如下&#xff1a; 由此可以将充电流程大概分为几个阶段&#xff1a; 1.充电连接阶段 充电连接阶段CC&#xff08;电阻由无穷大到R4RC&…...

海外服务器安装Ubuntu 22.04图形界面并配置VNC远程访问指南

在云计算和远程工作日益普及的今天,如何高效地管理和使用海外服务器成为了一个热门话题。本文将详细介绍如何在海外的Ubuntu 22.04服务器上安装图形界面,并配置VNC服务来实现远程访问。无论您是开发者、系统管理员,还是只是想要更便捷地管理您的海外服务器,这篇指南都能为您…...

Linux 管道理解

一、什么是管道 1.1 unix中最古老的进程间通信 1.2 一个进程链接到另一个进程的数据流称为“管道”&#xff1a; 图解&#xff1a; 二、管道通信的原理 2.1当我们创建一个进程然后打开一个文件的时候 会经过以下步骤&#xff1a; ①首先要描述这个进程&#xff0c;为这个…...