ChatGPTをはじめとする生成AIは、質問に答えるだけでなく、Web検索やデータ分析など、さまざまな作業をこなせるようになってきました。
さらに最近では、AIが自分で必要なツールを選び、仕事を進める「AIエージェント」も注目されています。
しかし、複雑な仕事を一つのAIエージェントにすべて任せるのが、いつも最適とは限りません。
例えば、技術調査を行う場合でも、
「情報を調べる」
「調べた内容を整理する」
「結果をレポートにまとめる」
といった複数の作業があります。
人間の仕事であれば、得意分野に応じて担当を分けることもありますよね。
それなら、AIエージェントもチームとして働けるのではないでしょうか?
今回は、AWSが公開している「Moca」を使って、複数のAIエージェントが役割分担して仕事を進める仕組みを試してみました。
1つのAIに全部任せる必要はない?
これまでのAIエージェント開発では、一つのエージェントに複数のツールを持たせ、さまざまな仕事を任せる構成もよく使われています。
例えば、調査用のAIエージェントにWeb検索機能を持たせれば、情報を集めて回答を作ることができます。
ただし、仕事が複雑になるほど、必要な役割も増えていきます。
そこで登場するのが「マルチエージェント」という考え方です。
これは、複数のAIエージェントにそれぞれ役割を持たせ、協力して一つの仕事を進める仕組みです。
例えば、
- 調査が得意なAI
- 情報の整理が得意なAI
- 全体の仕事を管理するAI
といった形です。
人間のチームのように、役割を分担して仕事を進めます。
AIチームの司令塔「Orchestrator」
今回利用した「Moca」は、AWSが公開している、複数のAIエージェントを連携させるためのサンプルアプリケーションです。
Mocaでは、AIエージェントの作成やチャット、外部ツールの利用などを一つの画面から操作できます。
その中でも特徴的なのが、「Orchestrator」と呼ばれる司令塔のAIエージェントです。
Orchestratorは、ユーザーから依頼を受けると、その内容を理解し、必要な専門エージェントへ仕事を割り振ります。
例えば、
「AWSの技術について調査して、内容を整理してください」
という依頼を受けた場合、
司令塔AIが依頼を理解する
↓
調査担当AIが情報を集める
↓
整理担当AIが内容をまとめる
↓
司令塔AIが結果を統合して回答する
という流れで仕事を進められます。
面白いのは、どのエージェントに仕事を任せるかもAI自身が判断することです。
あらかじめ決められた順番で必ずすべてのAIを動かすわけではありません。
依頼に応じて必要なエージェントを選ぶ仕組みになっています。
実際にAI同士で技術調査をしてみた
今回はMocaをAWS上に構築し、複数のAIエージェントがどのように連携するのか確認しました。
依頼した内容は、
「Amazon Bedrock AgentCore Gatewayを使って、社内APIを外部ツールとして公開する方法を調査してください」
というものです。
実際に動かしてみると、Orchestratorはまず仕事の進め方を考えました。
そして、
Web Deep Researcher
という調査担当のAIで情報を集め、
General Assistant
という汎用AIで内容を整理する計画を作成しました。
その後、Orchestratorから専門エージェントへの呼び出しが行われ、最終的に調査レポートが返ってきました。
さらにAWSの実行ログからも、Orchestratorが別のエージェントを呼び出していることを確認できました。
単に複数のAIが用意されているだけでなく、AIが仕事を分解し、別のAIへ依頼する仕組みが実際に動いていることが分かりました。
新しい専門AIも画面から追加できる
Mocaでは、最初から用意されているエージェントだけでなく、自分たちで新しいエージェントを追加することもできます。
今回は、
「AWS公式情報調査Agent」
というエージェントを作成しました。
AWSの公式ドキュメントや技術ブログなどを優先して調査し、参照元とともに結果を整理する役割です。
エージェントを作る際には、
「どんな仕事を担当するか」
「どんな指示を与えるか」
「どのツールを使えるようにするか」
といった設定を登録します。
ここで特徴的なのは、新しいエージェントを追加するたびに、専用の実行環境を構築する必要がないことです。
エージェントの役割や設定を保存しておき、実行するときにその設定を使ってエージェントを生成します。
そのため、用途に合わせて専門エージェントを増やしていくことができます。
AIチームで使う道具も共有できる
人間のチームでも、メンバーが共通のツールを使うことがあります。
AIエージェントも同じです。
例えば、複数のエージェントがWeb検索を利用したい場合、それぞれに検索機能を個別実装するのは手間がかかります。
Mocaでは、Amazon Bedrock AgentCore Gatewayを使い、外部の機能を共通のツールとしてAIエージェントに提供できます。
今回の検証では、Web検索サービスの「Tavily」を連携させました。
実際にAIエージェントへ検索を依頼すると、Gatewayを経由してWeb検索が実行され、検索結果を取得できました。
専門エージェントを役割ごとに分けながら、必要な道具は共通で利用する。
こうした構成も実現できます。
AIが毎日決まった仕事を進めることも
さらにMocaでは、AIエージェントをスケジュール実行することもできます。
例えば、
「毎朝9時に、Amazon Bedrock AgentCoreの最新情報を調査して」
といった指示です。
今回の検証では、チャットからスケジュールの作成を依頼し、AWSのEventBridge Schedulerに実際の設定が登録されることを確認しました。
これによって、ユーザーが毎回チャットで依頼しなくても、決められた時間にAIエージェントを起動できるようになります。
質問されたときに答えるAIから、決められた仕事を継続的に実行するAIへ。
AIエージェントの活用方法が広がっていることを感じられます。
AIチームを作るだけでなく、どう動かすかも重要
今回のMocaでは、複数のエージェントが協力する仕組みを確認できました。
ただし、これだけであらゆる業務に対応できるわけではありません。
例えば、今回の仕組みでは、複数の専門エージェントは同じ実行環境の中で動いています。
また、作業の進行状況は実行中のプロセス内で管理されるため、途中で実行環境が切り替わると、作業をそのまま継続できない場合があります。
長時間の業務を安定して動かすには、途中経過の保存や失敗時の再実行など、追加の設計が必要です。
AI同士が協力できることと、実際の業務で安定して使えることは別の話です。
こうした点も含めて検証することが、AIエージェントをシステムとして活用するうえでは重要になります。
まとめ:AIエージェントを「チーム」として設計する
今回はAWSのMocaを使って、複数のAIエージェントが連携して仕事を進める仕組みを試してみました。
特に面白かったのは、
「AIが仕事をする」だけでなく、「AIが別のAIに仕事を任せる」
という点です。
もちろん、すべての仕事に複数のAIエージェントが必要なわけではありません。
一つのAIで十分な仕事もあります。
大切なのは、
「どんな役割が必要なのか」
「どの仕事をどのAIに任せるのか」
「AI同士をどう連携させるのか」
を考えることです。
AIエージェント開発は、一つのAIを賢くするだけでなく、複数のAIをどう組み合わせて仕事を実現するかという方向にも広がっています。
Acroquestでは、こうした新しいAI技術について、実際に動かして仕組みを理解し、業務システムへの活用可能性を検証しています。
AIを単に利用するだけでなく、AI同士が協力する仕組みを自分たちで設計してみたい。
そんな技術に興味のある方は、ぜひ一度お話ししましょう。
記事の詳細、検証に用いた実装コードなど詳しくは当社技術ブログに記載しておりますので、詳細を知りたい場合はこちらをご覧ください。
ぜひ、当社で一緒に働いてみませんか?
チャレンジングな案件が多く、成長の機会が多く得られる環境です
当社では、機械学習/AIや生成AIに加えて、AWSやAzureを活用したITサービス開発事業を推進しています。そこで、最先端技術を駆使しながら、社会を進化させたい情熱とスキルのある機械学習・AIエンジニア、クラウドエンジニアを募集しています!
私たちが取り組む案件は、最先端技術を用いる内容や高難易度の内容が多く、チャレンジングな環境なので、成長の機会が多く得られることをお約束します。
/assets/images/10338/original/b4c1f58c-4c92-447a-a0cc-671371e80f3a.png?1392712942)