>100 Views
February 12, 26
スライド概要
Microsoft Foundry と Foundry IQ を活用して、企業の知識を横断的に検索・活用できる ナレッジエージェント の仕組みを紹介します。Foundry によるエージェント管理と GPT を用いた高度な検索最適化、さらに API Management(APIM)によるエンドポイント集約・負荷分散・トークン管理・セキュリティ強化について、解説します。 Foundry ポータルのトレース、トークン可視化、評価機能、ガードレールによって、運用時のオブザーバビリティと安全性も強化できます。
プラットフォームエンジニアです。 セキュリティやSRE、インフラなど多岐にやっています。 趣味はタロット。
APIM × Foundry agent× Foundry IQ による ナレッジエージェントの 実装
自己紹介 MS Foundryの概要 Foundry IQの概要 APIM × Foundry agent× Foundry IQ によるナレッジエージェント APIMによるFoundryエージェントとAIモデルエンドポイントの 集約 MS Foundryポータル上で実現するオブザーバービリティ及び ガードレール
自己紹介 名前:折田菜津子 会社:株式会社 エーピーコミュニケーションズ 主な業務(AzureAI系いろいろやってます) Azure インフラの設計構築 Azure インフラおよび AI エージェント/MCP のセキュリティ整備 ガードレール、認証・認可、データアクセス制御 AI システムのオブザーバビリティ整備 トレース、トークン使用量のAI 評価指標の可視化 ワークフローエージェントの構築・実装にも挑戦中
MS Foundryの概要
Microsoft(MS) Foundryとは 一言で言うと、Microsoft Foundry は “AI エージェントを安全かつ シンプルに構築・運用するための統合プラットフォーム”。 2025 年 11 月の Ignite で、従来の AI Foundry から Microsoft Foundry へ名称が変更された。 旧来の AI Foundry ポータルも引き続き利用できるものの、今後は Microsoft Foundry の利用が推奨される。 新ポータル 旧ポータル
Microsoft Foundryの構成 エンドポイント AI エージェント(services.ai.azure.com):Foundry エージェントの実行と全体管理を担う OpenAI(openai.azure.com):OpenAI の LLM モデルを利用 AI サービス(services.ai.azure.com, speech.microsoft.com, cognitiveservice.com):音声テキスト化 (Speech)、翻訳(Translator)、画像解析、文書抽出、コンテンツフィルタリングなど、個別の AI タスクを処理 ガバナンス(Governance) ガードレール コンテンツフィルター、プロンプトシールド、個人情報フィルターなどの制御ポリシーを適用し、モデ ルの誤用や有害な出力の発生を防ぐ オブザーバビリティ( O11y) エージェントのトレース Application Insights と連携し、エージェント実行の詳細なトレースをFoundry ポータル上で確認可能 (どのツールを呼び出し、どう推論したかを可視化) AI モデルの評価 正確さ・流暢さ・関連性・安全性など多様な指標で定量評価し、改善に活かす
Foundryエージェント 一言で言うと、Foundry 独自の “マネージド・エージェント”。 従来のエージェント開発 LangChain や AutoGen などのフレームワークを使い、コードベースで MCP 接続やエージェントロジックを 実装する必要があり、構築は複雑になりがち。 Foundry エージェントによる効率化 Foundry ポータル上で、エージェントの定義、MCP ツールとの接続、テスト実行までを一貫して完結でき る。コード量を最小化し、構築プロセスを大幅に簡素化。 導入メリット エージェント開発の経験が浅いエンジニアでも、迅速かつ容易に高度なエージェントを構築できる。 ガバナンスや O11y とも統合されており、運用面でも安心。
Foundry IQの概要
Foundry IQとは 一言で言うと、Microsoft 製品に散在する非構造化データを集約し、検索 できるナレッジベース。 実態は AI Search! ナレッジソース(データソース)として指定できるもの Bing 検索(Web 検索) AI Search の検索インデックス Storage Account( AI Search による検索インデックス化を経由して利用) SharePoint インデックス付き(AI Search による検索インデックス化) リモート(SharePoint から直接取得) OneLake ナレッジ取得(MCPプロトコル) Foundry agent Foundry IQ
Foundry IQのすごいところ ただナレッジソースを検索するだけではない。 FoundryIQ は内部で GPT モデルを活用した高度なリトリーバル処理 を行い、検索結果を最 適化する。 検索結果のランク付け 取得した検索結果を GPT モデルを使って評価し、ユーザーのクエリに対して「回答とし て適切か」を推論してスコアリング。 再検索・再ランク付けの自動実行 初回の検索結果が不十分な場合、 検索キーワードの調整 → 再検索 → 再ランク付け を自動で繰り返し、より関連性の高い情報を探索する。 これらの機能により、正確で関連性の高い回答を提供!
リトリーバルの設定項目 チャット入力候補モデル:Open AIモデルを選択(API Managementを介したモデル呼び出しも可) 取得の推論作業:最低,小,中で推論レベルを選択可 取得の指示:複数のナレッジ ソースにわたって検索する方法の指示文を記述 回答の指示:応答の書式や構造を設定 出力モード:検索結果をそのまま出力(EXTRACTIVE_DATA)か自然言語の回答を生成 (ANSWER_SYNTHESIS)のモードがある。Web検索をナレッジソースに指定する場合、後者しか選択 不可
APIM × Foundry agent× Foundry IQ による ナレッジエージェント
APIMによるFoundryエー ジェントとAIモデルエン ドポイントの集約
ナレッジエージェントの構成 API Management(APIM)によるFoundryエージェント及びFoundry IQで使うAIモデルエンドポイントの集約管理 APIMによる集約のメリット ①安定稼働(Reliability) 負荷分散 によりリクエストを均等に処理 サーキットブレーカー によって障害バックエンドへ流入を防止 ②トークン管理(Usage Control) トークン制御・制限 により、過剰利用やコスト暴走を防ぐ トークン量の利用状況の可視化 ③セキュリティ(Security) validate-azure-ad-token ポリシー による Entra ID トークン検証及び認証認可を実施
APIMのメリット ①安定稼働:負荷分散とサーキットブレイカー 負荷分散方式の比較 ラウンドロビン(基本構成) • リクエストを順番に各バックエンドへ分配 • 各リージョンにトークンクォータがあるため、リージョンごとに AI を配置し、ラウンドロビンで分 散させることで効率的な運用が可能 • AIエージェントやAI モデルの 最も基本的な方式 重み付け(用途:ブルーグリーンデプロイ) • 各バックエンドに重み(weight)を設定し、リクエストの分配率を調整 • 高性能なインスタンスに多く割り当てるなど、柔軟なトラフィック制御が可能 • 新旧環境の切り替えや段階的リリースに適している 優先度ベース(用途:アクティブ・スタンバイ構成) • 優先度(priority)を設定し、通常は優先度の高いバックエンドにリクエストを送信 • 障害発生時には自動で他のバックエンドへフェイルオーバー • サーキットブレーカー機能と組み合わせることで、高可用性を実現 サーキットブレーカー • 429エラー(Too Many Requests)やバックエンド障害時に、別の正常稼 働のバックエンドへ自動切替することで、サービス継続性を確保。 • ラウンドロビン構成においても、障害中のインスタンスへリクエ ストが送られないように設定することを推奨
APIMのメリット ②トークン管理:トークン制限 トークン制限 llm-token-limitポリシーとconditionと組み合わせて、Foundryエージェ ントのAIモデルごとに合わせたトークン制限を構成。foundryポータル のAI Gatewayを追加すると自動的に設定される ※リトリーバル性能が低下する可能性があるため、Foundry IQで使う Open AIモデルエンドポイントには使用していない
APIMのメリット ②トークン管理:トークン量可視化 トークン量可視化 言語モデルカテゴリを選択することで、AI トークン使用量やリクエス ト数を可視化可能 Azure Monitor ベースのダッシュボードで、APIごとの利用状況・パ フォーマンス、LLM API のトークン消費量を確認できる トークン消費量の自動集計:使用量やリクエスト状況が自動的に集計・ 表示される
APIMのメリット ②トークン管理:トークン量可視化 各トークン数の推移など詳細に可視化したい場合、 llm-emit-token-metric ポリシーを利用して、カスタムメトリック(例:IP アドレス単位)ごとのトークン数を Application Insights に送信し、 Grafana ダッシュボードで可視化できる。 <llm-emit-token-metric namespace="AzureOpenAI"> <dimension name="API ID" /> しかし、カスタムメトリックに設定されたディメンションの数に応じて、 <dimension name="Subscription ID" /> 12時間以内に出力可能なログ数に上限がある <dimension name="Operation ID" /> </llm-emit-token-metric> Grafanaダッシュボード(例) • AIのモデルごとの1日あたりの平均応答時間(秒) • AIのモデルごとの1日あたりのResponse 429の回数 • AIのモデルごとの1日あたりの平均プロンプトトークン/完了トークン/合計トーク ン数 • AIのモデルごとの1日あたりの最大プロンプトトークン/完了トークン/合計トーク ン数 • AIモデルごとの1日あたりのリクエスト数
APIMのメリット
③セキュリティ:Entra ID トークン検証
validate-azure-ad-token ポリシーを使うことで、Entra ID が発行したアクセストークン
の正当性を APIM 側で確実に検証できる。
■ トークン検証で行われる主なチェック
公開キーの取得(JWKS)
Entra ID の openid-configuration から最新の公開鍵セット(JWKS)を自動取得し、署名
検証に使用。
署名の検証
取得した公開鍵でトークンの署名を検証し、トークンが Entra ID によって発行され、改
ざんされていないこと を保証。
有効期限(exp)の確認
トークンが期限切れでないことをチェック。
発行者(iss)の検証
iss クレームが指定テナントの正しい URL であることを確認。
Audience(aud)の確認
トークンが対象 API(例:https://ai.azure.com)向けに発行されたものであることを検
証。
■ アクセス制御の強化
特定の Entra ID グループ やマネージド ID のみアクセス許可
<validate-azure-ad-token tenant-id="{{EntraIDTenantId}}"
output-token-variable-name="validated-token" headername="Authorization" failed-validation-httpcode="401" failedvalidation-error-message="Unauthorized. Access token is
missing or invalid.">
<audiences>
<audience>https://ai.azure.com/</audience>
</audiences>
<required-claims>
<claim name="groups" match="all">
<value>{{entraidgroup}}</value>
</claim>
</required-claims>
</validate-azure-ad-token>
<validate-azure-ad-token tenant-id="{{EntraIDTenantId}}" headername="Authorization" failed-validation-httpcode="401" failedvalidation-error-message="Unauthorized. Access token is missing
or invalid.">
<!-- Azure AI SearchのManaged Identityを許可 --> <clientapplication-ids> <application-id>{{AIS-MI-CLIENT-ID}}</applicationid> </client-application-ids> </validate-azure-ad-token>
MS Foundryポータル上で 実現するオブザーバービ リティ及びガードレール
エージェントのトレース MS Foundry ポータルから、Foundry エージェントの実行トレースを直接確認できる。 エージェントの実行フローを一貫して可視化 エージェントの起動 → モデル推論 → FoundryIQ などのツール呼び出し → 最終レス ポンス までの処理が、時系列でトレースログとして表示される。 トークン使用量の可視化 Input トークン、Output トークン、合計トークン数 が明確に表示される
AIモデルの評価 AI モデルやエージェントの 正確さ・流暢さ・関連性・安全性 などを多 面的に定量評価できる。 ■ 継続的評価(リアルタイム評価) エージェント実行のたびにメトリクスを自動収集 応答品質や安全性をリアルタイムで監視し、改善に活用できる ■ スケジュール評価 設定した間隔で自動的に評価を実行 定期的な品質チェックを仕組みとして組み込める ■ スケジュールされたレッドチーミング 定期的にレッドチーミングを自動実行 安全性・セキュリティ上のリスクを継続的にテストし、脆弱性を早期発 見 ■ 評価アラート Azure Monitor アラートと連携 ルックバック期間内の成功率などに基づき、しきい値を下回った際に通 知。運用中の品質劣化を即座に検知できる
ガードレール コンテンツフィルター、プロンプトシールド、個人情報フィルターなど の制御ポリシーを適用し、モデルの誤用や有害な出力の発生を防ぐ 主な特徴 • AIモデルまたはエージェントにガードレールを割り当て可能 • LLMの回答全体をブロック ※ 例えば、個人情報フィルターで回答の機密情報のみをマスキングし たい場合は、 FoundryのAzure Language Service のエンドポイント (cognitiveservices.azure.com)で実施可能