工作流和Agent 的区别与联系

工作流和智能体可能让人混淆的地方就是他们都可能有大模型的加持,都可能有工具的加入供大模型调用,本文做一下对比和联系

工作流 (Workflow)

定义: 工作流是一系列预定义、结构化且可重复的步骤或任务,旨在完成特定的业务目标或解决某个问题。它描述了信息、文档或任务在不同参与者(可以是人、系统或自动化程序)之间如何按顺序或并行地流动,以及每个步骤的规则和条件。

核心特点:

  • 预定义和结构化: 工作流通常有一个明确的开始、结束和中间步骤,其逻辑是预先设计好的。
  • 可重复性: 适用于那些需要频繁、一致性执行的任务。
  • 流程控制: 强调步骤之间的顺序、条件分支、并行执行和循环。
  • 确定性: 在给定相同输入的情况下,通常会产生相同或可预测的结果(除非包含随机或外部因素)。
  • 自动化: 许多工作流旨在自动化人工任务,提高效率和减少错误。
  • 示例:
    • 业务流程: 审批流程(提交申请 -> 经理审批 -> 财务审批 -> 完成)。
    • 软件开发: CI/CD 流水线(代码提交 -> 自动化测试 -> 构建 -> 部署)。
    • RAG (检索增强生成) 流程: 用户查询 -> 检索相关文档 -> 将文档和查询输入 LLM -> LLM 生成回复。

**在 LangGraph 中的体现:**LangGraph 本身就是构建工作流的强大工具。它的 StateGraph 和其内部的节点(Node)和边(Edge)机制,完美地契合了工作流的定义。你可以用 LangGraph 来定义一个多步骤的、带有条件分支和循环的复杂工作流。

智能体 (Agent)

定义: 在 AI 领域,Agent(智能体)是一个能够感知环境、进行推理和决策、并采取行动以实现特定目标的实体。它通常具有一定程度的自主性、适应性和主动性。与传统的工作流不同,Agent 更强调其决策能力、环境交互和动态适应性

核心特点:

  • 感知 (Perception): 能够从环境中获取信息(例如,通过传感器、API 调用、LLM 输入)。
  • 推理 (Reasoning): 拥有“思考”的能力,通常通过大型语言模型 (LLM) 来实现。它能够理解复杂的指令、分解任务、制定计划、甚至进行自我修正。
  • 行动 (Action): 能够执行操作来影响环境(例如,调用工具、生成文本、发送指令)。
  • 自主性 (Autonomy): 能够在没有人类直接干预的情况下,根据其内部状态和感知到的环境信息,决定和控制自身的行为。
  • 目标导向 (Goal-Oriented): 旨在实现特定的长期或短期目标。
  • 适应性/学习 (Adaptability/Learning): 能够从经验中学习,优化其决策和行动策略(例如,通过反馈循环、强化学习)。
  • 示例:
    • AI 助手: 能够理解用户意图,调用工具(日历、邮件、搜索引擎),完成多步骤任务。
    • 游戏 AI: 能够理解游戏环境,制定策略,执行操作以击败对手。
    • 自动化交易 Agent: 实时监控市场数据,根据策略自主决定买卖。

**在 LangGraph 中的体现:**在 LangGraph 中,一个 Agent 通常是一个或多个LLM 节点(作为“大脑”进行推理和决策)与工具节点(作为“手脚”执行行动)以及它们之间复杂的循环和条件路由所共同构成的一个工作流的子集或核心驱动者。 LangGraph 提供了一种优雅的方式来实现一个或多个 Agent 及其之间的协作。

工作流与智能体的关系和区别

特征工作流 (Workflow)智能体 (Agent)
侧重点如何完成任务(流程、顺序)来完成任务以及如何自主决策和适应
自主性较低,主要按预设逻辑执行较高,能根据环境和目标自主推理、规划和行动
决策能力主要是基于预设条件和规则进行决策具有更复杂的推理和决策能力,能处理不确定性,甚至自我修正
适应性较低,通常需要人工修改来适应新情况较高,能从经验中学习并适应动态变化的环境
核心机制步骤、顺序、分支、循环感知、推理(通常是 LLM)、行动、记忆、反馈循环
复杂性来源步骤数量、分支路径、集成点决策逻辑的复杂性、对环境的理解、任务分解和规划
输出预期的结果,通常是结构化的信息或完成了某个操作达成目标或一系列复杂操作,可能包括中间推理步骤
目的自动化重复性任务,提高效率和一致性解决复杂、动态的问题,执行需要“智能”决策的任务

工作流与智能体的交集与差异
LangGraph Role
Agent 谁来做 & 如何思考: 自主决策实体
Workflow 如何做: 结构化流程
条件1
条件2
循环条件
决策行动
结果
决策结束
包含或实现
可以被实现为
LangGraph 用于构建复杂工作流
LangGraph 用于实现 Agent 的内部逻辑
推理 (Reasoning - LLM)
感知环境 (Perception)
行动1 (Action - Tool Call)
目标达成
步骤1
开始
步骤2A
步骤2B
结束
Workflow
Agent

解释这个关系:

  • Agent 是一种特殊的工作流: 智能体的“思考-行动-观察”循环本身就可以被描述为一个工作流。例如,一个 ReAct Agent 就是一个特定的、包含 LLM 决策和工具调用的循环工作流。
  • 工作流可以包含 Agent: 一个大的工作流中,某个步骤可能由一个 Agent 来完成。例如,“客户服务工作流”中有一个步骤是“处理复杂问题”,这个步骤可能由一个“智能客服 Agent”来执行。
  • Agent 赋予工作流智能: 传统的工作流是“死的”,严格按照预设路径执行。引入 Agent 之后,工作流变得“活”起来,因为它可以在关键节点上进行智能决策,从而处理更复杂、不确定性更高的任务。
  • LangGraph 是桥梁: LangGraph 的强大之处在于,它提供了一个统一的框架,既可以用来定义线性的、结构化的“工作流”,也可以用来构建包含自主决策能力的“Agent”,甚至可以将多个 Agent 组合在一个更大的工作流中,实现多 Agent 协作。

简而言之:

  • 工作流 关注的是 “怎么样做”,即一系列步骤和流程。
  • 智能体 关注的是 “谁来做”“如何自主地做”,它是一个具有感知、推理和行动能力的实体。

在 AI 领域,尤其是在 LLM 兴起之后,我们正在从简单地构建自动化工作流(流程固定)转向构建能够自主决策和适应的智能体(行为灵活),而 LangGraph 这样的工具正是为了实现后者而生。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/83949.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/83949.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode--用StringBulider反转字符串单词的巧妙解法

反转字符串中的单词 这道题理想中的操作方式就是先去除前导和尾随空格,之后设一个尾指针,往前检索,扫到一个单词就把这个单词放到字符串的第一个位置。 很明显,java中我们不能直接对字符串进行修改,而我们想实现一个一…

连锁零售行业智慧能源管理解决方案:精准管控,让每一度电创造价值

在连锁超市、便利店等业态中,门店分布广、用能场景复杂、管理成本高是普遍难题。传统能源管理模式依赖人工抄表与分散管理,存在数据滞后、响应效率低、安全隐患难排查等问题。以某全国几千家门店的连锁便利店为例,其面临的挑战包括&#xff1…

在 PostgreSQL 中实现 `lck`, `special`, `item` 与 `org_id` 或 `user_id` 组合唯一的约束

在 PostgreSQL 中实现 lck, special, item 与 org_id 或 user_id 组合唯一的约束 要实现 lck, special, item 这三个字段必须与 org_id 或 user_id 中的一个(但不能同时)组合唯一的约束,你需要创建以下约束: 方案1:使…

g++ a.cpp -o a ‘pkg-config --cflags --libs opencv4‘/usr/bin/ld: 找不到 没有那个文件或目录

这个错误表明 pkg-config 命令没有正确执行,导致编译器无法找到 OpenCV 的库文件和头文件路径。pkg-config 是一个工具,用于查询已安装库的编译和链接选项。如果 pkg-config 无法找到 OpenCV 的配置文件,就会导致这个错误。 以下是解决这个问…

定制平板在智能家居中能做些什么?全面解析其核心功能

大家有没有发现,现在智能家居越来越普及了,很多家庭都在逐步升级自己的居住体验。而在这一过程中,一种设备正悄悄地取代我们以前常用的开关面板和手机APP,成为整个家庭智能控制的核心,这就是——定制平板。 它可不是我…

【通俗易懂】Linux 线程调度策略详解

引言:CPU是厨房,调度器是主厨 要真正理解Linux如何处理成千上万个并发任务,不妨把它想象成一个繁忙的专业厨房。这个比喻不仅能让抽象概念变得具体,更能揭示其背后深刻的设计哲学。 厨房 (The Kitchen): 代表整个计算机系统。 厨…

笔记本电脑安装win10哪个版本好_笔记本装win10专业版图文教程

笔记本电脑安装win10哪个版本好?笔记本还是建议安装win10专业版。Win分为多个版本,其中家庭版(Home)和专业版(Pro)是用户选择最多的两个版本。win10专业版在功能以及安全性方面有着明显的优势,所…

微服务循环依赖调用引发的血案

问题表现 最近的迭代转测后遇到了一个比较有意思的问题。在测试环境整体运行还算平稳,但是过一段时间之后,就开始有接口超时了,日志中出现非常多的 “java.net.SocketTimeoutException: Read timed out”。试了几次重启大法,每次…

LeetCode - 852. 山脉数组的峰顶索引

题目 852. 山脉数组的峰顶索引 - 力扣&#xff08;LeetCode&#xff09; 思路 使用二分查找来定位峰顶 对于中间元素&#xff0c;比较它与其右侧元素的大小&#xff1a; 如果 arr[mid] < arr[mid1]&#xff0c;说明我们在上坡阶段&#xff0c;峰顶在右侧 如果 arr[mid…

国产ARM/RISCV与OpenHarmony物联网项目(二)网关数据显示

本文需要Web服务器开发基础&#xff0c;可参考下述博文&#xff1a; 物联网网关Web服务器--lighttpd服务器部署与应用测试 物联网网关Web服务器--CGI开发接口 一、数据显示界面与功能设计 1、功能设计说明 程序代码结构如下&#xff0c;调用关系见彩色部分标示。 数据显示界面…

Robyn高性能Web框架系列01:Robyn快速入门

Robyn快速入门 安装 Robyn1、仅安装基础 HTTP 路由功能2、带扩展功能的安装 第一个Robyn程序1、创建Robyn应用2、Say Hello!3、启动Robyn应用 Python世界从来不缺少对于性能的追求&#xff0c;Robyn就是其中之一&#xff0c;它将 Python 的异步功能与 Rust 相结合&#xff0c;在…

微信小程序 -----无限新增删除,同时算出总合算金额。

<view class="refuelMoney-main" style="padding-bottom: 200rpx;"><!-- <view class="add_record">添加加油记录</view> --><view class="refuel-itemTextArea"><text style="width: 35%;&quo…

linux “Permission Denied“解决方案

Linux 编译错误排查 在软件开发过程中&#xff0c;编译错误和版本控制问题是开发者每天都会遇到的挑战。本文将结合实际案例&#xff0c;详细讲解 Linux 环境下常见编译错误的排查方法 权限拒绝错误&#xff08;Permission Denied&#xff09; 当执行脚本或程序时&#xff0…

【慧游鲁博】【15】后台管理系统功能完善:仪表盘、多模态交互日志、简单问答词条管理

文章目录 本次更新多模态交互日志效果涉及代码文件 仪表盘&#xff08;部分&#xff09;效果涉及代码文件 简单问答服务词条管理效果涉及代码文件 本次更新 代码真的太多太多了&#xff0c;不放代码了 多模态交互日志 数据概览与筛选功能 时间范围筛选&#xff1a;提供"…

【力扣 简单 C】21. 合并两个有序链表

目录 题目 解法一&#xff1a;迭代 解法二&#xff1a;递归 题目 解法一&#xff1a;迭代 struct ListNode* merge(struct ListNode* head1, struct ListNode* head2) {struct ListNode* virHead malloc(sizeof(*virHead));struct ListNode* curNode virHead;struct List…

【开源工具】Windows屏幕控制大师:息屏+亮度调节+快捷键一体化解决方案

🖥️ 从零打造Windows屏幕控制大师:息屏+亮度调节+快捷键一体化解决方案 🌈 个人主页:创客白泽 - CSDN博客 🔥 系列专栏:🐍《Python开源项目实战》 💡 热爱不止于代码,热情源自每一个灵感闪现的夜晚。愿以开源之火,点亮前行之路。 🐋 希望大家多多支持,我们一…

pyhton基础【11】函数一

目录 一.函数说明 二.函数介绍 函数简介 作用 函数分类 三.自定义函数 定义函数 调用函数 pass关键字 定义一次执行多次 一.函数说明 Python中的函数是一个重要的编程概念&#xff0c;它允许编程者封装代码块以实现特定的功能。函数的作用和应用场景非常广泛&#xf…

使用Kotlin开发后端服务的核心方法

一、开发步骤 选择框架 Kotlin后端开发常用框架包括Spring Boot、Ktor和Micronaut。Spring Boot生态成熟&#xff0c;适合企业级应用&#xff1b;Ktor轻量且协程友好&#xff0c;适合高性能异步服务&#xff1b;Micronaut以低内存占用和快速启动见长。 搭建项目结构 通过Grad…

java面试总结-20250616

题目1: 求一个int类型正整数二进制中最高位1的位置&#xff1f; 比如10&#xff0c;二进制位1010&#xff0c;最高位1所在位置位4。 解体思路&#xff1a; 使用高位扩散&#xff0c;将1010扩散位1111使用二分法&#xff0c;计算32位二进制中1111前面0的位数n&#xff1b;结果…

Black自动格式化工具

文章目录 一、Black自动格式化工具二、格式化行为的核心内容1. 统一缩进和空格规则2. 括号换行&#xff1a;一致的多行结构展开3. 字符串风格统一4. 函数/类定义中的空行规则5. import 排序&#xff08;建议搭配 isort&#xff09;6. 注释不动、换行优雅7. 可配置项极少&#x…