工程进阶 · 可靠 Agent 的工程模式

Workflow vs Agent:先搞清楚你要什么

预定义流程 vs 模型自主决策,Anthropic 定义的两大类 Agent 系统

本页解决的问题

先给结论

「Workflow vs Agent:先搞清楚你要什么」要解决的关键问题是什么?

预定义流程 vs 模型自主决策,Anthropic 定义的两大类 Agent 系统

判断标准

让这个结论先证明自己值得留下。 把这一页当成决策工具,而不是需要背下来的定义。把概念连到一个真实任务、一个可观察结果,以及一个能改变你判断的失败上。

下一步

写下一个问题:试完这个方法后,你能用什么证据回答它?

常见误区

结论听起来很完整,却没有检查最关键的假设。

核心洞察
"The most successful implementations weren't using complex frameworks or specialized libraries. Instead, they were building with simple, composable patterns."

这句话值得每个 AI 产品经理背下来。行业里充斥着各种 Agent 框架(LangChain、AutoGen、CrewAI...),但生产环境反复验证的规律是:真正跑得好的系统,用的是最朴素的组合模式

两个核心概念
Workflow
LLM 和工具通过预定义的代码路径编排。开发者在写代码时就决定了执行顺序:先做 A,再做 B,最后做 C。
关键词:确定性、可预测、开发者控制流程
Agent
LLM 动态决定自己的执行流程和工具使用。模型在每一步自主判断下一步做什么、要不要调用工具、什么时候结束。
关键词:自主性、动态决策、模型控制流程
流程对比
Workflow:代码决定流程
输入
步骤 A
步骤 B
输出
Agent:模型决定流程
输入
LLM 决策
工具 / 思考 / 再决策
输出
差异对比
维度 Workflow Agent
控制权 开发者(代码路径固定) 模型(每步动态决定)
可预测性 高 -- 输入确定则输出路径确定 低 -- 同样输入可能走不同路径
适用场景 任务拆解明确、步骤固定 任务开放、需要灵活决策
成本 可控(调用次数固定) 不确定(循环次数未知)
调试难度 低(路径确定,容易复现) 高(行为不确定,难以复现)
典型例子 文案生成管道、数据清洗流水线 Cursor、Claude Code、Devin
什么时候不要用 Agent
大多数情况下,你不需要 Agent
实践证明:对于大多数应用场景,优化单次 LLM 调用配合检索增强(RAG)就够了。只有当简单方案明确无法满足需求时,才应考虑引入 Workflow 或 Agent 的复杂度。

常见的过度设计:用一个 Agent 框架来做本质上一个 Prompt 加一次搜索就能解决的问题。框架引入的延迟、成本、不确定性远大于它带来的收益。
核心原则:复杂度阶梯
先找最简方案,复杂度只在明确提升效果时才加
  • 1 先试单次 LLM 调用:优化 Prompt、加 Few-shot、调 Temperature
  • 2 不够?加检索增强(RAG):让 LLM 能访问外部知识
  • 3 还不够?用Workflow:把任务拆成多步,用代码控制流程
  • 4 真的需要灵活决策?才上Agent:让模型自主规划执行
不是所有问题都需要 Agent,很多时候 Workflow 就够了,甚至一个精调的 Prompt 就够了。复杂度是成本,不是功能。只在明确带来收益时才增加复杂度。

「核心洞察」为什么能找到相关内容

「这句话值得每个 AI 产品经理背下来。行业里充斥着各种 Agent 框架(LangChain、AutoGen、CrewAI...),但生产环境反复验证的规律是: 真正跑得好的系统,用的是最朴素的组合模式」把检索问题从“把资料存起来”推进到“怎样找到真正相关的资料”。这一步决定了 RAG、推荐和以图搜图最后交给模型的输入质量。

相似度不是答案,召回之后还要核对

在「这句话值得每个 AI 产品经理背下来。行业里充斥着各种 Agent 框架(LangChain、AutoGen、CrewAI...),但生产环境反复验证的规律是: 真正跑得好的系统,用的是最朴素的组合模式」对应的流程里,Embedding 负责把对象放到可比较的语义空间,近邻索引负责减少搜索范围,最终的回答仍然依赖召回片段是否覆盖问题、距离指标是否合适,以及内容有没有过期。

  • 1 先试 单次 LLM 调用 :优化 Prompt、加 Few-shot、调 Temperature
  • 2 不够?加 检索增强(RAG) :让 LLM 能访问外部知识
  • 3 还不够?用 Workflow :把任务拆成多步,用代码控制流程

先区分找得到和找得准

把「这句话值得每个 AI 产品经理背下来。行业里充斥着各种 Agent 框架(LangChain、AutoGen、CrewAI...),但生产环境反复验证的规律是: 真正跑得好的系统,用的是最朴素的组合模式」落成一次小测试:准备几条有明确答案的查询,记录召回的相关性、遗漏和无关结果,再决定是否需要换切分方式、索引或重排。

从「核心洞察」走到「两个核心概念」

「核心洞察」先把问题落在「这句话值得每个 AI 产品经理背下来。行业里充斥着各种 Agent 框架(LangChain、AutoGen、CrewAI...),但生产环境反复验证的规律是: 真正跑得好的系统,用的是最朴素的组合模式」上;到了「两个核心概念」,讨论继续推进到「Workflow LLM 和工具通过 预定义的代码路径 编排。开发者在写代码时就决定了执行顺序:先做 A,再做 B,最后做 C。 关键词:确定性、可预测、开发者控制流程 Agent LLM 动态决定 自己的执行流程和工具使用。模型在每一步自主判断下一步做什么、要不要调用工具、什么时候结束。 关键词:自主性、动态决策、模型控制流程」。两段连起来,重点就不只是记住一个结论,而是看清它成立所依赖的条件。

把这条判断带到下一个场景

检索系统也可以这样看:先确定什么算相关,再观察召回是否覆盖问题,最后检查排序、切分和时效性有没有把真正有用的内容挤出去。

  • 「核心洞察」:这句话值得每个 AI 产品经理背下来。行业里充斥着各种 Agent 框架(LangChain、AutoGen、CrewAI...),但生产环境反复验证的规律是: 真正跑得好的系统,用的是最朴素的组合模式
  • 「两个核心概念」:Workflow LLM 和工具通过 预定义的代码路径 编排。开发者在写代码时就决定了执行顺序:先做 A,再做 B,最后做 C。 关键词:确定性、可预测、开发者控制流程 Agent LLM 动态决定 自己的执行流程和工具使用。模型在每一步自主判断下一步做什么、要不要调用工具、什么时候结束。 关键词:自主性、动态决策、模型控制流程
  • 「最后的要点」:4 真的需要灵活决策?才上 Agent :让模型自主规划执行

最后的「最后的要点」把讨论落到「4 真的需要灵活决策?才上 Agent :让模型自主规划执行」。回看这条线索时,最值得保留的是:当输入、规模或风险改变,哪些判断需要重新做一遍。

标记为已学完 阅读进度会自动记录
← 上一篇下一篇 →

继续阅读

同一条线上的下一篇。

文章讨论

读到这里,留下一个判断。

把刚想明白的地方、还没想通的问题,留给下一位一起学习的人。

正在讨论 Workflow vs Agent:先搞清楚你要什么 可靠 Agent 的工程模式
3条讨论文章讨论 · 与共学社区同步
在共学社区查看
AM
Asha Morgan内容编辑
观点实践记录

我把这篇文章里的一个判断改写成了今天可以验证的小实验。比记住结论更有用的是,知道下一步要观察什么。

文章讨论7 有帮助
LH
Lin Harper独立开发者
观点观点

读完以后我先回头找它成立的条件,而不是直接把方法搬进项目。这个顺序让后面的取舍清楚很多。

文章讨论5 有帮助
KM
Kiki Moore产品运营
问题问题

如果把这个判断放到真实工作里,最先需要补的约束是什么?我想知道从阅读到第一次实践之间,哪一步最值得先做。

文章讨论4 有帮助