先決定你現在是要學,還是要在專案裡做
網站負責解釋與分發工作包;真正的 Repository 掃描、缺口判斷與文件產出交給 Coding Agent。
SDLC 實作課 · 交付物練習
先理解這份文件替你消除什麼不確定
讓上線變成可觀測的實驗,而不是一次性押注
Big bang release 在意外面前無能為力。Canary 把流量切片,先放 1%、5%、25%,每階段以 SLI 為門檻自動晉級或退回。
誰負責、交給誰
主責: DevOps
協作: SRE 設 SLI、Dev 設 feature flag、PO 確認業務指標
下游收件: Release Plan、Rollback Plan
何時值得做
必要時機: 核心路徑變更、性能敏感、規模 ≥ 數萬 DAU
不需要時: 內部工具、低流量服務
常見誤用: 只看 HTTP 5xx 不看業務指標;canary 與 baseline 環境不對等
- 01讀大綱
- 02比範本
- 03填素材
- 04貼提示詞
- 05對照驗收
Anatomy · 文件解剖
輕量版先回答 6 個核心章節
章節名稱可以因團隊調整,但每一段要求的判斷不能被省略。先讀問題,再看格式。
- 01
Executive Summary
範本必要章節
3-5 行,on-call SRE 30 秒讀完。寫「灰度幾階段、總時長、最大 blast radius」
- 02
Stages
範本必要章節
3-4 階段為宜(例:1% → 5% → 25% → 100%)。每階段必含 traffic % / duration / population
- 03
Success Criteria per Stage
範本必要章節
每階段同時含 SLI 門檻 + 業務 KPI 門檻,避免只看 5xx 不看 conversion
- 05
Abort Signals
範本必要章節
區分 hard_abort(立即退回)與 soft_abort(暫停觀察);hard 必須含 SLI 急速劣化條件
- 07
Blast Radius per Stage
範本必要章節
每階段估算 affected_users 數量;高風險 cohort 單獨列
- 10
Decision Log(key 2-3 條)
範本必要章節
每條必含 chosen + 至少 1 個 rejected option + 拒絕原因
Study · 對照學習
同一份交付物,先練核心,再看完整深度
輕量範本適合第一次練習與 MVP;完整範本保留跨職能交棒需要的細節。兩者都要求未知事項保持可見。
這張卡目前提供已審定的輕量與完整範本;不以 AI 臨時生成的內容冒充實際案例。
30 分鐘內先完成核心章節。
---
doc_type: "canary-strategy"
variant: "light"
status: "draft"
owner: "<your-name>"
last_updated: "YYYY-MM-DD"
upstream:
required: ["slo", "release-plan"]
optional: ["business-kpi"]
---
# Canary Strategy: <release-name>
**Status:** Draft v0.X · **Owner:** <DevOps name> · **Last updated:** YYYY-MM-DD
> [!IMPORTANT]
> **AI 填寫規則:** 本範本 6 段(編號 1, 2, 3, 5, 7, 10),全部必填——刻意沿用完整版的章節編號讓兩版可對照。每結論行內加 `(依據:slo §XXX / kpi §YYY)`;每量化欄位加 `[H]/[M]/[L]` confidence badge;缺資料寫 `_TODO: 需要 XXX_` 不編造;每階段 success criteria 必須同時含 1 個 SLI + 1 個業務 KPI。
---
## 1. Executive Summary
<!-- ai-fill: 3-5 行,on-call SRE 30 秒讀完。寫「灰度幾階段、總時長、最大 blast radius」 -->
<3-5 行說明>
> **TL;DR:** <一句話:階段切分 + 總 bake time + abort 觸發>
---
## 2. Stages
<!-- ai-rule: 3-4 階段為宜(例:1% → 5% → 25% → 100%)。每階段必含 traffic % / duration / population -->
| Stage | Traffic % | Duration | Population | Promote gate | Confidence |
|---|---|---|---|---|---|
| 1 | 1% | 30 min | internal-only | auto (SLI pass) | **[H]** |
| 2 | 5% | 2 hr | <geo / cohort> | auto | **[H]** |
| 3 | 100% | — | all | manual | **[M]** |
---
## 3. Success Criteria per Stage
<!-- ai-rule: 每階段同時含 SLI 門檻 + 業務 KPI 門檻,避免只看 5xx 不看 conversion -->
### Stage 1
- **SLI:** error_rate < 1% · p95 latency < 200ms · saturation < 70% **[H]**
- **Business KPI:** conversion_delta ≥ -2% vs baseline **[M]**
- **Source:** slo §XXX + kpi §YYY
### Stage 2 / 3
<同格式>
---
## 5. Abort Signals
<!-- ai-rule: 區分 hard_abort(立即退回)與 soft_abort(暫停觀察);hard 必須含 SLI 急速劣化條件 -->
- **Hard abort(立即退回):**
- error_rate > 5% for 1 min
- p95 latency > baseline × 2 for 2 min
- **Soft abort(暫停觀察):**
- conversion 下滑 > 5% for 10 min
---
## 7. Blast Radius per Stage
<!-- ai-rule: 每階段估算 affected_users 數量;高風險 cohort 單獨列 -->
| Stage | Affected users | Affected features | Confidence |
|---|---|---|---|
| 1 | ~<N> internal | <feature list> | **[H]** |
| 2 | ~<N> external | ... | **[M]** |
---
## 10. Decision Log(key 2-3 條)
<!-- ai-rule: 每條必含 chosen + 至少 1 個 rejected option + 拒絕原因 -->
| Date | Decision | Options | Chosen | Rejected why | Confidence |
|---|---|---|---|---|---|
| YYYY-MM-DD | 階段切分節奏 | 1/5/25/100 vs 5/50/100 | 1/5/25/100 | 5/50 跳太快、blast radius 超出 error budget | **[H]** |
---
> [!CAUTION]
> **輸出前 AI 自檢:**
> - [ ] 6 段 H2 章節齊全(編號 1, 2, 3, 5, 7, 10)
> - [ ] 每階段 success criteria 同時含 SLI + 業務 KPI
> - [ ] Abort signals 區分 hard / soft
> - [ ] Blast radius 每階段都有 affected_users 估算
> - [ ] Decision Log ≥ 1 條,含 rejected reason
> - [ ] 無 YAML / JSON schema 輸出Practice · 換你試做
先用自己的話交代素材,不需要先學會工程術語
確定的就寫,不確定的留白。下一步要做的是請 Agent 找缺口,不是讓它替你猜一套合理答案。
可以先留白;複製提示詞後再到 Coding Agent 裡補充。
AI Practice · 手動三步
先問、再寫、最後審,不把整條流程鎖死
每一步都是獨立工作包。你可以停下補資料、修改限制或重做某一步,不需要服從固定的 Agent 接力流程。
只找阻擋文件成立的未知
先補會改變範圍、判斷或驗收結果的資訊,不急著寫文件。
我要製作「Canary Strategy · 灰度策略」。先不要產出文件。
請根據我的素材,找出會影響這份文件正確性或可執行性的未知事項,一次最多問 5 題。
每題請包含:
1. 問題
2. 為什麼現在必須知道
3. 它會影響哪個章節或決定
已經回答的事不要重問;可以延後的事標成「待決策」;不要替我猜答案。
本文件的核心章節:Executive Summary、Stages、Success Criteria per Stage、Abort Signals、Blast Radius per Stage、Decision Log(key 2-3 條)複製後,請在標示位置貼上自己的素材。
Review · 自己驗收
文件存在,不代表下一個角色真的能使用
逐條檢查 Agent 的輸出。人類負責需求、限制與驗收,也必須能說明重要結論從哪裡來。
帶著這份文件,繼續到「UAT · 使用者驗收測試」
下一張卡會接住新的決策問題;不用一次把整條 SDLC 全做完。
