/note/tech

まだAIコードをレビューするか、しないかで言い争ってるの?

要約:

■ 1. 結論

  • AIが生成したコードのレビューを継続するかを議論する段階はすでに終わった
  • 品質を維持したままコードレビューを大幅に削減し続けるよう開発プロセス全体を改善する必要がある
  • レビューを軽量化し他の手段に置き換えた組織は品質自体も高くなっていく可能性が高い
  • いち早くその状態に到達した組織が大きく飛躍し遅れた組織は淘汰されていく

■ 2. コードレビュー削減が必要な3つの根拠

  • 今後コードレビュワーは育てられない:
    • コードレビュワーの育成方法としてコードを書いて経験を積む以外の道は確立されていない
    • 現行レビュワーと同程度にコードを書く時間を今後確保することはほぼ不可能
    • 現在のレビュワーと同程度のコードレビュー能力を持つ人材を今後育てることは難しい
  • AIはレビュワーを物量で圧倒する:
    • 生成AIの速度は現時点で限界ではなく今後さらに高速化することが確実
    • 現時点でもAIが生成するコードの物量に人間のレビューは押され気味であり今後さらに生成量が増加する
    • 人間中心のレビューを続けるにはAIによる生成量にブレーキをかける必要がある
  • 人間中心のレビューを続ける組織は淘汰される:
    • レビューをしない・もしくは軽量なレビューで同等の品質を保てる組織が作れた場合その組織はレビューを続ける組織を淘汰する
    • レビュー軽量化による品質維持の実現は十分に可能という手ごたえがある

■ 3. コードレビュー削減に必要な3つの要素

  • 高品質なコードを生成できるコンテキストを開発・維持する開発プロセス:
    • AIが高品質なコードを生成できる状態を作ることがレビュー軽量化の大前提
    • 品質の高い入力コンテキストが重要な要素の一つ
    • サービスの性質によってアプローチは異なり単一の形に収束することはない
    • 比較的高い頻度で改善が求められるサービスと社会インフラに近いサービスとではまったく異なるアプローチになる
    • ビジネス要件の可視化からソフトウェアの手前までを文書化しその文書化自体もAIが支援する形が想定される
    • 生成AIの文書化能力はすでに多くの人間の能力を超えており旧来より高いレベルで均質な文書化をすでに実現できている
  • 高品質なコードを生成できるハーネス:
    • 同じコンテキストを与えてもAIが生成するコードの品質はハーネスの品質に大きく依存する
    • ハーネスにはClaude CodeやCodex CLIのような汎用ツールだけでなくプロダクト固有のアーキテクチャやアプリケーションフレームワークも含まれる
    • lintや静的解析ツールもコード品質を保証するためのハーネスの一部
    • 高品質なローコードプラットフォームがハーネス兼サンドボックスとして機能する可能性がある
  • コードより高いレイヤーの評価基準で品質を評価・保証するプロセス:
    • コードレビューのような低レイヤーの評価からより高いレイヤーの評価基準への移行が重要
    • コンテキスト自体をインプットとしてコード生成とは別プロセスで評価システム自体もAIが生成することが想定される
    • 言語化された領域の評価はすぐに人よりAIの方が高い精度でできるようになると予測される
    • 最終的に人が評価するのは要求もしくは最上位要件への適合度のみになる可能性があり言語化されていない領域が中心になる可能性もある
    • lintや静的解析のような自動化されたコード品質保証プロセスによって人がレビューしていた部分を置き換えていくことが重要
    • レビューという考え方自体がプロセスから消えるわけではなく自動化された形で継続する