跳转到内容

Workflows vs agents

Workflows vs agents 指 Anthropic 在 agent 系统设计里强调的一条核心架构边界:究竟是由开发者预先写好执行路径,还是由模型在运行时根据环境反馈动态决定流程。这个区分的价值不在命名,而在它直接决定系统的可预测性、成本、调试方式和适用任务类型。

  • workflows 是预定义代码路径驱动的系统,模型只在被明确安排好的步骤里完成局部子任务。
  • agents 是模型驱动的系统,模型会根据工具结果、环境反馈和阶段性判断来决定下一步行动。
  • 这两者都属于 agentic systems,但工程含义不同:前者偏确定性编排,后者偏运行时自治。
  • workflow 的优点是可预测、易调试、成本更可控,适合任务结构比较稳定、步骤边界比较清晰的场景。
  • agent 的优点是能处理开放式任务和不可预先枚举的路径,适合步骤数未知、需要长期探索或需要持续根据世界状态调整策略的场景。
  • prompt chainingroutingparallelizationorchestrator-workersevaluator-optimizer 都属于 workflow 家族;它们的共同点是控制结构仍掌握在代码里。
  • 真正的 agent 则通常表现为“模型 + 工具 + 环境反馈 + 循环”,并带有 stopping condition、checkpoint 和必要的人类升级路径。
  • 这个概念和 Agent scaffold 高度相关,因为 scaffold 决定了模型能看到什么工具、能否获得足够 ground truth、以及行动循环被如何约束。
  • 它也和 Generator-evaluator loopAgent teams 相连,因为很多看似“agent” 的系统,实际内部仍大量依赖 workflow 结构来维持质量和可控性。
  • 文章背后的更深一层原则是:不要因为“agent” 这个词更高级,就提前把系统推向更高延迟、更高成本和更弱可预测性。

ℹ️ Conflict:

  • 在真实产品中,workflow 和 agent 很少是二元对立;更常见的是 workflow 外壳包裹局部 agent,自主性是连续谱而不是开关。
  • 更自主的 agent 不一定更强。如果任务本身已经能被固定子步骤稳定分解,那么额外自治只会增加成本和失误空间。
  • 反过来,把所有问题都硬塞进 workflow 也会让系统在开放式任务前失去弹性,导致大量脆弱分支逻辑。
  • Anthropic, “Building effective agents”, 2024-12-19.
  • 原文摘录:[llm-wiki/raw/anthropic/Building effective agents](/raw/anthropic/Building effective agents.md)