核心要点

  • 能引用权威划分:Anthropic《Building Effective Agents》把 Workflow 与 Agent 区分为「预定义路径」与「模型动态决策」两类

  • Workflow:由人写好的代码路径编排 LLM 与工具,流程确定、可控、可预测,便于测试与成本估算

  • Agent:LLM 在运行时自主决定流程走向与工具使用,灵活自主,但更难控制、更贵、更难调试

  • Tools 定位:是 Workflow 和 Agent 共同的「手脚」,即 LLM 与外部世界交互的接口,区别只在「谁来决定何时用」

标准回答

权威出处

这个区分来自 Anthropic 的《Building Effective Agents》。它把基于 LLM 的系统统称为 agentic system,再细分为两类:Workflow 和 Agent。理解这条分界线,关键看「流程是谁决定的」。

Workflow 是什么

Workflow 是由预定义的代码路径来编排 LLM 与工具的系统。开发者提前写好流程图:先做哪一步、再做哪一步、什么条件走哪个分支,LLM 只在固定节点上完成局部任务(比如分类、抽取、改写)。因为路径是写死的,它确定、可控、可预测,便于测试、监控和估算成本。常见形态有提示链(Prompt Chaining)、路由(Routing)、并行化、编排-工人(Orchestrator-Workers)等。

Agent 是什么

Agent 则把流程的控制权交给 LLM:模型在运行时自主决定下一步做什么、用哪个工具、是否继续或收尾,整个过程是动态的「观察-思考-行动」循环。它更灵活、能处理开放和不确定的任务,但代价是更难控制、更难调试、调用更多轮因而更贵,且行为可预测性下降。

何时用哪个

原则是:能用简单方案就别上复杂的。任务清晰、步骤可预先拆解、对稳定性和成本敏感时,优先用 Workflow——它更省、更稳、更好维护。只有当任务足够开放、步骤数和路径无法提前确定、必须让模型临场判断时,才值得上 Agent。很多生产系统其实是「以 Workflow 为骨架,在个别开放环节嵌入 Agent」的混合形态。

Tools 的角色

Tools 是两者共同的「手脚」,即 LLM 与外部世界交互的接口——搜索、代码执行、API 调用、数据库查询等。它在 Workflow 和 Agent 里都不可或缺,区别只在于「谁来决定何时、用哪个工具」:Workflow 里由预定义代码决定,Agent 里由模型自主决定。换句话说,Tools 提供能力,而 Workflow 与 Agent 是两种不同的「调度这些能力」的方式。

常见误区

⚠️ 常见踩坑

别一上来就追求「全自主 Agent」。Anthropic 的建议恰恰相反:先找最简单的方案,能用单次 LLM 调用或 Workflow 解决就别引入 Agent。盲目上 Agent 往往带来更高成本、更差的可预测性和更难定位的故障,得不偿失。

追问

追问 1能举一个更适合用 Workflow 而不是 Agent 的场景吗?

比如「客服工单自动分类并路由」:输入工单到LLM判类别到按类别走固定处理分支。类别有限、流程清晰、要求稳定可控且成本可估,用 Routing 这类 Workflow 最合适。强行用自主 Agent 反而增加不确定性、延迟和费用,却换不来收益。

追问 2混合系统里,怎么界定哪些环节交给 Agent?

把整体流程用 Workflow 固化为可控骨架,只在「步骤无法预先确定、需要模型临场探索」的开放环节嵌入 Agent,比如开放式调研、需多轮试错的代码修复。并给这些环节加循环上限、工具权限和人工确认,把不确定性约束在局部。

追问 3Tools 设计得好坏对 Agent 效果影响有多大?

影响极大。工具的命名、参数 schema、描述写得是否清晰,直接决定模型能否正确选用和调用。Anthropic 把这称为 ACI(Agent-Computer Interface),强调要像做好 API/UX 一样精心设计工具接口、给清楚示例和边界,否则再强的模型也会频繁调错工具。

🔗 相似问题

同一考点的不同问法,面试官可能换着问,一起刷更稳

没找到想看的面试题?把你想看的告诉我们 →

延伸学习

按主题分类的相关资源,便于系统复习