【ハンズオン】Foundryで初めてのAIエージェントを30分で作る

こんにちは!横浜情報機器株式会社のShahinです!
今回はMicrosoft Foundryを使って、本当に30分でAIエージェントを作るハンズオンをやってみました!
「エージェントって聞くけど難しそう…」と思っていたんですが、実際にやってみたら思ったよりシンプルで、テンション上がりました!
題材は経費精算アシスタント。PythonとFoundryのAgent SDKを組み合わせて、会話で経費を仕分けしてくれるエージェントを作ります。
ぜひ最後まで読んでみてください!

📋 この記事でわかること
  • ✅ Microsoft Foundryでプロジェクト(ハブ)を作成する方法
  • ✅ gpt-4o-mini をデプロイしてすぐ使えるようにする手順
  • ✅ Python SDK でAIエージェントを作成してチャットさせる方法
  • ✅ 経費精算アシスタントのシステムプロンプト設計のコツ

前提条件と事前準備

項目 内容・確認方法
Azureサブスクリプション 無料試用版 or 従量課金。portal.azure.com でサブスクリプション一覧を確認
Azure ロール 🟢 個人アカウントは Contributor(サブスクリプション)1つでOK
🔵 社内環境は Contributor(RG)+ Cognitive Services OpenAI Contributor(サブスクリプション)
gpt-4o-mini クォータ East US 2 推奨。ポータル → Azure OpenAI → クォータで確認。0の場合は引き上げ申請(数時間〜1日)
Python 3.10 以上 python --version で確認
料金目安 gpt-4o-mini は入力1Mトークン約$0.15。30分のハンズオン程度なら数円〜十数円
⚠️ 社内Azureでリソースグループスコープの Contributor しか持っていない場合、モデルデプロイで権限エラーになります。その場合は Cognitive Services OpenAI Contributor をサブスクリプションスコープで追加申請してください。

Microsoft Foundryってどんなもの?(ざっくり復習)

📢
ブランド名が変わりました
2026年より「Azure AI Foundry」は 「Microsoft Foundry」 に正式改称されました。ポータルURLは引き続き ai.azure.com です。

前回の記事でCopilot StudioやAgent Builderとの違いを整理しましたが、簡単におさらいしておきます。

Microsoft Foundryは、エンジニア向けのAI開発プラットフォームです。コードで細かく制御できる点が強みで、今回みたいにPythonでエージェントを作ってカスタマイズしたい場合にバッチリはまります。ノーコードで手軽に始めたい場合はCopilot Studioが向いていますが、「自分でコードを書いて動かしたい!」という方には断然Foundryがおすすめです!

Microsoft Foundry のダッシュボードが表示されます。API キー・エンドポイント・エージェント作成・Playground など、開発に必要な機能に一画面からアクセスできます。
Microsoft Foundryのダッシュボード画面。プロジェクト選択・APIキー確認・エージェント作成・Playgroundなど開発に必要な機能へのアクセスが一覧できる

STEP 1: Foundryプロジェクトを作成する

まずはai.azure.comにアクセスします。Azureアカウントでサインインすると、Foundryのポータルが開きます。

ハブとプロジェクトを作る

Foundryでは「ハブ(Hub)」というリソースグループ的なものの下に「プロジェクト」を作る構成になっています。初回はまずハブから作る必要があります。

  1. 左メニューの「すべてのプロジェクト」→「+ 新しいプロジェクト」をクリック
  2. 「新しいハブを作成」を選択して、ハブ名を入力(例: my-foundry-hub
  3. リージョンは East US 2Japan East を選ぶ(モデルの可用性に影響します)
  4. プロジェクト名を入力(例: expense-agent-project
  5. 「作成」ボタンをクリック → 数分でプロビジョニングが完了します
💡 リージョン選びのコツ: gpt-4o-mini を使いたい場合、East US 2 が一番安定しています。Japan East でも使えますが、モデルによっては提供されていないものもあるので注意です!
「プロジェクトの作成」ダイアログが表示されます。プロジェクト名・リージョン(Japan East を推奨)・リソースグループを入力し、「作成」をクリックしてください。
Foundryの「プロジェクトの作成」ダイアログ。プロジェクト名・サブスクリプション(Microsoft Azure)・リージョン(Japan East)・リソースグループを入力している
プロジェクトの作成処理が始まります。完了まで 1〜2 分ほどかかります。そのままお待ちください。
「プロジェクトを作成しています」のローディング画面。Foundryが数分でアイデアからエージェントへ移行できることを説明している
セットアップが完了しました。「始めましょう」ボタンをクリックして、エージェント作成画面へ進んでください。
初期セットアップ完了画面。「始めましょう」ボタンが表示されてエージェント構築を開始できる状態

STEP 2: モデルをデプロイする

プロジェクトが作れたら、次はAIモデルをデプロイします。ここではコスパ最強の gpt-4o-mini を使います。

モデルカタログからデプロイ

  1. プロジェクト画面の左メニューから「モデル + エンドポイント」→「モデルのデプロイ」をクリック
  2. 検索ボックスに「gpt-4o-mini」と入力
  3. 「gpt-4o-mini」を選択 → 「デプロイ」をクリック
  4. デプロイ名はデフォルト(gpt-4o-mini)のままでOK
  5. 「デプロイ」ボタンをクリック → 1〜2分でデプロイ完了!
gpt-4o-mini の詳細ページが表示されます。右上の「デプロイ」ボタンをクリックして、デプロイ設定へ進んでください。
Azure OpenAI の「gpt-4o-mini」モデル詳細ページ。モデルの機能・仕様が記載され、右上に「デプロイ」ボタンが強調表示されている
デプロイが進行中です。「既定の設定」を選択して 1〜2 分ほど待つと完了します。ステータスが「成功」になっていることを確認してください。
gpt-4o-mini のデプロイ進行中ダイアログ。「既定の設定」でモデルがデプロイされている様子

デプロイが完了すると、「状態: 成功」と表示されます。これでモデルの準備はOKです!

STEP 3: 接続情報をコピーしてPythonの準備をする

PythonからFoundryに接続するために、エンドポイントURLとAPIキーが必要です。

エンドポイントとAPIキーを取得

  1. プロジェクト画面の「概要」ページを開く
  2. エンドポイント」の値をコピーする(https://<account>.services.ai.azure.com/api/projects/<project-name>という形式)
  3. APIキー」もコピーしてメモしておく
Playground の右パネルに「プロジェクトエンドポイント」と「API キー」が表示されます。この値をコピーして、.env ファイルに貼り付けてください。
Foundry Playground の右パネルにプロジェクトエンドポイント URL・APIキー・Python コードサンプルが表示されている
.gitignore の設定例です。.env と .venv/ を必ず除外対象に追加してください。API キーの誤コミットを防ぐために重要な設定です。
VSCode で .gitignore ファイルを開いている。.env・.venv/・__pycache__/・*.pyc が除外設定されている

Pythonライブラリをインストール


# 仮想環境を作成してアクティベート
python -m venv .venv
source .venv/bin/activate  # Windowsの場合: .venv\Scripts\activate

# 必要なライブラリをインストール(openai は azure-ai-projects に含まれる)
pip install azure-ai-projects python-dotenv
      

.envファイルを作成


# .env ファイルを作成(プロジェクトルートに置く)
AZURE_AI_FOUNDRY_ENDPOINT=https://your-account.services.ai.azure.com/api/projects/your-project-name
AZURE_AI_FOUNDRY_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      
💡 セキュリティのポイント: .env ファイルは必ず .gitignore に追加してください!APIキーをGitHubにpushしてしまうと大変なことになります…(経験者は語る)

STEP 4: 経費精算アシスタントエージェントを作る

いよいよ本番!Pythonコードでエージェントを作ります。今回作るのは、会話形式で経費の仕分けをしてくれる経費精算アシスタントです。

たとえば「今日のランチ代1,200円をどう処理すれば?」と聞くと、勘定科目や申請方法をアドバイスしてくれます。実際の業務でも使えるやつです!

💡 実装パターンについて: Microsoft Foundry では OpenAI 互換の Chat Completions API がそのまま使えます。システムプロンプトでエージェントの「人格」を定義し、会話履歴リストで文脈を維持するシンプルな設計です。

接続確認スクリプト(agent_setup.py)


# agent_setup.py
# Microsoft Foundry への接続確認 & エージェントの動作テスト

import os
from dotenv import load_dotenv
from openai import OpenAI

load_dotenv()

# Foundryのエンドポイントに "/openai/v1" を付けると OpenAI 互換エンドポイントになる
endpoint = os.environ["AZURE_AI_FOUNDRY_ENDPOINT"].rstrip("/")
client = OpenAI(
    api_key=os.environ["AZURE_AI_FOUNDRY_API_KEY"],
    base_url=endpoint + "/openai/v1",
)

# システムプロンプト(エージェントの「人格」を定義する)
SYSTEM_PROMPT = """
あなたは経費精算の専門アシスタントです。
社員が経費申請に関する質問をすると、わかりやすく丁寧に答えてください。

## あなたの役割
- 経費の勘定科目(交通費・接待費・消耗品費など)を判断する
- 申請に必要な書類(領収書・申請書など)を案内する
- 金額の上限ルール(例: 接待費は1人あたり5,000円まで)を教える
- 不明な場合は「確認が必要です」と正直に伝える

## 回答スタイル
- 日本語で、丁寧だが堅苦しくない口調で答える
- 箇条書きを使って見やすくまとめる
- 必要に応じて具体的な記入例を示す
"""

# 接続確認:テストメッセージを送ってみる
print("Microsoft Foundry への接続を確認中...")
resp = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "system", "content": SYSTEM_PROMPT},
        {"role": "user", "content": "テスト: 経費精算アシスタントとして動作しているか確認してください。"},
    ],
)
print("✅ 接続OK!エージェントの応答:")
print(resp.choices[0].message.content)
print("\nchat.py を実行して対話を開始してください。")
      

チャットスクリプト(chat.py)


# chat.py
# 経費精算アシスタントと対話形式で会話するスクリプト
# 会話履歴(history)を保持して文脈を踏まえた応答ができる

import os
from dotenv import load_dotenv
from openai import OpenAI

load_dotenv()

endpoint = os.environ["AZURE_AI_FOUNDRY_ENDPOINT"].rstrip("/")
client = OpenAI(
    api_key=os.environ["AZURE_AI_FOUNDRY_API_KEY"],
    base_url=endpoint + "/openai/v1",
)

SYSTEM_PROMPT = """
あなたは経費精算の専門アシスタントです。
(↑ agent_setup.py と同じプロンプトをここに貼る)
"""

# 会話履歴(システムプロンプトを先頭に入れておく)
history = [
    {"role": "system", "content": SYSTEM_PROMPT},
]

print("経費精算アシスタントと会話できます。'exit' で終了します。\n")
print("-" * 50)

while True:
    user_input = input("\nあなた: ")
    if user_input.strip().lower() == "exit":
        print("終了します!")
        break

    # ユーザーのメッセージを会話履歴に追加
    history.append({"role": "user", "content": user_input})

    # Foundry の Chat Completions API でエージェントを呼び出す
    resp = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=history,          # 履歴ごと渡すことで文脈が維持される
    )

    assistant_message = resp.choices[0].message.content

    # アシスタントの応答も履歴に追加(次の質問で文脈として使われる)
    history.append({"role": "assistant", "content": assistant_message})

    print(f"\nアシスタント: {assistant_message}")
      

STEP 5: 実際に動かしてみよう!

コードが書けたらいよいよ実行です!

まず接続確認

python agent_setup.py
python agent_setup.py の実行結果です。✅ が表示されれば Microsoft Foundry への接続は成功です。続けて chat.py を実行してください。
ターミナルで python agent_setup.py を実行した結果。✅ 接続OK!エージェントの応答: こんにちは!と表示されて接続成功を確認

✅ が出たら成功です!そのまま対話スクリプトを実行します!

会話してみる

python chat.py
python chat.py を実行して、チャットスクリプトを起動します。
VSCode のターミナルで python chat.py コマンドを実行してチャットスクリプトを起動している
起動すると「あなた:」プロンプトが表示されます。ここに質問を入力してください。
コマンドラインで経費精算アシスタントAIのチャット画面が起動し、「あなた:」のプロンプトが表示されている
「ランチ代2,400円を接待費で申請したい」と入力して、エージェントに質問してみます。
ターミナルで「ランチ代2,400円を接待費で申請したい」とユーザーが入力してエージェントに質問している
エージェントから詳細な回答が返ってきました。接待費の判定・必要書類・上限金額(5,000円/人)まで案内してくれます。
AIアシスタントが接待費申請の勘定科目・金額上限・必要書類・記入例を詳細にフォーマットして回答しているチャット画面
2回目の質問を入力します。前の会話の文脈が引き継がれているため、続けて関連する質問が可能です。これが会話履歴(history)を渡し続ける効果です。
ユーザーが2回目の質問をしており、前の会話のコンテキスト(ランチ代の件)が引き継がれたまま別の経費について質問している
2回目の回答が返ってきました。「4,800円は上限5,000円以内なので接待費として処理できます」と判定され、必要書類・記入例まで案内されました。
AIアシスタントがクライアントとのランチ代4,800円(接待費)の申請手順について、勘定科目・金額上限確認・必要書類・記入例を詳細に回答している
💡 会話の文脈が引き継がれている!: 2問目で「さっきのランチとは別に」と言うと、ちゃんとで1問目の話を踏まえて「別の経費として処理」と返してくれました。これが会話履歴(history)を渡し続ける効果です!

FoundryポータルのPlaygroundで同じことをGUIでやってみる

コードが動いたら、ポータルのPlaygroundでも同じ動作を確認してみましょう。システムプロンプトをGUIで試せるので、プロンプト調整に便利です!

  1. Foundryポータルの左メニューから「プレイグラウンド」→「チャット」を開く
  2. 「システムメッセージ」欄に agent_setup.py の SYSTEM_PROMPT を貼り付ける
  3. 「デプロイ」で「gpt-4o-mini」を選択
  4. チャット欄に質問を入力して動作確認
Foundry ポータルの Playground を開いた状態です。左パネルの「指示」欄に SYSTEM_PROMPT を貼り付けて「保存」をクリックしてください。
Foundry Playground の画面。左パネルでシステムプロンプト・ツール・メモリ・ガードレールを設定し、右パネルでモデルとチャット形式で対話できる
システムプロンプトを設定した状態です。chat.py で使用した SYSTEM_PROMPT と同じ内容を貼り付けることで、GUI でも同様の動作を確認できます。
Foundryポータルのエージェントカスタム指示設定画面。経費精算の専門家として社員からの質問に丁寧に回答するようシステムプロンプトが設定されている
Playground でのテスト結果です。Python コードと同じ動作が GUI で確認できました。システムプロンプトの調整・検証にも活用できます。
Foundryポータルのエージェントテスト画面。経費精算の質問をし、AIアシスタントが処理方法と必要書類を詳細に回答している

使い終わったらリソースを削除しよう

ハンズオンが終わったら、不要なリソースを削除しておきましょう。今回のコードはセッション中に課金されるリソースを持ちません(モデルのデプロイ自体は無課金)。ただし、Azureポータルからリソースグループを丸ごと削除しておくと安心です!


# Azureポータルから削除する手順
# 1. portal.azure.com を開く
# 2. 「リソースグループ」でハブ作成時に使ったグループを検索
# 3. 「リソースグループの削除」→ グループ名を入力して確定
      

まとめ

今回は Microsoft Foundry を使って、30分でAIエージェントを作るハンズオンをやりました!改めて振り返ると:

STEP やったこと かかった時間
STEP 1 Foundryハブ・プロジェクトの作成 約5分
STEP 2 gpt-4o-mini のデプロイ 約3分
STEP 3 接続情報取得・Python環境セットアップ 約5分
STEP 4 エージェント作成スクリプトの実装 約10分
STEP 5 動作確認・テスト 約7分

合計30分でちゃんと動くエージェントができました!最初は「難しそう…」と思っていたんですが、Foundry SDK がかなり整備されていて、意外とシンプルに書けましたね!

ぜひ試してみてください!また何か面白いこと見つけたら記事にしますね!
ここまで読んでいただきありがとうございました!

参考リンク

技術ブログ一覧に戻る