AIコード修正が失敗したときの切り分け|再現・差分・切り戻し

AIコード修正が失敗したときの切り分け|再現・差分・切り戻し エンジニア
AIコード修正が失敗したときの切り分け|再現・差分・切り戻し

AIコード修正が失敗したときの切り分け|再現・差分・切り戻し

更新日:2026年9月29日

AIが提案した修正で不具合が残ったら、追加指示を重ねる前に再現条件を固定します。

対象は、Gitで変更前の状態へ戻せる開発者です。原因特定やAIの修正の正しさを保証する記事ではありません。

4段階

  1. 入力、環境、実行コマンド、期待結果、実際の結果を記録する。
  2. AIの変更前コミットで同じ操作を行い、変更が原因か確認する。
  3. 差分を小さく戻し、1つの仮説だけを試す。
  4. テストで再現と修正を確認し、切り戻し手順を残す。

記録テンプレート

再現コマンド: pytest tests/test_csv.py::test_empty
入力: 空のCSV
期待結果: 0件として終了
実際の結果: ValueError
変更前コミット: abc1234
試した仮説: 空入力の分岐がない

この記録があれば、AIには「この条件を変えず、原因候補と確認コマンドだけを示して」と依頼できます。いきなり修正を頼むより、原因と検証を分けられます。

原因が再現しないまま修正を続けると、別の問題を追加するおそれがあります。ログにキーや個人情報が含まれていないかも確認します。

完了条件

変更前に失敗が再現し、修正後に通り、元の不具合へ戻したときに失敗することを確認します。再現できない場合は未解決として止めます。

切り戻し例

修正中に別のテストが落ちたら、変更を一度退避し、変更前コミットで再現を確認します。原因が分からないまま複数ファイルを直さず、1仮説・1差分・1テストの単位へ戻します。

AIへの依頼例

「再現条件を変えず、候補を3つ、確認コマンド、切り戻し方法の順で示す。コード変更はまだ行わない」と依頼します。原因が分かってから、対象ファイルとテストを限定して修正を依頼します。

関連

Git差分レビューの手順も参照してください。

公式ドキュメント

  • Git bisect:不具合が入ったコミットを二分探索する手順
  • Git revert:公開済み変更を打ち消す方法

コメント

タイトルとURLをコピーしました