← 最新の論文
💻 computer science

Evaluating and Improving Automated Repository-Level Rust Issue Resolution with LLM-based Agents

本論文は、Rust 言語における大規模なリポジトリレベルの課題解決を評価・改善するため、新たなベンチマーク「Rust-SWE-bench」を構築し、その分析に基づいて自動テスト環境と動的追跡を統合した新しいエージェント「RUSTFORGER」を提案し、既存の最善の手法を大幅に上回る性能を達成したことを報告するものです。

原著者: Jiahong Xiang, Wenxiao He, Xihua Wang, Hongliang Tian, Yuqun Zhang

公開日 2026-02-27
📖 1 分で読めます☕ さくっと読める

原著者: Jiahong Xiang, Wenxiao He, Xihua Wang, Hongliang Tian, Yuqun Zhang

原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む

1. Rust という「高難度の建築材料」

まず、Rust というプログラミング言語は、「超高性能で、絶対に壊れない家(ソフトウェア)」を作るための材料です。
しかし、この材料は非常に扱いが難しく、
「魔法のルール」
(メモリ管理や型システムなど)が厳格に決まっています。

  • 現実: 多くの職人(開発者)が「このルールが難しすぎて、家を建てるのに時間がかかりすぎる」と悩んでいます。
  • 課題: 「AI 助手に任せて、この難しい家の修理を自動化できないか?」というのが今回のテーマです。

2. 最初の壁:「地図がない」と「ルールが厳しすぎる」

研究者たちは、まず AI 助手(LLM ベースのエージェント)に、実際に Rust で作られた 500 個の「家の修理依頼(バグ修正や機能追加)」をやらせてみました。
その結果、AI は2 割程度しか解決できませんでした。なぜ失敗したのでしょうか?

  1. 家全体の構造が読めない(地図がない):
    • AI は「この部屋(コード)を直すには、隣の部屋(別のファイル)のルールも変えないといけない」という家全体のつながりを理解できませんでした。
    • 結果として、「ここにあるはずの道具がない!」というエラー(コンパイルエラー)を連発しました。
  2. 魔法のルール(Rust の厳格な仕様)が守れない:
    • Rust は「この道具は、この形のものしか使えない」というルールが厳しすぎます。AI は「なんとなく似ているから大丈夫」と適当に直そうとして、ルール違反で失敗しました。
  3. 一番のボトルネック:「故障の再現」ができない:
    • 修理をする前に、「どこが壊れているか」を再現して確認する必要があります。しかし、AI は「故障した状態」をうまく作れず、**「故障しているかどうかすらわからない」**状態で修理を始めてしまい、失敗していました。

3. 解決策:「RustForger(ラスフォージャー)」という新兵器

そこで研究者たちは、**「RustForger」という新しい AI 助手の仕組みを開発しました。これは、「作業場を完全に隔離して、故障を再現し、その動きをスキャンする」**という 2 つの強力な機能を持っています。

① 完全隔離された「実験室(テスト環境)」の作成

  • 従来の AI: 本物の家の床に直接足をつけて修理しようとして、床を傷つけたり、必要な道具が見つからなかったりしました。
  • RustForger: まず、**「本物の家と全く同じ構造の、新しい実験室」**を即座に作ります。ここで、故障を安全に再現し、修理を試みます。本物の家(元のプロジェクト)を汚すことなく、自由に実験できるのです。

② 「Trace(トレース)」という X 線スキャン

  • 従来の AI: 故障している場所を「推測」で探していました。
  • RustForger: 故障を再現した瞬間、**「X 線スキャン(動的追跡)」**を起動します。
    • これは、Rust 特有の「魔法の機能(メタプログラミング)」を使って、コードが実際に動いている瞬間に、**「どの道具が、誰に、どう使われたか」**をすべて記録するものです。
    • これにより、「あ、この道具が間違った使い方をしているから壊れているんだ!」という**「故障の真因」**が、AI の目にはっきりと見えます。

4. 結果:劇的な改善

この新しい「RustForger」を使ってみると、AI の性能が劇的に向上しました。

  • 解決率の向上: 従来の最高の AI でも 21% しか解決できませんでしたが、RustForger は28.6%を解決しました。これは35% もの向上です。
  • 唯一の解決者: 従来のどの AI 助手も解決できなかった46 個の難問を、RustForger は見事に解決しました。
  • コスト削減: 性能が上がっただけでなく、AI が使う計算リソース(お金)も減りました。

5. まとめ:何がすごいのか?

この研究は、**「AI に Rust の難しい家を直させるには、ただ『コードを書く』だけではダメで、『故障を再現する実験室』を作り、『動きをスキャンする道具』を持たせる必要がある」**ということを証明しました。

  • 比喩で言うと:
    • 昔の AI は、「壊れた時計を見て、適当に部品を交換して直そうとする見習い職人」でした。
    • 新しい RustForger は、「まず同じ時計をコピーして実験台に置き、故障した瞬間に中身をスキャンして、どこが噛み合っていないかを正確に突き止める、熟練の技術者」になりました。

これにより、Rust という難しい言語でも、AI が開発者の強力なパートナーとして活躍できる道が開けました。

自分の分野の論文に埋もれていませんか?

研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。

Digest を試す →