ai-agents-for-beginners

マルチエージェント設計

(上の画像をクリックすると、このレッスンのビデオが視聴できます)

マルチエージェント設計パターン

複数のエージェントを含むプロジェクトに取り組み始めると、マルチエージェント設計パターンを考慮する必要があります。しかし、いつマルチエージェントに切り替えるべきか、その利点が何かはすぐには明確にならないかもしれません。

はじめに

このレッスンでは、以下の質問に答えることを目指します:

学習目標

このレッスンの後、以下ができるようになります:

全体像は?

マルチエージェントは、複数のエージェントが協力して共通の目標を達成するための設計パターンです

このパターンは、ロボティクス、自律システム、分散コンピューティングなど、さまざまな分野で広く使用されています。

マルチエージェントが適用されるシナリオ

では、どのようなシナリオがマルチエージェントの使用に適しているのでしょうか?答えは、多くのシナリオでマルチエージェントの使用が有益であるということです。特に以下の場合が挙げられます:

単一エージェントよりもマルチエージェントを使用する利点

単一エージェントシステムは単純なタスクには適しているかもしれませんが、より複雑なタスクにはマルチエージェントを使用することでいくつかの利点があります:

例として、ユーザーの旅行を予約する場合を考えてみましょう。単一エージェントシステムでは、フライトの検索からホテルやレンタカーの予約まで、旅行予約プロセスのすべての側面を処理する必要があります。これを単一エージェントで実現するには、これらすべてのタスクを処理するツールを持つ必要があります。しかし、これにより、保守や拡張が難しい複雑で一枚岩的なシステムが生まれる可能性があります。一方、マルチエージェントシステムでは、フライト検索、ホテル予約、レンタカー予約に特化した異なるエージェントを持つことができます。これにより、システムはよりモジュール化され、保守が容易で、拡張性も向上します。

これは、家族経営の旅行代理店とフランチャイズ型の旅行代理店を比較するようなものです。家族経営の代理店では、1人のエージェントが旅行予約プロセスのすべての側面を処理しますが、フランチャイズ型では、異なるエージェントが異なる側面を処理します。

マルチエージェント設計パターンを実装するための構成要素

マルチエージェント設計パターンを実装する前に、このパターンを構成する要素を理解する必要があります。

再び、ユーザーの旅行を予約する例を見てみましょう。この場合、構成要素には以下が含まれます:

マルチエージェントの相互作用の可視性

複数のエージェントがどのように相互作用しているかを可視化することは重要です。この可視性は、デバッグ、最適化、システム全体の効果を確保するために不可欠です。これを実現するためには、エージェントの活動や相互作用を追跡するためのツールや技術が必要です。これには、ログ記録やモニタリングツール、可視化ツール、パフォーマンス指標が含まれます。

例えば、ユーザーの旅行を予約する場合、各エージェントのステータス、ユーザーの好みや制約、エージェント間の相互作用を表示するダッシュボードを用意することができます。このダッシュボードには、ユーザーの旅行日程、フライトエージェントが推奨するフライト、ホテルエージェントが推奨するホテル、レンタカーエージェントが推奨するレンタカーが表示されます。これにより、エージェントがどのように相互作用しているか、ユーザーの好みや制約が満たされているかを明確に把握できます。

以下の各側面を詳しく見ていきましょう。

マルチエージェントパターン

マルチエージェントアプリを作成するために使用できる具体的なパターンをいくつか見ていきましょう。以下は、検討する価値のある興味深いパターンです:

グループチャット

このパターンは、複数のエージェントが互いに通信できるグループチャットアプリケーションを作成したい場合に役立ちます。このパターンの典型的なユースケースには、チームコラボレーション、カスタマーサポート、ソーシャルネットワーキングが含まれます。

このパターンでは、各エージェントがグループチャット内のユーザーを表し、メッセージングプロトコルを使用してエージェント間でメッセージが交換されます。エージェントはグループチャットにメッセージを送信し、グループチャットからメッセージを受信し、他のエージェントからのメッセージに応答できます。

このパターンは、すべてのメッセージが中央サーバーを介してルーティングされる集中型アーキテクチャ、またはメッセージが直接交換される分散型アーキテクチャを使用して実装できます。

グループチャット

ハンドオフ

このパターンは、複数のエージェントがタスクを互いに引き継ぐアプリケーションを作成したい場合に役立ちます。

このパターンの典型的なユースケースには、カスタマーサポート、タスク管理、ワークフローの自動化が含まれます。

このパターンでは、各エージェントがタスクまたはワークフロー内のステップを表し、エージェントは事前に定義されたルールに基づいてタスクを他のエージェントに引き継ぐことができます。

ハンドオフ

協調フィルタリング

このパターンは、複数のエージェントが協力してユーザーに推奨を行うアプリケーションを作成したい場合に役立ちます。

複数のエージェントが協力する理由は、各エージェントが異なる専門知識を持ち、推奨プロセスに異なる方法で貢献できるからです。

例えば、ユーザーが株式市場で購入するのに最適な株を推奨してほしい場合を考えてみましょう。

推奨

シナリオ: 返金プロセス

顧客が商品の返金を求めているシナリオを考えてみましょう。このプロセスには多くのエージェントが関与する可能性がありますが、このプロセスに特化したエージェントと、他のプロセスでも使用できる一般的なエージェントに分けてみましょう。

返金プロセスに特化したエージェント:

以下は、返金プロセスに関与する可能性のあるエージェントの例です:

一般的なエージェント:

これらのエージェントは、ビジネスの他の部分でも使用できます。

読む前に少し考えてみてください。必要なエージェントは思ったより多いかもしれません。

TIP: 顧客サポートプロセスの異なる段階を考慮し、またシステムに必要なエージェントも検討してください。

解決策

解決策

知識チェック

質問: マルチエージェントを使用するべきタイミングは?

解決策クイズ

まとめ

このレッスンでは、マルチエージェントデザインパターンについて学びました。具体的には、マルチエージェントが適用されるシナリオ、単一エージェントよりもマルチエージェントを使用する利点、マルチエージェントデザインパターンを実装するための構成要素、そして複数のエージェントがどのように相互作用しているかを可視化する方法についてです。

マルチエージェントデザインパターンについてさらに質問がありますか?

Azure AI Foundry Discordに参加して、他の学習者と交流したり、オフィスアワーに参加したり、AIエージェントに関する質問に答えてもらいましょう。

追加リソース

前のレッスン

計画設計

次のレッスン

AIエージェントにおけるメタ認知


免責事項:
この文書はAI翻訳サービスCo-op Translatorを使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があります。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤った解釈について、当方は責任を負いません。