第2章 Microsoft Foundry の全体像をつかむ
本章は初稿です。
2.1 この章で学ぶこと
Foundry のリソース、プロジェクト、デプロイ、エージェント、会話、応答を一つの「AI の入れ物」と考えると、準備するものと呼び出すものを混同します。
本章の目標は、管理の単位と、実行時に使う部品を区別することです。プロジェクトから利用するモデル、AI サービス、エージェントと、それらを支えるツール、ナレッジ、記憶、セーフガードを俯瞰します。
連携する Azure サービス、実行方式、課金も俯瞰し、Foundry に任せる範囲と自分で用意するもの、費用になる利用量を整理します。
詳細は第3章の実行方式、第4章の課金と予算で学び、第5章の環境準備へ進みます。
2.2 管理の土台と実行時の部品を分ける
2.2.1 管理する単位と、相談のたびに使う単位
Microsoft Foundry は、モデル、エージェント、ツールを扱い、評価、トレース、アクセス制御などを組み合わせるプラットフォームです。Foundry Agent Service は、その中でエージェントの実行を支えるサービスです。[^foundry]
図2-1 管理するものと、相談のたびに使うものを分ける。 枠は管理・学習上のまとまり、実線の矢印は管理・利用・入力の関係です。モデルのデプロイはプロジェクトから利用するものとして描き、厳密な Azure リソース階層やネットワーク境界は示していません。
| 要素 | 何を表すか | 今回の題材での使い方 |
|---|---|---|
| Foundry リソース | プロジェクトや関連する設定を扱う管理の土台 | 学習環境として許可された資源を使う |
| プロジェクト | 開発作業や接続先をまとめる単位 | IT 支援のエージェントや接続を扱う |
| モデルのデプロイ | 推論に使うモデルを呼び出すための設定 | 選んだ対応モデルを利用可能にする |
| Agent | モデル、指示、ツールなどの再利用する振る舞い | IT 支援という役割を定義する |
| Conversation | 入出力の履歴を保持する単位 | 一つの相談を続ける |
| Response | 入力に対する実行と出力 | 質問への回答やツール要求を生成する |
モデルのデプロイは、モデルを学習し直すことではありません。また、エージェントを作成しただけで、社員一人分の相談履歴が生まれるわけでもありません。
2.2.2 プロジェクトを中心に AI 機能を見渡す
Microsoft Foundry はプラットフォーム、Foundry リソースは Azure 上の管理の土台です。その上にプロジェクトを作成し、エージェントや開発資産を整理します。[^projects]
プロジェクトを入口に、利用するモデル、音声・文書処理などの AI サービス、Agent の定義を扱います。それらを補助するのが、外部の処理を呼ぶツール、回答の根拠を供給するナレッジ、文脈を引き継ぐ記憶、安全な利用のためのセーフガードです。
Azure AI Search や Storage などは別リソースであり、プロジェクトでは接続を扱います。プロジェクトが管理する定義・接続・参照と、接続先の実体を区別してください。[^connections]
図2-2 プロジェクトから見た AI 機能と、それらを支える仕組み。 上段は AI 機能、中段は処理・文脈の補助、下段は横断的な安全対策です。枠は管理と機能の分類、破線矢印は別リソースへの接続・参照を示します。実行順序、ネットワーク境界、物理配置ではありません。各機能には選択・接続・設定が必要です。
| 要素 | 役割と Foundry での位置付け | 社内 IT 支援での例 |
|---|---|---|
| モデル | 生成や推論に使う能力。アプリケーションやエージェントが利用するモデルのデプロイを選ぶ | 問い合わせを解釈し、回答や検索要求を生成する |
| AI サービス | 音声、文書、言語などの処理を API で利用する。Foundry Tools は Speech、Document Intelligence、Language などの AI サービス群の名称[^ai-services] | 音声の相談を文字へ変換したり、添付文書から情報を取り出したりする |
| エージェント | モデル、指示、ツールなどの振る舞いを再利用する定義。実行時の会話や入力と組み合わせる[^runtime] | 不足情報の確認、検索、根拠に沿う回答を進める |
| ツール | モデルが呼び出しを要求できる処理の入口。実行場所や必要な実装は接続方式によって異なる[^function-calling] | search_knowledge を呼び出し、必要な手順を取得する |
| ナレッジ(知識) | 文書や業務データを回答の根拠として取得する。Foundry IQ の知識ベースは Azure AI Search の検索基盤を利用する[^foundry-iq] | 現在有効で、社員が閲覧できる VPN 手順を参照する |
| 記憶 | 現在の会話の文脈と、セッションをまたぐ長期記憶を区別する。Foundry Memory は長期記憶の機能[^memory] | 同じ相談の「Windows です」という回答や、必要に応じた過去の相談の文脈を引き継ぐ |
| セーフガード | Foundry の内容安全対策やアクセス制御と、アプリケーション側の入力検証、承認、停止を組み合わせる | 閲覧範囲を守り、承認のない登録や不要な呼び出しを防ぐ |
2.2.3 補助機能の役割と、導入する範囲を分ける
Foundry Tools と、エージェントのツールは別の切り口です。 前者は AI サービス群の名称、後者はエージェントが呼び出せる操作を指します。AI サービスはアプリケーションから直接呼ぶことも、ツールとしてエージェントへ接続することもできます。Toolbox は対応するツールをまとめて MCP 互換のエンドポイントで公開する仕組みですが、本教材のクライアント側で実行する function calling は、Toolbox に入れる方式ではなく直接のツール連携です。[^ai-services][^toolbox]
ナレッジと記憶も、同じものではありません。 会社の VPN 手順や規程は、管理された情報源から取得するナレッジです。一方、この社員が今回の相談で「Windows です」と答えたことは、会話の文脈です。セッションをまたぐ長期記憶を使う場合は、何を保存し、誰の範囲で検索し、いつ削除するかも設計します。会話履歴を保存することと、Foundry Memory を導入することを混同しません。[^memory]
セーフガードは、最後に付ける一つの部品ではなく、各要素に横断して設計する対策です。 Guardrails の対象や検査箇所は、モデルとエージェントで異なります。エージェントに割り当てたガードレールはモデル側の設定を置き換えるため、モデルの安全設定がそのまま引き継がれるとは考えず、採用する対象の設定を確認します。[^guardrails] 内容の安全性を検査しても、独自の文書の閲覧権限や本人承認を確認する実装が不要になるわけではありません。
提供状態にも違いがあります。参照した公式資料では、Foundry Memory とエージェント向け Guardrails は Preview です。Foundry IQ は機能と Search Service REST API の版によって GA と Preview が分かれ、ポータルでの agentic retrieval は Preview の扱いです。[^memory][^guardrails][^foundry-iq] Memory store の VNet 連携が非対応という資料上の制約も含め、リージョン、API、実行方式、ネットワークの対応を個別に確認してください。[^memory]
基本課題はモデル、指示、会話、検索関数、実行側の検証から始めます。音声・文書処理、Foundry IQ、長期記憶は必要に応じた発展先であり、全機能の導入は修了条件ではありません。
2.2.4 Foundry を支える Azure サービスを整理する
推論、保存、検索、認証、監視を担う連携先は、プラットフォーム管理の部分と、自分のサブスクリプションに用意する部分に分かれます。プロジェクトの作成に、全サービスの新設が必要なわけではありません。[^agent-environment][^resources]
図2-3 Foundry と連携先を、役割ごとに整理する。 矢印は利用・接続・記録、枠は機能のまとまりであり、物理的な階層や VNet 境界ではありません。採用方式に応じて資源を選び、接続登録・主体の権限・ネットワーク経路を個別に確認します。[^agent-environment][^connections][^resources][^hosted-permissions]
| サービス・資源 | 担当する役割 | 本教材で必要になる条件 |
|---|---|---|
| Foundry リソースとプロジェクト | モデルやエージェント、接続、実行設定を管理する土台 | Foundry を使う基本実習の入口 |
| Foundry Models のモデルのデプロイ | 質問の解釈、回答やツール要求の生成に使う推論先 | 本教材では対応するモデルを一つデプロイして利用する |
| Microsoft Entra ID と Azure RBAC | 開発者、アプリ、エージェントを識別し、操作を許可する | Agent の作成・呼び出し、モデルや接続先の利用 |
| Azure Storage | ファイルなどを保存するデータ基盤 | Standard の持ち込み資源、または独自ツールの保存先として採用するとき |
| Azure Cosmos DB | 会話や状態などを扱うデータ保存基盤 | Standard の持ち込み資源など、採用する保存方式で必要なとき |
| Azure AI Search | 文書・ベクトルの検索や知識ベースの検索基盤 | Standard の持ち込み資源、Foundry IQ、または独自の検索連携で採用するとき |
| Azure Container Registry(ACR) | Hosted エージェントのコンテナーイメージを保管・提供する | イメージ持ち込み方式などで使う。コード配備ではビルド成果物の管理方式を手順で確認する |
| Application Insights、Azure Monitor、Log Analytics | 実行経路、遅延、失敗などのトレースとログを記録する | 現行の Prompt エージェント/Hosted エージェントのクイックスタートを進めるとき、運用の観測を行うとき |
| Key Vault などの秘密情報管理 | 接続先に必要な資格情報などを管理する | 秘密情報を使う接続を採用するとき。自分で Key Vault を新設することが一律の必須条件ではない |
| VNet、Private Endpoint、Private DNS | 私設接続の経路、受信制限、名前解決を構成する | 組織の要件に沿ってネットワークを閉域化するとき |
| Speech、Document Intelligence、Language など | 音声、文書、言語の専用処理を実行する | テキスト以外の入力や専用の AI 処理を加えるとき |
| App Service、Azure Functions、Container Apps など | 利用者向けアプリや独自のツール API をホストする | アプリや API を Azure に配置するとき。Foundry Hosted エージェントのためにこれらを別途構築することが一律に必要なわけではない |
Storage、Cosmos DB、Search は、Agent Service のデータ基盤として接続する場合と、独自の業務処理から利用する場合があります。前者の設定だけで、後者のすべてのデータ保存先やアクセス権も自動的にそろうとは考えません。[^agent-environment][^connections]
Hosted エージェントの実行基盤、専用エンドポイント、エージェントの実行時 ID は Foundry が管理します。一方、独自 API や外部データへの接続、許可する操作、利用者の閲覧範囲は設計が必要です。ACR を使うイメージ配備、観測基盤、実行時のアクセス権については、それぞれ別の資源と権限が関わります。[^hosted][^hosted-permissions]
基本課題の search_knowledge はプログラム内の架空文書を検索するため、Azure AI Search の作成・接続は不要です。
2.2.5 小さく始める構成と、持ち込む構成を分ける
Agent Service の環境設定には、プラットフォーム管理のデータ基盤を使う Basic と、自分の Azure Storage、Azure Cosmos DB、Azure AI Search を接続する Standard があります。Standard は、ファイル、会話などの履歴、検索用データの保存先を自分の Azure 資源として管理したい場合の選択です。[^agent-environment]
| 選択する軸 | 決めること | 混同しないこと |
|---|---|---|
| 実行方式 | Prompt エージェントの宣言的な定義を使うか、Hosted エージェントで自分のコードを動かすか | Hosted エージェントを選ぶだけで Standard になるわけではない |
| データ基盤 | Basic の管理基盤か、Standard の持ち込み資源か | Basic は「データを保存しない」「すべて無料」という意味ではない |
| ネットワーク | 公開・制限付きの接続か、VNet や Private Endpoint を使うか | データの所有・管理方式とは別に、対応する接続方法を選ぶ |
| 認証と認可 | 誰が呼び、誰の権限でモデルや業務データを使うか | 実行方式やネットワークを選ぶだけで、利用者の閲覧権限が完成するわけではない |
ネットワークの資料には世代差があります。環境設定の比較表には、私設の送信を Standard に限る説明が残る一方、現在の Toolbox のネットワーク分離手順には Basic の BYO VNet 構成もあります。したがって、「閉域なら必ず Standard」「Basic なら必ず公開」と一括りにせず、採用する機能と現行手順の対応を確認します。詳しくは第6章で扱います。[^agent-environment][^network-setup]
構成を用意するときは、まず学習用のサブスクリプション、リソースグループ、Foundry リソースとプロジェクト、モデルを決めます。そのうえで必要なデータ基盤や観測基盤を選び、接続を登録し、実際にアクセスする主体へ必要な権限を割り当てます。最後に、呼び出す場所からのネットワーク経路を確認します。接続の登録、権限の付与、ネットワークの到達性は、別々の成立条件です。[^resources][^connections][^hosted-permissions]
Azure 資源を作成する権限と、Agent を作成・利用するデータプレーンの権限も区別します。本章では現行の Foundry User、Foundry Project Manager などのロール名を使います。旧名の Azure AI User、Azure AI Project Manager などが表示される移行期間でも、名前だけでなく対象操作と割り当て範囲を確認してください。[^agent-environment][^hosted-permissions]
2.3 Agent、Conversation、Response の関係
現行のランタイム資料は、この三つを別の部品として説明しています。Agent は再利用する振る舞い、Conversation は履歴、Response は実行と出力です。[^runtime]
IT 支援という一つの Agent を、複数の社員が利用できます。ただし、全社員の相談を同じ Conversation へ入れてはいけません。アプリケーションは、認証した利用者が扱える会話を選びます。同じ相談では、複数の Response を通して不足情報を確認し、検索結果を使って回答できます。
Response は最終的な文章だけではありません。出力に関数呼び出しの要求が含まれることもあります。文章の表示だけでなく、どの種類の出力が返ったかを見る必要があります。
Conversation を使わず、前の Response を参照したり、アプリケーションから履歴を渡したりする方式もあります。本教材では最初の学習経路を一本にするため、Conversation を使う方式から始めます。
2.4 最初に選ぶ実行方式
テキストの問い合わせ支援を始める選択肢として、次を整理しておきます。これは音声なども含めた全機能の一覧ではありません。[^foundry]
| 選択肢 | 開発の中心 | 本教材での位置付け |
|---|---|---|
| Prompt エージェント | モデル、指示、ツールを設定する | 最初の実習で使う方式 |
| Hosted エージェント | 自分のコードとプロトコルを用意して動かす | 独自の制御が必要になったときの発展先 |
| Responses API を直接使う | 呼び出しごとの設定や履歴をアプリで組み立てる | Agent を必須としない別の選択肢 |
利用者の画面、業務 API、文書の閲覧権限は、実行方式を選ぶだけでは完成しません。
2.4.1 Prompt エージェント:定義と実行側の処理をそろえる
モデル、指示、ツールを宣言的に定義する方式です。Agent 用コンテナーを自分で配備せずに始められますが、独自関数の要求を検証して実行し、結果を返すアプリケーションは必要です。[^quickstart][^function-calling]
準備する SDK、権限、トレース、版の作成から会話・応答の呼び出しまでを、第3章で追います。
2.4.2 Hosted エージェント:独自コードと配備の契約をそろえる
独自コード、依存関係、起動設定、受付プロトコルを用意し、Foundry の実行基盤へ配備します。ソース ZIP のリモートビルドとイメージ持ち込みを区別し、版の準備完了とエンドポイントの設定を確認します。セッションごとの計算資源と、コード・権限・終了条件の責任も分けます。[^hosted][^hosted-quickstart]
第3章では、二つの配備方法、実施手順、状態・ID・ネットワークの注意点を詳しく説明します。
2.4.3 課金:呼び出しと保持する資源を分ける
ネイティブな Prompt エージェントの作成・実行に追加料金がないことと、モデルやツールまで無料になることは別です。Hosted エージェントの計算資源、検索、保存、レジストリ、ログなど、採用した機能ごとの利用量を数えます。[^agent-pricing]
第4章で、相談ごとの全モデル呼び出しとセッションの稼働時間を積算し、予算通知、実行上限、終了後の整理を紙上で確かめます。
2.5 現行の情報と classic を混ぜない
以前のサンプルには、Threads、Messages、Runs など、別の API 世代の用語が登場します。現行の Agent、Conversation、Response へ名前だけ置き換えて使えるとは限りません。
本教材は、参照先に示した現行 Foundry の公式資料に基づきます。Python の接続例では Azure AI Projects SDK 2.x 系の公式例を参照します。1.x 系の例と互換だとは扱いません。[^quickstart]
読む資料には、少なくとも「対象 API」「SDK の版」「実行方式」を対応付けてください。新しい画面の説明だからすべての機能が GA、という判断もしません。
Hosted エージェントの資料では、ソースコード配備とイメージ配備、配備用 SDK と Agent の実行コードの依存関係も対応付けます。昔の replica 数やコンテナー起動の手順を、現行のセッション単位の実行モデルへそのまま当てはめません。[^hosted][^hosted-quickstart]
2.6 小さな実習:識別子を分類する
次の架空の記録について、それぞれが何を指すかを書き出してください。
| 記録例 | 分類する対象 |
|---|---|
it-learning | プロジェクト |
it-support-model | モデルのデプロイを識別する名前 |
it-support-learning と版 3 | Agent の名前と版 |
conversation-example-a | 相談の履歴 |
response-example-1 | 一回の実行と出力 |
最後の二つは説明用の識別子であり、実際の API が返す形式の指定ではありません。「モデルのデプロイを変える」「新しい会話を作る」「Agent の指示を変える」が、それぞれ何を変える操作か、一文ずつ補ってください。
2.7 確認課題
同じ Agent を使う社員 A と社員 B が、それぞれ別の相談を始めました。Agent を複製しなければ履歴を分けられないでしょうか。
答えは、振る舞いと履歴を分けて考えれば分かります。Agent を共通にしても、会話を分けられます。ただし、会話の ID を知っていることは閲覧許可の証明ではなく、アプリケーションで利用者と会話の関係を確認する必要があります。
データ基盤とネットワークについても、次の判断を説明してください。
| 問い | 判断の要点 |
|---|---|
| Basic なら公開接続、Standard なら閉域接続と固定できるか | データ基盤とネットワークは別の軸で、対象機能の対応を確認する |
Prompt エージェントの関数実行、Hosted エージェントの配備完了、予算と片付けの確認課題は、それぞれ第3章と第4章へ続きます。
2.8 まとめ
プロジェクトは AI 機能の定義・接続・参照を整理する入口であり、接続先すべての物理的な配置先ではありません。補助機能は役割を分けて選びます。
Prompt エージェントは宣言的な定義、Hosted エージェントは独自コードの配備を中心に考えます。独自関数の実行責任を確認し、データ基盤、ネットワーク、認証・認可を別々に選びます。
課金はモデル、ツール、Hosted エージェントの計算資源、関連サービスに分けます。相談ごとの全呼び出しと、Hosted エージェントの稼働セッションを積算し、予算通知と実際の実行上限・資源の整理を組み合わせます。
管理単位、振る舞い、履歴、応答を区別し、次章では二つの実行方式の準備・配備・実行を学びます。
2.9 参考情報
- What is Microsoft Foundry? — プラットフォームと開発方式の全体像
- Build with runtime components in Foundry Agent Service — Agent、Conversation、Response の関係と実装例
- Microsoft Foundry product and capability map — 目的に応じてモデル、エージェント、知識、記憶、安全対策を選ぶ入口
- Quickstart: Set up Microsoft Foundry resources — プロジェクト、モデル、トレースを準備する手順
[^foundry]: What is Microsoft Foundry? — Microsoft
[^runtime]: Build with runtime components in Foundry Agent Service — Microsoft
[^function-calling]: Use function calling with Microsoft Foundry agents — Microsoft
[^quickstart]: Quickstart: Create a prompt agent — Microsoft
[^projects]: Create a project — Microsoft
[^connections]: Add a new connection to your project — Microsoft
[^ai-services]: What are Foundry Tools? — Microsoft
[^toolbox]: What is Toolbox in Microsoft Foundry? — Microsoft
[^foundry-iq]: What is Foundry IQ? — Microsoft
[^memory]: What is Memory? — Microsoft
[^guardrails]: Guardrails and controls overview in Microsoft Foundry — Microsoft
[^agent-environment]: Set up your environment for Foundry Agent Service — Microsoft
[^resources]: Quickstart: Set up Microsoft Foundry resources — Microsoft
[^network-setup]: Network isolation for a toolbox in Microsoft Foundry — Microsoft
[^hosted]: Hosted agents in Foundry Agent Service — Microsoft
[^hosted-quickstart]: Quickstart: Deploy your first hosted agent — Microsoft
[^hosted-permissions]: Hosted agent permissions reference — Microsoft
[^agent-pricing]: Foundry Agent Service pricing overview — Microsoft
前章:第1章 AI エージェントはどのように動くのか · 教材の目次へ戻る · 次章:第3章 Prompt エージェントと Hosted エージェントの実行方式を理解する