# 灰度发布
灰度发布是一种渐进式版本发布策略，通过将流量按比例分配到不同版本，实现新版本的小范围验证，降低全量发布风险。AgentArts运行时通过访问方式的灰度策略实现版本级别的流量分配。
灰度发布的核心是流量按权重分配。启用灰度策略后，平台将请求按配置的流量比例分发到两个运行时版本：
- **主要版本**：当前主要运行的版本，承载大部分流量。
- **次要版本**：用于测试新功能或新版本稳定性的版本，承载小部分流量。
流量分配通过Miracle沙箱平台的PolicyItem路由规则实现。每个版本对应一个沙箱模板，平台根据权重比例将请求路由到对应版本的沙箱实例。未配置灰度策略时，所有流量路由到单一目标版本（权重为 1）。
![](https://support.huaweicloud.com/highcode-agentarts/public_sys-resources/note_3.0-zh-cn.png)
如果运行时配置了会话存储，请谨慎使用同一会话ID进行跨访问方式调用。当灰度路由的版本与会话已激活的沙箱版本不一致时，会导致调用超时。建议在灰度发布验证时使用新的会话ID。
#### 约束与限制
- 灰度策略需至少2个版本才可启用。
- 每个访问方式仅支持配置一组灰度策略（1个主要版本 + 1个次要版本）。
- 主要版本和次要版本不能选择同一版本。
- 流量权重为0-100的整数，且两版本权重之和必须等于100。
- Latest默认访问方式无法配置灰度策略，需创建新的访问方式。
 
#### 操作步骤
1. 准备新版本。 
   将新版本代码打包为镜像，部署为运行时的新版本（如 v2）。具体操作请参见[通过控制台部署](https://support.huaweicloud.com/highcode-agentarts/agentarts_10_031.html)中的"编辑智能体运行时"。
   
   
2. 创建灰度访问方式。
   
   1. 登录AgentArts智能体平台。
   
   2. 在左侧导航栏选择"托管与运行 \> 智能体运行时"。
   
   3. 单击运行时名称，进入详情页。
   
   4. 在"访问方式"区域，单击"创建访问方式"。
   
   5. 开启"灰度策略"开关。
   
   6. 选择主要版本和次要版本，配置流量比例（如主要版本 90%，次要版本 10%）。
   
   7. 配置完成后单击"确定"。
   
   
   
   
3. 验证新版本。 
   通过灰度访问方式调用运行时，小比例流量会路由到新版本。观察新版本的运行状态和日志，确认功能正常。
   ```
   # 调用灰度访问方式（流量按比例分配）
   POST https://{域名}/runtimes/{runtime_name}/invocations?endpoint=gray-release
   Headers: X-Hw-Agentarts-Session-Id: new-session-id
   Body: {"message": "测试新版本功能"}
   ```
   ![](https://support.huaweicloud.com/highcode-agentarts/public_sys-resources/note_3.0-zh-cn.png)
   建议使用新的会话ID进行灰度验证，避免与会话存储路由冲突。
   
   
4. 逐步扩大流量。 
   如新版本运行正常，逐步调大次要版本的流量比例：
   - 第一阶段：主要版本 90% → 次要版本 10%
   
   - 第二阶段：主要版本 70% → 次要版本 30%
   
   - 第三阶段：主要版本 50% → 次要版本 50%
   
   - 第四阶段：主要版本 20% → 次要版本 80%
   
   
   每个阶段持续观察运行状态、日志和监控指标。
   
   
5. 全量切换。 
   确认新版本稳定后，将主要版本切换为新版本，参考[2]将主要版本流量设为100%，完成灰度发布。
   
   
 
