先決定你現在是要學,還是要在專案裡做
網站負責解釋與分發工作包;真正的 Repository 掃描、缺口判斷與文件產出交給 Coding Agent。
SDLC 實作課 · 交付物練習
先理解這份文件替你消除什麼不確定
讓雲端帳單變成可歸因、可預警的指標
雲端成本失控大多不是被攻擊,是某個資源被遺忘。Cost Monitor 把帳單拆到服務 / 環境 / 團隊,並設燃燒率告警與預期 baseline。
誰負責、交給誰
主責: DevOps / FinOps
協作: 各服務 owner、Finance、Architect(架構級成本決策)
下游收件: Capacity Planning、Deprecation Plan、ADR
何時值得做
必要時機: 多服務共用 account、跨團隊預算、預期月度成長
不需要時: 單人專案、定額預付
常見誤用: 只看總額不分群;無 tag 規範;告警閾值絕對值而非比率
- 01讀大綱
- 02比範本
- 03填素材
- 04貼提示詞
- 05對照驗收
Anatomy · 文件解剖
輕量版先回答 6 個核心章節
章節名稱可以因團隊調整,但每一段要求的判斷不能被省略。先讀問題,再看格式。
- 01
Executive Summary
範本必要章節
3-5 行,主管 30 秒讀完。內容:總月度成本、MoM delta、top 1-2 driver、最大 savings 候選
- 02
Cost per Service(top 5-10)
範本必要章節
排序 by monthly_cost desc;tag_owner = untagged 須在第 4 段列入 untagged bucket
- 04
Anomaly & Attribution
範本必要章節
anomaly 用比率,不准用絕對值;untagged_bucket 必填即使是 $0
- 05
Savings Candidates
範本必要章節
每條必含 effort + risk + risk_reason + slo_impact 四件;risk=high 須在 risk_reason 寫明何時觸發
- 07
Budget Alerts
範本必要章節
至少 2 條 alert(forecast 超預算 + untagged bucket 超門檻)
- 09
Decision Log(key 2-3 條)
範本必要章節
每條必含 chosen + 至少 1 個 rejected + 拒絕原因
Study · 對照學習
同一份交付物,先練核心,再看完整深度
輕量範本適合第一次練習與 MVP;完整範本保留跨職能交棒需要的細節。兩者都要求未知事項保持可見。
這張卡目前提供已審定的輕量與完整範本;不以 AI 臨時生成的內容冒充實際案例。
30 分鐘內先完成核心章節。
---
doc_type: "cost-monitor"
variant: "light"
status: "draft"
owner: "<your-name>"
last_updated: "YYYY-MM-DD"
upstream:
required: ["billing-export", "service-inventory"]
optional: ["tag-policy"]
---
# Cost Monitor: <account / project>
**Status:** Draft v0.X · **Owner:** <DevOps name> · **Last updated:** YYYY-MM-DD
> [!IMPORTANT]
> **AI 填寫規則:** 本範本 6 段(編號 1, 2, 4, 5, 7, 9),全部必填——刻意沿用完整版章節編號讓兩版可對照。每結論行內加 `(依據:billing §XXX)`;每量化欄位帶 `[H]/[M]/[L]` confidence badge;缺資料寫 `_TODO: 需要 XXX_` 不編造;anomaly 必須用比率(% MoM 或 σ)而非絕對值;每個 savings 必含 effort + risk + SLO impact 三件。
---
## 1. Executive Summary
<!-- ai-fill: 3-5 行,主管 30 秒讀完。內容:總月度成本、MoM delta、top 1-2 driver、最大 savings 候選 -->
<3-5 行說明>
> **TL;DR:** <一句話:本月 $X、MoM +Y%、最大 driver 是 Z>
---
## 2. Cost per Service(top 5-10)
<!-- ai-rule: 排序 by monthly_cost desc;tag_owner = untagged 須在第 4 段列入 untagged bucket -->
| Service | Monthly $ | MoM Δ% | Tag owner | Confidence |
|---|---|---|---|---|
| <checkout-api> | $X | +12% | team-payments | **[H]** |
| <log-pipeline> | $Y | +45% | untagged | **[M]** |
| ... | ... | ... | ... | ... |
---
## 4. Anomaly & Attribution
<!-- ai-rule: anomaly 用比率,不准用絕對值;untagged_bucket 必填即使是 $0 -->
### Anomaly detection
| Field | Value |
|---|---|
| **Baseline** | trailing 30d median + seasonality adj |
| **Threshold** | > 2σ OR > 25% MoM |
| **Ignored events** | <release X, marketing Y> |
### Attribution tags
| Field | Value | Confidence |
|---|---|---|
| **Required tags** | team / feature / env / cost_center | — |
| **Current coverage** | <e.g. 78%> | **[H]** |
| **Untagged bucket** | $<N> · `_TODO: 歸因_` | **[M]** |
---
## 5. Savings Candidates
<!-- ai-rule: 每條必含 effort + risk + risk_reason + slo_impact 四件;risk=high 須在 risk_reason 寫明何時觸發 -->
| Candidate | Saving $/mo | Effort | Risk | Risk reason | SLO impact | Confidence |
|---|---|---|---|---|---|---|
| <rightsize ec2-prod-checkout> | $X | M | medium | 黑五流量回升會 throttle | burn_risk | **[M]** |
| <log retention 90d → 30d> | $Y | S | low | debug 視窗縮短 | neutral | **[H]** |
---
## 7. Budget Alerts
<!-- ai-rule: 至少 2 條 alert(forecast 超預算 + untagged bucket 超門檻) -->
| Alert | Threshold | Channel | Audience |
|---|---|---|---|
| Forecast > budget × 1.1 | 10% over | slack + email | DevOps + Finance |
| Untagged bucket > 10% of total | 10% | slack | DevOps |
---
## 9. Decision Log(key 2-3 條)
<!-- ai-rule: 每條必含 chosen + 至少 1 個 rejected + 拒絕原因 -->
| Date | Decision | Options | Chosen | Rejected why | Confidence |
|---|---|---|---|---|---|
| YYYY-MM-DD | RI 1y vs 3y vs SP | on-demand / RI-1y / RI-3y / SP | SP | RI-3y (commit 太久)、on-demand (省太少) | **[H]** |
---
> [!CAUTION]
> **輸出前 AI 自檢:**
> - [ ] 6 段 H2 章節齊全(編號 1, 2, 4, 5, 7, 9)
> - [ ] Cost per service 表帶 `[H/M/L]` badge + MoM Δ
> - [ ] Anomaly 用比率(% / σ)不准用絕對值
> - [ ] Untagged bucket 必填(即使 $0)
> - [ ] 每個 savings 含 effort + risk + risk_reason + slo_impact
> - [ ] Budget alerts ≥ 2 條
> - [ ] Decision Log ≥ 1 條,每條有 rejected reason
> - [ ] 無 YAML / JSON schema 輸出(cost report 是給人讀的 markdown)Practice · 換你試做
先用自己的話交代素材,不需要先學會工程術語
確定的就寫,不確定的留白。下一步要做的是請 Agent 找缺口,不是讓它替你猜一套合理答案。
可以先留白;複製提示詞後再到 Coding Agent 裡補充。
AI Practice · 手動三步
先問、再寫、最後審,不把整條流程鎖死
每一步都是獨立工作包。你可以停下補資料、修改限制或重做某一步,不需要服從固定的 Agent 接力流程。
只找阻擋文件成立的未知
先補會改變範圍、判斷或驗收結果的資訊,不急著寫文件。
我要製作「Cost Monitor · 成本監控」。先不要產出文件。
請根據我的素材,找出會影響這份文件正確性或可執行性的未知事項,一次最多問 5 題。
每題請包含:
1. 問題
2. 為什麼現在必須知道
3. 它會影響哪個章節或決定
已經回答的事不要重問;可以延後的事標成「待決策」;不要替我猜答案。
本文件的核心章節:Executive Summary、Cost per Service(top 5-10)、Anomaly & Attribution、Savings Candidates、Budget Alerts、Decision Log(key 2-3 條)複製後,請在標示位置貼上自己的素材。
Review · 自己驗收
文件存在,不代表下一個角色真的能使用
逐條檢查 Agent 的輸出。人類負責需求、限制與驗收,也必須能說明重要結論從哪裡來。
帶著這份文件,繼續到「Deprecation Plan · 廢棄計畫」
下一張卡會接住新的決策問題;不用一次把整條 SDLC 全做完。
