エージェント型AIシステムは、大規模言語モデル(LLM)の汎用性と柔軟性と、従来のプログラミング・モデルの精度を融合させたものです。エージェント型AIシステムは、ユーザーや別のシステムに代わってタスクを自律的に計画し、実行することができます。エージェント型AIシステムは、複雑な問題を一連の小さなタスクに分割し、利用可能なツールを使用して外部システムと対話したり、計算タスクを実行したりすることで解決します。
これらの機能により、エージェント型AIシステムは、LLM単独の場合よりもはるかに幅広いタスクとはるかに複雑なタスクを処理できるようになります。例えば、LLMにどの車を購入するべきかを推奨するようにプロンプトした場合、モデルがトレーニングされた時点で利用可能なデータに基づいて推奨事項のリストが忠実に生成されます。一方、エージェント型AIソリューションでは、車両の使用目的(楽しみ、職場への通勤、大きな荷物の運ぶ)についての追加の詳細をプロンプトし、月末までにメーカーからのリベートが利用可能であることを知らせることができます。
エージェント型AIシステムは、以下のコンポーネントで構成されています。
エージェントには、以下の図に示す独自の概念アーキテクチャーがあります。
エージェントは次のコア・コンポーネントで構成されています。
図に示されていない追加のコンポーネントを追加することで、運用上のエージェント管理、性能監視、およびID伝播やデータ漏洩防止などのセキュリティー制御を提供できます。
上の図は、IBM製品とエージェント型AIアーキテクチャーのマッピングを示しています。
watsonx Orchestrateは、以下を組み合わせた「オールインワン」のエージェント型AIソリューションです。
watsonx.aiのAgent Builderは、開発者がエージェントを構築し、事前構築されたフローを使用してツールを定義および管理できるローコード/ノーコード・ツールです。
Agentオーケストレーションはさまざまなアプローチを用いて実装できます。集中型オーケストレーションのアプローチでは、単一のマスター・オーケストレーション・コンポーネントを使用して、システム内の他のすべてのエージェントのアクションを管理します。設定と管理を一元化することで、システム全体の管理と制御が簡単になり、トラブルシューティングも容易になります。欠点は、リクエスト量やエージェントの数が増加するにつれて、単一の制御ポイントがボトルネックになり、拡張性の課題につながる可能性があることです。
分散型オーケストレーションアプローチは、エージェントがタスクを引き出し、結果をポストするタスクキューを実装し、黒板システムのように、エージェント間でマルチパートのタスクをルーティングします。分散型オーケストレーション・ソリューションは、堅牢で耐障害性が高くなりますが、システムがより優れた機能を備えて大規模になるにつれて、設計とトラブルシューティングが困難になります。
最後に、階層的オーケストレーションアプローチは、集中型アプローチと分散型アプローチの要素を組み合わせます。階層型オーケストレーションでは、マスター・オーケストレーターを使用して高レベルのエージェントのアクションを調整し、高レベルのエージェントが他のエージェントを呼び出して複雑なタスクを完了できます。これにより、集中型アプローチの管理と制御の容易さの多くが維持されますが、リクエスト量が多い場合やエージェントの数が多い場合に、中央制御コンポーネントがボトルネックになる可能性は低減されます。
AIエージェントの粒度は、エージェントが実行できるタスクの複雑さを指します。高粒度エージェントは、多くのタスクまたは少数のタスクを詳細に実行できますが、低粒度エージェントは、少数のタスクまたは1つのタスクのみを低詳細レベルで実行できる場合があります。これをより明確にするために、カスタマー・サービス担当者を考えてみましょう。粒度の低いエージェントは、製品に関する単純な質問(例:「黒ですか?」)しか回答できませんが、粒度の高いエージェントは、現地の在庫を確認し、製品を顧客の自宅に届けるための配送を手配することができます。
エージェント・ソリューションの設計者は、システム内の個々のエージェントの粒度をどの程度にするかを決定する必要があります。例えば、少数の高粒度エージェント、あるいは多数の低粒度エージェントを持つようにします。高粒度エージェントの幅広い機能により、コストとなるコンピューティング・リソース要件が大きくなり、タスクの完了時間が長くなります。低粒度エージェントは能力が低いですが、焦点が狭いため、必要なコンピューティング・リソースが少なく、一般にタスクをより速く完了します。
「適切な」レベルの粒度はまだ不明ですが、初期のエクスペリエンスから、重点を置いたビジネス・プロセスに合わせて低粒度エージェントを作成すること(例:Purchase_Order_Processing_Agent)は、リソース要件、処理速度、ソリューションの複雑さのバランスが取れていることを示唆しています。その後、低粒度エージェントを静的ワークフローに組み込んだり、大規模なプロセスの一部として高粒度エージェントによって呼び出したりすることができます。
エージェント型AIソリューションの設計者は、事前定義された静的なプロセスおよびワークフローに従うエージェントと、ユーザーのプロンプトに応じて動的に生成されるワークフローのバランスを取る必要があります。正しい答えや不正確な答えはありませんが、アーキテクトは次の推奨事項と考慮事項を考慮することをお勧めします。
静的ワークフローは、ナレッジ・ドメイン(法務や会計など)をまたぐ複数の複雑なステップで構成されたビジネス・プロセスや、規制当局の監督対象となるビジネス・プロセスに使用する必要があります。このような場合、静的ワークフローを使用すると、アーキテクトに次のようなメリットがもたらされます。