生成AIを使ったAIエージェントの開発が身近になってきました。
Pythonなどを使えば、
「問い合わせを分析する」
「資料を検索して回答する」
「データを加工する」
といったエージェントを作ることができます。
しかし、AIエージェントは作ったら終わりではありません。
実際に業務で使ってもらうためには、
「どこで動かす?」
「どうやって他のシステムから呼び出す?」
「アクセスが増えたらどうする?」
といった、実行環境についても考える必要があります。
そこで今回は、Microsoft Foundryの「Hosted Agent」を使って、自作したAIエージェントをクラウド上で動かしてみました。
この記事のポイント
- 自分で作ったAIエージェントをMicrosoft Foundry上で動かせる
- コンテナや実行環境をFoundryに任せ、エージェントの中身に集中できる
- 必要なときに実行環境が起動するため、常時コンテナを動かしておく必要がない
AIエージェントを「動かす」には?
例えば、Pythonで便利なAIエージェントを作ったとします。
自分のPCで動かすだけなら、これで完成です。
しかし、実際のサービスや業務システムから使おうとすると話が変わります。
エージェントを動かすサーバーを用意して、コンテナ化して、外部から呼び出せるようにして……。
AIエージェントそのもの以外にも、考えなければならないことが増えていきます。
「AIで何を実現するか」を考えたいのに、その周辺の実行基盤も作らなければならない。
そこで使えるのがHosted Agentです。
自作したエージェントをそのままクラウドへ
Hosted Agentでは、自分たちでコードを書いて作ったAIエージェントをMicrosoft Foundry上へデプロイできます。
エージェントのロジックは、自分たちで自由に実装できます。
一方で、
- コンテナの管理
- 実行環境
- 外部から呼び出すためのAPI
- リクエストに応じた実行環境の起動
といった部分はFoundry側に任せられます。
つまり、
「エージェントで何をするか」は自分たちで作り、「エージェントをどう動かすか」はFoundryに任せる
という役割分担ができます。
Excelを分析するAIエージェントを作ってみた
今回は検証として、問い合わせ一覧が入ったExcelファイルを処理するエージェントを作りました。
Excelには、複数の問い合わせが並んでいます。
これをエージェントへ渡すと、それぞれの問い合わせを分析して、
- カテゴリ
- 要約
- 優先度
を追加した新しいExcelファイルを生成します。
例えば、
「ログインできなくなりました」
という問い合わせなら、その内容をAIが理解し、カテゴリや優先度を判断します。
大量の問い合わせを人が一件ずつ確認して分類するような作業を、AIに支援してもらうイメージです。
AIと普通のプログラムを使い分ける
今回も、すべての処理をAIに任せているわけではありません。
Excelファイルを読み込んだり、結果を書き込んだりする処理はPythonで行います。
AIに任せるのは、
問い合わせの意味を理解して、分類・要約・優先度を判断する部分
です。
決められた通りに処理するのが得意なプログラムと、文章の意味を理解して判断するのが得意なAI。
それぞれを組み合わせて、一つのエージェントにしています。
生成AIを使うからといって、何でもAIに任せればよいわけではありません。
AIをどこに使うと効果的なのかを考えることも、AIを使ったシステム開発では重要です。
ファイルを扱うエージェントも作れる
今回のエージェントでは、ユーザーからExcelファイルを受け取り、処理したExcelファイルを返す必要があります。
Hosted Agentでは、セッションにファイルをアップロードし、エージェントから利用できます。
そのため、
ファイルをアップロード
→ AIエージェントが処理
→ 加工されたファイルを取得
といった処理も実現できます。
テキストを送ってAIから回答をもらうだけではなく、実際の業務で使われているファイルを扱うエージェントにも利用できます。
必要なときだけ実行環境を動かす
Hosted Agentでは、エージェントのコンテナを常に起動しておく必要もありません。
リクエストが来ると必要な実行環境が起動し、一定時間利用されなければ停止します。
今回確認した環境では、15分間リクエストがなければ実行環境が停止しました。
一方で、セッションの状態やアップロードしたファイルは保持されるため、再びリクエストすると処理を続けられます。
常時コンテナを起動しておくのではなく、必要なときに必要な実行環境を使うという構成にできます。
AIエージェント開発で考える範囲が変わる
今回Hosted Agentを試して感じたのは、
AIエージェントを「作ること」と「動かすこと」を分けて考えられる
という点です。
これまでは、自作したAIエージェントを業務で使える状態にするために、その周辺の実行基盤まで考える必要がありました。
Hosted Agentのような仕組みを使えば、その一部をクラウドサービスに任せられます。
すると開発者は、
「どんな業務をAIに任せるのか」
「どこをAIに判断させるのか」
「通常のプログラムとどう組み合わせるのか」
といった、エージェントそのものの設計により集中しやすくなります。
まとめ
今回はMicrosoft FoundryのHosted Agentを使って、Excelの問い合わせ一覧を分析する自作AIエージェントをクラウド上で動かしてみました。
今回のポイントは、ExcelをAIで処理できたことだけではありません。
自分たちで作ったAIエージェントを、実際に利用できる形で動かすための実行環境までサービスに任せられること。
AIエージェントが身近になるほど、
「どう作るか」
だけではなく、
「作ったエージェントをどうサービスとして動かすか」
も重要になってきます。
Acroquestでは、新しいAIサービスを試すだけでなく、
「実際の業務やシステムで使うなら、どんな構成にすればよいのか」
まで考えながら技術検証を行っています。
AIエージェントを作るだけでなく、それを実際のサービスとして動かすところまで挑戦してみたい方は、ぜひ一度お話ししましょう。
記事の詳細、検証に用いた実装コードなど詳しくは当社技術ブログに記載しておりますので、詳細を知りたい場合はこちらをご覧ください。
ぜひ、当社で一緒に働いてみませんか?
チャレンジングな案件が多く、成長の機会が多く得られる環境です
当社では、機械学習/AIや生成AIに加えて、AWSやAzureを活用したITサービス開発事業を推進しています。そこで、最先端技術を駆使しながら、社会を進化させたい情熱とスキルのある機械学習・AIエンジニア、クラウドエンジニアを募集しています!
私たちが取り組む案件は、最先端技術を用いる内容や高難易度の内容が多く、チャレンジングな環境なので、成長の機会が多く得られることをお約束します。
/assets/images/10338/original/b4c1f58c-4c92-447a-a0cc-671371e80f3a.png?1392712942)