🎉

AIマルチエージェントのアーキテクチャを人の体と比較

2024/06/02に公開

元ネタ:https://medium.com/superstringtheory/anatomy-of-an-ai-multi-agent-e2cfedc3b050

AIマルチエージェントの構造

役立つAIエージェントをどのように作成するか?

このパートは3つのセクションに分かれています。まず、役立つAIマルチエージェントの構造を見ていきます。セクション3では、具体的な部分に使用するコンポーネントについて説明し、より実践的にします。

1. 人間 vs エージェント

スマートなものを設計する際に最良の例として参考にすべきなのは人間です。以下は典型的な人間のレイアウトです:

https://miro.medium.com/v2/resize:fit:225/0*NPscsjLph9l_-Gkx

私たちは目で世界を見て理解し、口でお互いに会話をし、脳で物事を理解して知識を持ち、手を使って世界と色々な相互的な行動を行います。

ここでのコンセプトは、AIにも同じことをさせたい、という事です。ChatGPTはこれが全部できわけではなく、あなたとテキスト(最近の4oでは音声)で会話するだけです。むしろ、ChatGPTを一つの機能として利用して、人間のように行動するAIシステムを作り上げることができる、というのが下記で説明するコンセプトの概要です。

https://miro.medium.com/v2/resize:fit:375/0*uSZY8AuQ9Wy_yMM6

このコンセプトは実はすでに世の中に実例はいっぱいあって。自動運転、ロボット、など、AIがエージェントとして活躍している実例です。

2. エージェントの構成要素

人々が音声を通して人とコミュニケーションをするように、AIエージェントも人間との対話のためにチャットや音声システムが必要です。一方では、AIエージェント同士の対話にはテキストや音声は使わない方が、効率やエラー防止面で適しています。

さらにエージェントには環境を理解するためのセンサーが必要です。自動運転車の場合、カメラやライダーがこれに該当します。一方、ウェブベースのエージェントでは、言語モデルや画像からテキストへの変換モデルを使用して閲覧するウェブサイトの内容を理解します。

また、センサーと人間の入力を解釈し、適切な行動を決定する処理モジュールも必要です。

ナレッジベースは、新しい状況に対応するために過去のデータを参照することを可能にします。この機能は「RAG」(リトリーバル・オーグメンテッド・ジェネレーション)と呼ばれ、非常に重要でありながら、その複雑さはしばしば見過ごされがちです。

エージェントにはまた、「脳」が必要であり、これは戦略を立案し、評価し、改善し、最終的な実行計画を策定する役割を担います。上記の図では1つのボックスとして表現されていますが、このコンポーネントは人間の認知プロセスを簡略化された方法で再現しようとする複雑なマルチエージェントシステムそのものです。

最後に、エージェントは他のソフトウェアやシステムを操作する手段、つまり「手」が必要です。これにより、ユーザーの代わりに外部の世界に対してタスクを実行できます。

これらのAIマルチエージェントの設計は長い間研究されてますが、最近の大規模言語モデルや生成AIモデルの発展により、この研究を新しい技術で応用することができるようになりました。これにより、非常に特定のタスクに限定されない、汎用的なAIエージェントを開発する道が開かれました。

3. AIエージェントの特定の部分の設計

さて、単純な人間の比較から離れて、図に示されたような柔軟なAIマルチエージェントを作成するために採用できる、インターネット上で動作するエージェントについて話しましょう。

https://miro.medium.com/v2/resize:fit:525/0*G5gUkcbRQPH3gBwL

センサー
エージェントが環境を理解するために必要です。具体的には、以下の機能が必要です:

  • 人間のようにウェブサイトを読む(ウェブサイトは人間向けに設計されており、ロボット向けではないため)
  • コンピュータ向けに設計されたさまざまなインターネットAPIを探索して使用する

これらのセンサーを作成するには、言語モデル、画像理解モデル、さまざまなウェブサイトのアドレスからデータを見つけてダウンロードするコードが必要です。その後、言語モデルは「読んだ」ものをさらに処理するために適したフォーマットに変換する必要があります。

人間との対話
ChatGPTが一例になりますが、文字を入力したり話したりすると、別の言語モデルで処理され、さらに推論されます。

入力の処理
このコンポーネントは、センサーが提供する情報と人間からの現在のリクエストの両方を取り込み、「プランソリューションモジュール」のためのタスクリクエストを作成する機能を提供します。このモジュールは「**ナレッジベース」**を参照し、タスクリクエストを作成する際にその内容を文脈に含めます。

ナレッジベース / RAG
このモジュールは、エージェントが必要とするデータと知識を保存します。これは、インターネット検索を通じてアクセスした公開データや、テキストを数値ベクトル変換したベクターデータベースを含むことができます。これにより、「キーワードによる検索」ではなく「意味による検索」が高速になります。

プランソリューション
これは通常、複数の異なる言語モデルが協力して働くグループです。タスクリクエストを受け取り、エージェントが利用できるリソースを確認し、段階的に実行し、タスクに必要なサブエージェントを作成し、最終的にサブエージェントの実行を管理する必要があります。これはAI研究の中で急速に発展しているマルチエージェントの領域です。

「手」またはアクションの実行
これは、人間からの要求に応じてエージェントが何かを実行する部分です。これらの「手」は、外部APIと対話したり、ウェブページのボタンをクリックしたり、他の方法で既存のソフトウェアと対話したりするコードの部分です。

これらすべては現在の技術で作成することが可能であり、大きな可能性をもたらしてくれます。Integrailでは、これらのエージェントを構築するだけでなく、プログラミングの知識がなくてもエージェントを設計および構築できるプラットフォームも構築しています。AIマルチエージェントのアーキテクチャを人の体と比較

Discussion