Agent 学习笔记(四)为什么 Workflow 不等于 Agent?一文讲清它们的区别
前言上一篇我们亲手实现了一个简单的智能旅行助手通过 Thought → Action → ObservationTAO循环让 Agent 能够自主调用工具完成任务。不过一个真正的 Agent 并不仅仅是一个可以调用工具的程序。在实际应用中它既可以作为开发者的智能助手也可以作为能够独立完成目标的协作者。本篇主要介绍Agent 的两种协作模式常见 AI 编程工具多智能体Multi-AgentWorkflow 与 Agent 的区别一、Agent 的两种协作模式目前大部分 Agent 的使用方式可以分成两类Agent ├── 开发者工具 │ └── 自主协作者最大的区别就是谁负责思考。① Agent 作为开发工具这种模式下人依然是主导者。Agent 更像一个能力很强的助手。例如CursorClaude CodeGitHub CopilotTrae开发流程通常如下开发者提出需求 ↓ Agent 生成代码 ↓ 开发者审核 ↓ 继续修改整个过程中人负责决策Agent 负责执行。例如你输入帮我写一个 Spring Boot 登录接口Cursor 会生成 Controller生成 Service写 DTO写 SQL但是它不会自己决定整个项目应该怎么设计。常见 AI 编程工具目前比较流行的 AI 编程工具有工具特点GitHub Copilot自动补全代码适合日常开发Claude Code能理解整个项目在终端完成编码任务CursorAI 原生编辑器可理解整个代码库Trae轻量级 AI IDE适合快速开发虽然定位不同但它们都体现了一个共同趋势AI 正在逐渐融入软件开发的整个生命周期提高开发效率。二、Agent 作为自主协作者相比开发工具自主协作者拥有更高的自主性。开发者只需要告诉 Agent帮我开发一个博客系统之后 Agent 会理解需求 ↓ 制定计划 ↓ 调用工具 ↓ 编写代码 ↓ 调试 ↓ 继续修改 ↓ 完成任务整个过程几乎不需要人工参与。这也是目前很多 Agent 框架的发展方向。三、多智能体Multi-Agent当一个 Agent 无法完成复杂任务时就需要多个 Agent 协同工作。例如开发一个网站产品经理Agent ↓ 程序员Agent ↓ 测试Agent ↓ 代码评审Agent不同 Agent 分工合作。每个 Agent 都拥有自己的PromptMemoryToolLLM最终共同完成整个项目。目前比较常见的 Multi-Agent 框架有AutoGenCrewAIMetaGPTCAMELLangGraph不同框架实现方式不同但核心思想都是把复杂任务拆分给多个 Agent 协同完成。四、Workflow 和 Agent 的区别很多刚学习 Agent 的同学都会有一个疑问Workflow 和 Agent 有什么区别其实最大的区别就是Workflow 是固定流程Agent 是自主决策。WorkflowWorkflow 更像流程图。例如收到订单 ↓ 库存检查 ↓ 支付 ↓ 发货所有步骤都是提前设计好的。什么时候执行什么。全部写死。例如if 金额 500 ↓ 经理审批 ↓ 财务审批整个流程不会自己思考。AgentAgent 更像一个人。例如查询天气 ↓ 分析天气 ↓ 决定去哪里 ↓ 回答用户如果今天晴天可能推荐故宫颐和园如果暴雨它可能推荐国家博物馆首都博物馆这些都不是提前写好的规则。而是LLM 根据 Observation 自主推理出来的。这就是 Agent 最大的特点。Workflow vs AgentWorkflowAgent固定流程自主规划开发者定义每一步LLM 自己决定下一步基于规则执行基于推理执行可预测灵活适合固定业务流程适合复杂开放任务简单来说Workflow告诉 AI 怎么做。Agent告诉 AI 做什么。至于具体怎么完成由 Agent 自己决定。