首页/AI/提示词工程速查/功能开关与实验分流

功能开关与实验分流

用开关控制提示版本、模型路由与新功能可见性:开关分级管理,默认值明确,实验结束设清理期限,防止开关堆积成隐性技术债。

提示词工程速查AI更新于 2026-10-13

功能开关是什么

功能开关把发布与上线解耦:代码与提示先发布、开关默认关闭,需要时再按比例打开,出问题直接关掉而不是回滚发版。开关同时承担灰度、实验分流与应急回退三种角色,因此要分级管理、默认值明确、实验结束设清理期限,否则开关组合会变成没人敢动的隐性技术债。

基本信息

分级发布开关、实验开关、运维开关分开管理,职责不同
默认值生产默认关闭,开启必须是显式操作
粒度支持按租户、用户、百分比分流,避免只能全开全关
清理实验结束设清理期限,定期盘点开关清单
回退关闭开关即恢复旧行为,不依赖重新发版

典型使用场景

  • 提示版本灰度:新版本先放 5% 流量,指标不劣化再逐步放大
  • 模型路由实验:按百分比把请求分到两个模型,对比成本与质量
  • 新功能试运行:面向内部或白名单租户先开,收集反馈再放开
  • 应急回退:线上质量骤降时关开关止损,比等回滚发版快得多
  • 节流保护:高峰期关闭非关键增强功能,保住主链路

开关配置示例

开关配置示例
flags:
  prompt.summarize.version: 1.3.0        # 发布开关:锁版本
  experiment.summarize.json_output:
    enabled: true
    rollout: 10                          # 实验开关:按百分比分流
    default: false
    cleanup_by: 2026-11-01               # 清理期限,到期必须处理
  ops.disable_enhancements: false        # 运维开关:应急用,默认关

开关类型与生命周期

类型生命周期到期处理
发布开关从灰度到全量,几天到几周全量后删除,避免永久保留
实验开关实验期固定,有清理期限实验结束即删或转正式配置
运维开关长期保留定期演练,确认真的能用
租户开关按合同或服务等级随客户状态同步更新
开关默认值设为开启是常见事故来源:出问题时最需要的是“默认安全”,而不是“默认生效”。
开关清单要定期盘点:每一项都应能回答谁负责、何时清理。答不上来的开关,多半已没人记得它的存在,却仍在影响线上行为。

易错点

  • 实验开关长期不清,组合状态复杂到没人敢动
  • 开关默认值设为开启,事故发生时来不及补救
  • 开关读写分散在多处代码,同一开关出现两种判定口径
  • 把安全与合规控制做成开关,一旦被误关防护就整体失效

数据来源与参考

  • Pete Hodgson《Feature Toggles (aka Feature Flags)》(martinfowler.com);持续交付中的发布解耦概念
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌