ベンチマーク最適化ループ は何をしますか?
このスキルは、「20倍高速化」や「50回の再帰的最適化を試す」といった要求を、実際にシステムを改善できる境界が定められた測定ループに変換します。
必須ベースライン
以下が整うまでは最適化を開始しないでください:
- 最適化対象の操作
- 正しさの検証ゲート(常にグリーンでなければならないもの)
- メトリクス:ウォールタイム、p95レイテンシ、行/秒、コスト/実行、メモリ、エラー率
- 現在のベースライン
- 探索予算:最大バリアント数、最大時間、最大コスト、最大データ影響
ユーザーが非現実的な目標を要求した場合でも、野望は維持しつつ、ループを境界があり測定可能なものにしてください。
ループ
- ベースラインを測定する。
- エビデンスからボトルネックを特定する。
- 各仮説を1つテストするバリアントを生成する。
- 同じ入力形状でバリアントを実行する。
- 正しさ、安全性、再現性に失敗したバリアントを破棄する。
- 最速の安全なバリアントを昇格させる。
- 勝利パスをスクリプト、コマンド、テスト、設定、またはドキュメントにコード化する。
- ベースラインと勝者を再実行してデルタを確認する。
バリアント表
バリアントを次のように追跡します:
バリアント | 仮説 | コマンド | 時間 | 正しい? | 備考
ベースライン | 現在のパス | npm run job | 120s | はい | 安定
batch-500 | ラウンドトリップ削減 | npm run job -- --batch 500 | 42s | はい | 勝者
parallel-8 | ワーカー増加 | npm run job -- --workers 8 | 31s | いいえ | レート制限
再帰的探索
再帰的またはハイパーパラメータ作業の場合:
- すべての実行を台帳に永続化する;
- 前回の実行だけでなく、以前に承認された勝者と比較する;
- ホールドアウトまたはリプレイチェックを保持する;
- 改善がノイズの範囲内にある、正しさに失敗する、コストが予算を超える、または探索が説明可能な変数よりも多くの変数を変更し始めた場合に停止する。
探索空間が実際に網羅的でない限り、「大域的最適解」ではなく「測定された最良の安全なバリアント」のような表現を使用してください。
昇格ゲート
以下の条件が満たされるまで、バリアントを新しいデフォルトにすることはできません:
- 正しさテストに合格している;
- パフォーマンスデルタが再現されている、または説明されている;
- ロールバックが明確である;
- 変更がソース管理または耐久性のあるランブックにコード化されている;
- 最終サマリーに正確なコマンドと測定値が含まれている。