文章

Agentic AI 还是 Agentic Workflow?

GovTech Singapore 一篇 27 分钟 Agent SDK 评测: OpenAI / Google / AWS / Microsoft / LangChain 五家横向对比, 从设计模式、HITL、互通性到 vendor lock-in 五维度。 读完最关键的两个判断:Agentic AI 不是二选一的标签、是每一个决策点的属性; 真正的 lock-in 不在 LLM 层,在运维、数据、评估三层。

Agentic AI 还是 Agentic Workflow?

在做编排框架之前,我读了一篇新加坡政府发的文章。

TL;DRAgentic AI(运行时由 LLM 自主决策)和 Agentic Workflow(预先 if-else)是两件事,工程难度差几个数量级;很多团队在做 Workflow 却自称在做 Agentic AI。原文拆了 6 种 agent 工作流(Sequential / Planner-Decider / DAG / Supervisor-Worker / Broadcast / Agent-as-Tool)和 4 种 HITL 模式,并提醒一件事:SDK 真正的 vendor lock-in 不在 LLM 层,在运维、数据、评估三层 —— 而这恰恰是你最后才会想到要换的层

最近因为在做一个 orchestration framework(一个调度多个 AI agent 协同工作的系统),开始严肃看市面上的 Agent SDK 选型。

我在新加坡。前一阵刷 Medium 的时候,刷到一篇 2025 年 9 月发布的评测文章 ——

Building for Agentic AI — Agent SDKs & Design Patterns

作者是 GovTech Singapore(新加坡政府科技局)AI Practice 团队的 Ryan LIN。一共 27 分钟阅读时长,把 OpenAI、Google、AWS、Microsoft、LangChain 五家的主流 Agent SDK 横向对比了一遍 —— 从设计模式、Human-in-the-Loop、互通性、可观测性、生态锁定五个维度,毫无保留。

读完之后我做了两件事。

第一,写一份读书笔记,把对 orchestration framework 选型最关键的几个判断提炼出来分享给中文圈做相关工作的人。这就是这篇文章。

第二,我想专门说一下 —— 政府部门做出这种深度技术评测,并公开发布,本身就是一件值得致敬的事

先说说为什么这件事值得说

我自己在新加坡生活和做事这几年,慢慢观察到一个特点 ——

新加坡政府对待”工程实践”的态度,和大多数国家不一样。它把工程方法论、技术评测、架构选型这些东西,当成可以、应该、值得公开分享的公共资产

具体到这篇文章 ——

  • 它不是 marketing。没有推销任何一家厂商,反而把每一家的 vendor lock-in 风险都直接列出来
  • 它不是学术论文。文笔朴实、表格清晰、例子具体,任何工程师都能直接拿来用
  • 它不是个人 blog。挂在 GovTech 官方 publication 下,代表的是一个国家级技术机构的判断
  • 它没有任何”高高在上”的说教味。每一个观点都有出处、有引用、有对比

让我感慨的是 —— 一个政府部门,愿意花时间把内部团队踩坑总结出来的经验,认真整理、公开发布、不收钱、不藏私

这种做法在大多数国家是稀缺的。

公共部门通常被认为”封闭”、”慢”、”不接地气”。但你读这篇文章,会清楚地感觉到:它的作者就是在第一线写代码的人,文章里的每一个 SDK 都真的部署过、每一个 workflow 模式都真的用过。

更重要的是 —— 它把”我们怎么选 SDK”这件事,做成了一份给整个开发者社区的公共资产

任何人 —— 不管在新加坡、中国、印度、还是非洲 —— 都可以读到这份评测,带走里面的判断,省掉自己几个月的踩坑。

这种”政府把工程方法论作为公共资产输出”的姿态,在我看来是新加坡数字化转型最值得学习的部分之一。

不是有多少预算、不是建了多少系统。是一种”工程实践应该被分享、被讨论、被改进”的开放文化

致敬这位作者 Ryan LIN,致敬 GovTech Singapore 的 AI Practice 团队。

回到这篇文章本身的内容。下面是我读完之后,觉得最关键的几个判断 ——

一个被忽略的问题:你做的到底是 Agentic AI,还是 Agentic Workflow?

这是整篇评测里最有意思的区分。

很多人混着用这两个词,但它们其实指向不同的东西:

  • Agentic Workflow = 工作流,每一步要走哪个分支、调用哪个 agent,是预先定义好的。决策路径是 if-else,是固定的图。
  • Agentic AI = 自主决策的 agent 系统,它动态决定接下来要做什么、调用谁、走哪条路径。决策是运行时由 LLM 自己生成的,不是预先写死的。

这个区别非常关键,因为它直接决定了你需要什么样的 SDK 能力、什么样的可观测性、什么样的安全边界

举个例子:

  • 一个「PDF 处理流水线」:扫描 → OCR → 摘要 → 分类 → 归档。每一步都固定。这是 Agentic Workflow。
  • 一个「客服处理系统」:根据用户问题,自己判断是查订单、还是退款、还是升级到人工。每次的路径都不一样。这是 Agentic AI。

这两种东西的工程难度差几个数量级。

Agentic Workflow 本质上是带 LLM 的传统工作流引擎。难度可控,结果可预测,调试相对简单。

Agentic AI 是真正的”自主决策系统”。难度大,结果不可预测,调试是噩梦 —— 因为你不知道它下一次会做什么决定。

很多团队声称自己在做 Agentic AI,其实只是在做 Agentic Workflow

这不是贬义。Agentic Workflow 完全可以满足绝大多数业务需求,而且大概率比真正的 Agentic AI 更靠谱。

一开始就把自己定位错,会导致:

  • 选错 SDK(用了为 Agentic AI 设计的复杂 SDK 做简单流程)
  • 设计错架构(给本该固定的流程加了不必要的”自主决策”,反而引入不稳定)
  • 评估错效果(用 Agentic AI 的指标评估一个本质上是工作流的系统)

所以做编排框架的第一个问题,应该是 ——

我要做的,是 Agentic AI,还是 Agentic Workflow?

这个问题想清楚了,后面所有的选型都有依据。

六种 Agent 工作流的设计模式

原文整理了六种最常见的 agent 协同模式。我用最简化的方式讲一遍,方便你以后做架构设计时直接拿来用。

1. Sequential Pipeline(顺序流水线)

agent 排成一条线,前一个的输出是后一个的输入。

例子:PDF → 摘要 agent → 实体提取 agent → 分类 agent → 归档 agent。每一步建立在上一步基础上。

特点:简单、可预测、调试容易。 适用场景:步骤明确、不需要分支的固定流程。

2. Planner-Decider(规划-决策模式)

一个”协调员 agent”看到任务后,自己决定调用哪些 agent、按什么顺序。其他 agent 不互相调用,只听协调员的。

例子:用户上传一个文件,协调员先判断是图片(先 OCR)还是 PDF(直接读),再判断是合同(要走合规检查)还是发票(要走金额提取),最后归档。同一个协调员可以处理完全不同的输入类型

特点:灵活、可处理多种输入。 适用场景:输入多变、需要动态判断的场景。

这是 Agentic Workflow 和 Agentic AI 的分水岭 —— 如果协调员的”判断”是 if-else 写死的,就是 workflow;如果是 LLM 自己推理出来的,就是 Agentic AI。

3. Graph / DAG(非线性图工作流)

允许并行和合并。两个 agent 可以同时处理同一份输入,结果再汇总到下一个 agent。

例子:一份文档同时进入摘要 agent 和实体提取 agent(并行处理),它们的输出一起交给分类 agent。

特点:能并行、效率高。 适用场景:有些步骤可以并行的复杂任务。

4. Supervisor-Worker(监督者-工人模式)

一个”主管 agent”管着几个”工人 agent”。主管不只是分配任务,还会审查工人的结果,不满意就让重做

例子:客服系统里,主管 agent 调用”意图分类”、”账户查询”、”知识库搜索”、”草拟回复”等工人 agent,最后还要让”质检 agent”审查回复,不合格就让”草拟回复 agent”重写。

特点:有质量控制、可以反复迭代。 适用场景:需要质量保障、可能要返工的任务。

5. Broadcast / Federated(广播-联合模式)

同一个请求同时发给多个对等的 agent,它们独立工作,最后由一个”聚合器”挑选最好的结果。

例子:你要订外卖,「协调员 agent」把同一个订单同时发给「美团 agent」、「饿了么 agent」、「商家直送 agent」,它们各自查菜单、报价、给出预计送达时间。协调员再挑最便宜或最快的。

特点:用并行换最优结果。 适用场景:需要”货比三家”、冗余、或速度优先的场景。

6. Agent-as-Tool(agent 当工具调)

一个主 agent 把另一个 agent 当成一个工具来调。就像调用一个 API 一样 —— 输入参数、等结果、继续推理。

例子:聊天 agent 处理用户的”帮我订一个生日餐厅”请求。它把”找餐厅”这件事当成一个工具,调用一个专门的”餐厅查找 agent”,拿到结果后继续主对话。主 agent 始终保持对话上下文

特点:保持单线对话,但能调用多个专业能力。 适用场景:用户面对的是一个”主聊天界面”,但背后有多个 agent 协作。

这六种模式对你的项目意味着什么

我看完之后的判断是:

真实世界的 agent 系统,几乎都是混用这六种模式的。

简单系统是一两种模式的组合。复杂系统会同时用上四五种。

但更关键的是 ——

这六种模式里,只有少数几种是”真 Agentic AI”。 大多数是 Agentic Workflow 加了 LLM 调用。

具体来说:

  • Sequential Pipeline —— 通常是 Agentic Workflow(路径固定)
  • Planner-Decider —— 看 planner 是不是 LLM 自主决策。如果是 if-else,是 workflow;如果是 LLM 推理,是 Agentic AI
  • Graph / DAG —— 如果路径预先定义好,是 workflow;如果运行时动态生成,是 Agentic AI
  • Supervisor-Worker —— 通常是 Agentic AI(主管的判断由 LLM 给出)
  • Broadcast / Federated —— 如果”挑最优”是规则匹配,是 workflow;如果是 LLM 综合判断,是 Agentic AI
  • Agent-as-Tool —— 主 agent 决定调用哪个工具 agent 时,如果是 LLM 推理,就是 Agentic AI

所以「Agentic AI vs Workflow」不是一个二选一的标签,是每一处决策点的属性

一个真实系统里,可能 90% 的决策点是 workflow(写死规则),只有 10% 是真正的 Agentic AI(LLM 决策)。

这恰恰是工程上比较健康的状态 —— 把 LLM 的不确定性,限制在真正需要它的地方。

HITL(人在回路)的四种模式

agent 自动跑得越欢,「人什么时候介入」就越关键。原文整理了四种典型模式:

1. Approve / Reject(审批模式):agent 在关键动作前停下,等人批准或拒绝。 例子:分类 agent 决定把文件存到「合同/2025/Acme_MSA_2025.pdf」,让你确认路径再保存。

2. Review and Edit(审核和编辑):agent 出一个草稿,人来修改,修改后的版本继续向下传。 例子:摘要 agent 写完一份摘要,人在上面加几个关键点,再交给下一个 agent。

3. Review Before Tool Call(工具调用前审核):agent 要调用敏感工具时,人来确认。 例子:订餐 agent 要调用「下单」接口前,人确认一下「是这家餐厅吗」。

4. Multi-turn Conversation(多轮对话):人不是一次性批准,而是和 agent 持续对话调整需求。 例子:订餐过程中,用户说「再帮我看看安静一点的」、「价格再低一点的」,agent 持续修正搜索条件。

这四种模式合起来定义了一件事:

你愿意让 agent 自动做多少?人在哪些环节必须介入?

这是个产品设计问题,不是技术问题。但它决定了你的 SDK 选型 —— 不是所有 SDK 对 HITL 的四种模式都支持得一样好

一个被低估的维度:Vendor Lock-in(厂商锁定)

原文里有一段我反复看了几遍,是关于”vendor lock-in”的判断。

简单概括 ——

每个 SDK 表面上都说自己「模型无关、平台无关」。OpenAI Agents SDK 说自己支持 100 多种 LLM,Google ADK 说自己支持任何模型,AWS Strands 说自己能在 AWS 外部运行。

lock-in 不是发生在「用哪个模型」这件事上,而是发生在你不知不觉用了它的整套生态:

  • 你用了 OpenAI 自带的 Traces 仪表盘做可观测性 → 你的运维就锁定了 OpenAI
  • 你用了 AWS Bedrock 的 Knowledge Base 做 RAG → 你的数据层就锁定了 AWS
  • 你用了 Google 的 Vertex AI Search 做 grounding → 你的检索层就锁定了 GCP
  • 你用了 LangSmith 做评测 → 你的评估流程就锁定了 LangChain

真正的 lock-in 不在 LLM 层,在运维、数据、评估这三层

而这三层,恰恰是你最后才会想到要换的层

这件事让我想到一个更普适的判断 ——

选择 SDK 的真实成本,不是它现在能做什么,而是你将来想离开它的时候有多痛

每一个 SDK 都让你免费用它的开源核心。但当你真的把业务跑起来,自然就会用上它生态里的 5-10 个配套服务

每个配套服务都解决了你一个具体问题,省了你的时间。 每个配套服务都在悄悄增加你切换的成本。

这不是 SDK 的”阴谋”。这是所有平台经济的自然结构

那到底该选哪个 SDK?

原文最后一节专门给了选型建议,我把它简化成一张表:

你的角色 / 场景推荐
必须在 Microsoft 365 / Teams / Copilot 里跑Microsoft 365 Agent SDK
AWS 重度用户,想用 Bedrock + LambdaAWS Strands SDK
GCP 重度用户,想用 Vertex AIGoogle ADK
想要原生支持 A2A 协议(agent 之间互通)Google ADK 或 AWS Strands
要做实时语音、低延迟流式对话OpenAI Agents SDK
要做可视化的复杂工作流图、TypeScript 支持LangGraph
不在任何特定云生态里,想保持灵活任意一个都行,主要看团队习惯

我自己的结论

我在做的 orchestration framework,本质上是一个比 SDK 高一层的东西 —— 不是替代某个 SDK,而是在 SDK 之上抽象一层,让我可以根据任务类型动态选择用哪个 SDK 的能力

读完原文,我对自己工作的判断更清晰了:

第一,不要押注单一 SDK。 每个 SDK 都有它的强项,也都有它的锁定风险。 第二,把 Agentic Workflow 和 Agentic AI 在系统里清晰分开。 不要在 workflow 的地方用 Agentic AI 的复杂度,也不要在 Agentic AI 的地方用 workflow 的死板。 第三,HITL 不是技术问题,是产品问题。 但产品决定要先于 SDK 选型。 第四,最贵的不是 SDK 本身,是绑在 SDK 周边的生态。 选型时把”如何离开”作为评估维度的一部分。

最后

再说一遍 —— 这份评测能存在,本身就是一件值得感谢的事。

不是每个国家的政府部门,都会把内部工程团队的踩坑经验,认真整理出来,公开发给全世界的开发者免费使用。

新加坡 GovTech 的这种姿态,是我在新加坡做事这几年最欣赏的一面。

把原文链接再贴一次,强烈建议做 agent 相关工作的人,自己也去读一遍:

Building for Agentic AI — Agent SDKs & Design Patterns by Ryan LIN, GovTech Singapore

我自己读完之后做的事是 ——

把这六种工作流模式、四种 HITL 模式,画成了一张图贴在我的工作日志里。每次设计新功能,都会先对照一下:「我这个新功能,对应哪种模式?决策点是不是真的需要 Agentic AI?人介入的方式是哪一种?」

这套问题清单,比任何 SDK 的具体能力都更值得花时间想清楚。

这一篇不在 AI-Native Engineering 主线里,算是一篇「读书笔记」番外。下一篇我会回到主线,写 #4 「未来的软件不是 App,而是 Intent System」。

本文由作者按照 CC BY 4.0 进行授权