← ALL ARTICLES

AI

AI生成コード レビューの進め方|差分を読む順序と確認項目とは

diff-tourでクーポン機能のコード差分を順に確認し、変更理由や利用回数の処理に関する問いを読んでいる端末画面

画像出典: GitHub - init-co-jp/diff-tour: Walk through a diff the way a senior engineer reads it

AI生成コード レビューを担う事業責任者向けに、差分を読む順序と、要件、権限、例外処理、テスト、ロールバックの確認項目を解説します。diff-tourの役割と注意点、試験導入の評価基準も整理し、品質、納期、保守コスト、障害リスクを踏まえた判断に役立てます。

WRITTEN BY 株式会社atypical

はじめに

AI生成コードとは、生成AIを使って作成したコードです。 AI生成コードのレビューでは、事業責任者が画面の動作だけを見て承認するわけにはいきません。 画面上の操作に成功しても、障害時に事業を止めないか、開発者が保守できるかまでは分からないためです。

この記事の対象は、AIを使ったシステム開発を発注または推進し、完成した機能を承認する事業責任者です。 開発者はAIが作った差分を検証し、事業責任者は業務上の条件とリスクを確かめます。 事業責任者はコードを一行ずつ読めなくても、注文の二重処理、権限の抜け、障害時の復旧について開発者に質問できます。

AIは短時間で広い範囲を変更できますが、確認する人員や時間が同じ割合で増えるとは限りません。 レビューを省けば、公開までの期間は短く見えます。 しかし、未確認の問題があれば、事業側と開発側は公開後に修正、問い合わせ対応、障害対応を迫られます。 承認前には画面の動作に加え、運用を続けられるかどうかも確かめます。

AI生成コード レビューは目的・影響・失敗時の挙動まで確認する

AI生成コード レビューでは、事業責任者と開発者が、変更の目的、影響範囲、失敗時の挙動を説明できるところまで確認します。 画面上の操作確認だけでは、この範囲を網羅できません。

操作確認、コードレビュー、ツールによる分析では、それぞれ確認できる対象が異なります。 人が画面を確認したという事実だけでは、コードや運用上の問題まで確認した根拠にはなりません。

NISTのSecure Software Development Frameworkは、人によるコードレビューとツールによるコード分析を区別し、組織の安全な開発基準に沿って実施する考え方を示しています。 この考え方には、レビューで見つかった問題と修正案を記録して扱うことも含まれます。 NISTのSecure Software Development Framework↗は、担当者個人の注意力に頼らず、組織がレビューを開発工程へ組み込む際の判断材料になります。

ただし、AI生成コードだけに別の承認基準を設ける必要はありません。 AIによる生成が速いと、確認待ちの差分は大きくなりがちです。 事業責任者はAIが書いたかどうかより、次の状態がそろっているかを確かめます。

  • 開発者が変更の目的と対象となる利用者を説明できる
  • 開発者が要求に含まれない機能を追加していない
  • 開発者と事業責任者が、変更した範囲と影響を受ける既存機能を把握している
  • 開発者がテスト結果と未確認の条件を分けている
  • 担当者が障害時に機能を止める方法や元へ戻す方法を決めている

これらの状態を確認しても、「AIがレビューの責任を負う」ことにはなりません。 公開を承認する事業責任者と、技術的な妥当性を確認する開発者を明確にすれば、問題が起きたときの対応者も特定できます。

コード差分は変更目的からテストまで順に読む

複数のファイルに広がった差分は、変更目的、処理の入口、重要な判断、失敗時の処理、テストの順で読みます。 ファイルの上から追うだけでは細かな書き方に注意が向き、利用者の行動や事業上のリスクを見落とすことがあるためです。

読む順番開発者が確認すること事業側が確かめること
1. 変更目的要求と実装の対応誰のどの業務が変わるか
2. 処理の入口画面、API、定期処理の起点誰が実行できるか
3. 重要な判断条件分岐、データ更新、外部連携金額、在庫、承認条件が正しいか
4. 失敗時の処理例外、再実行、ログ二重処理や処理漏れが起きないか
5. テスト正常系と異常系の検証主要な業務条件が含まれるか

たとえばクーポン機能では、表示に成功したことだけを承認の根拠にはできません。 事業責任者は、同じ注文で二度使えないか、同時アクセス時にも利用回数の上限を守れるか、決済に失敗したときにクーポンだけが消費されないかを確認します。

差分が大きく、開発者が変更目的を一文で説明できない場合は、変更単位も確認の対象です。 機能追加、データ移行、画面調整が一つの差分に混ざると、問題の原因と元へ戻す範囲を特定しにくくなります。

事業責任者は業務上の損失と顧客への影響を確かめる

事業責任者が確かめるのは、コードの書き方ではなく、利用条件、損失につながる失敗、顧客への影響です。 この確認に技術用語を使う必要はありません。

要件と実装のずれを見つけるには、具体的な利用場面を開発者に尋ねます。 すべての項目を毎回同じ深さで見るより、金銭、個人情報、契約、顧客対応に関係する項目へ確認時間を割くほうが現実的です。

観点確認する質問見落とした場合の影響例
目的要求のどの部分を変更したか不要な開発と再修正
影響範囲既存の利用者や連携先に何が変わるか顧客体験の悪化、連携停止
権限誰が閲覧、登録、取消できるか情報漏えい、不正操作
例外処理通信失敗や重複実行でどうなるか二重請求、処理漏れ
テスト失敗条件や境界値も試したか公開後の不具合
監視異常を誰が、何を見て知るか発見と初動の遅れ
復旧機能を止める方法や元へ戻す方法はあるか障害時間の長期化

自動検査を通過していても、検査対象に含まれない業務条件は残ります。 OWASP Code Review Guide↗も、認証や権限、情報漏えい、ログ、エラー処理などをレビュー対象として挙げ、ツールの結果には人による確認が必要だと説明しています。

開発者の回答が「問題ありません」だけでは、事業責任者は承認の根拠を後から確認できません。 開発者は、回答をテスト結果、対象コード、運用手順のいずれかと結び付けます。 この記録があれば、担当者が交代した後も、関係者は公開を承認した理由を追跡できます。

diff-tourは差分を読む順序と問いを示す

複数ファイルにまたがる差分を追うときは、読む順序と確認の問いを示すdiff-tourを利用できます。 diff-tourは、開発者が複数ファイルの関係や変更理由を理解する作業を、対話形式のツアーで補助するツールです。 ただし、差分を自動で承認するものではありません。

公式READMEによると、diff-tourは差分だけでなく周辺ファイルも読み、変更目的、例外、二重実行、権限、テスト、公開とロールバックなどの確認項目を提示します。 ツアーの生成にはClaude CodeやCodex CLIなど、利用者が選んだLLMを使い、diff-tour自体は読み取り専用で動作します。 一方、対象コードは選択したLLMの提供元へ送られるため、導入担当者は機密情報と契約条件を確認します。

GITHUB · REPOSITORYdiff-tour公式リポジトリinit-co-jp/diff-tour

ツアーによる説明と公開可否の判断は、担当を分けます。

任せる対象diff-tourが補助できること人が判断すること
差分の把握読む順番と関連箇所を示す説明が実装と一致するか
論点の発見例外や権限に関する問いを出す事業上許容できるリスクか
学習判断理由を段階的に説明する自社の規約や要件に合うか
記録ツアーを保存して共有する承認記録として何を残すか

LLMが生成した説明には、誤りが含まれる可能性があります。 開発者はツアーの説明を実際のコードとテストに照合し、その結果を事業責任者へ伝えます。 事業責任者は報告を基に、要件、顧客への影響、公開可否を判断します。

試験導入は総時間と重要な指摘で評価する

説明の量が増えても、「レビューの負担が減った」とは限りません。 説明の量だけでは、確認や修正にかかった時間も、重要な見落としも測れないためです。

導入担当者は、レビュー時間、公開後の手戻り、重要な指摘の発見状況によって効果を判断します。 まず一つの中規模な変更で試し、従来のレビューと同じ条件で比較します。

試験導入では、次の順で記録します。

  1. 要求と受け入れ条件を一文ずつ整理する
  2. 比較する差分を固定する
  3. 従来の方法で確認時間と指摘を記録する
  4. diff-tourを使い、追加で見つかった疑問と誤った説明を記録する
  5. 修正と再レビューを含む総時間を比較する
  6. コードの送信範囲と社内規程への適合を確認する
判断指標見る内容
時間説明生成、確認、修正、再確認までの総時間
品質要件違反、権限漏れ、例外処理、テスト不足の発見数
理解担当者が変更理由と残るリスクを説明できるか
運用誰が実行し、誰が説明を検証するか
情報管理外部へ送るコードの範囲が社内基準に合うか

試験の対象には、複数ファイルにまたがる機能追加や、担当者が引き継ぐ必要のあるAI生成コードが向いています。 一行の修正にまでツアーを作ると、説明を準備する時間のほうが長くなるためです。

ただし、担当者は数回の試行だけで障害削減効果を断定できません。 当初は、変更理由を説明できた割合、レビューで見つかった重要な論点、総確認時間を記録します。 その結果を基に、継続利用する範囲を決めます。

まとめ

AI生成コードのレビューでは、開発者が変更目的、影響範囲、権限、例外処理、テスト、復旧方法を説明し、その根拠を示します。 事業責任者は業務条件と顧客への影響を確かめ、公開可否を判断します。

差分を追いにくい案件では、開発者がdiff-tourを読む順序の補助として試せます。 導入担当者は一つの変更を従来の方法と比較し、総確認時間、重要な指摘、説明の誤り、情報管理上の条件を記録します。 事業責任者はその記録を基に、継続利用、対象限定、見送りのいずれかを選びます。

参考文献