摘要:生产 Agent 切版本不能「离线绿测即全量」:须先影子对照------候选与现网同输入旁跑,用户只见现网;读用只读凭证真跑,写工具换成提案/recorder;提案与现网或人工决策 diff 并盲审;离场标准事先写明,达标再进 canary。对照 Microsoft Dynamics Case Management Agent Shadow Mode、Cloudsail Agent Shadow、AI Agents Engineered 五阶梯、Flagsmith Shadow Deployment 与 Fowler Dark Launching,给出可执行控制面清单。
标签 :人工智能 · AIGC · 机器学习 · 云计算 · DevOps

开篇
【分析】Agent 上线后另一类「假安全感」,是把离线评测绿当成可全量:suite 过了就切 100%------一上生产就撞上评测从未写过的真实输入与静默坏输出。【分析】真正要守住的是影子对照控制面 :候选与现网同输入旁跑 ;用户只见现网 ;读用系统只读凭证 真跑(prompt「不要写」不是控制);写工具换成 recorder/提案 并网关拦出站;提案与现网/人工 diff (分歧盲审、同意也抽审);离场标准事先写明 ,达标才进 canary------那里才有真实用户后果。【事实|厂商文档】Microsoft Dynamics 365 博客《Shadow Mode in Case Management Agent》(2026-07-09)写明:Shadow Mode 让 Agent 在 live cases 上观察、预测、推荐与模拟;不更新 case、不发客户通信、不改 status、不打断现有工作流 ;覆盖 enrichment / resolution / follow-up&closure,并可对比预测与实际(Shadow Mode)。【事实|公开文档】Cloudsail《Running an AI agent in shadow mode before it can act》(更新 2026-10-22)写明:给目标系统只读凭证 (prompt 指令不是控制);写工具换成 recorder;网络层拦出站邮件;检查有副作用的读;用测试证明写必失败;写被录后后续读不到副作用 → 隔离副本或在第一写处截断比较;提案 vs 人决策分同意/Agent 升级而人完成/分歧盲审;人非 ground truth;同意样本也抽盲审;离场标准事先写明;影子测不了真实写路径与下游反应,位于 offline eval 与 A/B 之间(Cloudsail Shadow)。【事实|公开文档】AI Agents Engineered《Shadow Deploy an AI Agent, Then Canary》(2026-10-07)写明五阶梯:regression gate → shadow → canary → ramp → all traffic ,底下是 feature flag + 不可变 artifact;影子:候选旁跑真实流量,用户只见 incumbent;写动作记录不执行;第一写之后证据变弱;dark launch 与影子同义(并引 Fowler);canary 才是真实用户后果(Shadow then Canary)。【事实|公开文档】Flagsmith《What Is a Shadow Deployment?》写明:镜像真实流量;稳定版对用户;影子响应丢弃/比较;保护写;feature flag 开关;成功标准与结束日事先定(Flagsmith Shadow)。【事实|公开文档】Martin Fowler《Dark Launching》(2020-04-29)写明:在用户无感知下调用新后端行为,以评估负载与性能;亦可新旧并行比较结果只回传一侧;并提醒术语存在语义扩散,计划里要说清是影子还是 canary(Dark Launching)。【事实边界】以上为产品文档/博客中的能力与模式描述;超时/流量%/协议率/天数、Cloudsail 文中 400 cases/318 同意等均为配置与示意 ,不是跨厂商 SLA 或实测承诺。【分析】与分轨一句(已发勿重复):成本(10-10)、执行边界(10-12)、记忆(10-13)、Tracing(10-14)、入参Schema(10-15)、审批门(10-16)、幂等(10-17)、超时熔断(10-20)、限流(10-21)、密钥(10-22)、注入(10-23)、评测门禁(10-24) 、上下文预算(10-25)、会话外置(10-26)、路由降级(10-27)、代码沙箱(10-28)、工具结果校验(10-29)、最小权限(10-30)、灰度金丝雀(10-31) 、运行时熔断(11-01) 、人机升级队列(11-02)------本文专管影子对照:同输入、用户只见现网、写变提案、diff 达标再 canary;不是评测门禁(10-24)、不是提示词金丝雀(10-31)、不是 Feature Flag 停写(11-01)、不是审批门(10-16)。
问题与技术变化
「离线绿测即全量」不是可落地的默认

【分析】直接切全量的典型缺陷有四:① gate 只覆盖已写进用例的失败;② 坏输出不是 500,工单可能隔日才来;③ 误退款/发信/改权限一旦落地,回滚已是事故;④ 小流量 canary 仍是真实用户后果,高风险不该用真人试错。【分析】真闸:先在真实流量上零后果旁跑,用提案 diff 证明「会怎么做」;再 canary 证明「做了之后世界如何」。【预测】跳过影子直接全量或直接 canary,事故会集中在「评测绿、生产静默伤人」。
只读真跑、写变提案、第一写后证据变弱
【事实|公开文档】Cloudsail 强调:只读凭证必须落在目标系统本身 ;写工具整段换成 recorder;出站邮件/消息在网关拦;有副作用的读(标已读、锁记录、吞配额、写审计)也要盘点;并用测试证明影子环境里写必失败 (出处同 Cloudsail Shadow)。【事实|公开文档】AI Agents Engineered 补充:读工具可真跑;写可「记录不执行」或打隔离副本;从第一次被录的写起,候选后续步骤基于替身结果,证据变弱 ------要么在第一写处截断比较,要么给隔离状态副本(出处同 Shadow then Canary)。【事实|厂商文档】Microsoft Dynamics Shadow Mode:Agent 可对 live cases 做 enrichment / resolution / follow-up&closure 的预测与推荐,但永不 更新记录、发客户通信、改状态或打断现网工作流(出处同 Shadow Mode)。【分析|模式归纳】影子的核心解耦是:意图(候选想写什么)与后果(世界是否真被改);解耦载体是只读凭证 + recorder + 网关,而不是 prompt 里的礼貌请求。【预测】只靠「系统提示写着只读」而不换凭证与工具面时,下一波事故会是影子环境里的真实写。
提案 diff、盲审与离场标准

【分析】对照三类结果:同意(同动作同关键键值)、Agent 升级而人完成、分歧待盲审;人决策是参考 不是 ground truth;同意样本也要抽盲审,避免「双方同错」被协议率掩盖。【事实|公开文档】Cloudsail 给出示意读数(假想:400 cases、318 同意等)并强调:结论应来自分类后的裁决 ,不是 headline 协议率;离场标准须事先与流程负责人书面约定------每类最少样本、裁决错误率上限、禁区工具零调用、单案成本上限等;达标只换来监督下的执行资格 ,不是自治(出处同 Cloudsail Shadow)。【事实|公开文档】Flagsmith:成功标准与结束日事先定;写必须有落点计划(模拟或不落生产库);用 feature flag 做影子开关,关断应是配置翻转而非重新发版(出处同 Flagsmith Shadow)。【事实|公开文档】五阶梯把影子放在 regression gate 与 canary 之间:gate 测「已想到的失败」,影子测「真实输入上的提案」,canary 才测「真实用户与下游反应」(出处同 Shadow then Canary)。【事实边界】文中天数、流量%、协议率、样本量为示例/示意,勿写成跨厂商 SLA。【预测】无事先离场标准的影子会变成「图表好看就上」的延期全量。
开发者视角
【分析】更稳妥的顺序不是「先切流量再补影子」,而是先约定工具面读写分轨与离场标准,再挂只读凭证/recorder/网关证明,最后把「达标→canary」写进发布清单并演练关断。以下清单可直接贴进迭代看板:
- 工具面先分轨:列出候选会用的每个工具------真读 / 录写 / 沙箱写;未分类工具禁止进影子。
- 只读凭证硬约束:影子身份在目标系统就是只读;prompt「不要写」只作辅助,不作控制。
- 写工具整段 recorder:提案含工具名、参数、case/session id、时间戳;禁止静默 no-op 假装成功却不落审计。
- 网关/网络层再拦一层:出站邮件、短信、支付回调等在边界拒绝;验收用例:影子环境故意写 → 必须失败。
- 副作用读盘点:标已读、锁行、配额消耗、审计写入------能去副作用就去,否则计入负载与合规成本。
- 第一写策略写明:要么第一写截断只比到提案,要么隔离副本让后续读一致;禁止在无副作用的生产状态上继续「假成功」多步推理还当强证据。
- diff 与盲审协议:同意 / 升级 / 分歧三桶;分歧双盲;同意样本按比例抽审;人非 ground truth。
- 离场标准事先书面化:每类最少样本、裁决错误率、禁区零调用、成本上限、覆盖高峰窗口;达标=监督执行,不是自治。
- 与分轨控制面解耦:离线评测门禁(10-24)管历史集回归;提示词金丝雀(10-31)管真实流量切分与用户可见后果;运行时 kill switch(11-01)管「此刻能否写」;审批门(10-16)管「哪些动作要人」------本文只管「同输入零后果旁跑 + 提案 diff」。
- 验收窄域:影子环境发起退款/发信断言失败;提案与现网 diff 流水可查;关掉 feature flag 后镜像流量与 recorder 立即停;故意缺离场标准则发布清单拒签。
【分析】验收盯:是否仍用 prompt 当只读控制、写工具是否未换 recorder、第一写后是否仍把多步当强证据、有无盲审与离场标准、是否把影子当可跳过 canary 的终局。【分析】排期优先「退款 / 发信 / 改权限 / 部署 / 关单」等带写工具变更;只读小改可缩短影子,但不可默认跳过 canary。【预测】写工具继续变多时,无影子对照会在「第一次真实写」侧先崩。
局限与不确定性
- 文档与博客会演进:以 Microsoft Dynamics Shadow Mode、Cloudsail Agent Shadow、AI Agents Engineered、Flagsmith Shadow Deployment、Fowler Dark Launching 当前版本为准,跟 changelog。【事实边界】
- 配置不是 SLA:流量镜像比例、协议率阈值、天数、样本量为配置与示例;Cloudsail 400/318 等为作者假想示意,勿写进跨厂商合同。【事实边界】
- 影子不替代其他护栏:仍须离线评测门禁、canary/ramp、运行时写开关、审批门、幂等、最小权限工具面、Tracing 等------见分轨专栏。【分析】
- 影子测不到的东西:真实写路径上的重试/幂等/失败、客户与下游反应、用户点踩与放弃------必须再 canary。【分析】
- 负载与合规成本:全量镜像会加倍读流量;个案决策对照可能涉及员工监控,需法务/数据保护提前介入,宜按类别汇总而非按人点名。【分析】
- 术语语义扩散:Fowler 提醒 dark launch 常被误指 canary;计划与值班手册须写清「影子=用户不可见」还是「小流量真实后果」。【事实|公开文档】
- 其余护栏另文:成本/边界/记忆/Tracing/入参 Schema/审批门/幂等/超时熔断/限流/密钥/注入/评测/上下文预算/会话外置/路由降级/沙箱/结果校验/最小权限/金丝雀/运行时熔断/人机升级队列见 10-10 至 11-02;本文不展开。【分析】
主要参考资料
- Microsoft Dynamics 365 Blog,《Shadow Mode in Case Management Agent》(2026-07-09):https://www.microsoft.com/en-us/dynamics-365/blog/it-professional/2026/07/09/shadow-mode-case-management-agent/
- Cloudsail,《Running an AI agent in shadow mode before it can act》(更新 2026-10-22):https://cloudsail.com/blog/agent-shadow-mode-rollout/
- AI Agents Engineered,《Shadow Deploy an AI Agent, Then Canary》(2026-10-07):https://aiagentsengineered.com/blog/shadow-deploy-then-canary/
- Flagsmith,《What Is a Shadow Deployment?》:https://www.flagsmith.com/blog/shadow-deployment
- Martin Fowler,《Dark Launching》(2020-04-29):https://martinfowler.com/bliki/DarkLaunching.html
成稿日期:2026-11-03|技术分享(非资讯专栏)
可落地配套:
· 模板三件套 ¥49 https://afdian.com/item/313b5ee4c6af11f18d555254001e7c00
· 主页 https://afdian.com/a/laoyinai
· 开源评测脚手架 eval-harness-lite 可作本地黄金集起步(MIT)