影子模式:让Agent先旁观两周,再让它说话

📅 2026/10/27 ✍️ 小文 📖 约 1 分钟

Agent上线最危险的不是它做错事,而是你不知道它会做错什么。影子模式让AI在生产环境里只观察不干预,用真实流量积累置信度。本文给出投放、标注与准入判据的完整方法。

我们见过最有价值的Agent上线策略,不是精细的灰度比例,而是让Agent先闭嘴。

这叫影子模式(Shadow Mode):Agent 接入真实生产流量,照常生成它的判断和建议,但输出不返回给用户,也不触发任何动作。人照常干活,Agent 在旁边”做题”,然后人工比对。

几周之后,你手里有了一份关于”这个Agent到底会犯什么错”的真实数据。这比任何离线评测都值钱。

为什么影子模式不可跳过

离线跑分测不出“人机分歧”

离线评测告诉你“模型对标准答案的正确率”。但生产环境的真实问题是:它和现有流程里的人,判断是否一致?

如果它95%一致,那5%的分歧点在哪里?这些分歧是新发现的问题,还是人错了?

这两个问题只能在真实流量里回答。而且答案往往意外——我们见过不止一次,“不一致”的案例里有相当比例是人工流程本身有遗漏。

影子模式能暴露“边缘语言”

用户真实输入的形态,远超你的想象:错别字、方言、夹杂表情、粘贴了整段合同、一句话里问了三个问题。这些在测试集里几乎不存在,但在生产流量里天天出现。

它能让你量化“可接受误差”

上线之前,你会觉得“必须100%准确”。看过影子数据之后,你会发现“92%准确,剩下8%是低风险礼貌性问题,人工扫一眼就行”。

这个认知转变很重要:它把一个不可能达成的目标,变成一个可接受的运营指标。

影子模式怎么搭

架构:旁路,不并联

用户请求 → 现有流程 → 返回用户
                ↓(异步复制一份)
           Agent 影子通道 → 记录输出 → 不返回

三个关键约束:

  1. 异步。影子通道不能影响主链路延迟,也不能影响主链路的可用性。它挂了就挂了,不能拖累生产;
  2. 只读。影子模式下,Agent 可以调用只读工具(查询、检索),绝不能调用写工具。这一点必须从工具权限层面硬性禁止,不能靠提示词约束;
  3. 全量记录。输入、输出、工具调用链、耗时、token 消耗,全部落库。少记任何一项,后面都没法复盘。

运行时长的确定

不按“两周”这种日历时间,按样本量。经验值:

  • 需要覆盖至少 2000 条真实请求;
  • 覆盖至少 3 类主要意图,每类不少于 300 条;
  • 包含至少 一次业务异常事件(大促、系统变更、节假日),因为异常时段的输入分布完全不同。

如果日均流量只有50,那需要更长时间;如果有2万,三天就够。按样本量算,不按天数算。

标注:这是最容易被敷衍的环节

2000条全部人工细标不现实。分层抽样:

抽样层比例标注方式
影子输出与会话最终结果一致抽10%快速确认(30秒/条)
影子输出与结果不一致100%详细标注
影子置信度低100%详细标注

第二层是全量标注的核心——分歧就是金矿。每一条都要标:

  • 错的是一方还是双方?
  • 错在理解(没听懂)还是执行(听懂了做错)?
  • 如果这个输出真的发给用户了,后果等级是?(无害/尴尬/需纠正/产生损失)

最后一问是关键。它把你从“准确率焦虑”带到“风险分级”上。

准入判据:什么情况可以放出来

影子模式跑完,用这四个数字决定是否上线:

1. 一致率 ≥ 88%。 低于这个数,说明Agent还没理解你的业务语义,需要补上下文或改提示词。

2. 高后果错误率 ≤ 0.5%。 即“产生损失”级别的错误占比。这个数字比总准确率重要得多——1000条里10条小错可以接受,2条扣错款不行。

3. 边缘意图覆盖率 ≥ 90%。 检查哪些意图的影子样本不足。样本不足的意图,上线后不要放行自动执行。

4. 单位成本可接受。 影子期间的token消耗要按100%流量折算,看真实成本。

四项都达标才放。任一项不达标,回到优化环节,不要“先上再看”。

上线时保留的一项设计

不要把影子模式当成一次性阶段。上线后应该永久保留 5% 的影子流量。

好处有两个:

  • 持续用真实流量发现新的输入形态;
  • 当你准备升级模型或改提示词时,有一批持续更新的对照数据,而不必重新搭一次影子环境。

这也解决了一个长期问题:上线半年后,你的评测集已经腐烂(详见我们关于评测集维护的文章),但影子流量永远是最新的。

一句话

影子模式的本质是:把不确定性从”未知”变成”已知”。

你不知道Agent会犯什么错的时候,它是个风险。你知道它会犯哪些错、多大概率、多严重时,它就是个可控的工具。中间那一步,就是安静地让它先做两周的题。

📤 分享到