1. POC的温室与生产的野外:89%试点卡在门口的第一性原因
“89%的试点倒在生产门口”,这个数字我第一次看到是在一份行业落地复盘报告里,当时第一反应是:是不是写反了?后来自己亲手带过几个 Agent 项目,从客服助手、文档处理到供应链异常预警都碰过,才意识到这个数字非但不夸张,反而有些保守。
为什么这么说?因为绝大多数团队对“试点成功”的定义,和生产环境对“稳定可用”的要求,根本是两个维度的东西。POC(Proof of Concept,概念验证)阶段,我们关注的是“模型能不能把这个任务做对”;到了生产阶段,问题变成了“系统能不能在这个任务上持续做对、可控地做错、并且出了错还能快速恢复”。前者是模型问题,后者是系统工程问题。把模型问题当成系统工程问题来解,或者反过来,都会摔得很惨。
1.1 温室效应:Demo数据的“精选偏差”比你想的严重
先说说我们在试点里最常见的“温室效应”。做概念验证的时候,团队通常会精心挑选一批数据:业务方挑的是最典型的用例,开发同学挑的是格式最规整的输入,甚至测试集里的每一条样本都是人工清洗过、跑过一轮保证模型能答对的。
这没有错,验证“这条路能不能走通”本来就该用可控样本。但问题在于,很多人把这种温室里长出来的成功,直接当成了野外生存能力的证明。生产环境里输入是什么样?用户的问题千奇百怪,错别字、口语化、指代不明;文档的格式五花八门,扫描件、表格、图片混排;业务数据还在实时变化,订单状态、库存数量、客户信息每一秒都在更新。
我做过一个售后客服 Agent 的试点,Demo 阶段拿的是 ERP 里导出的几百条干净订单记录,效果惊艳——准确率九成以上。结果一接到生产环境,模型对真实订单查询的理解立刻打折:日期格式有歧义,客户姓名带生僻字,同一个订单在数据库里有多条状态记录……凡是模型没见过的新形态,基本都开始闹脾气。
这就是温室效应:POC 里的高准确率,很大一部分来自“选过的题”,而不是模型真正的泛化能力。一旦把这些数据换成生产的真实分布,准确率断崖式下跌是常态,从 95% 掉到 70% 以下我都见过。
1.2 评估标准错位:从“答得好不好”到“活干得成不成”
另一个关键差异,是评估体系的错位。试点阶段我们看什么?看模型回答内容是不是正确、文本是否流畅、语义是否对齐。这在聊天机器人时代是合理的,但 Agent 的本质是“干活的”,不是“说话的”。
一个 Agent 干一个活,端到端的评价要看的是一系列链条指标:有没有成功调用正确的工具?工具传参的数据对不对?中间步骤是否需要人工介入?整体耗时多久?花了多少 token 成本?出错之后能不能自动重试或自我修复?任何一个环节掉链子,哪怕模型单步回答再漂亮,任务依然是失败的。
我见过最典型的案例:一个文档信息提取 Agent,模型把字段提取得全对,但输出格式是 Markdown,下游系统只认 JSON,导致整条流程直接中断。从模型回答的角度看是 100 分,从任务完成的角度看是 0 分。这种“单点正确、链路失败”的情况,恰恰是生产环境里最容易暴露的问题。
所以量产关的第一道坎,不是模型能力不够,而是我们压根没有用“任务完成”的标准去评估它。你拿考试分数去衡量一个员工干活的效率,结果自然不准。
2. 量产路上的五道暗门:我把最常见卡点逐个拆给你看
如果只说“POC 和生产不一样”,那没什么实操价值。真正有用的是把“不一样”拆开,看看具体卡在哪些点上。我复盘自己参与过的项目,也看过不少同行的复盘,发现量产路上的坑基本可以归成五类:上下文断裂、错误处理缺失、成本失控、可观测性空白、安全边界模糊。
这五道暗门,几乎每一个都是“Demo 时根本不会触发、上线一周内必定爆发”的类型。
2.1 上下文断裂:Agent 不知道真实业务里发生了什么
模型本身有上下文窗口,但这个窗口里装的只是“对话内容”,不是“业务状态”。生产环境里的 Agent,依赖的是实时数据:当前订单状态、客户的会员等级、仓库有没有货、物流走到哪一节点。很多时候这些数据分布在不同系统里,需要 Agent 自己去调接口、查数据库、传参数。
问题就出在这里。Demo 阶段我们往往把数据提前灌进提示词里,或者只让 Agent 查询一张表。生产环境里要查的是跨系统的组合数据,Agent 需要先理解用户意图,再分解成多个查询动作,每个动作还要保证返回结果能被下一步正确使用。这个链条一旦长了,任何一个环节的字段语义对不上、数据返回格式变化,Agent 就会“断片”。
举一个真实的例子:一个供应链异常预警 Agent,在 Demo 里只查库存表和订单表,跑得很顺。生产环境里订单分布在三个子库,物流数据在另一个系统,库存还有实时变动的缓存层。Agent 生成的查询 SQL 经常取不到最新数据,或者超时。它不是不懂业务,而是“感知”不到业务系统的真实分布。这就像让一个顶级厨师去一个陌生厨房做菜,食材在哪个冰箱、锅在哪个柜子里都不知道,厨艺再高也出不了菜。
2.2 工具调用与错误自愈:生产系统不会等模型“重试一次”
Demo 阶段我们通常人工盯着模型跑,出错了就调整提示词再来一次。生产环境不一样,Agent 是无人值守的,它要自己去调工具、传参数、等返回、处理异常。
这一块暴露的问题特别多。模型在生成工具调用参数的时候,偶尔会“一本正经地胡说八道”:把日期格式传错、把枚举值传成自由文本、漏掉必填字段。更麻烦的是,模型调用的外部接口本身也不稳定,偶尔超时、限流、返回异常体。没有容错设计的 Agent 在这种情况下的表现就是:一步错了,整个任务卡死,然后彻底放弃或者循环重试直到把成本和等待时间一起拉爆。
我认识的一位做内部知识库 Agent 的开发同学,被这个问题折磨了很久。模型偶尔会把查询参数里的关键词多拼一个空格,检索系统返回空结果,Agent 就认为“知识库里没有这个内容”,直接回复用户“找不到”。实际上库里明明有答案。这种“单次工具调用的微小错误,被 Agent 当成最终结论”的问题,在 POC 阶段几乎不会被发现,因为人工盯着的时候早就按住它修正了。
2.3 成本失控:Token 账单和延迟毛刺的两本账
很多人算 Agent 的成本,只算“单次调用多少钱”,上了生产才发现,单次调用和端到端任务成本之间差着一个数量级。
一个 Agent 任务往往要经过多轮推理:理解意图一次,决定调用哪个工具一次,工具返回结果后再整合一次,中途可能还要追问澄清、多轮工具调用。加上上下文越长,每次调用消耗的 token 就越多。我曾经算过一笔账,一个看似简单的“查订单状态并处理售后”流程,端到端消耗的 token 大约是单次问答的 8 到 10 倍。如果系统设计时还强制把历史对话全部塞进上下文,这个数字还会持续膨胀。
更隐蔽的是延迟毛刺。Agent 任务本身是异步的长流程,POC 里没人关注延迟分布,但生产环境一旦有用户体验压力,P95 延迟就成了硬指标。上下文太长会导致响应变慢,外部工具调用多也会引入等待时间,如果模型网关没有合理的超时控制和降级策略,用户体验就是“点了按钮半天没反应”,然后投诉就来了。
2.4 可观测性空白:出了问题根本不知道从哪里查
传统软件出故障,我们有日志、链路追踪、指标监控。Agent 出故障呢?很多团队什么都没有。
Agent 是一个多步骤的动态执行过程:同一类问题,模型每次走的路径可能都不一样,调用哪个工具、传什么参数、中间经历过什么思考,都可能不同。如果没有完整的执行链路记录,出了错只能看到“模型返回了一个错误答案”,但完全不知道它为什么这样做。
我自己的经历是:一个文档处理 Agent 在生产环境偶尔会把日期字段解析成完全错误的值,用户投诉了很多次,团队复盘了半天连“错误是发生在模型推理阶段还是下游系统解析阶段”都没定位清楚。后来补上了整条链路的追踪日志,才看清是提示词里日期格式示例不完整,模型在某些语言环境下自动切换成了另一种日期习惯。这个根因,藏在执行链路的最末端,没有可观测性寸步难行。
2.5 权限与安全边界:Agent 能“动手”之后,风险敞口被放大
对话式 AI 错了顶多答错一句话,Agent 错了可能是真实系统里的一个错误操作——发错邮件、改错订单、触发不该触发的流程。权限边界就成了量产前必须直视的问题。
两个典型的风险:第一是 Agent 可调用的工具权限过大,Demo 阶段为了省事直接给了高权限账号,上线之后 Agent 在某些意图模糊的输入下,可能去调用不该它调用的写操作接口;第二是提示词注入,用户输入里藏了恶意指令,诱导 Agent 执行非预期动作,这在开放输入场景里尤其危险。
我见过最惊险的一次:一个 AI 工单分类 Agent 因为 Demo 时图省事,给它的工具权限包含了“直接修改工单状态”的写接口。某次测试用户输入了一个精心构造的句子,模型听信了输入里的指令,真的把一个已关闭的工单重新打开了。虽然没造成实质损失,但这件事给团队敲了警钟——生产环境里,Agent 的权限边界必须默认最小化,宁可功能降级也不能裸奔。
3. 谁在补位:工程侧、平台侧、组织侧的三层解法
回到标题里的问题:“谁在补位?”我的观察是,补位的不是某一个神奇模型,也不是某一款万能工具,而是三层力量:工程侧的治理体系、平台侧的基础设施、组织侧的机制保障。这三层缺一不可。
3.1 工程侧补位:把 Agent 当分布式系统来对待
工程侧最好理解,就是把一套成熟的软件工程方法论挪到 Agent 上来,但要做针对性改造。
第一件事是建评测集。不是 POC 里那种几十条精选样本,而是从真实业务里持续抽样的回归评测集。每次改提示词、换模型、调工作流,都拿这套评测集跑一遍,防止“修了一个问题,引入三个回归”。这个评测集要覆盖长尾场景,包括错别字输入、歧义指代、异常格式、边缘情况。
第二件事是链路追踪。Agent 的每一次完整任务,从用户输入开始,到模型推理、工具调用、结果整合、最终输出,全程记录。出了问题时能回放整条执行路径,逐帧排查。这个能力不是可选项,而是生产环境的入场券。没有链路追踪的 Agent 项目,我建议一律不许上线。
第三件事是沙盒演练。Agent 在生产环境动手之前,先在沙盒环境里模拟真实业务系统,人为注入各种故障——外部接口超时、返回异常、数据不一致——测试 Agent 的兜底表现。很多在演练中暴露出来的问题,等到生产环境再发现,代价已经大很多。
3.2 平台侧补位:模型网关、缓存与安全护栏
平台侧的补位,是把 Agent 依赖的公共能力沉淀成基础设施,而不是每个项目从零造轮子。
模型网关是第一个需要补的。它负责统一接入多家模型供应商,做流量分发、限流、熔断、降级。生产环境里任何一个模型都可能有故障或性能波动,网关让团队可以快速切换备用模型,而不是被单一供应商绑定到死。网关还可以做缓存层,对高频的重复请求直接命中缓存,省下大量 token 成本。
第二个是安全与权限基础设施。包括统一的密钥管理与凭据托管、数据脱敏层、敏感操作审批流。Agent 通过平台调用业务系统的写操作之前,必须经过统一鉴权,且默认拒绝越权调用。这个护栏如果靠每个项目自己实现,既容易遗漏,也难以统一审计。
第三个是运行时的监控告警体系。围绕 Agent 的端到端任务,建立键指标:成功率、人工干预率、单任务成本、P95 延迟、外部工具错误率。设好阈值,异常自动告警,让团队在用户投诉之前先发现问题。
3.3 组织侧补位:试点与量产的“门径管理”
最后是组织机制,这部分往往比技术更难。
我观察到一个普遍现象:很多公司把“Agent 试点项目”和“Agent 生产项目”放在同一个筐里管理,用的是同一套资源和流程。结果就是试点项目享受着研发团队的高密度支持,一旦转生产,支持一去,立刻打回原形。组织上必须区分两类项目,并建立从试点到生产的“门径评审”机制。
门径评审的核心是:从试点进入量产,必须满足一系列硬件条件——评测集覆盖率达标、可观测性能力配套、权限边界收敛、应急预案就绪。不达标就不放行,哪怕模型效果再好。这条红线一旦立起来,很多“看起来很美”的试点就会被挡在生产门口——这正是标题里那个“门”的真实含义。
我在某企业内部看过一个特别有效的做法:他们设置了一个“Agent 量产评审会”,每月开一次,所有准备上生产的 Agent 项目都要过会答辩。答辩不是听产品经理讲漂亮数据,而是现场演示监控面板、异常处理机制和灰度方案。好几个项目被打了回去,理由都是“故障预案不完整”或“权限设计不收敛”。虽然当时有人觉得流程太繁重,但半年后回看,凡是过了评审的 Agent,生产稳定率明显比同期没经过评审的项目高出一截。
4. 一份可以抄作业的量产路径:我踩过的坑与验证过的清单
最后这部分,我把多次落地实践中验证有效的路径整理成一份可复用的清单。不是理论推演,是踩过坑之后捞出来的干货。
4.1 先立指标再动工:量产准入的量化门槛
量产准入清单,我建议至少包含以下这些指标项。不是说每个指标所有项目都要一模一样,而是量级要有红线:
| 指标项 | 含义 | 我的经验红线 |
|---|---|---|
| 任务成功率 | 端到端任务完成的比例,不含人工介入的成功 | 不低于 85% |
| 人工干预率 | 需要人工介入处理的占比 | 不高于 15% |
| P95 延迟 | 端到端任务耗时的第 95 百分位 | 不超过 20 秒(不含异步任务) |
| 单任务成本 | 平均每个完整任务的 token+工具调用费用 | 视业务客单价而定,需要有上限 |
| 指标回归通过率 | 回归评测集上的通过比例 | 不低于 90% |
| 安全事件数 | 权限越权、提示词注入成功等事件 | 0 |
| 沙盒演练通过率 | 人为故障注入后的自愈/兜底成功率 | 不低于 80% |
这里面,人工干预率很容易被忽略。很多团队觉得 Agent 能自动完成任务就好,却忘了为“自动不了”的情况留后路。一个稳妥的设计是:Agent 判断自己无法完成时,主动转接人工,而不是硬着头皮继续。这个“主动投降”的能力,比“勉强完成但结果错误”好得多。
4.2 灰度节奏与回滚预案:从 5% 到 100% 的推进方式
量产不是一键全量,而是分阶段灰度。我用的节奏大致是这样的:
第一阶段,放 5% 的真实流量,观察一至两周。这个阶段重点是看监控指标和人工干预内容,前两周基本能暴露大部分上下文断裂、工具调用错误和成本异常。指标稳定才进入下一阶段。
第二阶段,放到 30% 到 50%,持续一到两周。这个阶段开始出现长尾输入,评测集里没见过的场景会陆续暴露。我发现很多问题就集中在这个阶段爆发,所以人工兜底团队必须保持在线响应。
第三阶段,放到 100%。即便全量之后,也要保留随时回滚到人工处理流程的能力。我见过最稳妥的做法是:在人工工作台保留原流程的入口,Agent 只是“建议者”,后端系统和人工通道随时可以绕开 Agent 直达处理。这让团队在心理和安全上都有了底。
4.3 运行时监控与运营 SOP:上线只是开始
上线之后,真正的运营才刚刚开始。Agent 的生产运营和传统系统运维是两个思路,重点要盯的是“提示词漂移”和“输入端分布漂移”。
提示词漂移的意思是:明明没有改任何配置,但模型因为版本更新、服务端调整,行为发生了变化。输入端分布漂移则是说:业务的输入语料会随时间变化,比如换季、促销、热门事件,都会让用户问题分布偏移,之前测试表现良好的场景可能在几天内就崩盘。
针对这两种漂移,我的做法是每周跑一次回归评测集,对比连续几周的数据,发现指标下滑就立刻排查是哪个维度出了问题。同时每月抽一批准线上真实输入,人工标注模型表现,作为评测集的增量补充。
4.4 经验谈:哪些“坑”反复出现,如何提前规避
如果只能分享一段个人体会,我想说:Agent 量产这个事,最大的坑不是技术本身,而是“过早乐观,过晚止损”。
我做过不止一个项目,POC 阶段大家热情高涨,觉得 AI 马上能替代多少人力,到了生产才发现各种接缝处的脏活累活没人管——数据权限没打通、接口文档不完整、业务规则二义性——这些才是最耗时间的部分。与其把时间花在调提示词上,不如先把数据和工具的底座做扎实。
还有一种反复出现的坑:过度相信模型“会自己处理长尾异常”。实际上,现阶段模型在只有模糊预期、没有明确操作流程的任务上,依然表现不稳。我给团队最早的几条铁律里有这样一条:“能给模型配计算器,就别让它心算”。意思是,该调用确定工具的场景,坚决用工具代码实现确定性逻辑,而不是指望模型靠推理硬扛。确定性逻辑交给代码,弹性逻辑交给模型,这条边界分得越清楚,Agent 就越稳。
最近我还新加了一条铁律:凡是 Agent 要操作关键业务数据的场景,一律先设计“人工确认闸门”。工具调用的最终提交,默认经过一步人工抽查或审批,直到积累了足够的自动运行信心,再逐步放权。这不是保守,是量产路上少交学费的智慧。
我自己的感受是:那个 89% 的失败率,平移到我接触过的所有项目里,真的一点都不夸张。但反过来看,这个数据也说明行业共识正在形成——Agent 要真出价值,短板早就不在模型聪明的程度,而在于工程化、平台化和组织化够不够硬。谁先把这个“补位”体系搭起来,谁就有机会跑赢那个 89% 的淘汰线。