記事一覧へ戻る
モデル評価

コードエージェントはリポジトリを理解しているのか、それとも見覚えで判断しているのか

読了目安 3 分

導入

SWE-bench のようなリポジトリレベルのベンチマークは、コーディングエージェントの能力を測る主要な手段になっています。単一関数の補完とは異なり、実際のプロジェクトを読み、問題の原因を探し、必要なファイルを修正し、テストで結果を確認することを求めます。そのため、現実のソフトウェア開発に近い評価だと考えられています。

一方で、この形式には見落としやすいリスクがあります。評価対象のオープンソースリポジトリが、モデルの学習データや公開された修正例に何度も登場している可能性があるからです。高いスコアは、純粋なコード理解だけでなく、プロジェクト名、ディレクトリ構成、issue の表現、よくある実装パターンを認識した結果でもあるかもしれません。

SchrodingerRepo の仕組み

上海交通大学の研究チームは、この問題を調べるため SchrodingerRepo を提案しました。評価時にリポジトリの表現を動的に生成し、元のプロジェクトと同じ実行上の振る舞いを保ちながら、見慣れた表面的な特徴を減らします。エージェントが受け取るのは動作可能なコードですが、固定された「正典版」とは異なる姿になっています。

主な変換は次の四段階です。

  • 問題文の再構成:元の issue の定型表現への依存を減らします。
  • 名前空間の変更:クラス名、関数名、モジュール名などを置き換えます。
  • ファイル内配置の並べ替え:動作を変えずにコードの配置や構成を変更します。
  • 機能を保つコード書き換え:実装パターンそのものを別の形にします。

研究では SWE-bench Verified と SWE-QA を使い、複数の大規模言語モデルを評価しました。報告によると、リポジトリに関する既知の手がかりを減らすと、モデルの性能は一貫して低下しました。また、エージェントが行う操作も増えています。追加コストの中心は最終的なパッチ生成ではなく、リポジトリの探索と問題箇所の特定でした。

意義と今後の評価

この結果だけで、現在のエージェントが答えを記憶していると断定することはできません。しかし、ベンチマークのスコアが、一般的なデバッグ能力、プロジェクト固有の慣れ、学習データに含まれたコードの記憶を同時に反映している可能性は示されました。

本当に頑健なエージェントには、未知のディレクトリ構成を読み、ファイル間の依存関係を追い、仮説をテストし、手がかりが少ない状況でも調査範囲を絞る能力が必要です。動作が同じ複数のリポジトリ表現を用いれば、「プロジェクトを知っていること」と「問題を解決できること」をより明確に分けられます。

もちろん、変換によって元の課題とは別の難しさが生じないよう、意味と実行結果を慎重に検証する必要があります。SchrodingerRepo の重要性は、データ漏えいへの懸念を、実験可能な評価設計へと変えた点にあります。見慣れたコードベースでの高得点だけでは、未知の開発環境で安定して働けることの証明にはなりません。

出典:Hugging Face Daily Papers

コメント

ログイン状態を確認中…

コメントを読み込み中…

関連記事

CCTest · Blog
知っているのに答えない?言語モデルの内部認識を探るPIR
モデル評価
cctest.ai
モデル評価

知っているのに答えない?言語モデルの内部認識を探るPIR

新しい研究は、言語モデルが答えを知らないのか、それとも知っていながら隠しているのかを、内部状態から見分けるPIRを提案しました。欺瞞的な指示やサンドバッギング、パスワードロック、回路遮断の条件でも、モデルが認識している選択肢を検出できると報告されています。

続きを読む
CCTest · Blog
英国AISIとEvalEval、大規模モデル評価の再現性を高める
モデル評価
cctest.ai
モデル評価

英国AISIとEvalEval、大規模モデル評価の再現性を高める

英国AI安全研究所(AISI)は、EvalEvalのEvaluation Cardsを通じて、選定したモデル評価の結果だけでなく、設定や手法、背景情報も公開し始めた。評価プロトコルによる差を可視化し、結果の検証と比較を容易にする取り組みだ。

続きを読む