ハーネスエンジニアリングのプラクティス
P17. ドライラン既定とブラスト半径プレビュー
🎯 ポイント
「40ポッドを再起動します」は事後に発見するのではなく、事前に提示するものです。副作用は実行前にプレビューしましょう。
📝 概要
副作用を伴う行為は、まず効果のプレビュー(どのファイル・どの行・どのポッド)を出し、ゲートまたは人間確認を経てから実行します。既定はドライラン(実行しないで結果を表示)とし、明示的な承認があってから実行します。
🔍 解説
エージェントが「何をするか」を事前に知ることは、安全性の基本です。コードの差分プレビュー、影響を受けるサービスのリスト、再起動されるポッドの数、送信されるメッセージの内容。これらを実行前に提示することで、人間は情報に基づいた判断ができます。特にインシデント対応では、是正案のブラスト半径(影響範囲)とロールバック計画をセットで提示し、承認後に実行・監視するパターンが有効です。ドライランを既定にすることで、「うっかり実行」のリスクを構造的に排除します。
🛠 実践方法
・副作用を伴う全操作に「プレビューモード」を実装し、実行前に影響範囲を表示します
・ドライランの出力に「影響ファイル数」「影響ポッド数」「変更行数」等の定量情報を含めます
・不可逆な操作にはドライランを必須にし、可逆な操作ではオプションにして効率を保ちます
・ドライラン結果と実行結果の乖離を記録し、ドライランの精度を継続的に改善します
💼 ユースケース
・インシデント対応で、是正アクションのブラスト半径とロールバック計画を事前提示する場面
・ペアプログラミングで、エージェントの編集を適用前に差分プレビューとして表示する場面
・マイグレーションで、各ユニットの変更内容をカナリアとして一部先行適用し、問題がないか確認する場面
⚠ 落とし穴
ドライランが常に正確とは限りません。ドライランでは問題なくても、実行時に環境の違いで失敗することがあります。また、ドライランが形骸化して「常にスキップ」になると意味がなくなります。P15(取り消し可能性)と組み合わせて、可逆な操作はドライランなしで即実行、不可逆な操作のみドライランを必須とする設計が効率的です。
#
HarnessEngineering# #
AIAgent#