把 Agent 关进流程里,而不是让它自由发挥
"自主规划、自主决策、自主执行"——这是 Agent 宣传里最常见的三个词。做了一年多之后,我越来越倾向于反方向:能写死的就写死,只在必须判断的地方交给模型。
把流程写死的好处
一、可预测
同样的输入,走同样的路径,产出同样的结构。这对下游系统对接太重要了。自治 Agent 每次走的步骤不一样,返回格式也不一样,集成方会疯。
二、可调试
出错时你知道是哪一步错了。自治 Agent 出错,你面对的是十几轮工具调用的日志,很难判断是哪一环偏了。
三、成本可控
固定流程 = 固定调用次数 = 可预测的成本。自治 Agent 的调用次数是个随机变量,高峰期可能因为一次"想太多"烧掉十倍预算。
我的折中方案
大流程固定,小环节让模型判断。
比如内容审核流程:
提取文本 → 规则过滤(敏感词、长度) → 模型判断(是否违规、违规类型) → 人工复核(仅高风险)
流程是写死的四步,但"模型判断"那一步,输出是结构化的(是否违规 + 类型 + 理由 + 置信度),不是自由发挥。
再比如客服工单分类:先用关键词做粗分,模型只负责在 2 到 3 个候选里选一个。这比让它从 50 个分类里自由选要准得多。
什么时候真的需要自治
只有一种情况:任务空间太大,人力枚举不完。
比如"帮我调研一下这个行业"。你不知道要查几个网站、看几篇报告、从哪些角度分析。这种开放任务,写死流程反而笨拙。
但这种场景有个共同点:失败成本低。调研做得不好,重做一次就行,不会造成实际损失。
凡是涉及钱、客户、对外发布的,我都不建议让它自治。
一个判断标准
问自己:如果它这一步做错了,最坏的结果是什么?
- 结果错了,用户看一眼就发现 → 可以自治
- 结果错了,要等一周后才发现 → 加校验
- 结果错了,钱已经花出去了 → 必须人工确认
按这个标准划分,80% 的业务场景都落在后两类。所谓"全自动 Agent",在真实业务里能做的其实很有限。