thinking-margin-of-safety について
不確実性と失敗時のコストにより、余裕のない計画が危険な場合にバッファを設定する判断スキルです。明示的な見積もり、失敗の閾値、監視指標を用いて、容量、日程、予算、本番計画を検討します。
主な機能
- 01余裕を加えない基準見積もり
- 02不確実要因と失敗時のコストを列挙
- 03リスクに応じたバッファ設定
- 04不可逆な失敗の制約を確認
- 05バッファ費用と失敗リスクを比較
- 06計画と監視指標を設定
活用シーン
- 01負荷が不確かな状況で容量を設定
- 02超過コストの大きい日程や予算の計画
- 03拡張や復旧に必要な余裕の決定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ tjboudreaux/ cc-thinking-skills --skill thinking-margin-of-safetyインストール後、Claude Code で/thinking-margin-of-safetyを入力して読み込まれたか確認します。
詳細
安全余裕
基本ルール:残存する不確実性と違反時のコストによって、破綻や高コストの失敗が起こり得る場合は、バッファを加えた数値を確定します。安全余裕は見積もり誤差を吸収するものであり、怠慢のための余分な余裕ではありません。
使用する場面
- 負荷の不確実性がある状況でのキャパシティ、タイムアウト、プールサイズ、キューの深さ、ストレージ、SLA の数値
- 過少な見積もりが大きなコストにつながるスケジュールや予算の確約
- スケーリングや復旧に時間がかかる場合の、アーキテクチャ上の余裕
- 間違えた場合の損失が非対称に大きい、あらゆる公約や本番環境での確約
使用しない場面
- 違反を即座に検知し、ほぼコストをかけずに修正できる場合(高速な自動スケーリング、稼働中に調整できる上限など)。固定の大きなバッファはリソースの浪費になります
cost(buffer) > P(breach) × cost(breach)の場合。最大値にするのではなく、適正化するか測定してください- 測定や参照によって不確実性を解消できる場合。まず実際の数値を確認してください
- 停止基準や検索予算に関する問題。余裕を上乗せするのではなく、有界合理性を適用してください
- パラメーターが完全に分かっていて、リスクが低く、限界まで最適化することが目標の場合
手順
- バッファなしの点推定。 基準となる必要量を明示的な単位(RPS、週、GB、ms)と確信度(高/中/低)とともに示します。
- 不確実性と違反時のコスト。 要因(急増、成長、不明点、依存先の変動)を列挙します。過少だった場合に何が起こるか(停止、リリースの遅延、データ損失、評判の低下)を示し、失敗が復旧可能か、破綻につながるかも明記します。
- バッファを設定。 見栄ではなく、残存する不確実性とリスクに対して余裕を乗算または加算します。一般的な目安(根拠に応じて調整してください):
- 十分に把握できていて、影響が小さい場合:約1.2~1.5倍
- ある程度慣れているが不明点がある/可逆的な場合:約1.5~2倍
- 未経験の領域、外部依存関係、SLA、不可逆な場合:約2~3倍 バッファのコストが違反時に予想されるコストを上回る場合は、上限を設けるか削減してください。
- 破綻の制約。 違反が不可逆な損害につながる可能性がある場合、起こり得る最悪の見積もり誤差があっても失敗のしきい値を上回るように設定します。そのバッファを確保できない場合は、精度が高いふりをするのではなく、設計を変更してください(負荷を抑える、機能を縮退させる、段階的に導入するなど)。
- 最も有力な反論。 バッファ不足(「後でスケールします」)と過剰なバッファ(遊休コスト、複雑さ)の両方を検討します。実績データがある場合は、まず測定し、その後に削減する方法を優先してください。
- 確約して監視する。 バッファを加えた確約、失敗のしきい値、余裕が過剰または不足だと判断できる指標を公表します。数値が確定し、監視可能になったら終了します。
出力
Base estimate: … (units, confidence)
Uncertainty drivers: …
Breach cost / failure threshold: …
Margin applied: …× (or absolute buffer …)
Buffered commitment: …
Ruin check: pass | redesign needed
Cost of margin vs expected breach cost: …
Monitor: metric … ; thin if … ; excessive if …
検証
- 反証: バッファを加えた数値が楽観的な点推定と等しい場合、余裕は加えられていません。あるいは、違反時のコストを示さずに余裕を加えた場合、それは根拠のない水増しです。
- 終了: 確約、しきい値、監視手段がそろったら、新たな不確実性の根拠がないまま倍率を重ねるのをやめます。
- 過剰適用の防止: 調整が無料かつ即時の場合や、実際の数値を低コストで測定できる場合は、余裕を上乗せしないでください。探索の停止基準とキャパシティのバッファを混同しないでください。
コメント
Markdown 対応