Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
(論文読み)LLMからLLMエージェントへ for ソフトウェアエンジニアリング
Search
ymgc
August 25, 2024
Technology
3
660
(論文読み)LLMからLLMエージェントへ for ソフトウェアエンジニアリング
このスライドは、2024.8.5 に公開された、以下論文の輪読会用の記事になります。
https://arxiv.org/html/2408.02479v1
ymgc
August 25, 2024
Tweet
Share
More Decks by ymgc
See All by ymgc
Machines of Loving Grace - AIはどのように世界をより良く変えるか -
__ymgc__
1
36
ファシリテーションの技術
__ymgc__
2
29
(論文読み)BigCodeBench: 多様な関数呼び出しと複雑な指示を用いたコード生成のベンチマーキング
__ymgc__
1
32
(論文読み)Very Large-Scale Multi-Agent Simulation in AgentScope
__ymgc__
1
22
7 POWERS
__ymgc__
1
23
自己組織化系のベイズ力学
__ymgc__
1
31
エムラン・メイヤー 『腸と脳』
__ymgc__
1
25
(論文読み)不特定多数の人工知能エージェントによる自由行動の安全化に関する研究
__ymgc__
1
29
群論入門:集合と対称性の数学
__ymgc__
0
24
Other Decks in Technology
See All in Technology
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.7k
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
890
Engineer Career Talk
lycorp_recruit_jp
0
190
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
3
630
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
250
SSMRunbook作成の勘所_20241120
koichiotomo
3
160
第1回 国土交通省 データコンペ参加者向け勉強会③- Snowflake x estie編 -
estie
0
130
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
310
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
9
1.1k
Featured
See All Featured
The Cult of Friendly URLs
andyhume
78
6k
Being A Developer After 40
akosma
87
590k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
720
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Typedesign – Prime Four
hannesfritz
40
2.4k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Transcript
From LLMs to LLM-based Agents for Software Engineering: A Survey
of Current, Challenges and Future 1 ソフトウェアエンジニアリングのための ソフトウェアエンジニアリングのための LLM・LLMベースのエージェントへ LLM・LLMベースのエージェントへ サーベイ論文 サーベイ論文 https://arxiv.org/html/2408.02479v1 https://arxiv.org/html/2408.02479v1
想定読者 ソフトウェアエンジニア ▶ AI研究者 ▶ ソフトウェア開発マネージャー ▶ コンピュータサイエンスの学生 ▶ テクノロジー企業の意思決定者
▶ 2
目次 はじめに ▶ 予備知識 ▶ LLMタスク ▶ LLMベースのエージェントタスク ▶ 3
用語 BLEU (Bilingual Evaluation Understudy): 機械翻訳の品質を評価するための指標 ▶ CVE (Common Vulnerabilities
and Exposures): 公開されている情報セキュリティの脆弱性や露出の標準リスト ▶ Encoder-Decoder: 入力を中間表現に変換し、それを出力に変換するモデルアーキテクチャ ▶ F1スコア: 精度と再現率の調和平均 ▶ MBPP (Mostly Basic Python Problems): Pythonプログラミング問題のデータセット ▶ RAG (Retrieval-Augmented Generation): 検索拡張生成 ▶ ROC AUC (Receiver Operating Characteristic Area Under the Curve): 分類モデルの性能を評価する指標 ▶ RTT (Round-Trip Translation): 往復翻訳 ▶ Transformer: 自然言語処理タスクに広く使用される注意機構ベースのニューラルネットワークアーキテクチャ ▶ 4
はじめに 5
背景と目的 LLMsの台頭により、ソフトウェア工学への応用が増加している ▶ コード生成や脆弱性検出などで顕著な成功を収めている - 一方で、多くの制限や欠点も存在する - LLMベースのエージェントは、LLMの制限を克服する可能性を持つ ▶ 自律性や自己改善能力の欠如などの問題に対処できる
- 本調査の目的: ▶ LLMとLLMベースのエージェントのソフトウェア工学応用を包括的に調査する - 1.要求工学、2.コード生成 - 3.自律的意思決定 - 4.ソフトウェア設計、5.テスト生成、6.ソフトウェア保守 - 6
調査方法 論文の全体構造 2023年後半から2024年5月までの最新研究に焦点を当てる ▶ 合計117の関連論文を特定 ▶ 第2章: LLMとLLMベースのエージェントの技術的背景 ▶ 第3-8章:
6つのソフトウェア工学領域の詳細分析 ▶ 各領域でのLLMとLLMベースのエージェントの比較 - タスク、ベンチマーク、評価指標の分析 - 第9章: 総合的な議論と分析 ▶ 第10章: 結論と将来の研究方向性 ▶ 7
既存の研究 LLMsの主な応用領域: ▶ コード生成: GitHub Copilotなどの開発支援ツール - バグ修正: 自動エラー検出と修正提案 -
要求工学: 自然言語処理による要求抽出と分析(新興分野) - 8
予備知識 9
大規模言語モデル (LLM) LLMの歴史的発展: ▶ 1950-1970年代: ルールベースの初期対話システム - 1980-1990年代: 機械学習とニューラルネットワークの導入 -
2017年: Transformerアーキテクチャの登場 - 2018年以降: GPTシリーズの進化(GPT-1からGPT-4まで) - 現代のLLMの特徴: ▶ 大規模なパラメータ数(175B以上) - 自己注意機構による高度なコンテキスト理解 - マルチタスク学習と少数ショット学習能力 - 10
モデルアーキテクチャ 1.Encoder-Decoder アーキテクチャ ▶ 特徴: 入力をエンコード、出力をデコード - 応用例: 機械翻訳タスク -
代表モデル: CodeT5+ - 2.Encoder-only アーキテクチャ ▶ 特徴: デコーダーを省略、並列処理に適合 - 応用例: センチメント分析、文脈解析 - 代表モデル: BERT - 3.Decoder-only アーキテクチャ ▶ 特徴: 自己回帰性、スケーラビリティが高い - 応用例: テキスト生成、シーケンス予測 - 代表モデル: GPTシリーズ、LLaMA - 11
LLMベースのエージェント 概念と発展: ▶ LLMを「脳」として利用し、自律的思考と判断を実現 - ReActフレームワークやExpeL手法による経験学習の実装 - 体現化されたエージェントの応用: ▶ 物理的または仮想環境での知覚と行動の統合
- 例: VOYAGERエージェントによるMinecraftでの自律学習 - データ拡張手法: ▶ 同義語置換、逆翻訳、パラフレージング、合成データ生成 - Retrieval-Augmented Generation (RAG): ▶ 外部知識ベースとの統合による回答精度の向上 - コンテキスト長の制限を克服する手法 - 12
シングルエージェントとマルチエージェント シングルエージェントシステム: ▶ 単一のLLMによるタスク処理 - 長いコンテキスト入力や複雑な意思決定に課題 - マルチエージェントシステム: ▶ 複数のLLMまたはエージェントの協調
- 利点: - 向上したコンテキスト管理 - 専門化と労働分業による効率化 - エラー修正と堅牢性の向上 - 高いスケーラビリティと柔軟性 - 動的で複雑な問題解決能力 - 13
ソフトウェア工学におけるLLM LLMの影響: ▶ コード生成、デバッグ、ドキュメンテーションの自動化 - 開発ワークフローの効率化と人的エラーの削減 - LLMベースのエージェントの可能性: ▶ 自律的な意思決定と問題解決
- 外部ツールとの統合によるタスク最適化 - LLMベースのエージェントの定義基準: ▶ 1.LLMが情報処理と思考生成の中心 - 2.意思決定と計画能力の保有 - 3.外部ツールの自律的使用 - 4.複数の解決策から最適解を選択する能力 - 5.複数回の相互作用とコンテキスト理解の維持 - 6.自律学習能力と適応性 - 14
LLMタスク 要求工学とドキュメンテーション 15
要求分類と抽出: PRCBERTフレームワーク: ▶ 柔軟なプロンプトテンプレートを使用して分類問題を一連の二値分類タスクに変換 - PROMISEデータセットでF1スコア96.13%を達成、NoRBERTやBERT-MLMモデルを上回る性能 - ChatGPTによる要求情報抽出: ▶ ゼロショット設定下でベースラインモデルと同等またはそれ以上のFβスコアを達成
- 特に機能抽出タスクで顕著な性能向上 - 16
要求生成と記述: ChatGPTを用いたユーザー要求の生成と収集: ▶ 専門知識を持つ参加者がChatGPTをより効果的に使用できることを実証 - 要求の適合性、部分的適合、関連性に基づく質的評価を実施 - Software Requirement Specification
(SRS) 生成: ▶ GPT-4とCodeLlama-34bを用いた包括的評価 - 人間が作成したSRSと比較し、完全性と内部一貫性でCodeLlamaが優れた性能を示す - 17
仕様生成: SpecGenフレームワーク: ▶ GPT-3.5-turboをベースモデルとして使用 - プロンプトエンジニアリングとマルチターン対話を組み合わせて仕様を生成 - 4つの変異演算子を適用して仕様を修正し、発見的選択戦略で最適な変異体を選択 - プログラム仕様の70%を生成し、HoudiniやDaikon1などの従来ツールを上回る性能
- 18
品質評価: ChatGPTによるユーザーストーリー品質評価: ▶ 品質問題の特定に潜在的な可能性を示すが、さらなる最適化と改善が必要 - 要求満足度評価の自動化: ▶ 設計要素が与えられた要求を完全にカバーしているかを評価 - 実際のアプリケーションでのさらなる検証と最適化の必要性を指摘
- 19
曖昧性検出: BERTとK-meansクラスタリングを使用: ▶ 同じアプリケーションドメイン内で異なる文脈で使用される用語を特定 - 要求ドキュメントの明確さと一貫性を向上 - 20
LLMタスク コード生成とソフトウェア開発 21
自然言語からのコード生成: GPT-4の性能評価: ▶ 意味解析、数学的推論、Pythonプログラミングなどのタスクで強力な能力を実証 - 指示調整と大規模訓練データのサポートにより、ユーザーの意図に沿ったコード生成を実現 - SQL-PaLMフレームワーク: ▶ テキストからSQLへの変換タスクの実行精度と正確な一致率を大幅に向上
- few-shotプロンプトと指示微調整を通じて、複雑なクロスドメインSQL生成タスクの効果的な解決策を提供 - テストされたベンチマークで最高のテスト精度77.3%と実行精度82.7%を達成 - CodeGeeXモデル: ▶ 複数のプログラミング言語で事前訓練され、多言語コード生成と翻訳タスクで優れた性能を発揮 - HumanEval-Xベンチマークで他の多言語モデルを上回る性能を示す - 22
コードデバッグと評価: "print debugging"技術: ▶ GPT-4を使用して変数の値と実行フローを追跡 - 文脈内学習技術を用いて効率性と精度を向上 - 中程度の難易度のLeetcode問題で特に効果的(単純な問題で1.5%、中程度の問題で17.9%の性能向上) -
23
コード生成能力の向上: GitHub Copilot: ▶ OpenAIのCodexモデルを統合し、リアルタイムのコード提案と補完を提供 - 開発者がHTTPサーバータスクを55.8%速く完了できることを実証 - INCODERモデル: ▶
プログラム合成と編集の両方が可能 - 双方向コンテキストを活用し、単一行および複数行のコード補完タスクで優れた性能を発揮 - 24
特殊化されたコード生成: SQL-PaLMフレームワーク: ▶ テキストからSQLへの変換タスクで状態技術 (SOTA) の性能を達成 - T5-3B + PICARD、RASAT
+ PICARD、さらにはGPT-4と比較して優れた結果を示す - 25
マルチターンプログラム合成: CODEGENモデル: ▶ 複数の相互作用を通じて反復的にプログラムを生成 - プログラム合成の質を大幅に向上させ、開発プロセスをより効率的かつ正確に - CodexモデルとHumanEvalベンチマークでの比較で、同等サイズのモデルを上回る性能を示す - Cycleフレームワーク:
▶ 実行フィードバックから学習することでコード言語モデルの自己改善能力を強化 - 複数のベンチマークデータセットでコード生成性能を63.5%向上 - 26
LLMタスク 自律学習と意思決定 27
投票推論システムの最適化: LLM呼び出し回数と性能の非線形関係を分析: ▶ 呼び出し回数の増加に伴い、初期には性能が向上するが、一定のしきい値を超えると低下 - クエリの難易度の多様性により、投票推論システムの性能が非単調な傾向を示す - 資源配分の最適化: ▶ LLM呼び出しの理論的基礎を提供し、実際のアプリケーションでの最適な性能達成を支援
- 28
自己デバッグと自己修正: SELF-DEBUGGINGメソッド: ▶ 実行結果と自然言語説明の分析によるコードデバッグ - コード生成タスクの精度とサンプル効率を大幅に向上(2-12%の精度向上) - SpiderとTransCoderベンチマークでの有効性を実証 - AutoSD
(Automated Scientific Debugging) 技術: ▶ LLMを通じて科学的デバッグプロセスをシミュレート - 説明可能なパッチコードを生成 - 開発者のパッチコード評価精度を向上させ、自動生成パッチの理解と受け入れを促進 - 29
創造性評価: LLMの創造的コンテンツ生成能力の分析: ▶ 価値、新規性、驚きの観点から評価 - 現在のLLMが組み合わせ的、探索的、変革的創造性の生成に限界があることを発見 - 高品質な創造的コンテンツの生成は可能だが、真の創造的ブレークスルーには更なる研究と改善が必要 - 30
チャットボット応答の判定: LLMを使用した他のLLM駆動チャットアシスタントの評価: ▶ MT-BenchとChatbot Arenaベンチマークを通じてLLMの判断と人間の選好の一貫性を検証 - GPT-4の判断が様々なタスクにわたって人間の判断と高度に一致することを実証 - 人間の評価のシミュレーションにおけるLLMの潜在的可能性を示し、自動評価と最適化の新たなアイデアを提供 -
31
LLMタスク ソフトウェア設計と評価 32
ログ要約、代名詞解決、コード要約: ChatGPTの性能評価: ▶ ログ要約と代名詞解決タスクで100%の成功率を達成 - コード要約やレビューなどの複雑なタスクでは性能が低下 - 33
自然言語生成出力の評価: EvaluLLMフレームワーク: ▶ 従来の参照ベースの評価指標(BLEUやROUGEなど)の制限に対処 - 生成出力をペアで比較し、勝率指標を使用してモデル性能を測定 - 評価プロセスを簡素化し、人間の評価との一貫性を確保 - 34
ハードウェア/ソフトウェア協調設計の最適化: LLMを用いた高位合成(HLS)設計の機能検証: ▶ 量子化、プルーニング、操作レベルの最適化を通じてLLMを最適化 - Chrysalisデータセットの作成: 1000以上の関数レベル設計を含む - HLSデバッグ支援ツールの評価に使用 -
35
GUIプロトタイピングの効率化: RaWiアプローチ: ▶ データ駆動型GUIプロトタイピング手法 - ユーザーがGUIリポジトリから検索、編集、新しい高忠実度プロトタイプを迅速に作成可能 - 従来のGUIプロトタイピングツール(Mockplus)と比較して、precision@k指標で40%の改善を実証 - 36
LLMタスク ソフトウェアテスト生成 37
セキュリティテスト生成: GPT-4を用いたサプライチェーン攻撃のセキュリティテスト生成: ▶ 異なるプロンプトスタイルとテンプレートを実験し、テスト生成品質への影響を探究 - ChatGPTが生成したテストが55アプリケーション中24の概念実証脆弱性を発見 - 既存ツール(TRANSFERやSIEGE)を上回る性能を示す - セキュリティテスト生成における
LLM の潜在的可能性を実証し、開発者にライブラリ脆弱性への新たなアプローチを提 供 ▶ 38
バグ再現: AdbGPTフレームワーク: ▶ Androidバグ報告からの自動エラー再現を実現 - S2R実体抽出で90.4%と90.8%の精度、エラー再現で81.3%の成功率を達成 - ベースラインのReCDroidと比較して大幅な性能向上を示す - LIBROフレームワーク:
▶ バグ報告からのバグ再現テスト生成 - Defects4Jデータセットで33.5%、GHRBデータセットで32.2%のバグを再現 - 高度なプロンプトエンジニアリングとポスト処理技術を組み合わせて効果を実証 - 39
ファジングテスト: Fuzz4Allツール: ▶ LLMを使用して様々なソフトウェアシステムの入力を生成・変異 - 言語や特定システムとの密接な結合を避け、進化する言語機能をサポート - すべてのテスト対象言語で最高のコードカバレッジを達成(平均36.8%向上) - 9つのシステムにわたって98個のバグを発見
- 40
高カバレッジテストケース生成: SymPromptフレームワーク: ▶ 高カバレッジテストケース生成のための新しいコード認識プロンプト戦略 - CodeGen2で26%、GPT-4で105%のカバレッジ向上を実現 - COVERUPシステム: ▶ カバレッジ分析とLLMとの対話を通じて高カバレッジPython回帰テストを生成
- コードカバレッジを62%から81%に、分岐カバレッジを35%から53%に向上 - 41
LLMタスク ソフトウェアセキュリティと保守 42
プログラムの脆弱性: ソースコードの脆弱性検出: ▶ WizardCoderモデルの微調整: - Java関数の脆弱性検出性能を向上 - ROC AUCスコアを0.66から0.69に改善(CodeBERTと比較) -
ChatGPTとGPT-3モデルの評価: - 二値分類タスクで高い精度と再現率を達成 - 多クラス分類タスクでは限界を示す(AUCスコア0.51、ランダム推測と同等) - 複雑なコード構造の統合: ▶ GRACEフレームワーク: - グラフ構造情報と文脈学習を組み合わせ - コードの意味的、構文的、語彙的類似性を統合 - ベースラインモデルからF1スコアを28.65%改善 - 新しいベンチマークデータセットの開発: ▶ PRIMEVULデータセット: - 既存のベンチマークが大規模言語モデルの性能を過大評価していることを発見 - 例: 7Bモデルの F1 スコアが BigVul で 68.26% だったのに対し、PRIMEVUL では 3.09% に低下 - 43
プログラム修復の自動化: Round-Trip Translation (RTT)を用いた自動プログラム修復: ▶ 欠陥のあるコードを別の言語に翻訳し、元の言語に戻すことで潜在的なパッチを生成 - 複数の言語モデルとベンチマークで評価し、有意な修復効果を達成 - NAVRepairフレームワーク:
▶ C/C++コードの脆弱性に特化 - 抽象構文木(AST)を使用してノードタイプ情報を抽出 - CWEから導出された脆弱性テンプレートと組み合わせて、対象を絞った修復提案を生成 - 既存の手法と比較して修復精度を26%向上 - 44
プログラム修復の自動化: MOREPAIRフレームワーク: ▶ 構文的コード変換と論理的推論の同時最適化 - QLoRA(Quantized Low-Rank Adaptation)を使用してメモリ要件を削減 - NEFTune(Noisy
Embedding Fine-Tuning)を使用して微調整プロセス中の過学習を防止 - CodeLlamaモデルで evalrepair-C++ と EvalRepair-Java で最初の10個の修復提案でそれぞれ11%と8%の改善 - RINGシステム: ▶ 6つのプログラミング言語横断の多言語プログラム修復 - Pythonで94%のエラーを最初の試行で修復 - 45
プログラム修復の自動化: SRepairフレームワーク: ▶ デュアルLLMアプローチを使用した機能レベルの自動プログラム修復 - チェーンオブソートを使用して自然言語修復提案を生成し、それを使用して修復された関数を生成 - Defects4Jデータセットで300の単一機能エラーを修復し、既存技術から少なくとも85%の改善を達成 - 46
ペネトレーションテスト: PENTESTGPTツール: ▶ LLM駆動の自動ペネトレーションテストツールの開発と評価 - 3つの自己相互作用モジュール(推論、生成、解析)を導入 - 13のターゲットと182のサブタスクを含むベンチマークに基づく実証研究を提供 - GPT-3.5より228.6%、GPT-4より58.6%高いタスク完了率を達成
- ChatGPT 3.5を用いたペネトレーションテスト: ▶ 5段階のペネトレーションテスト(偵察、スキャン、脆弱性評価、エクスプロイト、報告)を実施 - Shell_GPT (sgpt)とChatGPTのAPIを統合し、ペネトレーションテストプロセスの自動ガイダンスを実現 - テスト効率と有効性の向上を実証したが、潜在的なリスクと意図しない結果の考慮の必要性も強調 - 47
LLMベースのエージェントタスク 要求工学とドキュメンテーション 48
半構造化ドキュメントの生成: マルチエージェントフレームワーク: ▶ 意味認識、情報検索、コンテンツ生成タスクを組み合わせて文書生成を効率化 - 最小限のユーザー介入で、設計されたフレームワークとワークフローに従って各エージェントが特定のタスクを実行 - 49
安全要求の生成: 自動運転システムの安全要求生成: ▶ LLMプロトタイプを既存のHazard Analysis and Risk Assessment (HARA)プロセスに統合 -
手動プロセスと比較して数か月から1日以内に完了時間を短縮 - マルチモーダル機能の導入により、LLMベースのエージェントの独自の利点を実証 - 50
ユーザーストーリーの自動生成と品質向上: ALASシステム: ▶ オーストリアポストグループITの6つのアジャイルチームで成功裡に適用 - 自動分析と強化を通じてユーザーストーリーの明確さ、理解しやすさ、ビジネス目標との整合性を大幅に改善 - エージェントフレームワーク全体がアジャイル開発プロセスで特定の役割を果たすことを可能に - チームメンバーからALAS改善済みユーザーストーリーに対する高い満足度評価を獲得
- 51
LLMベースのエージェントタスク コード生成とソフトウェア開発 52
ソフトウェア開発プロセスの自動化: 自己協調フレームワーク: ▶ 複数のChatGPT(GPT-3.5-turbo)エージェントが異なる役割を果たし、複雑なコード生成タスクを協調的に処理 - ソフトウェア開発手法(SDM)を導入し、開発プロセスを分析、コーディング、テストの3段階に分割 - HumanEvalとMBPPベンチマークで性能を大幅に向上(HumanEvalで最大29.9%の改善) - LCGフレームワーク:
▶ マルチエージェント協調とチェーンオブソート技術を通じてコード生成品質を向上 - 53
大規模コードとドキュメントの生成: L2MACフレームワーク: ▶ マルチエージェントシステムを通じてメモリと実行コンテキストを動的に管理 - システム設計タスクにおける大規模コードベース生成でSOTA性能を達成 - HumanEvalベンチマークでPass@1スコア90.2%を達成 - 54
ツールと外部APIの使用: Toolformerモデル: ▶ 自己監督を通じてAPIを呼び出す方法を学習 - 複数のベンチマークタスクで大幅な性能向上を達成 - ToolLLMフレームワーク: ▶ 外部APIとの相互作用を強化
- ToolBenchとAPIBenchベンチマークでText-Davinci-003とClaude-2を上回る性能を示す - 55
マルチエージェント協調とコード改善: MetaGPTフレームワーク: ▶ 標準操作手順(SOPs)を用いてマルチエージェント協調を通じて問題解決能力を強化 - ソフトウェア開発の滝モデルライフサイクルをシミュレート - AgentCoderフレームワーク: ▶ プログラマーエージェント、テスト設計エージェント、テスト実行エージェントの協調によりコードを生成・最適化
- HumanEval-ETベンチマークでpass@1 77.4%を達成し、従来の最高結果69.5%を上回る - 56
コード生成品質の向上: OpenCodeInterpreterフレームワーク: ▶ コード生成、実行、人間のフィードバックを統合し、モデルの正確性を向上 - CodeLlamaとDeepSeekCoderを基盤とし、HumanEvalとMBPPベンチマークでGPT-4 Code Interpreterに匹敵する性能を達 成 -
57
LLMベースのエージェントタスク 自律学習と意思決定 58
自律的推論と意思決定: 人間のグループ討論プロセスをシミュレート - タスク固有の例なしで常識的知識と数学的推論タスクの性能を向上 - 単一エージェントの一般的なエラー(判断ミスや不正解の伝播)を修正し、全体的な推論精度を向上 - PCA-EVALベンチマーク: ▶ GPT4-Visionのような多モーダル大規模言語モデル(MLLM)の自律的意思決定プロセス強化の可能性を探求
- 自動運転、ホームアシスタント、ゲームなどの分野でマルチモーダル意思決定能力を評価 - GPT4-Visionが知覚、認知、行動の次元で優れた性能を示すことを実証 - Reflexionフレームワーク: ▶ 言語フィードバックを通じた学習強化 - 高コストな再訓練を避けつつ、言語エージェントがミスから学ぶことを支援 - HumanEval Pythonプログラミングタスクでの初回成功率を80.1%から91.0%に向上 - ALFWorld意思決定タスクでの成功率を22%向上 - HotPotQA推論タスクでの性能を14%向上 - ExpeL エージェントフレームワーク: ▶ 自然言語を用いて一連のトレーニングタスクから自律的に経験を収集し知識を抽出 - 59
フィードバックを通じた学習と適応: AGENTVERSEマルチエージェントフレームワーク: ▶ タスク完了効率と有効性の向上を目的とした協調システム - テキスト理解、推論、コーディング、ツール使用などのタスクで優れた性能を示す - グループ協調を通じて性能を大幅に向上、特にコーディングタスクで顕著 - 協調中のエージェントに自発的行動、同調性、破壊的行動などの創発的行動を観察
- CAMELフレームワーク: ▶ 自律的協調エージェントフレームワークの構築技術のスケーラビリティ探求 - 埋め込みプロンプトを通じて対話エージェントにタスク完了を導く - 人間の意図との整合性を維持しつつ、エージェント社会内の行動と能力を研究するための対話データを生成 - 60
人間のような行動のシミュレーションと評価: SELFフレームワーク: ▶ 言語フィードバックを通じたLLMの自己進化を実現 - 人間の介入なしで自己フィードバックと自己改善の反復プロセスを通じてモデル能力を向上 - GSM8KとSVAMPデータセットでのテスト精度をそれぞれ6.82%と4.9%向上 - VicunaテストセットとEvol-Instructテストセットでのタスク勝率をそれぞれ10%と6.9%向上
- 信頼ゲームを用いたLLMベースのエージェントの人間的信頼行動シミュレーション: ▶ 初期資金配分や信頼返還ゲームなどの一連の信頼ゲーム変種を通じて、LLMベースのエージェントの信頼決定と行動を分 析 - 特にGPT-4において、LLMベースのエージェントが人間の期待と一致する信頼行動を示すことを実証 - 61
LLMベースのエージェントタスク ソフトウェア設計と評価 62
ソフトウェア開発ライフサイクル全体の自動化: チャット駆動型マルチエージェントフレームワークの実装: Auto-GPTの評価: ▶ ソフトウェア開発ライフサイクル(SDLC)の各段階(設計、テスト、GitHubとの統合など)での性能を評価 - 詳細なコンテキストプロンプトが複雑なソフトウェア工学タスクでのエージェント性能を大幅に向上させることを発見 - コンテキストリッチなプロンプトがエラー削減と効率向上に重要であることを強調 -
ChatDevフレームワーク: ▶ 仮想チャット駆動型ソフトウェア開発会社としての設計 - チャットベースのマルチエージェントフレームワークを通じて、より構造化、効率的、協調的なソフトウェア開発プロセ スを実現 - 平均409.84秒、コスト$0.2967でソフトウェアを設計・生成し、コードの脆弱性を大幅に削減 - HuggingGPTシステム: ▶ ChatGPTを使用して Hugging Face の様々なAIモデルのタスク実行を調整 - 言語、視覚、音声を含む複雑なAIタスクの処理能力をテスト - LLMを直接のタスク実行ツールではなく、複雑なタスクを遂行するための既存AIモデルを活用する中央オーケストレータ ーとして使用 - 63
動的マルチエージェント環境でのLLM評価: LLMARENAベンチマークフレームワーク: ▶ 動的で相互作用的なマルチエージェント環境でのLLMの能力評価 - 単一エージェントの静的タスクから、より現実的で挑戦的な設定への焦点の移行 - ゲーミング環境でのLLMの空間設計、戦略的計画、チームワーク能力をテスト - 64
モジュラー設計によるAIと人間の協調強化: "Flows"概念フレームワーク: ▶ AIモデルと人間の相互作用を構造化し、推論と協調能力を向上 - プロセスを独立した目標駆動型エンティティとして概念化し、標準化されたメッセージベースのインターフェースを通じて 相互作用 - 競争的コーディングタスクでAIモデルの問題解決率を21パーセントポイント、人間-AI協調率を54パーセントポイント向上 -
65
LLMベースのエージェントタスク ソフトウェアテスト生成 66
マルチエージェントフレームワークによるテスト最適化: AgentCoderフレームワーク: ▶ プログラマーエージェント、テスト設計エージェント、テスト実行エージェントの協調 - HumanEval-ETベンチマークでpass@1 77.4%を達成(従来の最高結果69.5%を上回る) - SocraTestフレームワーク: ▶
会話型相互作用を通じてテストプロセスを自動化 - GPT-4を使用したテストケースの生成と最適化の詳細な例を提示 - 複数のステップの相互作用によるテスト手法の強化を実証 - 67
ユーザー受け入れテスト(UAT)の自動化: XUAT-Copilotシステム: ▶ WeChat Pay UATプロセスの自動化を目的としたマルチエージェント協調システム - LLMを使用して自動的にテストスクリプトを生成 - WeChat
Pay UATシステムの450のテストケースで評価を実施 - Pass@1率88.55%、Complete@1率93.03%を達成 - 68
テスト設計と実行の協調的アプローチ: TestChainフレームワーク: ▶ 高品質テストケースの生成と限界の特定を目的とする - StarChat、CodeLlama、GPT-3.5、GPT-4をHumanEvalとLeetCode-hardデータセットで評価 - GPT-4を使用したTestChainがLeetCode-hardデータセットで71.79%の精度を達成(ベースライン手法から13.84%の改善) - HumanEvalデータセットでGPT-4を使用したTestChainが90.24%の精度を達成
- 69
LLMベースのエージェントタスク ソフトウェアセキュリティと保守 70
マルチエージェントデバッグフレームワークの開発: LDB (Large Language Model Debugger) メソッド: ▶ プログラムを基本ブロックに分割し、タスク記述に基づいて各ブロックの正確性を検証 -
人間のデバッグ実践により近い、より詳細で効果的なデバッグツールを提供 - HumanEvalベンチマークでの精度を73.8%から82.9%に向上(9.1%の改善) - 71
スマートコントラクトの脆弱性修復: ACFIXフレームワーク: ▶ Role-Based Access Control (RBAC) 実践とLLMを組み合わせた文脈認識修復フレームワーク - 既存のスマートコントラクトから一般的なRBAC実践をマイニング
- Multi-Agent Debate (MAD) メカニズムを採用し、生成器と検証器エージェント間のディベートを通じて生成されたパッチ の正確性を確保 - アクセス制御脆弱性の94.92%を修復(ベースラインGPT-4の52.54%を大幅に上回る) - 72
自動脆弱性エクスプロイト生成: GPT-4を用いた未パッチ脆弱性の自動エクスプロイト: ▶ CVE説明提供時に87%の成功率でエクスプロイトを生成 - 自動エクスプロイト生成の可能性と課題を示唆 - 73
ペネトレーションテストの自動化と最適化: GPT-3.5を用いたペネトレーションテスト支援: ▶ 高レベルタスク計画と低レベル脆弱性発見の自動化 - ペネトレーションテストの複数段階(戦略策定、脆弱性発見など)の自動化を実証 - LLMのペネトレーションテストにおける有効性を示す - 74
以上 75