【AI技术】Agent:AI 为什么需要“自主决策”?

前两篇我们分别介绍了:

  • Prompt:告诉 AI 应该做什么
  • Skill:封装一类可复用能力【AI技术】从 Prompt 到 Skill:AI 到底“会什么”?-CSDN博客https://blog.csdn.net/dfraetaem/article/details/165364646?spm=1001.2014.3001.5501
  • Tool:让 AI 获得实际执行能力
  • Workflow:将多个工具组合成固定流程【AI技术】从 Tool 到 Workflow:AI 如何真正“做事”?-CSDN博客https://blog.csdn.net/dfraetaem/article/details/165491014?spm=1001.2014.3001.5501

到这里,AI 已经可以完成很多实际任务。例如:

读取文件 ↓ 处理数据 ↓ 查询信息 ↓ 生成报告

但随着任务复杂度增加,一个问题逐渐出现:

如果下一步应该做什么,开发者无法提前确定怎么办?

例如“分析这份数据,并找出可能的问题”,AI 可能需要:

查看数据结构 ↓ 发现字段缺失 ↓ 决定补充信息 ↓ 进一步分析异常 ↓ 生成结果

这个过程中,每一步都不是完全固定的。

因此,我们需要一种能够满足以下目标的 AI 应用模式:

  • 理解目标
  • 制定计划
  • 调用工具
  • 根据结果调整方案

也就是——Agent(智能体)。


一、Agent:让 AI 具备自主决策能力

Agent 通常翻译为智能体。简单理解:

Agent 是能够根据目标,自主规划步骤并调用工具完成任务的 AI 系统。

与普通聊天机器人相比,Agent 不只是:

用户提问 ↓ AI回答

而更像:

用户目标 ↓ Agent 理解任务 ↓ 制定执行计划 ↓ 调用工具 ↓ 观察结果 ↓ 调整下一步行动 ↓ 完成任务

一个简单例子

用户询问:“帮我分析这份数据,并生成报告”。

普通 Workflow所有步骤提前确定。:

读取文件 ↓ 数据清洗 ↓ 生成报告

而 Agent:

读取文件 ↓ 发现数据缺少关键字段 ↓ 决定先检查数据来源 ↓ 调用数据库查询补充信息 ↓ 重新分析 ↓ 发现异常 ↓ 决定生成详细报告

这里最大的区别是:

Agent 可以根据当前情况决定下一步,而不是完全按照固定流程执行。


二、Workflow 和 Agent 有什么区别?

这是 AI 应用开发中最容易混淆的问题。

简单来说:

Workflow 是固定流程,Agent 是动态决策。

可以这样理解:

WorkflowAgent
中文工作流智能体
核心固定流程自主决策
执行方式按预设步骤执行根据目标动态调整
灵活性较低较高
开发方式设计流程设计能力和约束
适合场景流程明确的任务复杂、不确定任务

Workflow 示例

例如一个固定的数据处理流程:

上传文件 ↓ 读取数据 ↓ 清洗数据 ↓ 统计分析 ↓ 生成报告

因为流程非常明确,所以适合使用 Workflow。


Agent 示例

例如一个数据分析助手:

用户:分析这份数据,告诉我有哪些问题。 Agent: 1. 查看数据结构 2. 判断需要哪些分析方式 3. 调用数据分析工具 4. 根据结果决定是否进一步查询 5. 输出结论

这里没有固定规定:

第一步一定是什么,第二步一定是什么。

而是由 Agent 根据当前情况决定。


三、Agent 的核心组成

一个简单的 Agent 通常包含几个部分:

Agent │ ├── 大语言模型(LLM) │ ├── 任务目标 │ ├── 思考与规划能力 │ ├── Tool 工具调用能力 │ └── 状态记录 / Memory

其中:

1. LLM:负责理解和推理

例如,理解用户目标:

“分析数据中的异常。”

又或是,判断:

“我需要先查看数据结构。”


2. Tool:提供执行能力

Agent 本身不能:

  • 读取文件
  • 查询数据库
  • 调用 API

所以需要调用 Tool。

例如:

Agent ↓ Python Tool ↓ 执行数据分析 ↓ 返回结果

3. Planning:任务规划

这是 Agent 与普通 Workflow 的关键区别。

Workflow:步骤已经写好

Agent:根据目标决定步骤

例如:

目标:完成市场分析 Agent: 需要搜索资料? 需要分析数据? 需要生成报告? 决定执行顺序。

四、Agent 是否等于“会调用工具的 AI”?

这是一个常见误区。

很多人认为:

AI 能调用 Python 或 API,就是 Agent。

实际上并不是,例如:

用户:计算这个数据。 AI:调用计算工具。--→ 工具返回结果。 AI:输出答案。

这里是AI+Tool,但不一定是 Agent。因为它只是调用了一个工具。

但如果流程是:

读取文件 ↓ 调用 Python ↓ 生成结果

而这些步骤都是开发者提前定义好的,那么它更接近工作流Workflow。


真正的 Agent是这样的:

用户:完成一个复杂任务。 Agent:判断需要哪些工具 ↓ 决定执行顺序 ↓ 根据结果调整方案 ↓ 完成任务

关键区别:

Agent 的核心不是调用工具,而是决定什么时候调用什么工具。


五、MCP:让 Agent 更方便连接外部能力

随着 Agent 发展,又出现了一个新的问题:

每个工具都有不同的接口,AI 如何统一连接?

例如有文件系统、数据库、搜索服务、企业应用、第三方 API等等,如果每个工具都需要单独开发连接方式,会越来越复杂。因此出现了MCP(Model Context Protocol,模型上下文协议)。

简单理解,MCP 是一种帮助 AI 连接外部工具和数据的标准协议。

可以理解成,传统方式:

AI ↓ 每个工具单独开发接口 ↓ 文件 数据库 API

而MCP则是:

AI ↓ MCP ↓ 统一连接 ↓ 文件 数据库 API

它的作用就是给AI 提供一个统一的“工具连接标准”。


六、Skill、Tool、Workflow、Agent 的完整关系

到这里,我们可以把整个 AI 应用链路连接起来:

Prompt:告诉 AI 做什么 ↓ Skill:封装一类能力 ↓ Tool:提供执行能力 ↓ Workflow:按照固定流程完成任务 ↓ Agent:自主决定如何完成任务

可以简单记忆:

概念解决的问题
Prompt我要告诉 AI 什么?
SkillAI 应该具备什么能力?
ToolAI 可以执行什么操作?
WorkflowAI 应该按照什么流程执行?
AgentAI 下一步应该做什么?

七、什么时候应该使用 Agent?

当然并不是所有 AI 应用都需要 Agent。

如果任务:

  • 流程固定
  • 步骤明确
  • 结果可预测

那么Workflow 往往已经足够。

例如这种固定流程没有必要引入 Agent:

自动生成日报 ↓ 读取数据 ↓ 整理格式 ↓ 发送消息

而 Agent 更适合:

  • 任务目标明确,但过程未知
  • 需要多步骤推理
  • 需要动态选择工具
  • 需要根据结果调整方案

例如:

用户:帮我完成一次市场调研。 ↓ AI:搜索资料 ↓ AI:整理信息 ↓ AI:分析数据 ↓ AI:生成报告

小结

从第一篇到第三篇,我们可以看到 AI 应用能力的逐步扩展,它们分别代表:

Prompt:告诉 AI 怎么做
Skill:让 AI 拥有某类能力
Tool:让 AI 可以执行操作
Workflow:让多个能力形成固定流程
Agent:让 AI 自主规划完成任务

最终Workflow 解决“如何按照流程完成任务”,Agent 解决“面对复杂任务时,下一步应该怎么做”。

但 Agent 并不是 AI 应用的终点。随着 Agent 需要连接越来越多的数据、工具和服务,如何让 AI 更方便地访问外部世界,会成为新的问题。这也引出了MCP、Memory、RAG 等 AI 应用架构。

相关新闻

Docker容器名冲突排查指南:从报错原理到彻底解决

Docker容器名冲突排查指南:从报错原理到彻底解决

第一次在终端里看到docker: Error response from daemon: Conflict. The container name "/mysql" is already in use by container时,很多人的第一反应是“我是不是配置写错了?” 其实这个报错和 MySQL 无关,和配置也无关&#xf…

2026/10/21 2:15:49 阅读更多 →
五步把 Windows 11 瘦身:tiny11builder 完整实战指南与避坑清单

五步把 Windows 11 瘦身:tiny11builder 完整实战指南与避坑清单

五步把 Windows 11 瘦身:tiny11builder 完整实战指南与避坑清单 【免费下载链接】tiny11builder WinUI app for building smaller, customized Windows 11 images. 项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder Tiny11Builder 是一套开源 PowerShel…

2026/10/21 2:15:49 阅读更多 →
pit_xs_224.in1k图像Embedding提取教程:num_classes=0与forward_features两种写法全解

pit_xs_224.in1k图像Embedding提取教程:num_classes=0与forward_features两种写法全解

【免费下载链接】pit_xs_224.in1k 项目地址: https://ai.gitcode.com/hf_mirrors/timm/pit_xs_224.in1k 点击查看 免费下载 本教程详解 pit_xs_224.in1k 图像模型的 Embedding 提取方法,对比 num_classes0 参数与 forward_features 函数两种写法&#x…

2026/10/21 2:15:49 阅读更多 →

最新新闻

d3dx10_38.dll缺失不必下载单文件:正确修复DirectX运行库指南

d3dx10_38.dll缺失不必下载单文件:正确修复DirectX运行库指南

装了一堆常用软件,昨天双击某个工具突然弹窗:d3dx10_38.dll缺失,程序无法启动。关掉重开两三次,问题依旧。上网一搜,满屏都是“d3dx10_38.dll下载”的链接,还带高速下载器。这里先给结论:碰到d3…

2026/10/21 2:55:03 阅读更多 →
C# P2P通信实战:NAT穿透与UDP打洞实现点对点直连

C# P2P通信实战:NAT穿透与UDP打洞实现点对点直连

简介:C#利用Socket实现客户端之间直接通信的完整示例工程,面向初学网络编程或需要完成Socket课程设计的开发者,重点演示基于TCP的面向连接套接字通信模型。程序包含服务端与多个客户端:服务端能够响应单个或任意多个客户端连接请求…

2026/10/21 2:55:03 阅读更多 →
MindSpore自定义算子接入训练:func_type与bprop配置详解

MindSpore自定义算子接入训练:func_type与bprop配置详解

1. 先从一次报错说起:前向通过后,梯度到底从哪里来1.1 一次典型的联调现场前阵子帮一个团队排查自定义算子的训练问题,场景很典型:业务需要在昇腾设备上跑一个融合算子,用 Ascend C 写好了 kernel,单独调用…

2026/10/21 2:55:03 阅读更多 →
gamdl 配置调优实战:下载路径、视频分辨率、音频编码一行命令搞定

gamdl 配置调优实战:下载路径、视频分辨率、音频编码一行命令搞定

gamdl 配置调优实战:下载路径、视频分辨率、音频编码一行命令搞定 【免费下载链接】gamdl A command-line app for downloading Apple Music songs, music videos and post videos. 项目地址: https://gitcode.com/GitHub_Trending/ga/gamdl gamdl 是一个下载…

2026/10/21 2:55:03 阅读更多 →
scrcpy 完整指南:数据线一插,1 秒出画面直控手机

scrcpy 完整指南:数据线一插,1 秒出画面直控手机

scrcpy 完整指南:数据线一插,1 秒出画面直控手机 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy USB 一连,scrcpy 把手机画面送进电脑窗口只需 1 秒&…

2026/10/21 2:55:02 阅读更多 →
PyTorch+LSTM实现股票多步预测:从数据清洗到实战部署全解析

PyTorch+LSTM实现股票多步预测:从数据清洗到实战部署全解析

简介:基于PyTorch的LSTM多变量多步股票预测完整工程包,面向有深度学习基础、希望将时间序列模型应用到金融场景的开发者。压缩包共11个文件,以Python主程序为核心,附带600519股票Excel数据、项目配置XML、运行结果图等&#xff0c…

2026/10/21 2:54:02 阅读更多 →

日新闻

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

这段时间硬件圈和AI圈都在传一个事:AMD锐龙AI Max PRO 400系列把最高192GB统一内存搬进了PC形态的产品里,按宣传口径,本地跑320B参数的大家伙不再是纸面概念。我第一反应倒不是“内存真大”,而是这话背后的含金量——它把过去只能…

2026/10/21 0:00:11 阅读更多 →
AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

1. 从“封号重开”这个行为说起:用户到底在追求什么“封号重开”这四个字,放在任何产品语境里都带着一股决绝的味道。一个账号从零开始积累使用记录、调教偏好、沉淀工作流,背后是大量的时间和精力成本。正常情况下,没有人愿意主动…

2026/10/21 0:00:11 阅读更多 →
ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

1. 为什么在ROS里硬刚YOLOv3不是“炫技”,而是工程落地的必经之路我第一次在某高校机器人实验室看到那台搭载Jetson TX2的移动底盘原地打转、反复识别错垃圾桶时,就意识到:单纯跑通darknet_ros demo和真正让YOLOv3在ROS里“干活”&#xff0c…

2026/10/21 0:00:11 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →