AIコード修正が失敗したときの切り分け|再現・差分・切り戻し
更新日:2026年9月29日
AIが提案した修正で不具合が残ったら、追加指示を重ねる前に再現条件を固定します。
対象は、Gitで変更前の状態へ戻せる開発者です。原因特定やAIの修正の正しさを保証する記事ではありません。
4段階
- 入力、環境、実行コマンド、期待結果、実際の結果を記録する。
- AIの変更前コミットで同じ操作を行い、変更が原因か確認する。
- 差分を小さく戻し、1つの仮説だけを試す。
- テストで再現と修正を確認し、切り戻し手順を残す。
記録テンプレート
再現コマンド: pytest tests/test_csv.py::test_empty
入力: 空のCSV
期待結果: 0件として終了
実際の結果: ValueError
変更前コミット: abc1234
試した仮説: 空入力の分岐がない
この記録があれば、AIには「この条件を変えず、原因候補と確認コマンドだけを示して」と依頼できます。いきなり修正を頼むより、原因と検証を分けられます。
原因が再現しないまま修正を続けると、別の問題を追加するおそれがあります。ログにキーや個人情報が含まれていないかも確認します。
完了条件
変更前に失敗が再現し、修正後に通り、元の不具合へ戻したときに失敗することを確認します。再現できない場合は未解決として止めます。
切り戻し例
修正中に別のテストが落ちたら、変更を一度退避し、変更前コミットで再現を確認します。原因が分からないまま複数ファイルを直さず、1仮説・1差分・1テストの単位へ戻します。
AIへの依頼例
「再現条件を変えず、候補を3つ、確認コマンド、切り戻し方法の順で示す。コード変更はまだ行わない」と依頼します。原因が分かってから、対象ファイルとテストを限定して修正を依頼します。
関連
Git差分レビューの手順も参照してください。
公式ドキュメント
- Git bisect:不具合が入ったコミットを二分探索する手順
- Git revert:公開済み変更を打ち消す方法


コメント