Agent Workflow Patterns(Agent 工作流模式)
核心理念:从简单开始,只在需要时增加复杂性
定义
Agent Workflow Patterns 是 Anthropic 总结的构建 Agentic 系统的模式集合,从最简单的构建块到完全自主的 Agent。
架构层级
基础构建块:Augmented LLM
LLM + 检索 + 工具 + 记忆
基础能力:
- 生成搜索查询
- 选择合适工具
- 决定保留什么信息
Workflow 模式
1. Prompt Chaining(提示链)
输入 → LLM → 输出 → LLM → 输出 → ...
↑ ↑
步骤1 步骤2
适用场景:任务可清晰分解为固定子任务
示例:
- 生成营销文案 → 翻译成其他语言
- 写大纲 → 验证大纲 → 写文档
2. Routing(路由)
输入
↓
分类/路由
↙ ↘
专用处理A 专用处理B
适用场景:不同类别需要不同处理
示例:
- 客服:一般问题/退款/技术支持 → 不同流程
- 简单问题给 Haiku,难题给 Sonnet
3. Parallelization(并行化)
输入
↙ ↘ ↘
LLM1 LLM2 LLM3
↘ ↙ ↙
聚合结果
两种形式:
- Sectioning:任务拆分为独立子任务
- Voting:同一任务多次运行取共识
示例:
- Guardrails:一个处理用户查询,一个检查安全
- 代码审查:多个 prompt 审查不同方面
4. Orchestrator-Workers(编排者-工作者)
Orchestrator(编排者)
↓ 分解任务
↙ ↓ ↘
Worker1 Worker2 Worker3
↘ ↙ ↙
合成结果
适用场景:无法预测子任务的复杂任务
示例:
- 编码:多文件修改,每个文件改动取决于任务
- 搜索:多源信息收集与分析
5. Evaluator-Optimizer(评估者-优化者)
Generator(生成者)
↓ 输出
Evaluator(评估者)
↓ 反馈
Generator ← 改进
↓ 循环
适用场景:
- 有清晰评估标准
- 迭代改进有可衡量价值
- 人类能提供有用反馈
示例:
- 文学翻译:捕捉细微差别
- 复杂搜索:多轮搜索分析
自主 Agent
用户指令 → Agent 规划执行 → 循环操作 → 检查点/结果
适用场景:
- 开放性问题,无法预测步数
- 无法硬编码固定路径
- 信任其决策能力
关键设计:
- 工具集和文档清晰
- 停止条件(如最大迭代次数)
- 沙箱测试 + 护栏
核心原则
三大原则
- 简单性:保持设计简单
- 透明性:明确展示 Agent 规划步骤
- 精心设计 ACI:通过文档和测试优化工具接口
选择指南
| 需求 | 推荐模式 |
|---|---|
| 固定子任务 | Prompt Chaining |
| 不同类别处理 | Routing |
| 速度/多视角 | Parallelization |
| 动态子任务 | Orchestrator-Workers |
| 迭代改进 | Evaluator-Optimizer |
| 开放任务 | Autonomous Agent |
关键数据点
- Anthropic 与数十个团队跨行业合作构建 LLM Agent,最成功的实现使用简单、可组合模式而非复杂框架
- Coding agents 和 customer support 是两个最有前景的应用场景
- 五种 Workflow 模式:Prompt Chaining、Routing、Parallelization、Orchestrator-Workers、Evaluator-Optimizer
- Parallelization 有两种形式:Sectioning(拆分子任务)和 Voting(多次运行取共识)
前提与局限性
- 模式选择应遵循"从简单开始,只在需要时增加复杂性"原则
- 自主 Agent 适合开放性、无法预测步数的任务,但需要信任其决策能力
- 框架(如 Claude Agent SDK、Rivet、Vellum)可能增加抽象层,使调试变难
- 多数应用只需优化单次 LLM 调用 + retrieval + in-context examples,不需要 agentic 系统
关联概念
- Coding-Agents - Workflow 的主要执行者
- ACI-Agent-Computer-Interface - 工具接口设计
- Agentic-Engineering - 更广泛的工程实践