Meta、コード審査の精度を93%に高める構造化プロンプト手法を発表

半形式推論の仕組み

LLMに論理証明テンプレートを付与
前提・実行パス・結論の明示が必須
コード実行不要で意味解析が可能
非構造的推論の推測・幻覚を大幅抑制

実験結果と精度向上

パッチ等価検証で精度93%達成
標準推論比で最大10ポイント改善
障害箇所特定やコードQAでも効果確認

導入時の留意点

推論ステップ数が約2.8倍に増加
既に高精度なタスクでは効果限定的
詳細を読む

2026年3月、Metaの研究チームは、LLMによるコードレビューの精度を大幅に向上させる「半形式推論(semi-formal reasoning)」と呼ばれる構造化プロンプト手法を発表しました。コードを実行せずに高精度な意味解析を実現する手法です。

従来、AIエージェントによるコードレビューには、リポジトリごとにサンドボックス環境を構築する高コストな方法か、LLMに自由に推論させる非構造的な方法がありました。後者は根拠のない推測や幻覚が頻発するという課題を抱えていました。形式検証は厳密ですが、任意の企業コードベースには実用的ではありません。

半形式推論では、タスクごとに設計された論理証明テンプレートをLLMに提供します。エージェントは前提条件の明示、具体的な実行パスのトレース、検証可能な証拠に基づく結論の導出を義務付けられます。これにより関数名などの表面的パターンに頼らず、体系的に証拠を収集して判断します。

実験ではClaude Opus-4.5Sonnet-4.5モデルを使用し、パッチ等価検証・障害箇所特定・コード質問応答の3タスクで評価しました。パッチ等価検証では標準推論の78%から88%へ、実環境パッチでは93%の検証精度を達成し、非構造的推論の86%やテキスト類似度手法の73%を上回りました。

Djangoリポジトリの実例では、標準推論がformat()関数をPython標準関数と誤認して2つのパッチを同等と判断した一方、半形式推論はモジュール内で関数名がシャドーイングされていることを発見し、一方のパッチがクラッシュすることを正しく証明しました。

ただし導入にはトレードオフがあります。半形式推論は標準推論と比べて約2.8倍の実行ステップを必要とし、推論コストが増加します。また、既に高精度なタスクでは改善効果が限定的で、Sonnet-4.5のコードQAでは85%の精度から向上しませんでした。

さらに、精緻な証拠連鎖を構築するがゆえに、調査が深いが不完全な場合に高確信度の誤答を出すリスクがあります。サードパーティライブラリのソースコードが参照できない場合も、関数名に基づく推測に頼らざるを得ません。それでも非構造的推論と比較すれば幻覚は大幅に減少します。

この手法はモデルの追加学習やツール導入が不要で、プロンプトテンプレートのみで即座に適用できます。研究チームはテンプレートを公開しており、企業の開発現場で静的解析ツールの柔軟な代替として活用できる可能性を示しています。