深色模式
02 · Workflow 还是 Agent
一条光谱,不是二选一
📚 系列导航:这是《Agent 开发进阶》的第 2 篇(共 24 篇)。上一篇你给自己的项目定了级、列出了主攻清单,这一篇解决进阶路上最贵的一个误区:什么时候该上 agent,什么时候老老实实写 workflow。下一篇:03 · 技术选型。
"我要做一个 agent"——先停一下。Anthropic 在《Building Effective Agents》里给出的核心洞见恰恰是反方向的:最成功的生产实现大多用简单、可组合的模式,能用 workflow 解决的别上 agent。我自己交过学费:把一个 if-else 能写清的审批流 agent 化,100 次里跑出 6 次不一致的结果,排查了三天。这一篇只干一件事:给你一条五档光谱和两条判据,在写第一行代码前就把档位定对。
看完这一篇,你会拿到:
- 一条从 workflow 到 agent 的五档光谱,每档一句判词
- 两条可操作的定档判据:任务可预测性 × 容错成本
- 一个"过度 agent 化"系统的三步降档改造法
- 一页你自己业务的架构定档 ADR(动手产出)
01 光谱五档:自主性是旋钮,不是开关
按 Anthropic 的划分,从确定到自主依次是:链式(固定步骤流水线)→ 路由(先分类再走对应分支)→ 并行(分头干活再汇总)→ 编排者-工人(一个大脑动态派活)→ 自主循环(agent 自己决定下一步)。越往右,能力上限和不确定性同步上升。
就像汽车的辅助驾驶分级:从定速巡航到全自动驾驶,没人说定速巡航"低级"——高速通勤它反而最稳。落地做法:描述任务时先问"步骤能不能提前写死",能写死几步就先锁几步。
💡 一句话总结:五档是自主性旋钮——每往右拧一格,多一分能力也多一分失控。
02 定档判据:可预测性 × 容错成本
两个问题定档位。一问任务可预测性:步骤固定吗?输入形态收敛吗?越可预测越该低档。二问容错成本:错一次多贵?审批错了要赔钱、邮件发错收不回,这类场景必须低档加人工审批;"写研究报告初稿"错了重来就是,容错便宜就可以高档。可预测 + 错不起 → 链式/路由;开放任务 + 产出可验证 → 编排者-工人/自主循环。两条判据冲突时,容错成本优先——钱和信任比能力上限值钱。
💡 一句话总结:步骤越可预测越往左,错误越昂贵越往左——右边的档位要拿可验证的产出去挣。
03 反直觉:生产系统大多落在中间档
demo 圈的鄙视链是"全自主才性感",生产环境的事实刚好相反:跑得稳的系统大量落在路由、并行、编排者-工人这三个中间档。原因很朴素:中间档把确定的部分用代码锁死,只把真正开放的部分交给模型。把光谱当鄙视链是进阶者的主要死法——我见过为了"高级"硬上自主循环的项目,token 花了 3 倍,稳定性反而不如路由版。档位只有合适与否,没有高低贵贱。
💡 一句话总结:中间档不是妥协,是生产常态——确定性交给代码,开放性才交给模型。
04 降档改造:把过度 agent 化的系统救回来
三步。第一步画出真实轨迹:把系统实际跑过的 20 条轨迹打出来,标出哪些步骤每次都一样——那就是被 agent 白白"重新发明"的固定逻辑。第二步锁定固定段:把这些步骤改写成代码直连,模型只留在真正需要判断的节点(分类、摘要、生成)。第三步留降级预案:写清"高档部分不稳时退到哪一档、砍掉什么能力"。降档不是推倒重来,多数时候是把自主循环收窄成"路由 + 一两个模型节点"。
💡 一句话总结:降档的本质是重新分工——代码干确定的活,模型只干判断的活。
05 动手:给你的业务写一页定档 ADR
任务:拿你的真实需求,按两条判据各打 1–5 分,映射到光谱档位,写成一页 ADR:背景、判据打分、选定档位、降级预案(不稳时退到哪档、砍什么)。
验收标准:别人不用问你就能看懂"为什么是这一档",且降级预案具体到能力级别。
两种结果都正常:定在低档(链式/路由)不丢人——说明需求确定性强,成本低还稳,本课的循环与工具设计照样用得上;定在高档,先回头检查容错成本是否打低了,高档必须配第 12 篇的审批门和第 21 篇的护栏。
06 小结
你现在应该能:说出光谱五档各自的适用面、用两条判据给任意需求定档、给过度 agent 化的系统开出降档药方。
档位定了,下一个问题立刻来:用什么写?下一篇 03 · 技术选型,给你一棵决策树,外加一条"何时迁移"的退路。
📎 实战案例
团队赶时髦把一个 if-else 能写清的审批流 agent 化,100 次里 6 次结果不一致,排查三天无果。对照《Building Effective Agents》的光谱降档回「路由」:分类交给模型、审批规则写死成代码,不一致归零,单次成本降了一半——确定性需求要确定性方案,档位只有合适没有高级。
踩坑
- 我赶时髦把审批流 agent 化,100 次跑出 6 次不一致,排查三天——确定性需求要确定性方案。
- 把光谱当鄙视链硬上自主循环,token 费是路由版的 3 倍,稳定性还更差——过度设计是进阶者的主要死法。
- 定档时没写降级预案,想降档才发现全链路耦合,重构花了两周——预案要在 ADR 里就写死。