Open fulfulggg opened 1 month ago
問題点: 大規模言語モデル (LLM) は、シンプルなコードタスクは得意だが、複雑なコードリポジトリ全体を扱うのは苦手。既存の解決策 (類似検索や専用ツール) は、精度や汎用性に欠ける。
提案: LLMとコードリポジトリ間の橋渡しとして、コード情報を格納したグラフデータベース「CodexGraph」を提案。
CodexGraphの特徴:
効果:
結論: CodexGraphは、LLMのソフトウェアエンジニアリング分野での応用を大きく前進させる可能性を秘めている。
@yukihiko-fuyuki が以下のラベルを提案し、適用しました:
以下の新しいラベルが作成され、適用されました:
タイトル: CodexGraph: コードグラフデータベースを用いた大言語モデルとコードリポジトリの橋渡し
リンク: https://arxiv.org/abs/2408.03910
概要:
大規模言語モデル (LLM) は、HumanEval や MBPP などのスタンドアロンのコードタスクにおいては優れていますが、コードリポジトリ全体を扱うとなると困難に直面します。この課題に対処するため、リポジトリ規模での LLM とコードベースの相互作用を強化する研究が進められています。現在の解決策は、類似性に基づく検索や手動ツール、API に依存していますが、それぞれに大きな欠点があります。類似性に基づく検索は、複雑なタスクでは再現率が低いことが多く、手動ツールや API は特定のタスクに特化しており、専門知識が必要となるため、多様なコードタスクや現実のアプリケーションへの汎用性が低下します。これらの制限を軽減するため、コードリポジトリから抽出されたグラフデータベースインターフェースと LLM エージェントを統合した \framework を紹介します。グラフデータベースの構造的特性とグラフクエリ言語の柔軟性を活用することで、\framework は LLM エージェントがクエリを構築して実行できるようにし、正確でコード構造を意識したコンテキスト検索とコードナビゲーションを実現します。 \framework の評価には、CrossCodeEval、SWE-bench、EvoCodeBench の 3 つのベンチマークを使用しました。さらに、現実世界のコーディングアプリケーションを 5 つ開発しました。統一されたグラフデータベーススキーマを備えた \framework は、学術環境と現実世界の両方において、競争力のあるパフォーマンスと可能性を示し、ソフトウェアエンジニアリングにおける汎用性と有効性を示しています。アプリケーションのデモはこちらをご覧ください: https://github.com/modelscope/modelscope-agent/tree/master/apps/codexgraph_agent.