整理自 Anthropic 工程博客《Building Effective AI Agents》,原文地址:https://www.anthropic.com/engineering/building-effective-agents
一句话结论
Anthropic 建议先找最简单的方案,确有必要再引入 agentic 系统:结构清晰的流程用"工作流"(LLM 和工具按预定义代码路径编排),开放式任务才用"Agent"(LLM 自己决定流程和工具使用)。两者都是"agentic system",但架构边界完全不同。
三个前置判断
1要不要 agentic?agentic 系统用延迟和成本换任务表现。很多场景优化单次 LLM 调用(加上检索和示例)就够了。
2工作流还是 Agent?任务定义清晰、要求可预测一致 → 工作流;需要模型驱动决策和灵活性 → Agent。
3要不要框架?框架(Claude Agent SDK、Strands、Rivet、Vellum 等)降低上手成本,但会隐藏底层 prompt 和响应、增加调试难度,还会诱导无谓的复杂度。建议先用 LLM API 直接写,很多模式几行代码就能实现;用框架就必须懂它内部在做什么。
五个被生产验证的工作流模式
流程图 1
Prompt chaining(链式调用):把任务拆成固定序列,中间加程序化检查点(gate),逐步输出。适合能干净分解成固定子任务、且子任务之间有大小/模态差异的场景。
Routing(路由):先分类再分发给不同的 prompt/模型/工具。典型用法:客服分流(退款/技术/一般咨询)、简单问题给 Haiku 类小模型、困难问题给 Sonnet 类强模型以控制成本。
Parallelization(并行化):两种变体——Sectioning(拆成独立子任务并行)和 Voting(同一任务多次采样取多样输出)。多视角投票常用于安全护栏和代码漏洞审查。
Orchestrator-workers(编排-工作者):由编排 LLM 动态分解任务、派给工作者、再汇总。与链式的区别在于子任务不是预定义的,由中心模型按输入决定。
Evaluator-optimizer(评估-优化):生成器产出,评估器按标准打分并给反馈,循环迭代。
(以上模式细节以原文为准;核心思想是:能用确定编排就别让模型自由发挥。)
Agent:什么时候才真正需要
当任务开放、步骤不可预知、需要模型在环境中动态决策时才用 Agent。Anthropic 的实操建议:
给 Agent 提供清晰、文档完善的工具(工具即接口,描述质量直接决定 Agent 表现)。
设置护栏:最大步数、token 预算、危险操作确认。
把 Agent 的行为变成可观测的:每一步的工具调用、理由、状态都要能回放。
对我们做内容/运营 Agent 的直接启发
1"每日巡检补差"这种流程明确的任务,本质是工作流 + 路由,不需要完整 Agent 自主性——这也解释了为什么用固定目标(5/1/1)+ 轻量进度接口比开放式 Agent 更可靠。
2框架选型前先问:底层 prompt 我能看到吗?调试时我能改吗?
3Agent 的失败大多不是模型不够强,而是工具描述含糊和缺少护栏。
参考
Anthropic:Building Effective AI Agents(2024-12,后续工具生态演进见其 Managed Agents 文章)