首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Workflow vs Agent:从“流水线工人”到“自主决策者”

Workflow vs Agent:从“流水线工人”到“自主决策者”

作者头像
三猫
发布2026-06-24 13:02:03
发布2026-06-24 13:02:03
1630
举报
导读:现阶段绝大多数开发者,都卡在一个核心概念盲区:分不清 Workflow 和 AI Agent 的边界。90% 带 LLM 的自动化脚本,本质依旧是 Workflow,不是 Agent。为什么?区别从来不在于“有没有大模型”,而在于:谁在做决策、路径是否固定、能不能自主迭代。本文我用自己线上稳定运行的金属日报系统作为实战样本,彻底拆解:同一个业务需求,Workflow 怎么写、Agent 怎么改、底层逻辑差在哪、运行表现有什么本质区别,最后告诉你:什么场景必须用Workflow,什么场景一定要上Agent。

1

Workflow“执行者”,Agent“决策者”

Workflow本质:步骤固定、顺序固定、没有决策权

所有执行逻辑、调用顺序、任务步骤,全部由开发者在代码中预定义。只要输入一致,输出永远一致,全程不会思考、不会判断、不会变通。

通俗类比:照着菜谱做菜的学徒。

菜谱写放盐就放盐、写炖15分钟就炖15分钟。哪怕食材老化、火候变化,它也不会自主调整步骤,严格机械执行,完全没有临场判断能力。

Agent本质:让大模型在运行时动态决定每一步做什么

开发者只定义「最终要达成的结果」,不限制执行过程。Agent 会自主完成:需求拆解、工具选择、信息校验、补充采集、自我反思、纠错迭代。

通俗类比:自带工具箱的资深项目经理。

接到目标后自主规划流程、判断资源是否充足、按需调用工具,遇到异常主动调整方案,信息不足就补充调研,结果不准就复盘修正,直到交付合格结果。

维度

Workflow

Agent

决策者

代码预设

AI运行时判断

执行路径

固定顺序,不可跳转

动态循环,可分支可回退

工具调用

硬编码,直接调用

自主决定用什么工具

自我反思

生成结果后验证准确性

异常处理

某环节失败→整体失败

可降级、可换方案

2

实战对标:两种实现范式

我线上运行的金属市场自动日报系统,核心需求非常明确:

每日定时自动采集各金属品种价格、行业新闻、宏观汇率,AI分析行情走势,最终推送结构化日报到个人微信。

我针对完全相同的需求,分别实现了 Workflow 固定流程版Agent 智能决策版,差异肉眼可见。

  • Workflow 版:线性流水线,完全固定执行

Workflow 的核心:所有步骤提前写死,按序串行执行

哪怕市场出现极端行情、数据异常,代码也不会做任何额外动作,只会机械走完预设流程。

代码语言:javascript
复制
# Workflow模式 核心简化代码
def run_daily_report():
    prices = fetch_prices()      # 步骤1:固定采集价格
    news = fetch_news()          # 步骤2:固定采集新闻
    macro = fetch_macro()        # 步骤3:固定采集汇率
    analysis = ai_analyze(prices, news, macro)  # 步骤4:固定AI分析
    report = build_report(prices, news, macro, analysis)  # 步骤5:固定排版
    send_to_wechat(report)       # 步骤6:固定推送

全程无分支、无判断、无补充、无复盘。

举个典型场景:今日铜价单日暴跌3%,属于罕见异常行情。

但 Workflow 完全感知不到,依旧只会采集当日数据、常规分析、固定格式推送,不会主动溯源历史数据、不会标记异常风险、不会追加重点提示

  • Agent 版:目标驱动,动态自主决策

Agent 彻底抛弃了“固定步骤”思维,只给大模型一个最终目标:输出一份精准、完整、能识别市场重点的金属日报

所有中间步骤、工具调用、信息补充、结果校验,全部由 LLM 运行时动态决策。

代码语言:javascript
复制
# Agent模式 核心简化代码
def generate_report():
    done = False
    while not done:
        # 大模型自主判断:当前需要做什么
        decision = llm.decide()  
        if decision == "需要查询实时价格":
            query_prices()
        elif decision == "需要采集行业新闻":
            query_news()
        elif decision == "信息不足,需要补充历史行情":
            query_history()  # 自主新增分支,Workflow无法实现
        elif decision == "信息充足,可以生成分析":
            report = llm.generate_report()
            # 自主复盘校验结果准确性
            if llm.verify(report) == "存在漏洞/信息不全":
                continue  # 重新补充信息、迭代分析
            else:
                done = True
                send_to_wechat(report)

还是刚才的场景:铜价单日暴跌3%。

Agent 会自主判断:单日大幅波动属于异常信号,仅看当日数据不足以支撑分析

随后自动触发补充逻辑:调取近一周历史价格、核查近期宏观政策、抓取相关利空新闻,最终在报告中主动增加异常风险提示

3

怎么选?场景决定方案

Agent版的代码不是把Workflow推倒重来,而是在Workflow的基础上加了一层“决策脑”。

具体来说:fetch_prices()、fetch_news()fetch_macro() 这些数据采集函数,Workflow在用,Agent也在用。Agent只是多了一个“LLM决策循环”,来决定什么时候调用这些函数、调用哪些、调用完之后要不要再调别的。所以Agent的代码量是400行,其中200行是复用的Workflow代码。

优先选 Workflow 的场景

  • 任务逻辑固定、步骤长期不变,无动态分支需求
  • 对运行成本敏感,希望极低 Token 消耗
  • 对响应速度、任务稳定性要求极高
  • 无需异常识别、智能解读、个性化输出

优先选 Agent 的场景

  • 任务开放、结果不确定,需要动态适配变化
  • 需要 AI 自主识别异常、抓取重点、深度解读
  • 需要结果自检、纠错、迭代优化,追求输出质量
  • 希望工具自由组合,而非固定流水线执行

Workflow和Agent的界限其实很清楚:

Workflow是“你告诉AI每一步做什么”。Agent是“你告诉AI目标是什么,它自己决定每一步做什么”。

判断标准很简单:把AI的决策权从代码里拿出来,交给大模型在运行时行使——做到了,就是Agent;没做到,就是在Workflow里调了个LLM而已。

Workflow不会消失,Agent也不会取代Workflow。确定性任务交给Workflow——稳定、省钱、放心。开放性任务交给Agent——灵活、智能、能应对变化。

这不是谁取代谁,而是什么场景用什么工具。 而作为开发者,核心能力是判断:我这个需求,到底需不需要AI来“做决定”?


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-06-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习养成记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 优先选 Workflow 的场景
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档