别逢 AI 就上 Agent:5 个不该用 Agent 的场景

Published on
13 mins read

过去一段时间,Agent 成了 AI 产品里最容易被滥用的词。只要一个功能里出现了模型调用、工具调用和一点“自主决策”,很多团队就会下意识地把它包装成 Agent。

但真正落到工程里,你很快会发现:不是所有问题都值得交给 Agent 处理。有些场景用规则、工作流、搜索或普通的 LLM 调用就够了;硬上 Agent,只会让系统更贵、更慢、更难调试。

这篇文章不讨论“Agent 是什么”,而是集中回答一个更重要的问题:什么时候根本不该用 Agent?


先说结论:判断 Agent 是否值得上的 4 个问题

在进入具体场景之前,可以先用四个问题做一次快速判断:

  • 任务路径是否稳定:如果步骤固定、分支有限,工作流通常比 Agent 更可靠。
  • 错误成本是否可接受:如果一次误操作就会影响订单、资金、用户数据,Agent 的自主性要极度克制。
  • 是否真的需要动态决策:如果只是在固定模板里填空,没必要引入 Planner、Memory 或多轮反思。
  • 系统是否可观测:如果你无法解释 Agent 为什么这么做,也无法回放其决策链路,就很难上线到关键路径。

很多“想做 Agent”的需求,问完这四个问题后,最后都会收敛成更简单的方案。


场景一:任务步骤已经固定,只是你不想手写流程

这是最常见的一类误判。团队看到一个多步骤任务,比如“读取表单 -> 校验字段 -> 调用 API -> 生成结果 -> 发通知”,就会觉得很像 Agent。

但如果步骤本身是稳定的,真正需要的通常不是 Agent,而是 workflow

比如:

  • 用户提交一份简历,系统提取字段后生成结构化候选人档案
  • 销售上传客户列表,系统清洗数据后同步进 CRM
  • 内容团队提交选题,系统按固定模版生成标题、摘要和社媒文案

这类任务的共同点是:输入在变,流程没变。既然流程没变,就没有必要把“下一步做什么”交给模型决定。你完全可以把流程显式写出来,把模型限制在单点能力上:

  • 文本分类
  • 信息提取
  • 文案改写
  • 结构化输出

这样做的优势很直接:

  • 每一步都能单独测试
  • 失败位置容易定位
  • 成本更稳定
  • 回归验证更简单

很多时候,所谓的“Agent 化”,本质上只是团队不想显式维护状态机和分支逻辑。但这部分复杂度不会消失,只会转移到 Prompt、日志和线上事故里。


场景二:任务要求强确定性,错一次就很麻烦

如果任务涉及资金、权限、库存、合同、数据删除等高风险动作,默认就不该让 Agent 自主完成闭环。

原因不复杂:Agent 的问题不只是“回答错”,而是“做错事”。

一个能调用工具的 Agent,错误可能出现在很多地方:

  • 选错工具
  • 用对工具但参数错了
  • 顺序错了
  • 理解错用户意图却继续执行
  • 在上下文污染后做出错误动作

这类系统一旦进入执行层,风险会比普通聊天机器人高很多。因为聊天机器人回答错,用户还能自己判断;执行型 Agent 做错,代价往往已经发生了。

更合适的方案通常是:

  • Agent 只负责生成建议,不直接执行
  • 高风险操作进入审批流
  • 参数由结构化表单确认,不完全依赖自然语言
  • 关键工具调用加白名单和权限隔离

换句话说,在强确定性场景下,Agent 最多做“副驾驶”,不要做“自动驾驶”。


场景三:你真正需要的是搜索、检索或规则系统

不少产品把“用户问一个问题,系统返回一个答案”都归到 Agent 范畴里,其实很多问题更接近:

  • 站内搜索
  • RAG 检索
  • FAQ 路由
  • 规则匹配

比如客服、帮助中心、知识库问答、文档导航,这些需求的核心往往不是“规划下一步行动”,而是“尽快找到对的信息”。

如果你把这种系统做成 Agent,常见后果是:

  • 先做一轮冗长推理
  • 再决定要不要搜
  • 找到资料后又进行一轮自由发挥
  • 最终答案变长了,但不一定更准

这不仅拖慢响应速度,也会放大幻觉空间。

更务实的做法通常是:

  1. 先用检索或规则把候选范围缩小
  2. 再用模型做总结、重写或结构化整理
  3. 明确区分“查得到”和“查不到”

当问题的本质是“找信息”,而不是“做决策”时,Agent 通常不是第一选择。


场景四:你还没有评估体系,却已经想做自主系统

很多 Agent Demo 看起来都不错,因为它们演示的是“最顺的一次”。真正的问题出现在上线之后:它什么时候会失败,为什么失败,失败后怎么修?

如果你还没有下面这些基础设施,就不适合急着上 Agent:

  • 一组可重复运行的任务样本
  • 成功/失败的判定标准
  • 工具调用日志与 trace
  • 成本、时延、成功率的监控
  • 回放错误案例的能力

Agent 不是写完 Prompt 就结束的系统,而是一个需要持续校准的系统。没有评估体系时,你很容易陷入一种假象:线上偶尔能跑通,就以为方向没问题。

但只要输入一复杂、上下文一变、工具一超时,系统行为就会迅速失控。

如果团队还在产品探索早期,我会更建议先把任务拆小:

  • 先验证单步能力是否成立
  • 再验证两三步串联是否稳定
  • 最后才考虑把决策权逐步交给系统

不要在“还没法测”的时候,就把系统设计成“高度自主”。


场景五:Multi-Agent 只是为了看起来更高级

现在很多方案一上来就是:

  • planner agent
  • researcher agent
  • executor agent
  • reviewer agent

看起来很完整,但多数时候只是把一个本可以在单上下文里完成的任务,拆成了多个角色互相传话。

这样做的问题很实际:

  • token 成本更高
  • 时延更长
  • 调试更困难
  • 责任边界更模糊
  • 上下文在多轮转述中更容易漂移

如果一个任务本质上只是:

  • 读取输入
  • 调一次或几次工具
  • 输出结果

那么单 Agent + 明确工具约束,通常就足够了。

Multi-Agent 只有在下面这些情况下才更有意义:

  • 子任务天然并行
  • 上下文窗口明显不够
  • 不同角色拥有明确隔离的数据与权限
  • 你能证明拆分后比单 Agent 更稳定,而不是更复杂

大多数团队的问题不是 Agent 不够多,而是系统边界不够清楚。


那什么时候才适合上 Agent?

如果一个任务同时满足下面几个条件,Agent 才更值得考虑:

  • 目标明确,但路径不固定
  • 需要根据中间结果动态选择工具
  • 允许一定试错和回退
  • 有 trace、评估和人工兜底
  • 任务价值足够高,能覆盖复杂度成本

一个比较典型的例子是“研究型任务”:

  • 用户给出一个开放问题
  • 系统需要先搜集信息
  • 再判断哪些资料可信
  • 然后继续追问、补充检索、汇总结论

这里的关键不是“模型会说话”,而是任务本身确实存在动态路径。只有这时,Agent 的决策能力才真正有意义。


我的建议:先把 Agent 当成能力,不要先当成架构

很多团队在一开始就问:“我们要不要做一个 Agent 架构?”

这个问题本身就容易把方向带偏。更好的问法应该是:

  • 我们当前任务里,哪一部分真的需要模型动态决策?
  • 哪一部分应该继续由代码、规则和工作流控制?
  • 哪一部分只能建议,不能直接执行?

先回答这些问题,再决定是否要引入 Agent,会务实得多。

Agent 不是产品升级的自动答案。大多数时候,真正拉开差距的不是“用了 Agent”,而是你是否知道 什么时候不该用它


小结

  • 步骤固定的任务,优先考虑 workflow,而不是 Agent
  • 高风险执行任务,优先考虑审批、约束和人工确认
  • 检索型问题,优先考虑 search / RAG / rules
  • 没有评估体系时,不要急着做高自主系统
  • Multi-Agent 不是默认答案,很多时候只是复杂度放大器

如果把 Agent 用在真正需要动态决策的地方,它会非常有价值;但如果只是为了追热点,它大概率会成为系统里最难维护的一层。

下一篇我会继续写:一个可上线的 Agent,难点为什么根本不在 Prompt。