マルチエージェントシステムについて
2025年はAIエージェントが来ると様々な方面で言われています。
一方でエージェントという言葉はとても曖昧で、人によってできる事の認識がずいぶん違うなとも感じています。
今回はLangGraphホームページに記載されている「Multi-agent Systems」をざっとまとめてみる事にします。
元記事はこちら。
日本語訳は ChatGPT使いつつ意訳しています。
仕事多すぎ問題
今回扱う「エージェント」というのは、LLMを活用するシステムのことです。
LLMを使ったシステムを開発していく中で、どんどんと問題が増えてくる可能性があります。
エージェントが使えるツールが多すぎてどれを使えばいいか判断が難しくなる
コンテキストが複雑化し、1つのエージェントで管理しきれなくなる
システム内で複数の専門分野(プランナー、リサーチャー、専門家)が必要になる
こういった問題に対応するために、1人のエージェントではなく、役割分担した複数のエージェントに分割する事を検討できます。
組み合わせ方は様々あり、単純なものからReActエージェント、もっと複雑なものまで様々な形態をとることができます。
マルチエージェントの利点
モジュール性・・個別のエージェントに分けることでそれぞれの開発、テスト、保守が容易になる
専門性・・特化したエージェントを作成することでシステムのパフォーマンスアップ
制御性・・エージェント同士の通信方法を制御できる
マルチエージェントアーキテクチャ
LangGraphホームページに記載されている図とその解説になります。
シングルエージェント型
1人のエージェントがどのツールを使うか判断し実行します。
ネットワーク型
各エージェントが全てのエージェントと通信できる構造。次にどのエージェントを呼び出すか自ら判断します。
スーパーバイザー型
各エージェントが1つのスーパーバイザーとだけ通信します。スーパーバイザーが次にどのエージェントを呼び出すか決定します。
スーパーバイザー型(ツール呼び出し)
個々のエージェントはツールとして表現されます。スーパーバイザーがツール呼び出し対応のLLMを使います。
階層型
スーパーバイザーのさらに上位に複数のスパーバイザーを持つ構造です。
より複雑な制御フロー向けです。
カスタムマルチエージェントワークフロー型
各エージェントが特定のサブセットのエージェントとだけ通信する構造です。フローは固定されているものと判断必要なものが組み合わさっています。
LangGraphのページにはハンズオンとしてそれぞれのエージェントの組み方もコードで記載されているので、時間が出来次第それぞれ試してみようかと思います。
最後に
エージェント = Single Agent という認識の方もいると思うのですが、現在はどんどん複雑化しています。
Difyでもマルチエージェントが組めるようになると思うので、引き続き幅広くウォッチ&実験していこうと思います。
コンテンツ作成のマガジン
個人開発のマガジン
有料マガジン (difyもあります)
Udemy講座 生成AIもいくつかあります(Dify, 画像生成AI, ChatGPTなど)
udemy講師紹介ページ
udemy講座のクーポン一覧
最後まで記事をお読みいただきありがとうございます❗
さらなる良記事を執筆するためのモチベーションアップのため、
よろしければスキ & フォローもお願いいたします😊
フォローバック100%させていただきます💯