模型可以热更新,提示词可以随时改,但智能体是一个模型加工具加流程加记忆的复合系统,任何一个环节的改动都可能让线上行为突变。直接全量发布新版本智能体,等于在生产环境做实验。灰度发布不是可选项,是必选项。

一、流量切分:按用户、按会话、按任务类型

灰度第一步是决定谁先用上新版本。常见策略有三种:按用户比例切分,如百分之五的用户先行,适合通用型助手;按会话切分,新开的会话走新版本,老会话保持旧版本直到结束,避免一次对话中途行为突变;按任务类型切分,先放行低风险任务如问答,工具调用类任务后放行,把爆炸半径控制在最小。工程实现上一般在网关层按规则路由,版本号作为显式标签打在每次请求上,方便追踪。

二、影子运行:先看它会做什么,再让它真做

对高风险的智能体,建议先跑一段影子模式:新版本接收线上真实请求的复制流量,完整跑完推理和工具调用规划,但所有写操作,包括发消息、改数据、调外部接口,都被拦截,只记录它本来想做什么。通过对比影子输出和旧版本实际输出的差异,能在零风险的情况下发现行为漂移。影子阶段重点看两类指标:工具调用序列的变化,比如是不是开始调不该调的工具;以及拒绝率和求助率的变化,比如是不是变怂或者变莽了。

三、回滚指标:先定义什么叫坏了

灰度没有回滚指标就是裸奔。智能体的回滚指标要分三层:任务成功率,即端到端任务完成的比例,掉得太多直接回滚;异常行为率,即工具调用失败、超时、进入死循环的比例;用户反馈信号,即差评率、人工接管率、问人触发率的异常波动。每个指标都要设自动熔断阈值,触发后自动切回旧版本,而不是等人工发现。注意基线要用灰度前一段时间的稳定数据,节假日、大促等特殊时段要单独设基线。

四、与模型版本解耦:智能体版本不等于模型版本

一个常见的坑是把智能体版本和底层模型版本绑在一起发布,出了问题不知道是谁的锅。正确做法是两者独立编号、独立灰度:模型升级走模型自己的灰度通道,智能体侧通过配置指定模型版本;智能体的提示词、工具编排改动走智能体自己的版本号。发布矩阵里要记录每次线上组合,比如智能体二点三版搭配模型某版本,出问题时能精确回滚到上一个稳定组合,而不是一锅端。

灰度发布的本质,是承认复杂系统一定会出意外,然后用工程手段把意外的代价压到最小。对智能体这种行为空间巨大的系统,这一点比传统服务重要十倍。