← 最新の論文
💻 computer science

TICoder: A Repository-Level Code Generation Framework with Test-Driven Planning and Implementation-Aware Reuse

本論文は、振る舞いのガイダンスのためのテスト駆動型反復計画メカニズムと、既存のリポジトリコードを効果的に活用するための二重ビューの類似性と二段階選択を用いた実装認識型の再利用戦略を統合することで、大規模言語モデルの性能を向上させる新しいリポジトリレベルのコード生成フレームワークであるTICoderを紹介し、最先端の手法に対して平均11.52%の改善を達成している。

原著者: Siyu Nan, Yaling Luo, Jian Wang, Neng Zhang, Bing Li

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

原著者: Siyu Nan, Yaling Luo, Jian Wang, Neng Zhang, Bing Li

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

あなたは、熟練したシェフ(AI)になりきってください。顧客の「パスタを使った何かを作って」という曖昧な注文に基づき、複雑な料理を作ろうとしています。あなたには膨大なレシピ本(コードリポジトリ)へのアクセスがありますが、一度に読めるのは数ページだけです。

現在のほとんどのAIシェフは、単に「パスタ」に似たレシピを検索してそれをコピーすることで解決しようとします。しかし、これでは失敗することがよくあります。なぜなら、顧客が特定の種類のパスタを求めているかもしれないし、レシピに「まずお湯を沸かす」といった極めて重要な工程が欠けていることもあるからです。

TICoderは、AIシェフをより賢く助けるための新しい方法です。これは単にレシピを見つけるだけでなく、AIが食事の計画を立て、食材を正しく使う方法を正確に学ぶのを助ける、非常に整理された副シェフのように機能します。その仕組みを、3つのシンプルなパートに分けて説明します。

1. 「テスト駆動型」のプランニング(味見)

問題点: AIが顧客の曖昧な言葉だけで料理の工程を計画しようとすると、細部を見落としがちです。パスタがグルテンフリーであるべきか、あるいはソースを1時間煮込む必要があるかといったことを忘れてしまうことがあります。

TICoderの解決策: AIが調理を開始する前に、TICoderは「味見」(テストケース)を求めます。これらは、「ソースは辛くなければならない」や「パスタはアルデンテでなければならない」といった具体的な指示のようなものです。

  • 仕組み: AIは計画のドラフトを作成します。次に、「判定役」となるAIが、その計画と味見の条件を照らし合わせます。もし計画がテストと一致しない場合(例:「スパイスを忘れています!」)、判定役は修正のために計画を差し戻します。
  • 結果: AIはこの「ドラフト作成、判定、修正」のサイクルを、計画が期待される結果と完全に一致するまで繰り返します。これにより、AIは構築を開始する前に、正確に「何を構築すべきか」を理解することができます。

2. 「実装を考慮した」再利用(適切な道具を見つける)

問題点: AIが計画を立てた後、ライブラリから計画を助ける既存の道具(関数)を見つける必要があります。

  • 従来の方法: AIは、自分が必要としているものに似た名前の道具を探します。例えば「ソースメーカー」を見つけ、それは機能としては合っていますが、使い方が間違っており、不適切な熱を加減したり、入れるべきでない時に塩を入れたりしてしまうかもしれません。道具は掴みましたが、それを「どう使うか」を理解していません。
  • TICoderの解決策: TICoderは、2つの観点から道具を調べます。
    1. 機能: それは正しい仕事をするか?(例:「はい、ソースを作ります」)
    2. 実装: それは正しい方法で作動するか?(例:「はい、私たちが求めている通り、20分間煮込みます」)
  • 結果: 仕事の内容と、その具体的なやり方の両方に一致する、まさにぴったりの道具を見つけ出します。

3. 「使用パターン」の選択(例から学ぶ)

問題点: たとえ完璧な道具を見つけたとしても、AIはそれをどう組み込めばよいか分からないかもしれません。複雑なエスプレッソマシンを見つけたものの、ラテを作るためにどのボタンを押すべきか、カプチーノを作るためにはどれを押すべきかを知らない状況を想像してください。

TICoderの解決策: TICoderは単にAIに道具を与えるだけでなく、過去に他のシェフがその道具を実際にどのように使ったかを教えます。

  • TICoderはライブラリを調べ、その道具が実際のレシピの中でどのように使われていたかを調査します。
  • 数千もの例をフィルタリングして、最も優れた、あるいは最も一般的な使用方法を見つけ出し(類似した手法をクラスタリングする)、混乱を招くような特殊な例を除外します。
  • 結果: AIは、その道具を使うための「チートシート(早見表)」を受け取ります。そこには、最終的な料理を組み立てる際にミスをしないよう、トップ2または3の最適な使い方が示されています。

最終的な結果

これら3つのパートを組み合わせると:

  1. プランニング: 「味見」によって自身の作業をチェックしているため、AIは何をすべきかを正確に把握しています。
  2. リトリーバル(検索): 仕事の内容と方法の両方に一致する完璧な道具を見つけ出します。
  3. リユース(再利用): 実例を研究しているため、それらの道具をどのように使うべきかを熟知しています。

成果: 本論文の実験において、この手法は、さまざまな種類のコーディングタスクや異なるAIモデルにおいて、従来のメソッドよりもAIの調理(コード生成)能力を大幅に向上させました。具体的には、成功率を平均で**11.52%**向上させました。本質的に、TICoderは混乱したAIを、精密で、計画的で、経験豊富なシェフへと変貌させるのです。

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

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

Digest を試す →