シリーズ AI駆動開発実践入門 Part 4 / 4

AI生成コードの検証フロー: 速く作るために、確認を仕組みにする

AI駆動開発 開発プロセス

AIを使うと、実装の初速はかなり上がります。

しかし、AIが生成したコードをそのまま信じると危険です。動きそうに見えても、既存仕様とズレていたり、例外ケースが抜けていたり、不要な依存を追加していたりすることがあります。

AI駆動開発で大切なのは、AIに速く書かせることだけではありません。

AIの出力を安全に確認する流れを作ることです。

AI生成コードは提案として扱う

まず前提として、AIが出したコードは完成品ではありません。

レビュー前のたたき台、または実装案の一つとして扱うのが安全です。

AIの出力には、次のような問題が混ざることがあります。

  • 存在しない関数やAPIを使う
  • 既存の設計方針と違う実装をする
  • エラーケースを無視する
  • 型だけ合わせて実際の挙動が違う
  • 不要なライブラリを追加する
  • セキュリティ上危ない処理を入れる

見た目が自然でも、プロジェクトの文脈に合っているとは限りません。

検証は最後ではなく途中に入れる

AIに大きな実装を一気に任せると、後から確認する範囲が広くなります。

検証を最後にまとめて行うのではなく、途中に挟む方が安全です。

おすすめの流れは次の通りです。

1. 要件整理
2. 影響範囲の洗い出し
3. 実装方針の比較
4. 最小変更で実装
5. テストケース作成
6. 差分レビュー
7. 動作確認

この流れなら、AIがズレた方向に進んだときも早く戻せます。

まず差分を見る

AIがコードを生成したら、最初に見るべきなのはファイル全体ではなく差分です。

確認したいのは、何を変えたかです。

  • 変更ファイルは想定どおりか
  • 変更量が大きすぎないか
  • 関係ないリファクタリングが混ざっていないか
  • 既存の命名や構成に合わせているか
  • 新しい依存関係を追加していないか

AIは「よりよくする」つもりで、依頼していない箇所まで変えることがあります。

そのため、差分が小さく保たれているかを最初に確認します。

次に仕様との対応を見る

差分が想定範囲に収まっていたら、次に仕様との対応を確認します。

次のように、仕様と実装を対応づけて見ると漏れに気づきやすくなります。

仕様:
メールアドレス重複時は、フォーム下部にエラーメッセージを表示する

実装確認:
- APIエラーをハンドリングしているか
- 重複エラーとその他のエラーを区別しているか
- 入力値が消えないか
- 既存の必須チェック表示を壊していないか

AIにこの対応表を作らせるのも有効です。

今回の変更について、仕様と実装の対応表を作ってください。
未対応の仕様や曖昧な点があれば指摘してください。

テスト観点をAIに出させる

AIに実装させたあと、同じAIにテスト観点も出させると便利です。

ただし、AIが作ったテスト観点もそのまま信じるのではなく、人間が確認します。

依頼例です。

この変更に対して必要なテスト観点を出してください。
正常系、異常系、境界値、既存機能への影響に分けてください。

出てきた観点をもとに、実際に確認する項目を選びます。

最低限、次の分類で確認すると抜け漏れを減らせます。

  • 正常系
  • 異常系
  • 権限・認可
  • 既存機能への影響
  • UI表示
  • データ更新
  • ログ・監視

動作確認結果を残す

AI駆動開発では、動作確認した結果を残すことも重要です。

なぜなら、後から「AIが作ったコードだけど、何を確認したのか」が分からなくなりやすいからです。

確認結果は簡単で構いません。

確認環境:
local / Node.js 24 / Chrome

確認したこと:
- 正常登録できる
- メールアドレス重複時にエラー表示される
- 入力値が保持される
- 既存の必須チェックが動く

未確認:
- 本番相当データでの確認
- 旧ブラウザでの表示

plainmark のように記事や実装メモに検証状態を残せる仕組みがある場合は、確認日、確認環境、レビュー期限もセットで残しておくと、あとから見直しやすくなります。

レビューで見るべき観点

AI生成コードのレビューでは、通常のレビューに加えて次の観点を見ます。

  • AIが勝手に仕様を補完していないか
  • 存在しない前提に依存していないか
  • 変更範囲が依頼より広がっていないか
  • 一見きれいだが、既存設計と合っていない実装になっていないか
  • エラー処理が都合よく省略されていないか
  • セキュリティや認可の確認が抜けていないか

AIのコードは、形が整っている分、違和感に気づきにくいことがあります。

そのため、見た目のきれいさよりも、仕様と既存設計に合っているかを優先して確認します。

まとめ

AI駆動開発で重要なのは、AIにコードを書かせることだけではありません。

AIの出力を検証する流れを作り、安心して使える状態にすることです。

差分を見る、仕様との対応を見る、テスト観点を出す、動作確認結果を残す。これらを習慣にすると、AIを使っても品質を落としにくくなります。

AIは開発を速くしてくれますが、最終的な判断は人間が行います。

だからこそ、確認を気合いではなくフローにしておくことが大切です。

この記事は役に立ちましたか?