什么时候该用 workflow,什么时候该上 Agent?盲目上 Agent 会踩什么坑?
谁在问:二面反套路题;技术负责人、有踩坑经历的面试官最爱问,判断你是跟风还是有判断力
口语化问法
- 来个新需求,你怎么决定是写死一条流程,还是上 Agent?
- 你们这个场景为什么用 Agent?不用会怎么样?
- 你觉得现在业界是不是 Agent 上多了?说说你自己踩过的坑。
考察意图
这是二面的反套路题,面试官通常已经被 Agent 坑过一次。他在看四件事:
- 有没有默认降级的习惯。 上来就说「当然用 Agent」的人,通常没为线上成本和 SLA 负过责。
- 判据能不能落地。 「任务复杂就用 Agent」是废话;「路径能不能枚举、要不要靠中间结果才知道下一步」才是能操作的。
- 踩没踩过坑。 成本长尾、不可复现导致回归测试失效、错误累积、权限面扩大——说得出两条以上才可信。
- 会不会做混合架构。 生产里的正确答案大多不是二选一,而是切边界。只会二选一的人,写不出既守 SLA 又能处理长尾的系统。
参考答案
60 分答案(及格线)
我的默认顺序是从简单往上升级,不是从 Agent 往下砍:
一次 prompt 能解决 → 就一次 prompt; 需要多步但路径固定 → workflow; 只有个别环节需要探索 → workflow 里嵌一个受限的 agentic 节点; 路径本身没法提前定 → 才上 Agent。
三条判据:
- 路径能不能枚举。 我能把所有可能的执行路径画在一张纸上,就写 workflow。
- 下一步是否依赖中间结果。 必须先看到第一步查出来什么,才知道第二步查哪——这是 agentic 的真信号。
- 错误成本与可回滚性。 动作不可回滚(付款、发邮件、写库)且没法加人工确认的,别让模型自主决定。
盲目上 Agent 的坑:贵、慢、同样输入结果不一样导致没法做回归测试、失败了不知道错在哪一步、模型自主选工具带来越权风险。
90 分答案(有生产经验的回答)
1. 给升级的触发条件,而不是给分类法。 每一级我都有明确的「出现什么现象才升级」:
| 当前形态 | 升级信号 | 不升级的理由 |
|---|---|---|
| 一次 prompt | 需要外部数据 / 需要多次工具往返 | 能一次解决就没必要引入循环 |
| 固定 workflow | badcase 里「预设外路径」占比明显上升 | 路径可枚举时,workflow 可测、可复现、成本恒定 |
| 局部 agentic | 探索环节超出单节点边界,跨节点决策 | 局部放开已能覆盖长尾,还保住外层 SLA |
| 全自治 Agent | 任务本身就是开放式的(调研、排障、代码修改) | —— |
2. 对 agentic 用三段式表述。
- 解决什么:输入分布长尾(用户怎么问都行)、路径依赖中间结果、工具组合数爆炸导致穷举分支不现实。本质是把「枚举路径」的工作从开发期挪到运行时。
- 代价是什么:① 成本与时延变成长尾分布,均值失去意义;② 不可复现,同输入不同轨迹,传统回归测试直接失效,评测要重建;③ 错误累积——每步 95% 成功率,10 步下来只剩约 60%;④ 调试从「哪个节点挂了」变成「哪一步决策错了」,没有 trace 基本没法查;⑤ 权限面扩大,模型自主选工具意味着越权风险要靠架构挡而不是靠代码路径挡。
- 什么时候不该用:路径可枚举;有硬 SLA(比如要求 P95 < 3s);需要逐步可审计(金融、医疗、政务);动作不可回滚且加不了确认环节;高 QPS 低单价场景(成本方差会吃掉毛利);上下文本来就长、压缩必然丢关键约束的场景。
3. 混合架构是常态。 我上一个工单系统就是外层 workflow 保 SLA 和审计,只在「该查哪几个数据源」这一步放开 agentic,配三件事:工具白名单(只读优先)、独立预算(max_steps=3 + 超时)、超限回落固定检索路径。好处是成本有上界、失败能定位到那一格、出问题能一键关掉 agentic 开关退回老路径。
4. 上线前先量 baseline。 Agent 化之前一定先把固定管线的三条线量出来:任务成功率、P95 时延、单位成本。Agent 必须在成功率上赢过 baseline,并且成本方差可控,才值得换。没有 baseline 的 Agent 上线,等于把「是否更好」交给感觉。
追问链
你说「路径可枚举」,具体怎么判断?拿客服工单系统举例
期望用数据判断,不拍脑袋:先拆原子动作(分类、查订单、查物流、查知识库、回复、转人工)→ 翻历史工单与人工记录,统计动作序列出现过多少种、怎么分布 → 80% 以上落在少数几条路径就写 workflow 覆盖 + 兜底转人工;长尾只占 5% 且客单价低,转人工比做 Agent 划算信号提出「先统计历史数据再决定」→ 产品化思维;答「感觉不确定就上 Agent」或只讲抽象原则不落到这个场景 → 没做过需求分析混合架构里,agentic 节点和外层的边界怎么切?怎么隔离?
期望三件必须有:契约化(输入输出schema固定,外层不问里面跑了几步)、预算隔离(步数/时间/费用上限独立,超限不外抛而是回「已尽力结果 + 未完成标记」)、权限收窄(白名单,只读优先,写留外层)。可观测靠外层span套内层span(OTel GenAI v1.41)信号说出「契约 + 预算 + 权限」三件并提到失败不外抛 → 切过真边界;只说「就在那一步调一下 Agent」→ 是想象Agent 上线后,你怎么证明它比原来的 workflow 好?
期望配对 + 分布 + 业务指标:同评测集两套各跑一遍(只换控制结构)→ Agent 不可复现,每条重复多次看分布 → 三层:成功率(人工或校准过的 LLM-as-Judge)、轨迹(步数分布、无效/重复调用率)、成本时延P50/P95→ 小流量 A/B 看一次解决率与转人工率信号主动提「配对 + 重复取分布 + 业务指标」→ 做过评测;答「看效果好不好」「看用户反馈」→ 没有量化能力Agent 步数一多成功率就掉,除了换更强的模型还能怎么治?
期望核心是减少要决策的步数,不是让模型更小心:把稳定复现的子序列固化成复合工具或代码(最有效的反向操作)→ 每步加轻量校验与早停 → 工具宽进严出:入参容错、出参结构化 → 错误消息可操作,让模型自愈 → 独立步骤并行 → 权限校验、金额计算留在代码里 → 高错误成本节点加人在环信号说得出「把稳定路径固化回代码」这种反直觉操作 → 真做过优化;只答「提示词里让它小心点」「换更强的模型」→ 没有工程手段你上的 Agent 成本涨了 7 倍,业务方要砍掉,你怎么答?
期望先归因不辩护:不比 token 成本,比单位解决成本 → trace 拆五项:①步数分布(P50没动、P95翻倍,5% 会话吃掉一半)②上下文复利 ③返回体变大 ④重试死循环 ⑤档位被改 → 止血三档:当天收max_steps裁输出吃缓存,两周固化高频路径成 workflow,长期看板 → 价值带数:每单 ¥0.7 对人工 ¥8,降不到 X 就收缩信号先拆分布再谈价值、把口径切到单位业务成本、给可回滚收缩方案 → 负过线上责任;上来「换个便宜模型」或辩护「必要成本」→ 把系统问题当参数问题
评分要点
- 给出默认降级顺序(先简单后复杂),而不是默认上 Agent
- 判据可操作:路径能否枚举 / 是否依赖中间结果 / 错误成本与可回滚性
- 对 agentic 说得出代价:成本长尾、不可复现、错误累积、调试成本、权限面
- 能明确说出「什么时候不该用」(硬 SLA、强审计、不可回滚、高 QPS 低单价)
- 知道错误累积的乘法效应(每步 95%,10 步约 60%)
- 提出混合架构并说清隔离手段(契约、预算、权限、降级)
- 加分:强调 Agent 化前先量 workflow baseline
- 加分:会用历史数据统计路径分布来做判断