こんにちは~ 浮田です。
先日 AWS Summit に参加してきました。
富士ソフトによる 「対話が業務を動かす時代へ -会話を起点にした業務再設計と AI 活用-」(PRT218-S) が、AIエージェントを実務に落とし込む際の設計指針として非常に学びが多かったので、共有します!
このセッションの主張は、大きく2本の柱で構成されていました。
順に紹介していきます。
まず出発点として、「何でも1体のエージェントに任せる」アプローチがアンチパターンである、という問題提起がありました。
大量の指示と道具を1つのエージェントに詰め込むと、次の3つの問題が起きるという指摘です。
ここで挙げたのは「1体に盛りすぎる」ことの弊害ですが、現状にはもう一つ、別の課題もあります。
多くの実装は目の前の特定業務だけを効率化する「点」の課題解決にとどまっており、場当たり的で、申請から承認、実行までといった複雑な業務全体には手が届いていないのです。これを持続的にカバーする鍵が マルチエージェント・アーキテクチャ である、という流れでした。
セッションで最も腑に落ちたのが、この原則です。1つのエージェントには1つの仕事だけをさせるべき、という考え方で、先述の3つのデメリットがそのまま裏返しのメリットになります。
具体的な構成としては、ユーザーの入口に立つ 「司令塔(メインエージェント)」 がリクエストの内容を判断し、「トラブル担当」「社内規約検索担当」「予約手配担当」といった 専門のサブエージェント に仕事を振り分ける形が示されていました。
そして各サブエージェントは、その役割に応じて Lambda・S3・ Bedrock・DynamoDB などのAWSサービスを束ねます。
1つの巨大な塊としてではなく、アプリケーションのように独立した部品として設計する。
この一文が設計を端的に表しています。
これは要するに、ソフトウェア工学の古典的な原則である 単一責任の原則 や、マイクロサービスの発想を、そのままAIエージェント設計に持ち込んだものと理解できます。
エンジニアにとっては馴染みのある考え方であり、だからこそ説得力がありました。
セッション後、登壇者に直接「どこからマルチエージェントに分けるべきか」を質問する機会があったので聞いてきました。答えは明快で、「人間目線では一つの仕事に見えても、実際には複数の仕事に分解できることが多い。それを分解して、一つひとつをAIのジョブとして与える」とのことでした。この「人間の体感より細かく割る」という視点が、1ジョブ1エージェントを実際に設計に落とすときに重要になるのかなと思います。
ただし、細かく割れば割るほど良いというわけでもなさそうです。
エージェントを分けるほど、司令塔がそれらを束ねる連携(オーケストレーション)のコストや、応答までの時間は増えていきます。サブエージェントには安いモデルや最適なモデルを使用してコストを抑えるなどの工夫も必要になってきそうですね。
「人間の体感より細かく」と「割りすぎない」のバランスをどこで取るかが、実際の設計では肝になりそうだと感じました。
「1ジョブ1エージェント」が効いてくるのは、精度や保守の話だけではありません。1つの仕事に特化して独立したAPIとして作るからこそ、そのエージェントが他の文脈でも転用できる「部品」になる、という点が重要です。
たとえば「社内規約検索担当」を一度ちゃんと作っておけば、
というように、複数の入口から使い回せます。いわゆる「潰しが効く」 状態ですね。
疎結合だからこそ自由に組み替えられ、作るたびに資産が積み上がっていく。1体作るごとに次に作れるものの選択肢が増える、という好循環が生まれます。
この発想は 「PoCで終わらせない」 という観点とも直結します。使い捨ての一点もののエージェントをいくら量産してもPoC止まりになりがちですが、資産として積み上がる作り方をして初めて、組織のAI活用が前進する。
「1ジョブ1エージェント」は、技術的な良し悪しの話に見えて、実は投資対効果の観点でも筋が通っている、というのがこのセッションの一貫した主張でした。
整理すると、こういう因果のつながりです。
1ジョブに特化させる → 独立した部品(API)として作れる → 特定業務に密結合しない → 複数の入口から使い回せる(崩しが効く)→ 作るほど資産が積み上がる → PoCを超えて実務に効く
後半は、エージェントの入力インターフェースの話でした。「すべての場面でテキスト入力が最適解なのか?」という問いから、音声対話の有効性を3つのポイントで提示していました。
「片手間に、完璧な説明ができるのは音声対話だけ」という一言が印象的でした。
最後に、これらを統合した実装事例が紹介されました。中核に Amazon Bedrock AgentCore を据えた構成です。
|
ステップ |
役割 |
使用技術 |
|
STEP1 対話入力 |
チャット・音声・画像を問わず受付 |
Microsoft Teams(既存インフラを入口に転換) |
|
STEP2 中核 |
どのデータを取りに行くかをAI自身が判断・回答生成 |
Amazon Bedrock AgentCore(Claude Sonnet 4.6) |
|
STEP3 データ取得 |
在庫・発注、社内KB、帳票画像などを取得 |
MCPサーバー群(Snowflake / SharePoint / AI-OCR 等) |
|
STEP4 回答・完結 |
Teamsに回答。未知の問題は人へシームレス転送 |
— |
既存のTeamsをAIの入口として活用し、AIが判断できない未知の問題は人にエスカレーションする。「実務で詰まらない」ための現実的な工夫まで含まれており、PoCを超えて実運用を見据えた構成になっていました。
個人的に一番の収穫は「1ジョブ1エージェント」という設計の合言葉でした。
いきなり万能AIを作ろうとせず、小さく作って資産として積み上げる、という現実的な進め方の指針が得られました。社内でエージェント開発を検討する際は、まず「この仕事は1ジョブに切り出せるか?」を問うところから始めたいと思います。