Multi-agent prompting — マルチエージェントプロンプティング

From Systems analysis wiki
Jump to navigation Jump to search

マルチエージェントプロンプティング(英: multi-agent prompting)は、プロンプトエンジニアリングおよび人工知能システムにおける手法であり、大規模言語モデル (LLM) に基づく複数の自律エージェントが、構造化された指示と応答の交換を通じて相互作用し、複雑なタスクを解決するものです[1]

言い換えれば、マルチエージェントシステムは複数のLLMエージェントで構成され、ユーザーの複雑なクエリに対して共同で作業します。その際、異なる「役割」と能力を持つエージェント間で推論の段階(subtasks)を分担します。このアプローチの主な目的は、集団的な問題解決によって、単一モデルが複雑なタスクで直面する限界を克服することです。複数の相互作用するエージェントを利用することで、推論の質、事実の正確性、および回答の信頼性を向上させることが意図されています[2]。重要な特徴は、厳密な指示性です。各LLMには、全体的な解決策の枠組みの中で特定の役割やタスクが割り当てられます。

手法とアーキテクチャパターン

研究者によって、エージェント間の相互作用の性質や役割が異なる、いくつかのマルチエージェントプロンプティングのスキームが提案されています。

役割ベースのエキスパートモデリング

1つまたは複数のエージェントが、特定の専門分野を持つドメインエキスパートとして割り当てられます。例えば、マルチエージェントグループ内で、異なるエージェントが異なる知識領域(物理学者、化学者、生物学者)や、タスク解決の異なる段階(プランナー、実行者、批評家)を代表することがあります[1]。このアプローチにより、効果的なfew-shotプロンプティングが可能になり、各エキスパートエージェントが自身の専門分野におけるデモンストレーション例を受け取ることで、全体のパフォーマンスが向上します。

自己修正と批判 (Self-reflection)

エージェントは「批評家」の役割を担ったり、他のエージェントの決定や自分自身の以前の回答を振り返ったりすることができます。self-reflectionまたはself-refinementという戦略は、LLMがまず回答を生成し、その後、同じモデルまたは別のモデルがその回答を分析して誤りを修正するというものです[1]。これにより、最終的な結果を反復的に改善することができます。

エージェント間のディベート

これはマルチエージェントプロンプティングの競合的なバリエーションであり、複数のLLM間で議論や討論を組織するものです。LLM-Debateのスキームでは、2つ以上のエージェントがタスク(例えば数学の問題)の正解について議論し、互いの主張を批判します[3]。このようなディベート形式は、モデルの論理的推論能力を向上させ、単独での解決と比較して回答の事実の正確性を高めます。

タスクの計画と分解

1つのエージェントがプランナーとして機能し、複雑なクエリを一連のステップやサブタスクに分解し、それらを自身または他のエージェントが解決します。ReActReflexionといった手法は、フィードバックを伴うこのような反復的な計画の原則を実装しています。LLMは実行に着手する前にまず解決計画を生成するため、長い推論の連鎖に対応するのに役立ちます[1]

マルチペルソナ協調

異なるモデルを使用する代わりに、同じLLMに異なるペルソナ設定や視点を持つ複数のエージェントを「演じさせる」ことも可能です。multi-persona self-collaborationアプローチでは、1つのモデルが対話の中で連続していくつかの役割を担い、あたかも自分自身と議論するかのように進めます。研究によれば、独立した個々のエージェントの方が高い効率性を発揮するとされていますが、この手法は1つのLLM内で専門家チームを模倣することを可能にします[1]

応用と結果

マルチエージェントプロンプティングのアプローチは、単一のLLMがこれまで困難に直面していた多くの分野でその有効性を示しています。

数学的・論理的推論

複数のエージェントを使用することで、多段階の推論を必要とするタスク(複雑な算術、数学的証明、論理パズル)の精度が著しく向上します。Duら(2023年)の研究では、マルチエージェントの「ディベート」アプローチが単一エージェントと比較して結果を改善しました。分析によると、議論に参加するエージェントの数が増えるにつれて、回答の精度が向上することが示されています[3]

科学技術タスク

複雑な専門分野の問題(物理学、化学)に対しては、CoMMCollaborative Multi-Agent, Multi-Reasoning-Path Prompting)という手法が提案されました。この手法では、異なる役割を持つ複数のLLMエージェント(エキスパート)が、異なる推論戦略を並行して適用します。大学レベルの物理学の問題に関するテストでは、CoMMはchain-of-thoughtのような基本的なアプローチを大幅に上回り、数式や計算における誤りが少なくなりました[1]

コードの生成とデバッグ

プログラミングの分野では、マルチエージェントシステムはコードの品質を向上させ、エラーの数を減らすために適用されます。PromptVシステムは、複数のエージェントを使用してVerilogコードを順次作成、検証、修正します。役割(生成、レビュー、テスト)を分担することで、モデルがエラーを検出・修正する能力が向上し、あるベンチマークでは正常にコンパイルされるソリューションの割合が96.5%にまで増加しました[4]

情報の検索と分析

マルチエージェントシステムは、オープンで構造化されていないクエリに特に有用です。Anthropic社は、Webリサーチ用に設計されたClaudeモデルのマルチエージェントモードを開発しました。このシステムでは、主要なエージェントがクエリを分析し、複数の並行するサブタスクエージェントを生成します。各サブタスクエージェントは、テーマの異なる側面について検索を実行します。このようなアーキテクチャは、単一のClaudeモデルと比較して、複雑な検索質問に90%も効果的に対応できました[2]

テキスト分類とNLPタスク

NLPタスクのために、原則ベースのプロンプティングPrinciple-Based Prompting)が開発されました。この手法では、LLMエージェントがまず一連の「原則」(解決のためのルール)を生成し、その後、最終決定エージェントがそれらの中から最良のものを選び出し、その原則に基づいて別のエージェントが分類を実行します。このアプローチは、基本的な手法と比較してmacro-F1メトリクスを1.5〜19%向上させ、古典的な少数例学習(few-shot)の品質に近づきました[5]

制約と課題

計算の複雑さとコスト

主な欠点は、計算負荷が急激に増加することです。各エージェントは独自の生成セッションを必要とするため、トークンとリソースの消費が大幅に増加します。Anthropic社のデータによると、彼らのシステムは1回の対話あたり平均で4倍、場合によっては最大15倍多くのトークンを消費します[2]。これにより、このアプローチの適用は、価値の高いタスクにのみ正当化されることになります。

設計と協調の複雑さ

成功させるためには、慎重なプロンプトのエンジニアリング設定が必要です。各エージェントの役割、メッセージ交換のフォーマット、停止基準を明確に定義する必要があります。そうでなければ、エージェントが作業を重複させたり、無限の検索に陥ったり、無駄なサブタスクを作成したりする可能性があります[2]

セキュリティと信頼性

新たな攻撃ベクトルが出現しています。研究者らは、プロンプトインフェクションPrompt Infection)という現象を実証しました。これは、あるエージェントからの悪意のある指示の一部が別のエージェントに伝達され、ウイルスのように推論チェーン全体に広がるというものです。このようなLLM-to-LLM攻撃は、マルチエージェントシステムが隠れたインジェクションや操作に対して脆弱であることを示しており、各エージェントの出力をマーキングする(LLM Tagging)などの特別な保護措置の開発が求められます[6]

関連リンク

参考文献

  • Chen, P. et al. (2024). CoMM: Collaborative Multi-Agent, Multi-Reasoning-Path Prompting for Complex Problem Solving. arXiv:2404.17729.
  • Li, J. et al. (2024). More Agents Is All You Need. arXiv:2402.05120.
  • Mi, Y. et al. (2024). PromptV: Leveraging LLM-Powered Multi-Agent Prompting for High-Quality Verilog Generation. arXiv:2412.11014.
  • Wei, P. et al. (2024). Don’t Just Demo, Teach Me the Principles: A Principle-Based Multi-Agent Prompting Strategy for Text Classification. arXiv:2502.07165.
  • Lee, D.; Tiwari, A. (2024). Prompt Infection: LLM-to-LLM Prompt Injection within Multi-Agent Systems. arXiv:2410.07283.
  • Fernando, C. et al. (2023). PromptBreeder: Self-Referential Self-Improvement via Prompt Evolution. arXiv:2309.16797.
  • Wu, Q. et al. (2023). AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation. arXiv:2308.08155.
  • Liu, X. et al. (2023). AgentBench: Evaluating LLMs as Agents. arXiv:2308.03688.
  • Li, G. et al. (2024). Multi-LLM Debate: Framework, Principles, and Interventions. PDF.
  • Du, N. et al. (2023). Improving Factuality and Reasoning in Language Models through Multi-Agent Debate. arXiv:2305.14325.

脚注

  1. 1.0 1.1 1.2 1.3 1.4 1.5 Chen, Y. et al. «CoMM: Collaborative Multi-Agent, Multi-Reasoning-Path Prompting for Complex Problem Solving». arXiv, 2024. [1]
  2. 2.0 2.1 2.2 2.3 «How we built our multi-agent research system». Anthropic. [2]
  3. 3.0 3.1 Li, G. et al. «More Agents Is All You Need». arXiv, 2024. [3]
  4. Mi, Y. et al. «PromptV: Leveraging LLM-powered Multi-Agent Prompting for High-quality Verilog Generation». ResearchGate, 2024. [4]
  5. Wei, J. et al. «Don't Just Demo, Teach Me the Principles: A Principle-Based Multi-Agent Prompting Strategy for Text Classification». arXiv, 2024. [5]
  6. Lee, K. & Tiwari, A. «Prompt Infection: LLM-to-LLM Prompt Injection within Multi-Agent Systems». OpenReview, 2024. [6]