こんにちは、スクーティー代表のかけやと申します。
弊社は生成AIを強みとするベトナムオフショア開発・ラボ型開発や、生成AIコンサルティングなどのサービスを提供しており、最近はありがたいことに生成AIと連携したシステム開発のご依頼を数多く頂いています。
Microsoftが業務用AIエージェント開発ツールをリリースしました。Azure AI Agent Serviceについて、その詳細を知りたいと考えている皆様へ、この記事では、Azure AI Agent Serviceの概要から、その強力な機能、実際の活用事例、そしてエンタープライズレベルでのセキュリティ対策まで、あなたが知りたい情報を網羅的に解説します。
さらに、AutoGenやSemantic KernelといったオープンソースSDKとの連携方法についても、具体的なコード例を交えて説明し、より高度なエージェントシステムの構築方法を明らかにします。また、実際にエージェントがどのように動作するかをご紹介します。
Azure AI Agent Serviceとは
Azure AI Agent Serviceの概要
Azure AI Agent Serviceは、開発者がセキュアでスケーラブルな、高品質のAIエージェントを構築、デプロイ、および運用するためのフルマネージドサービスです。
主な利点:
- 開発の効率化: 従来数百行必要だったクライアントサイドの関数呼び出しを、わずか数行のコードで実現。
- 「スマート」なマイクロサービス: Azure AI Foundry内で、質問応答(RAG)、アクション実行、ワークフロー自動化などに利用可能。
- 選べる開発ツール: Azure OpenAI Assistantsと同じワイヤープロトコルを使用。OpenAI SDKまたはAzure AI Foundry SDKのいずれかで開発可能。
- 容易なエージェント作成: Azure AI Foundry SDKを使用する場合、モデル、指示、ツールを定義するだけでエージェントを作成可能。
- パフォーマンスの最適化: エージェントの実行ログの詳細な分析、実行トレースなど、パフォーマンスチューニングを支援するツールを提供。
- 高度なカスタマイズとトラブルシューティング: エージェントの内部アーキテクチャの理解を深めることで、高度なカスタマイズとトラブルシューティングが可能。
エージェントのアーキテクチャと特徴:
- ステートレスなコンポーネント: 要求に応じたスケーリングが可能。
- 非同期実行: 要求のキューイングや再試行などのメカニズムを内蔵。
実現できること:
- エージェントのパフォーマンスの最適化
- 安定した運用
- エージェントの信頼性と効率性の向上
Azure AI Agent Serviceの特徴
Azure AI Agent Serviceは、推論APIを直接利用する開発と比較して、AIエージェントの構築とデプロイにおいて、より高い効率性と安全性を提供します。
効率性の向上:
- 自動ツール呼び出し:
- ツール呼び出しの解析、ツール呼び出し、応答処理をサーバーサイドで自動化
- 開発者が個別にコードを書く手間を削減
- スレッドによる安全なデータ管理:
- 会話の状態(コンテキスト)をスレッドで一括管理
- 開発者が独自に会話管理システムを構築する手間を削減
- 豊富なツールセット:
- Azure OpenAI Assistantsのツール (ファイル検索、コードインタープリター)
- Bing、Azure AI Search、Azure Functionsなど、データソースとの連携ツール
- コード量の削減: 従来数百行必要だったタスクを、わずか数行のコードで実現
パフォーマンスの監視と最適化:
- 実行ログの詳細分析: エージェント実行中に発生した問題の特定と解決を支援
- パフォーマンス指標のリアルタイム監視:
- 応答時間
- スループット
- エラー率
- ボトルネック特定と改善:
- ツールの実行時間短縮
- より高速なモデルへの切り替え
- エラーログに基づいた原因特定と修正
- 実行トレース: エージェントの各ステップを可視化し、処理内容を把握
セキュリティの確保:
- アクセス制御:
- エージェントがアクセスできるデータやリソースを制御
- エージェントごとのアクセス許可設定
- 特定のデータソースやAPIへのアクセス制限
- 不正アクセスとデータ漏洩リスクの軽減: セキュリティ機能により、安全なエージェント運用を実現
Azure AI Agent ServiceとAzure OpenAI Assistantsの比較
Azure AI Agent ServiceとAzure OpenAI Assistantsはどちらも、同じAPIとSDKを使用してエージェントを構築できます。しかし、エンタープライズレベルの要件がある場合は、Azure AI Agent Serviceの使用を検討すると良いでしょう。Azure AI Agent Serviceは、Azure OpenAI Assistantsのすべての機能に加えて、柔軟なモデル選択、広範なデータ統合、エンタープライズグレードのセキュリティ、およびストレージソリューションの選択肢を提供します。
機能 | Azure AI Agent Service | Azure OpenAI Assistants |
---|---|---|
API/SDK | 共通 (OpenAI SDK, Azure AI Foundry SDK) | 共通 (OpenAI SDK, Azure AI Foundry SDK) |
モデル選択 | 柔軟 (OpenAIモデル、Llama 3、Mistral、Cohereなど) | 主にOpenAIモデル |
データ統合 | 広範 (Bing, SharePoint, Fabric, Azure AI Searchなど) | 限定的 |
セキュリティ | エンタープライズグレード (キーレス認証、データプライバシー強化) | 基本的なセキュリティ機能 |
ストレージ | 選択可能 (独自Azure Blobストレージ or プラットフォーム管理) | プラットフォーム管理ストレージ |
パフォーマンス最適化 | 実行ログ分析、トレースなど高度なツールを提供 | 基本的なモニタリング機能 |
エンタープライズ要件 | 推奨 | 限定的 |
利用可能なツール | 豊富(ファイル検索、コードインタープリター、各種データソース連携) | ファイル検索、コードインタープリター |
スケーラビリティ | 高い | 中程度 |
管理の容易さ | フルマネージド | 一部ユーザー管理が必要 |
対象ユーザー | エンタープライズ、高度なカスタマイズを求める開発者 | 個人開発者、プロトタイピング、シンプルなユースケース向け |
補足:
- 柔軟なモデル選択: Azure AI Agent Serviceでは、OpenAIのモデルだけでなく、MetaのLlama 3、Mistral AIのMistral、CohereのCommand R+など、様々なモデルから最適なものを選択できます。
- 広範なデータ統合: Microsoft Bing、SharePoint、Fabric、Azure AI Searchなど、多様なデータソースから安全かつ効率的にデータを取得し、エージェントに活用させることができます。
- エンタープライズグレードのセキュリティ: キーレス認証、データ処理に関する厳格なプライバシー保護、ネットワークセキュリティなど、エンタープライズレベルのセキュリティ要件に対応しています。
- ストレージソリューションの選択肢: ユーザーのニーズに合わせて、ストレージを柔軟に選択できます。
- パフォーマンス最適化ツール: エージェントの実行ログの詳細分析やトレース機能により、パフォーマンスのボトルネックを特定し、効率を向上させることができます。
Azure AI Agent Serviceの機能
多様なモデルのサポート
Azure AI Agent Serviceは、OpenAIのモデルだけでなく、業界をリードするモデルプロバイダーの最先端モデルも利用できる柔軟性を備えています。
利用可能なモデル例:
- OpenAIモデル (GPT-4oなど)
- Meta Llama 3.1
- Mistral Large
- Cohere Command R+
主な利点:
- タスクに最適なモデルの選択: 用途に応じて最適なモデルを選択することで、パフォーマンスと精度を最大化できます。
- 総所有コスト(TCO)の最適化: タスクの要件に合わせてモデルを選択することで、コスト効率を高めることができます。
- Azure AI Foundryのモデルカタログから利用可能: 簡単にモデルを検索、選択、デプロイできます。
- クロスモデル互換ツールの再利用: コード実行、検索拡張生成(RAG)など、クラウドホスト型ツールを異なるモデル間で共有できます。
- マルチモーダルサポート: テキスト、画像、音声など、多様なデータ形式に対応し、幅広いユースケースに適用できます。
- 例:GPT-4oの画像および音声モダリティを活用し、画像認識や音声認識を含む複雑なタスクを実行できます。
モデルのパフォーマンス最適化:
- トレーニングとファインチューニング: Azure AI Agent Serviceは、モデルのトレーニングやファインチューニングを行うためのツールを提供します。
- Azure Machine Learningとの連携: トレーニングジョブの作成と実行を容易にします。
- トレーニング済みモデルのデプロイ: トレーニングしたモデルをAzure AI Agent Serviceにデプロイし、エージェントから直接利用できます。
効果:
- モデルの精度と効率性の向上
- 開発者は、特定のタスクに最適なモデルを柔軟に選択し、パフォーマンスとコスト効率を最大化できます。
- マルチモーダルサポートにより、より複雑で高度なAIエージェントの開発が可能になります。
エンタープライズレベルのセキュリティ
Azure AI Agent Serviceは、企業の機密データ保護と規制要件への準拠を目的とした、エンタープライズレベルのセキュリティ機能を備えています。
データ保護とネットワークセキュリティ:
- データアクセス制御:
- 独自のストレージ接続: ユーザー管理のストレージを接続し、エージェントが安全にデータへアクセス可能。
- 仮想ネットワーク統合: データトラフィックのパブリックエグレスを厳密に制限し、ネットワーク内での安全な通信を実現。
- 簡素化された認証と管理:
- キーレスセットアップ: キー管理の負担を軽減。
- OBO (On-Behalf-Of) 認証: ユーザーの代理として、エージェントが安全にリソースへアクセス。
- スケーラビリティとパフォーマンス:
- プロビジョニングされたデプロイメント: 無制限のパフォーマンスとスケーリングを提供。
- 予測可能なレイテンシと高スループット: 柔軟性を維持しながら、安定したパフォーマンスを実現。
パフォーマンス監視と責任あるAI:
- OpenTelemetryベースのトレーシング:
- AIエージェントのパフォーマンスと信頼性の監視。
- Azure AI Foundry SDKを介してOpenTelemetry互換メトリクスを監視ダッシュボードに統合。
- エージェント出力のオフラインおよびオンライン評価が可能。
- 責任あるAIへの取り組み:
- コンテンツフィルター: 事前構築済みおよびカスタムフィルターにより、有害コンテンツを検出 (重大度レベル別)。
- プロンプトシールド: クロスプロンプトインジェクション攻撃からエージェントを保護。
- データプライバシー: ユーザーの許可なく、プロンプトと完了をMicrosoftまたはサードパーティ製品のトレーニング等に使用しない。
- データ削除: 顧客は必要に応じて保存データを削除可能。
アクセス制御:
- 詳細なアクセス許可設定:
- エージェントごとにアクセス許可を設定可能。
- 特定のデータソースやAPIへのアクセスを制限。
- セキュリティ強化: 不正アクセスやデータ漏洩リスクを軽減。
エンタープライズナレッジの活用
Azure AI Agent Serviceでは、エージェントが複数のソースからデータにアクセスして処理できるように、エンタープライズナレッジソースの豊富なエコシステムを簡単に構成できます。これにより、ユーザーのクエリに対する応答の精度が向上します。 これらのデータコネクタは、ネットワークパラメータ内で動作するように設計されています。組み込みのデータソースには、リアルタイムのWebデータグラウンディングのためのBing、プライベートデータのためのMicrosoft SharePoint、構造化データのためのMicrosoft Fabric、プライベートデータのためのAzure AI Search、Azure Blob、ローカルファイルなどが含まれます。
例えば、BingによるWebデータグラウンディングにより、エージェントは最新の情報を提供できます。
下記の動画では、エージェントがBing検索を活用して最新情報を取得し、ユーザーの質問に回答する様子が紹介されています。
SharePointとの接続により、エージェントは組織の内部ドキュメントにアクセスして、根拠のある応答を提供できます。また、OBO認証をサポートしているため、エージェントはエンドユーザーがアクセス許可を持つSharePointにのみアクセスできます。
Fabricとの統合により、SQLなどのクエリ言語やデータコンテキストに関するユーザーの知識がなくても、組織内のデータ駆動型の意思決定を強化できます。Azure AI Search、Azure Blob、ローカルファイルのプライベートデータを使用して、エージェントの出力を強化することもできます。
さらに、Tripadvisorなどのプロプライエタリデータプロバイダーからのライセンスデータを使用して、エージェントの応答を強化できます。組み込みの会話状態管理機能により、スレッドまたは会話状態を管理し、コンテキストを保持し、パーソナライズされた対話を提供し、時間の経過とともにパフォーマンスを向上させることができます。
Azure AI Agent Serviceは、各エンドユーザーの対話から会話履歴を管理および取得することで、スレッド管理システムを構築する手間を省き、セッション内で一貫したコンテキストを提供して、より豊かな対話を実現します。これにより、AIエージェントを強化するモデルのコンテキストウィンドウの制約を回避することもできます。
さらに、Azure AI Agent Serviceは、エージェントがアクセスできるデータソースを制御するための機能も提供します。例えば、エージェントがアクセスできるデータソースを制限するための機能が用意されています。具体的には、エージェントごとにアクセス許可を設定し、特定のデータソースへのアクセスを制限することができます。これにより、エージェントのセキュリティを確保し、不正アクセスやデータ漏洩などのリスクを軽減することができます。
エージェントの自動化とアクションの実行
Azure AI Agent Serviceは、OpenAIのAssistants APIを基盤とし、LLMの能力を汎用的なプログラムによるアクションと結びつけることで、強力な自動化機能を提供します。
主な特徴:
- 組み込みのメモリ管理: エージェントの状態を管理し、会話のコンテキストを維持します。
- 洗練されたインターフェース: 一般的なコンピューティングプラットフォームとシームレスに統合できます。
- Azure Logic Appsとの連携: 1400以上のコネクタを利用して、多様なサービスと連携できます。
- Azure Functionsとの連携: ステートレス/ステートフルなコードベースのアクションを実行できます。
- コードインタープリター: 安全な環境でPythonコードを実行し、データ分析やファイル生成が可能です。
- OpenAPI仕様のサポート: 標準化されたツールライブラリを構築し、外部APIと連携できます。
- Llama Stack SDKとの互換性: Llama Stackを利用する開発者向けに、エージェントプロトコルをサポートします。
Azure Logic Apps コネクタの例:
- Microsoft製品:
- Azure App Service
- Dynamics 365 Customer Voice (例: 顧客フィードバックに基づく自動アクション)
- Microsoft Teams (例: チームコミュニケーションの自動化)
- M365 Excel
- 主要エンタープライズサービス:
- MongoDB
- Dropbox
- Jira
- Gmail
- Twilio
- SAP
- Stripe
- ServiceNow (例: ITサービス管理プロセスの自動化)
Azure Functions で実現できるアクションの例:
- 同期/非同期アクション: 通常の関数呼び出しや、バックグラウンド処理
- 長時間実行アクション: 時間のかかるタスクの実行 (例: 大規模データセットの処理)
- イベント駆動型アクション: 特定のイベントをトリガーとしたアクションの実行 (例: 新規メール受信時の処理)
- ステートフルアクション: 状態を保持する複雑なワークフローの実行 (例: 人手を介した請求書の承認プロセス)
その他の機能:
- コードインタープリター:
- 安全な環境でPythonコードを実行
- 多様なデータ形式の処理
- データとビジュアルを含むファイルの生成
- ストレージ内のデータとの統合 (Assistants APIとの違い)
- OpenAPI 3.0 サポート:
- 標準化されたツールライブラリの構築
- 外部APIとのスケーラブルな相互運用性
- マネージドID (Microsoft Entra ID) による認証
- Llama Stack SDK 互換:
- エージェントプロトコルのサポート
- スケーラブルでクラウドホスト型のエンタープライズグレードツールの提供
活用例:
- ユーザーの電子メールに基づいた会議のスケジュール
- 顧客からの問い合わせに基づいたサポートチケットの作成
- 各種業務プロセスの自動化
ベネフィット:
- エージェントは単なる情報提供者ではなく、実際のアクションを実行する強力なツールに
- 生産性向上と業務効率化を実現
下記の動画では、エージェントがLogic Appsを活用して、ユーザーに代わって会議をスケジュールする様子が紹介されています。
さらに、Azure AI Agent Serviceは、エージェントが実行できるアクションを制御するための機能も提供します。例えば、エージェントが実行できるアクションを制限するための機能が用意されています。具体的には、エージェントごとに実行許可を設定し、特定のアクションの実行を制限することができます。これにより、エージェントのセキュリティを確保し、不正なアクションの実行などのリスクを軽減することができます。
Azure AI Agent Serviceの活用事例
マルチエージェントシステムの構築
Azure AI Agent Serviceは、マルチエージェントシステムの構築を強力にサポートします。AutoGenやSemantic Kernelなどのフレームワークと連携することで、複雑なタスクを効率的に処理する、高度なAIエージェントソリューションを実現できます。
連携フレームワーク:
- AutoGen:
- Microsoft Researchによる最先端の研究用Python SDK
- エージェント間の最適なコラボレーションパターンを探求
- 常に進化し、最新の研究成果を取り入れる
- Semantic Kernel:
- Python、.NET、Javaに対応したエンタープライズ向けAI SDK
- AutoGenで検証された機能を、本番環境向けに安定化
- 非破壊的な変更と長期サポートを提供
マルチエージェントシステム構築の流れ:
- Azure AI Agent Serviceでシングルトンエージェントを構築:
- 信頼性、スケーラビリティ、セキュリティに優れたエージェントを作成
- AutoGenでエージェントをオーケストレーション:
- 複数のエージェントを連携させ、複雑なタスクを分担
- エージェント間の最適なコラボレーションパターンを実験・検証
- Semantic Kernelへの移行 (必要に応じて):
- AutoGenで検証された機能を、本番環境向けに安定化
- 長期的なサポートと非破壊的な変更による、持続可能な運用を実現
マルチエージェントシステムの利点:
- 複雑なタスクの効率化: 複数のエージェントにタスクを分散し、並列処理することで、全体の処理時間を短縮
- 専門化による精度向上: 各エージェントを特定のタスクに特化させることで、それぞれの精度を向上
- 柔軟なシステム設計: タスクの変更や拡張に柔軟に対応できる、モジュール化されたシステムを構築可能
活用例: データ分析タスク
- データ収集エージェント: 複数のデータソースからデータを収集
- 前処理エージェント: データのクレンジング、フォーマット変換などを実行
- 分析エージェント: 統計分析、機械学習モデルの適用などを実行
- レポート作成エージェント: 分析結果をレポート形式で出力
Azure AI Agent Serviceの役割:
- 各エージェントに、タスク実行に必要な機能を提供 (例: データアクセス、ツール連携)
- マルチエージェントシステムのパフォーマンスを監視・最適化
- エージェント間の通信やタスク実行状況の追跡
- ボトルネックの特定と解消を支援
AutoGenとSemantic Kernelの連携例
AutoGenでエージェント間の対話を定義し、Semantic Kernelでエージェントをデプロイおよび管理する例を以下に示します。
AutoGen (Python)
from autogen import AssistantAgent, UserProxyAgent, config_list_from_json
config_list = config_list_from_json(env_or_file="OAI_CONFIG_LIST")
assistant = AssistantAgent("assistant", llm_config={"config_list": config_list})
user_proxy = UserProxyAgent("user_proxy", code_execution_config={"work_dir": "coding"})
# Semantic Kernelへのエージェントの登録
user_proxy.register_for_execution(assistant)
user_proxy.initiate_chat(assistant, message="""
AutoGenエージェントとSemantic Kernelエージェントの違いを教えてください。
""")
Semantic Kernel (C#)
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Connectors.AI.OpenAI;
var builder = new KernelBuilder();
builder.WithAzureChatCompletionService(
deploymentName: "gpt-4",
endpoint: "YOUR_AZURE_OPENAI_ENDPOINT",
apiKey: "YOUR_AZURE_OPENAI_API_KEY"
);
var kernel = builder.Build();
// AutoGenエージェントの関数をインポート
var autogenAgentFunction = kernel.CreateSemanticFunction(@"
AutoGenエージェントは、研究用の最先端のSDKであり、常に最新の研究成果が取り入れられています。
一方、Semantic Kernelエージェントは、本番環境での利用を想定した安定したSDKであり、破壊的な変更は行われません。
");
// 関数の実行
var result = await autogenAgentFunction.InvokeAsync();
Console.WriteLine(result);
この例では、AutoGenでユーザープロキシエージェントとアシスタントエージェントを作成し、ユーザープロキシエージェントがアシスタントエージェントをSemantic Kernelに登録しています。Semantic Kernel側では、AutoGenエージェントの機能をセマンティック関数としてインポートし、実行しています。 このように、AutoGenとSemantic Kernelを連携させることで、研究レベルの最新技術を活用しながら、エンタープライズレベルの安定性と信頼性を確保したエージェントシステムを構築できます。
Thermo Fisherの事例
Thermo Fisherは、Azure AI Agent Serviceを活用して、複雑なデータクエリと分析プロセスの自動化に成功しました。
導入の背景:
- 従来のデータ分析プロセスは、時間と手間を要していた (数週間)。
- データドリブンな意思決定の加速が求められていた。
- 社内におけるAI活用を推進する必要があった。
ソリューション:
- Azure AI Agent Serviceを用いたマルチエージェントシステムの構築
- 自然言語クエリをSQLクエリへ変換
- 複数のデータソースから情報を取得・分析
システム構成:
- 連携するエージェント:
- ユーザープロキシエージェント: ユーザーの代理としてクエリ送信、コード実行を担当
- SQLエージェント: データオントロジーとスキーマに基づきSQLクエリを作成
- 品質エンジニアエージェント: SQLエージェントのクエリを検証
- アナリストエージェント: データ分析結果からビジネスインサイトを提供
- メーカーチェッカーパターン: 品質エージェントとSQLエージェントの連携によるクエリ品質の担保
成果:
- 社員による業務効率化、生産性向上
- データ分析プロセスを数週間から数分に短縮
- クエリ精度の向上
- データドリブンな意思決定の加速
社内AI活用の推進:
- 全社員向けAIトレーニングプログラムの提供
- 社員のAIエージェント構築・活用スキルの向上
個人および企業の生産性向上
Azure AI Agent Serviceは、個人の生産性向上と企業の業務効率化の両面で大きな効果を発揮します。
活用例:多様なユースケース
- 個人向けエージェント:
- スケジュール管理: メールの自動送信、会議のスケジュール調整
- 情報収集: 市場動向の継続的な監視、レポートの自動作成
- 企業向けエージェント:
- 営業支援: リードの調査、適格性の自動判断
- カスタマーサービス: パーソナライズされたメッセージによるプロアクティブなフォローアップ
- 開発支援: コードベースのアップグレード、コードリポジトリの対話的な進化の支援
- その他: 人手を介した請求書の承認、長期間にわたるエンドツーエンドの製品サプライチェーンの監視
連携可能なサービスと機能:
- Azure Logic Apps: 1400以上のコネクタを活用し、Microsoft製品やサードパーティアプリケーションと連携
- Azure Functions: 同期、非同期、長時間実行、イベント駆動型のアクションを実行
- コードインタープリター: 安全な環境でPythonコードを実行し、データ処理やファイル生成を実行
具体的な活用イメージ:
- メールの自動送信:
- 営業エージェントが、調査したリード情報に基づき、パーソナライズされた営業メールを自動送信。
- 顧客からの問い合わせメールに対し、カスタマーサービスエージェントが自動応答メールを送信。
- 会議のスケジュール調整:
- 個人用エージェントが、ユーザーの空き時間と会議参加者の空き時間を調整し、会議を自動的にスケジュール。
- 会議の招待状を自動送信し、リマインダーを設定。
- 市場動向の監視とレポート作成:
- 調査エージェントが、指定されたキーワードに基づいてWebを検索し、最新の市場動向を収集。
- 収集した情報を分析し、レポートを自動的に作成してユーザーに提供。
- リードの調査と適格性判断:
- 営業エージェントが、Webや社内データベースからリード情報を収集。
- 定義された基準に基づいてリードの適格性を自動的に判断し、優先順位付け。
- コードベースのアップグレード:
- 開発者エージェントが、古いコードを特定し、新しいバージョンへのアップグレードを提案。
- コードの変更点を自動的にテストし、問題がないことを確認。
Azure AI Agent Serviceのメリット:
- ルーチンタスクの自動化: 時間と労力を節約し、より重要な業務に集中
- ナレッジワークの可能性拡大: AIによる支援で、より高度な業務遂行が可能に
- パフォーマンスの最適化: 実行ログの詳細分析、実行トレースによる問題の特定と解決
- セキュリティの確保: エージェントごとのアクセス制御による不正アクセス・データ漏洩リスクの軽減
Azure AI Agent Serviceの始め方
Azure AI HubとAgentプロジェクトのセットアップ
Azure AI Agent Serviceを利用するには、まずAzure AI HubとAgentプロジェクトをAzureサブスクリプションに作成する必要があります。
1. Azure AI Hubの役割:
- アプリケーションの環境とAzureリソースを設定するための基盤となるリソースです。
2. Agentプロジェクトの役割:
- Azure AI Hubの下に作成されます。
- アプリケーションが呼び出すエンドポイントを提供します。
- テナント内のリソースへのアクセスをセットアップします。
- Azure OpenAIリソースまたはAzure AI Servicesリソースを接続することも可能です。
3. クイックスタートガイドの活用:
- 初めてサービスを利用する場合は、クイックスタートガイドを参照してください。
- クイックスタートガイドには以下の内容が記載されています。
- 必要なリソースを含むAI Hubとプロジェクトの作成方法
- GPT-4oなどの互換性のあるモデルのデプロイ方法
- SDKを使用したサービスへのAPI呼び出し方法
4. エージェント作成・実行を容易にするツール:
- Azure AI StudioのAgents Playground:
- コーディングなしでエージェントを作成およびテストできます。
- Azure AI Foundry SDK:
- プログラムでエージェントを作成および管理できます。
エージェントの設定と実行
エージェントの設定と実行は、以下のコンポーネントによって構成されます。
1. エージェント:
- AIモデルとツールを組み合わせて使用するカスタムAI
- ユーザーからの指示に基づき、タスクを実行する
2. ツール:
- エージェントの機能を拡張し、より正確で信頼性の高い応答を実現
- 例:
- ナレッジベース接続: ユーザー定義のナレッジベースに接続し、モデルをグラウンディング
- Web検索: 最新情報を取得するためにWeb検索を実行
3. スレッド:
- エージェントとユーザー間の会話セッション
- メッセージを保存し、コンテキストを維持
- モデルのコンテキスト長に合わせてコンテンツを自動的に切り詰め
4. メッセージ:
- エージェントまたはユーザーによって作成される
- テキスト、画像、その他のファイルを含むことが可能
- スレッドにリストとして保存
5. 実行:
- スレッドの内容に基づき、エージェントを起動 (アクティベーション)
- エージェントは、設定とスレッド内のメッセージを用いて、モデルとツールを呼び出し、タスクを実行
- 実行の一環として、エージェントはスレッドにメッセージを追加
6. 実行ステップ:
- エージェントが実行したステップの詳細なリスト
- ツール呼び出しやメッセージ作成など、実行中のエージェントの動作を記録
- 実行ステップを分析することで、エージェントの動作を理解し、問題解決に役立てることが可能
監視と管理:
- Azure AI Agent Serviceは、エージェントの実行を監視および管理するためのツールを提供
- 実行状況のリアルタイム監視: 成功、失敗、進行中などの状態を確認
- 実行ログの確認: 各実行ステップの開始時刻、終了時刻などを確認
- 効率的な管理: 問題発生時の迅速な対処を支援
基本的なエージェントの設定
基本的なエージェント設定では、以下のようにリソースが構成されます。
- 検索リソースとストレージリソース:
- Microsoftが完全に管理するマルチテナントのリソースを使用
- ユーザーはこれらのリソースを直接表示または制御不可
- 作成されるリソース:
- AI Hub: エージェントをホストするための基盤
- AIプロジェクト: エージェントのデプロイメントと管理のためのワークスペース
- AI Services: エージェントが利用するAIサービス (例: モデル、API)
- ストレージアカウント: ハブに必要なリソースとして作成されるが、エージェント自体は使用しない
- モデルのデプロイ:
- gpt-4o-miniモデルがeastusリージョンにデプロイ
- デフォルトで使用されるリソース:
- Microsoftが管理するキーコンテナー
- Microsoftが管理するストレージアカウント
- Microsoftが管理する検索リソース
適したユーザー:
- 迅速かつ簡単にエージェントを使い始めたいユーザー
非推奨なユーザー:
- 高度な制御やカスタマイズを必要とするユーザー
補足:
- より高度な制御やカスタマイズが必要な場合は、標準的なエージェントの設定を選択することをお勧めします。
標準的なエージェントの設定
標準的なエージェントの設定では、顧客所有のシングルテナントの検索リソースとストレージリソースが使用されます。
主な特徴:
- リソースの完全な制御: ユーザーは、検索リソースとストレージリソースを完全に制御および表示できます。
- コスト: リソースの使用量に基づいて発生します。
- 作成されるリソース:
- AI Hub
- AIプロジェクト
- キーコンテナー
- ストレージアカウント
- AI Services
- AI Search
- リソースの接続: AI Services、AI Search、キーコンテナー、ストレージアカウントは、プロジェクトとハブに接続されます。
- モデルのデプロイ: gpt-4o-miniモデルが、AI ServicesリソースのOpenAIエンドポイントを使用してeastusリージョンにデプロイされます。
適したユーザー:
- エージェントの実行環境をより細かく制御したいユーザー
- 独自のデータソースを使用したいユーザー
活用例:
- データアクセスのカスタマイズ: 独自のAzure AI Searchインデックスを使用して、エージェントがアクセスできるデータを制御。
- データストレージのカスタマイズ: 独自のAzure Blobストレージを使用して、エージェントが生成したデータを保存。
セキュリティ強化:
- 認証情報の管理: 独自のキーコンテナーを使用して、エージェントの認証情報を安全に管理。
- ネットワークトラフィックの制御: 独自の仮想ネットワークを使用して、エージェントのネットワークトラフィックを制御。
パフォーマンスの最適化:
- リソースのカスタマイズ: エージェントの実行に使用されるリソースを最適化。
- スケーリング: エージェントの実行を柔軟にスケーリング。
- 結果: パフォーマンスの向上とコストの最適化を実現。