入力に含めることでLLMに追加の情報を与える手LargeLanguageModelによるプログラムコード生法である．これにより，LLMは学習することなく成は有用であるが，LLMが持つ情報の更新には膨最新の情報を反映したコードを生成することができ大なコストが必要である．この課題に対応するためる．先行研究[7,8,9]では検索にBM25[10]やDenseに，関連する情報を検索しLLMへの入力に追加すPassageRetrieval(DPR)[11]などのベクトル検索を用る手法が提唱されており，コード生成の分野ではいたRAGによってコード生成の性能向上を達成しBM25などのベクトル検索を用いた手法が成果を挙ている．しかし，これらの手法ではWebサイトをげている．しかし，GitHubのようなWebサイトをデータベースにすることは難しい．なぜなら，DPRデータベースとする場合，全データを手元に置く必やBM25を実行するためにはデータベースの全情報要のあるベクトル検索はデータ収集に膨大なコストを参照する必要があるためである．そのため，Webを必要とし，常に情報を最新に保つことは困難であサイトをデータベースとする場合は検索のために全る．よって，本論文ではGitHubAPIがサポートしてての情報を一度ダウンロードしなければならない．いる既存のWeb検索とLLMを用いた検索手法を提これは多大な時間的コストを必要とし，情報を最新案する．これにより，提案する手法は低コストで常に保つために頻繁に行うことは現実的ではない．まに最新の情報にアクセスすることができる．本手法た，本行為はWebサイトの利用規約により禁止されはWeb検索とLLMを組み合わせる際に生じるいくている場合もある．GitHubやStackOverﬂowなどプつかの典型的な課題にも対応している．提案手法をログラマにとって有用な情報源となるWebサイト評価した結果,有用なリポジトリを見つけ出すこは多くあるため，これは重要な課題である．とができたことを確認した．これを回避するための手法の一つとして，Webサイト側が提供している検索機能を利用する手法

が挙げられる．例えば，GitHubは「LLMchat」など近年，LargeLanguageModel(LLM)によるプログとキーワードを用いて検索するキーワード検索をラムコード生成が大きな注目を集めている[1]．そApplicationProgrammingInterface(API)で提供していのため，コード生成に向けたLLMが多数リリースる．キーワード検索を活用することで，最新の情報されている[2,3,4]．しかし，これらのコード生成用を低コストで取得できる．だが，キーワード検索にLLMは情報更新のために高いコストを必要とするも大きく2つの課題が存在する．1つは検索結果か点が課題である．プログラミングの世界では日々新らデータを更に絞り込む必要がある点である．ベク規ライブラリの提案やライブラリの更新がなされてトル検索では最も類似度の高いデータを選択すれいる．コード生成用LLMがこれらの更新を取り入ばよいが，キーワード検索では複数の検索結果かられるためには，一般的には学習と呼ばれる時間的，1つを選ぶ必要がある．この際，正しく有用な情報電力的に高コストな処理が必要である[5]．よって，を選べなければ，生成コードの品質を向上させるこ最新のライブラリに対応するために頻繁にLLMをとはできない[12]．本論文ではこの課題に対して更新することは難しい．LLMを用いて有用なデータの絞り込みを行うことこの課題を解決するために，LLMと検索を組みで対応する．この際に生じる2つ目の課題が，LLM合わせたRetrievalAugmentedGeneration(RAG)[6]とに入力可能な文字数が限られている点である．このいう手法が提唱されている．RAGはLLMの処理に課題に対しては，絞り込みの際に以下の3つの工夫―3309―.点をツールに組み込み，LLMに一度に入力する文字列の長さを削減することで対応する．•絞り込みを2段階に分割•LLMでREADME.mdを要約してから比較•コードをプロンプトに含めずに絞り込むRAGの有効性は先行研究[7,8]によって既に明らかにされているため，本稿では検索手法に注目して議論を行う．データベースとするWebサイトは最新のライブラリやコード例が多数投稿されているGitHubとする．LLMで生成した10個の要望対して本手法を用いて検索を行った結果，8個の要望について有用なリポジトリを選択でき，6個の要望について有用なコードを選択することができた．