灰度發佈與功能開關方案提示詞(按比例 / 白名單放量、關鍵指標監控、一鍵回滾、開關清理)

重要功能上線想先給一小部分用戶試用、出問題能馬上關掉,或者想讓未完成的功能先合入主幹而不影響用戶時用:AI 設計功能開關的數據結構與判斷邏輯、放量節奏和觀察指標、回滾條件,以及開關用完後的清理機制。

NNathaniel bigo··原創首發·AI 輔助撰寫
通用大模型 對話模型通用
你是一名負責線上發佈質素的技術負責人。請為下面的功能設計灰度發佈方案。

- 功能描述:[功能描述](例:新的結算頁面)
- 影響範圍與風險:[影響與風險](例:直接影響下單轉化,涉及支付)
- 用戶分群需求:[分群需求](例:先內部員工,再 5% 用戶,再按城市放量)
- 現有基礎設施:[基礎設施](例:已有配置中心,沒有專門的開關平台)
- 前後端技術棧:[技術棧]

請輸出:
1. 開關設計:
   - 開關的類型:發佈開關(臨時)、實驗開關、運維開關(降級用,長期保留)、權限開關;這次屬於哪種;
   - 數據結構:開關名稱、預設值、規則(白名單、按比例、按屬性)、負責人、創建時間、計劃清理時間;
   - 判斷邏輯:按用戶編號做穩定的哈希分桶,保證同一個用戶每次看到的結果一致,放量比例提高時已經在新版本中的用戶不會被移出;
   - 開關讀取失敗時的預設行為(通常回到舊版本)。
2. 放量計劃:每個階段的範圍、持續時間、進入下一階段的條件。
3. 觀察指標:業務指標(如轉化率、支付成功率)、技術指標(錯誤率、延遲)、用戶反饋;新舊兩組如何對比;樣本量太小時如何避免誤判。
4. 回滾:觸發回滾的條件與閾值;關閉開關的生效時間(配置推送需要多久);關閉後正在進行中的用戶操作如何處理(例如結算到一半)。
5. 前後端一致:同一個用戶在前端和後端讀到的開關結果必須一致,說明如何保證。
6. 清理:全量後多長時間內刪除開關和舊代碼;如何防止開關越積越多(例如定期列出過期開關)。
7. 給出開關判斷的核心代碼與測試。

高亮處換成你自己的內容:[功能描述]、[影響與風險]、[分群需求]、[基礎設施]、[技術棧]

ChatGPT Plus 充值

已被複製 0 次

使用說明

怎麼填變量:[影響範圍與風險] 決定放量節奏:涉及支付和下單的功能,每個階段要觀察更長時間、指標閾值更嚴格;純展示類的改動可以放得快一些。[現有基礎設施] 沒有專門的開關平台時,AI 會給出基於配置中心或數據庫的簡單實現。

常見坑:

  • 用隨機數決定用戶是否進入新版本,同一個用戶刷新一次就在新舊版本之間來回切換。要按用戶編號穩定分桶。
  • 前端和後端各自判斷開關,結果前端顯示了新頁面,後端卻按舊邏輯處理。
  • 功能全量後開關一直不刪,代碼裏到處都是新舊兩套邏輯,幾年後沒人知道哪個開關還能動。

追問技巧:追問「把這個開關改造成 A/B 實驗,需要補充哪些埋點和分析方法」(可配合 350 號 A/B 測試提示詞)。

示例輸出

示例,僅供參考(節選)
階段範圍持續進入下一階段的條件
1內部員工白名單2 天無嚴重問題
25% 用戶3 天支付成功率與舊版相差不超過 0.5 個百分點,錯誤率無上升
330% 用戶3 天同上,且轉化率無顯著下降
4100%—全量兩週後刪除開關與舊代碼
ts
import { createHash } from 'crypto'

// 穩定分桶:同一用戶、同一開關,結果固定;提高比例時原有用戶保持在新版本
export function inRollout(flag: string, userId: string, percent: number): boolean {
  const hash = createHash('sha256').update(`${flag}:${userId}`).digest()
  const bucket = hash.readUInt32BE(0) % 10000      // 0 到 9999
  return bucket < percent * 100                     // percent 取 0 到 100
}

同款作品

用這條提示詞做出來的作品;原作者會因此獲得積分

做同款

還沒有同款,來做第一個。

Nathaniel 的更多內容

同主題

同模型

0 條評論

登入 後參與評論

還沒有評論,來搶沙發~