DEV Community 日本語
フォロー
モデルに自身のAIコードをレビューさせない理由
最近のarXivの論文は、AIコードレビューのパターンにおける構造的な弱点を浮き彫りにしています。この論文では、ソフトウェアの実装を要件とデプロイメント環境に対して評価するための2つのギャップフレームワークを導入しています。要件ギャップは、ステークホルダーのニーズと文書化された要件の間に存在し、モデルギャップは、想定されるデプロイメント環境と実際のデプロイメント環境との違いです。AIのハルシネーションは、情報を捏造することによって、これらの両方のギャップを悪化させます。この論文は、コードを生成するのと同じAIモデルがそれをレビューする場合、同じ欠陥のある要件と環境モデルを使用してレビューを行うと主張しています。これは、AIが本質的に自身の仮定と盲点を再確認しているため、検証の誤った感覚につながります。自己レビューは、モデルがすでに問題として認識しているエラーしか捕捉せず、その誤った仮定を共有するコードを通過させてしまいます。これらのギャップを効果的に縮小するために、この論文は2つの主要な戦略を提案しています。クロスモデルレビューは、2番目の独立したAIモデルが、共有された盲点を軽減するために、要件と環境の仮定をゼロから再導出することを含みます。もう一つの重要な戦略は、現実が究極の検証者であるため、本番環境に似た環境でコードを実行することです。デプロイメント前の評価は代理であり、実行ベースのチェックは静的評価よりも優れています。なぜなら、実行ベースのチェックは観察可能な動作を要求するからです。この論文は、人間の判断を要件ギャップの希少なリソースとして、正確な評価をモデルギャップのボトルネックとして位置づけています。AI生成コードの量が多いことを考えると、合理的なアプローチは、AI生成の差分を独立したモデルがレビューし、その後実行ベースのチェックを行うことです。人間のレビューは、これらの初期段階を通過したコードに焦点を当てるべきであり、人間の注意の投資収益率を最大化します。同じモデルのAIレビューはリンターとして機能することができますが、真の検証と混同されるべきではありません。