标准回答
权威出处
这个区分来自 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,比如开放式调研、需多轮试错的代码修复。并给这些环节加循环上限、工具权限和人工确认,把不确定性约束在局部。
追问 3:Tools 设计得好坏对 Agent 效果影响有多大?
影响极大。工具的命名、参数 schema、描述写得是否清晰,直接决定模型能否正确选用和调用。Anthropic 把这称为 ACI(Agent-Computer Interface),强调要像做好 API/UX 一样精心设计工具接口、给清楚示例和边界,否则再强的模型也会频繁调错工具。
🔗 相似问题
同一考点的不同问法,面试官可能换着问,一起刷更稳
没找到想看的面试题?把你想看的告诉我们 →
延伸学习
按主题分类的相关资源,便于系统复习