製造施設の業務をレビューする2人

Agent Swarmとその仕組み

Agent Swarm、定義

AI Agent Swarmとは、人工知能(AI)が協調してタスクを達成するための集まりです。ジョブの各部分の処理に単一のAIエージェントを利用するのではなく、Swarmは作業を複数のエージェントに分割できます。各エージェントは、特定の役割、スキル、または一部の作業のを集中して行います。

AI Agent Swarmは、マルチエージェント・システムの一形態とみなされています。同じシステム内に複数のエージェントが存在するというよりも、「Swarm」という用語は、比較的自律的な複数のエージェントが協調して動作することを強調する場合に使われます。この名称(群れという意味)は、昆虫のコロニーのように、多数の個体が協調して複雑なタスクを遂行する自然界の仕組みに着想を得たものでもあります。

中心となる考え方は、連携です。Swarmには、どの作業を行う必要があるかを判断し、その作業を割り当て、成果をまとめるための何らかの方法が必要です。設計によっては、中央オーケストレーター、エージェントの階層、またはより分散化されたやり取りから連携を実現できます。

たとえば、あるエージェントがプロジェクトを計画し、他のエージェントが個々のタスクを処理する場合があります。別のエージェントが作業をレビューして、別のエージェントが結果を組み合わせます。エージェントは順番に、または並行して作業できます。また、情報を共有したり、タスクを委任したり、他のエージェントの作業に対応したりすることもできます。厳密に分散化されたSwarmは、中央のコントローラーに依存するのではなく、主にローカルな相互作用と共有されたシグナルに基づいて動作します。

Agent Swarmは、タスクに委任できる個別の部分が含まれている場合や、異なるエージェントが補完的な機能を提供できる場合に有効です。ただし、エージェントを追加すれば、システムが自動的に改善されるわけではありません。複数のエージェントを用いることで、協調や通信、リソースの使用が増えるため、Swarmの価値は、そうした追加の機能が増加する複雑さに見合うかどうかによって決まります。

Agent Swarmが重要な理由

AI Agent Swarmは、組織のAI支援業務を構造化し、管理する方法を変える可能性があります。組織は、プロセス全体を処理するために単一のAIアシスタントに依存するのではなく、ワークフローの一部を複数のエージェントに分散できます。組織は、これらのエージェント・ワークフローを既存のビジネス・プロセスやアプリケーションに組み込むこともできます。実装は、仕事の割り当て方法、プロセスにおけるタスクの進め方、必要な人的コラボレーションの度合いに影響します。

考えられる影響の1つは、AI支援オペレーションの規模です。タスクを独立したサブタスクに分割できる場合、各部分を順番に処理するために1つのエージェント・ループを必要とするのではなく、複数のエージェントが同時に作業できます。

Swarmは、より大きなワークロードを複数のエージェントに分散できるため、独立したタスクを同時に実行できます。この調整は、複雑なワークフローや大量のワークフローに役立ちます。

Swarmは、専門業務の組織化方法を変える可能性もあります。さまざまなエージェントが、機能に応じて研究、レビューを行うことができます。このようにして、AIワークフローを、プロセスのすべてを実行するために1つのエージェントに依存するのではなく、異なる責任を持つロールに分割できます。

その影響は必ずしもプラスのものではありません。エージェントが増えるほど、動作する要素も増えます。組織は、エージェントがどのようにコミュニケーションを取るか、作業がどのように引き渡されるか、そしてエージェントが矛盾する結果を生成した場合に何が起こるかを管理する必要があります。複数のエージェントを実行すると、特にエージェント間の相互作用が頻繁に発生する場合、コストが増加する可能性があります。

Swarmは、AI対応ワークフロー内の人々の役割を変える可能性もあります。従業員は、各タスクを直接完了するのではなく、AI目標の定義、成果のレビュー、例外の管理に多くの時間を費やす可能性があります。この責任の転換により、一部のプロセスにおける人的作業が軽減されると同時に、監視と管理を強化する必要性が生じる可能性もあります。

これらの変化は、組織がワークフローを構築し、参考情報を割り当て、AI業務に人々を関与させる方法に影響します。Swarmが特定のタスクに適合しているかどうかを評価する際には、これらの効果を考慮することが重要です。

AI Academy

AIの専門家になる

ビジネスの成長を促進するAIへの投資を優先できるように知識を習得します。今すぐ無料のAI Academyを試して、貴社のAIの未来をリードしましょう。

AI Agent Swarmとマルチエージェント・システムの比較

AI Agent Swarmやマルチエージェント・システムでは、同じシステム内で複数のAIエージェントが作業します。この2つの用語は同じ意味で使用されることもありますが、一般的にはマルチエージェント・システムの方が広義です。

  • マルチエージェント・システムには、独立して動作するエージェント、事前定義されたワークフローに従うエージェント、または相互に対話するエージェントを含めることができます。エージェントはさまざまな役割と機能を持つことができますが、必ずしも緊密に連携する必要はありません。

  • Agent Swarmは、より連携した配置を表します。エージェントは、より大きなタスクを分割したり、さまざまな種類の作業に特化したり、情報を共有したり、他のエージェントのアクションや結果に対応したりすることができます。連携の度合いはさまざまです。一部のSwarmは中央のエージェントまたはオーケストレーターに依存していますが、他のSwarmではエージェントがより直接的に対話できます。

その違いは、必ずしも明確ではありません。複数の独立したエージェントを備えたシステムは、Swarmとして機能しなくてもマルチエージェント・システムであると言えますが、Swarmは複数の異なる方法で構成することができます。実際には、この用語は重複することが多く、「Swarm(群れ)」は連携したエージェントの活動により重点が置かれています。

AI Agent Swarm

AI Agent Swarmは、複数のエージェントが共通の目標に貢献できるように作業を整理します。正確なプロセスはSwarmの設計によって異なりますが、ほとんどのシステムは次の4つの質問に対処する必要があります。

  1. 何をすべきか。
  2. 誰がやるべきか。
  3. 成果はどのようにまとめるべきか。
  4. 各エージェントはどのようなガバナンス管理機能に従ってアクセス、決定、変更できる対象を決定するのか。

新しい市場を調査したいと考えている企業を想定します。Swarmでは、1つのエージェントが調査計画を策定し、複数のエージェントが市場のさまざまな側面を並行して調査し、別のエージェントがその結果をレビューして組み合わせることができます。この取り決めにより、各エージェントに集中的な責任分野を与えながら、調査の異なる部分を同時に行うことができます。

エージェントによるタスクの分割方法

Swarmではまず、全体的な目標を小さなタスクに分割する必要があります。計画担当者がこれを明示的に行う場合もあれば、タスクがワークフローの一部として事前に定義される場合もあります。

作業の分割方法は問題によって異なります。一部のタスクは個別に処理し、複数のエージェントに一度に送信できます。その他のタスクは以前の成果に依存し、順番に実行する必要があります。たとえば、調査エージェントは、別のエージェントが調査結果を分析できるようになるために、作業を完了する必要がある場合があります。

エージェントは専門的な役割を担うこともできます。あるエージェントは情報収集に集中し、別のエージェントはデータを分析したり、作業の質をチェックしたりします。システム・プロンプトはエージェントの指示や動作を定義でき、そのツールやその他の機能によってエージェントが実行できる作業を決定します。専門化することにより、Swarmはエージェントの指示、ツール、または機能に従って作業を割り当てることができます。

エージェントによるコミュニケーションと情報共有の方法

作業が分割されると、エージェントはタスクを完了するために必要な情報にアクセスする必要があります。その情報は、さまざまな方法でエージェント間で移動する可能性があります。

エージェントは互いに直接メッセージを送信することができます。また、関数呼び出しを使用してツールや外部システムを採用し、結果の情報をワークフローに渡すこともできます。共有ワークスペースまたはメモリーを使用すれば、複数のエージェントが同じ情報にアクセスできます。

エージェントは、タスクが次のタスクへと連続する際に、ファイル、調査結果、コード、その他の成果物を引き渡すこともできます。検索システムは、ドキュメント、データベース、または接続されたナレッジベースなどのソースから、エージェントに外部コンテキストを提供することもできます。ベクトル検索やグラフRAGなどの手法では、基礎となるデータがどのように構造化されているかに応じて、さまざまな方法で関連情報を取得できます。

共有される情報の量は重要です。すべてのエージェントにタスクの履歴全体を与えると、コンテキスト・ウィンドウが消費され、システムが処理する必要がある情報量が増加する可能性があります。エージェントにコンテキストが少なすぎると、作業が不完全または一貫性のないものになる可能性があります。Swarmの設計では、不必要なオーバーヘッドを発生させずに、エージェントに必要な情報を提供する方法が必要です。

エージェントが業務を調整する方法

コミュニケーションだけではSwarmを効果的なものすることはできません。システムは、次に何が起こるかを調整する必要もあります。

中央エージェントまたはエージェント・オーケストレーション・レイヤーは、タスクを割り当て、進行状況を監視し、結果を組み合わせる準備ができた時期を決定できます。大規模なシステムでは、オブザーバビリティーによって、チームはエージェントの活動、ツール呼び出し、引き継ぎ、および成果を追跡することができます。他の設計では、エージェントは、メッセージ、共有状態、または他のエージェントの成果に基づいて次のアクションを決定できます。

連携には、作業のレビューも含まれる場合があります。エージェントは、他のエージェントのアウトプットが成果の一部になる前にチェックしたり、ワークフローでエージェントが行動を起こす前に人間の承認を必要とする場合があります。作業が不完全な場合、Swarmはタスクを別の試行のために送り返したり、別のエージェントに割り当てることができます。

最後のステップは、個々のアウトプットをまとめることです。1つのエージェントが調査結果を統合して最終レポートを作成する場合もあれば、別のシステムが成果物を自動的に統合する場合もあります。目的は、複数の個別の作業を、元のタスクに対応する1つの成果にまとめることです。

Agent Swarmは、単にAIエージェントの集まりではありません。これは、作業が分担され、エージェント間で情報が移動し、個々の結果が共通の目的に貢献する、連携したプロセスです。これらの活動がどのように組織化されるかによって、Swarmがどのように行動し、どのようなタスクを処理できるかが決まります。

AI Agent Swarmのアーキテクチャーとパターン

AI Agent Swarmのアーキテクチャーは、タスク、タスク間の関係、必要な調整のレベルによって異なります。これらの選択肢は、より広範なマルチエージェント・アーキテクチャーの一部を形成し、作業方法を記述するパターンもあれば、エージェントがどのように編成されるか、または連携して意思決定を行う方法を記述するパターンもあります。これらのパターンは、同じSwarm内で組み合わせることもできます。

実行パターン

  • シーケンシャル:エージェントは作業を一度に1ステップで処理し、各エージェントは前のエージェントのアウトプットを使用します。たとえば、1つ目のエージェントが情報を収集し、別のエージェントが情報を分析し、3つ目のエージェントが最終レポートを作成するという手順を実行します。この手法は、後のステップが前のステップに依存するタスクには適合しますが、作業を並行して実行する機会は制限されます。

  • 並列:複数のエージェントが、成果がまとめられる前に、タスクの別々の部分に同時に取り組みます。例えば、マーケット調査Swarmでは、さまざまなエージェントが競合他社、顧客、業種・業務の動向を調査する場合があります。並列実行は、タスクが真に独立しており、調整の負荷が短縮できる時間と比較して小さい場合に、ワークフローを短縮できます。

  • 反復型:エージェントは、前のステップの結果に基づいて作業を反復または改良します。あるエージェントが最初のアウトプットを作成し、別のエージェントがそれをレビューし、作業が元のエージェントに戻されて修正される場合があります。このパターンは、アウトプットの品質が繰り返しの評価と改良に依存している場合に有効です。

調整の構造

  • 一元管理型または管理者主導:中央エージェントまたはオーケストレーション層は、作業を指示し、タスクを割り当て、他のエージェントから成果を収集します。この構造は明確な管理ポイントを提供しますが、調整エージェントやシステムがワークフローの残りの部分の依存関係になることもあります。

  • 階層型:エージェントはレベル別に編成され、上位レベルのエージェントが下位レベルのエージェントに作業を割り当てます。コーディネーターは大きな目標をタスクに分割して、他のエージェントは専門エージェントの小規模なグループを管理することができます。階層構造は複雑なワークフローを整理するのに役立ちますが、さらに調整層を追加することができます。

  • 分散型またはピアツーピア:エージェントは、すべての対話を管理するために単一のエージェントに依存することなく、より直接的に連携します。エージェントは、メッセージ、共有状態、または他のエージェントの成果に応答し、入手可能な情報に基づいて次のアクションを決定できます。これにより、中央コーディネーターへの依存を減らすことができますが、調整と統制がより困難になる可能性があります。

コラボレーションと決定パターン

  • ハンドオフ:あるエージェントが別の機能や役割が必要になった場合に、タスクの責任を別のエージェントに転送します。たとえば、トリアージ・エージェントは、リクエストを処理できる専門のエージェントにリクエストをルーティングすることができます。ハンドオフにより、さまざまなエージェントがワークフローのさまざまな部分に責任を負うことができます。

  • スーパーバイザー-ワーカー:スーパーバイザー・エージェントはワーカー・エージェントにタスクを委任し、その成果を評価または結合します。スーパーバイザーは、どのような作業が必要かを判断し、それを適切なエージェントに割り当て、次に発生する作業を決定できます。

  • 議論や批判:複数のエージェントが、問題や既存のアウトプットをさまざまな視点から調べます。あるエージェントが他のエージェントの推論に異議を唱えたり、応答の弱点を特定したりする場合があります。これは、単一の回答に頼るよりも、不一致や潜在的なエラーを明らかにする方が価値がある場合に役立ちます。

  • 投票または合意:複数のエージェントが推奨事項や判断を出し、それらを比較して組み合わせた結果を出します。この手法は、成果が正しいことを保証するわけではないものの、独立した合意が有益な場合に有効です。

  • 共有状態でのコラボレーション:エージェントは、ワークスペース、メモリー、その他の共有状態など、タスクを共有して作業します。エージェントは、すべての結果をあるエージェントから別のエージェントに直接渡すのではなく、ワークフローの進行に合わせて情報を読み取り、更新できます。これにより、より複雑なワークフロー間のコラボレーションをサポートできますが、エージェントがアクセスおよび変更できる情報を慎重に管理する必要があります。

パターンの組み合わせ

フレームワークは、これらのパターンをさまざまな方法で実装し、組み合わせることができます。OpenAI Agents SDKは、エージェントの構築、ハンドオフの管理、マルチエージェント・ワークフローの調整のためのツールを提供します。 AutoGenは、マルチエージェント・アプリケーションの構築と連携に必要なコンポーネントを提供します。LangChainは、言語モデルやエージェントを中心としたアプリケーション構築のためのツールを提供します。これには、マルチエージェント・ワークフローも含まれます。これらのフレームワークは異なるアプローチを採用しているため、それらがサポートするパターンは、普遍的なアーキテクチャー分類を示すものではありません。

これらのパターンは相互に排他的ではありません。Swarmは、階層的な調整構造を使用して作業を割り当て、独立したタスクを並行して実行し、最終成果を生み出す前に反復的なレビューを使用することができます。したがって、アーキテクチャーと実行パターンは、ワークフローの要件に応じて組み合わせることができる設計上の選択肢として理解する必要があります。

AI Agent Swarmのメリット

AI Agent Swarmは、ワークフローが複数のエージェント間の連携によってメリットを得られる場合に大きなメリットをもたらします。その価値は、関与するエージェントの数ではなく、エージェントの機能がどれだけ効果的に組み合わされているかによって得られます。ユースケースに応じて、Swarmは速度、容量、柔軟性、またはアウトプットの品質を向上させることができます。ワークフローによっては、単一のエージェントの方がシンプルかつ効果的なアプローチを維持できます。

  • 適応性:Swarmは新しい情報が出現した際に適応することができます。エージェントは、すべてのステップを事前に定義することなく、変化する状況に対応し、計画を修正し、作業をリダイレクトすることができます。これは、新しい情報によって次に必要な事象が変化する場合や、作業を事前に予測するのが難しい場合に役立ちます。

  • 実行の移譲:エージェントに権限と調整ルールが明確に定義されている場合、ワークフローのルーチン部分は、人がすべてのステップを指示しなくても進行できます。機微性の高い処理や重大な結果を伴う処理では、人によるレビューを必須のままにすることができます。

  • 分散ワークロード:複数のエージェントに作業を分散すると、組織は大量の作業を処理できるようになり、大量のワークフローやリソースを大量に消費するワークフローのサポートが容易になります。水平スケーリングを含め、独立した作業を複数のエージェントに分散できる場合にメリットが得られます。

  • 複数の視点:独立したエージェントが同じ問題に異なる角度からアプローチし、代替のアイデア、推奨事項、分析を生成できます。これは、チームが視点を比較し、選択肢を検討し、前提を見直し、さらなる調査が必要な課題を特定する際に役立ちます。一部のワークフローでは、複数の独立した応答を活用してこれらの貢献を統合することで、一種の集合知を形成できる場合があります。

  • より高速な実行:並行作業では、独立したタスクを同時に実行できるため、経過時間を短縮できます。

  • 品質コントロールの向上:エージェントが同じ問題を調査したり、互いのアウトプットを確認したりすることで、不一致や潜在的なエラーを明らかにすることができます。これは、そうした差異を1回の処理では特定しにくい場合に最も有用ですが、正確性が保証されるわけではありません。とくに、エージェントが同じモデル、データ、または前提を共有している場合は注意が必要です。

  • 特化した機能:ワークフローのさまざまな部分で、特定の要件に合った機能を使用できます。これは、1つのプロセスでAnthropicのClaudeモデルとClaude Codeなどのコーディング・ツールなどのモデル、ツール、または実行環境を組み合わせる必要がある場合に役立ちます。

  • ワークフローの柔軟性:プロセス全体を再設計するのではなく、個々のコンポーネントを変更することでワークフローを変更できます。要件、ツール、モデルが時間の経過とともに変化する可能性がある場合、このモジュール性が役に立ちます。

Agent Swarmの課題と制限

Agent Swarmは、エージェント間で作業が移動するときに、いくつかの原因で失敗する可能性があります。エージェントは、誤った結果または不完全な結果を生成する可能性があります。別のエージェントがその結果に基づいて構築したり、別のエージェントが相反する結論に達したりする可能性があります。

また、エージェントが間違ったコンテキストを受信したり、ステップ間で情報を失ったり、意図しないアクションを実行したりする場合にも問題が発生します。これらの障害により、Swarmの動作のトラブルシューティングとコントロールが困難になる可能性があります。

  • アウトプットの矛盾:独立したエージェント同士が異なる結論に達したり、互換性のない成果を生み出したりする可能性があります。Swarmにはアウトプットを比較し、不一致をどのように処理するかを決定する方法が必要です。

  • コンテキスト管理:ワークフローが複雑になるにつれて、各エージェントがどの情報を受信すべきかを決定することが困難になる可能性があります。

  • 調整にかかる負荷:システムはエージェント間のタスクの割り当て、情報共有、競合を管理する必要があります。ワークフローに関わるエージェントややり取りが増えると、調整が難しくなる可能性があります。

  • エラーの伝播:あるエージェントからのエラーが別のエージェントへのインプットになる可能性があります。適切なチェックがないと、ミスがワークフローを通過し、最終的な成果に影響を与える可能性があります。

  • コストの増加:複数のエージェントを運用すると、特にエージェントが大量の情報を交換したり、頻繁にやり取りしたり、作業を繰り返したりする場合、モデルおよび演算コストが増加する可能性があります。

  • より困難なデバッグ:Swarmが誤った結果を生成した場合、その原因は、個々のエージェント、エージェント間の相互作用、または情報がワークフロー内で伝達された方法にある可能性があります。そのため、単一エージェントのシステムの場合よりも問題の追跡が困難になる可能性があります。

  • セキュリティーとアクセス:エージェントによってアクセスするデータ、ツール、システムは異なる場合があります。特にエージェントが人間による直接の指示なしに行動できる場合には、これらの権限は慎重に制御する必要があります。

  • 不必要な複雑さ:複数のエージェントにすればすべてのタスクにメリットをもたらすというわけではありません。単純な問題の場合、追加の調整とインフラストラクチャーによって、それを正当化するのに十分な価値が得られず、複雑さが増す可能性があります。

AI Agent Swarmを使用する状況

AI Agent Swarmは、タスクを複数のエージェント間で分割することで、単一のエージェントや別のアプローチで処理するよりも明らかなメリットがある場合に役立ちます。より複雑な実装の場合には、PoC(概念実証)を実施することで、Swarmをより広範囲にデプロイする前に、メリットが追加の調整、参考情報、複雑さを正当化するかどうかを判断するのに役立ちます。次のような場合は、Agent Swarmを検討してください。

  • 問題は意味のあるコンポーネントに分割できる:作業の各部分が、それぞれ異なる活動、判断、または専門性を必要とします。

  • 作業の一部を並行して行うことができる:この手法は経過時間を短縮できますが、タスクが真に独立している必要があり、調整に必要な時間よりも短縮効果が大きくなることが求められます。

  • タスク全体に適した単一のエージェントが存在しない:このワークフローは、異なる機能、ツール、モデル、または指示を組み合わせることでメリットを得られます。ワークフローの各部分に、その要件に合わせて調整された機能を持たせることが目的である場合は、エージェントを分離するほうが適しています。

  • 作業の規模が、単一のエージェントが効率的に管理できる範囲を超えている:作業の量や複雑さが十分に大きいため、複数のエージェントに分割することが適しています。単一のエージェントでは、大規模で継続的、またはリソース集約型のワークロードを処理することが難しい場合、分散化の重要性が高まります。

  • ワークフローは状況の変化に合わせて適応する必要がある:エージェントは、プロセスの進行に応じて、判断を行い、新しい情報に対応し、作業を動的に再割り当てる必要が生じる場合があります。あるエージェントが別のエージェントのアウトプットを調べたり、複数のエージェントが同じ問題を個別に解決したりすることができます。このアプローチは、プロセス全体を予測するのが困難な場合や、外部条件の変化に対して脆弱な場合に最も適しています。また、エージェントは成果を比較することができるため、不一致や、他の方法では見過ごされがちなエラーの可能性を明らかにすることができます。

  • 連携自体が価値を生み出す:成果は、タスクを完了するだけでなく、複数のエージェント(場合によっては複数のチーム)からの貢献を統合して、より有用な結果を生み出すことにも左右されます。

タスクが単純な場合、各ステップが前のステップに大きく依存している場合、または複数のエージェントの追加の調整がほとんどメリットをもたらしない場合には、Swarmは適切でない可能性があります。そのような状況では、単一のエージェントまたは従来の自動化されたワークフローの方がシンプルで管理しやすく、運用コストも抑えられます。

執筆者

Matthew Finio

Staff Writer

IBM Think

Amanda Downie

Staff Editor

IBM Think

関連ソリューション
ビジネス向けAIエージェント

生成AIを使用してワークフローとプロセスを自動化する強力なAIアシスタントとエージェントを構築、デプロイ、管理しましょう。

    watsonx Orchestrateの詳細はこちら
    IBM AIエージェント・ソリューション

    信頼できるAIソリューションでビジネスの未来を構築します。

    AIエージェント・ソリューションの詳細はこちら
    IBM®コンサルティング AIサービス

    IBMコンサルティングAIサービスは、企業がAIをトランスフォーメーションに活用する方法を再考するのに役立ちます。

    人工知能サービスの詳細はこちら
    次のステップ

    事前構築済みのアプリケーションとスキルをカスタマイズする場合でも、AIスタジオを使用してカスタム・エージェント・サービスを構築し、デプロイする場合でも、IBM watsonxプラットフォームが対応します。

    1. watsonx Orchestrateの詳細はこちら
    2. watsonx.aiの詳細はこちら