こんにちは!横浜情報機器株式会社の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がおすすめです!
STEP 1: Foundryプロジェクトを作成する
まずはai.azure.comにアクセスします。Azureアカウントでサインインすると、Foundryのポータルが開きます。
ハブとプロジェクトを作る
Foundryでは「ハブ(Hub)」というリソースグループ的なものの下に「プロジェクト」を作る構成になっています。初回はまずハブから作る必要があります。
- 左メニューの「すべてのプロジェクト」→「+ 新しいプロジェクト」をクリック
-
「新しいハブを作成」を選択して、ハブ名を入力(例:
my-foundry-hub) - リージョンは East US 2 か Japan East を選ぶ(モデルの可用性に影響します)
- プロジェクト名を入力(例:
expense-agent-project) - 「作成」ボタンをクリック → 数分でプロビジョニングが完了します
💡 リージョン選びのコツ: gpt-4o-mini を使いたい場合、East US 2 が一番安定しています。Japan East でも使えますが、モデルによっては提供されていないものもあるので注意です!
STEP 2: モデルをデプロイする
プロジェクトが作れたら、次はAIモデルをデプロイします。ここではコスパ最強の gpt-4o-mini を使います。
モデルカタログからデプロイ
- プロジェクト画面の左メニューから「モデル + エンドポイント」→「モデルのデプロイ」をクリック
- 検索ボックスに「
gpt-4o-mini」と入力 - 「gpt-4o-mini」を選択 → 「デプロイ」をクリック
- デプロイ名はデフォルト(
gpt-4o-mini)のままでOK - 「デプロイ」ボタンをクリック → 1〜2分でデプロイ完了!
デプロイが完了すると、「状態: 成功」と表示されます。これでモデルの準備はOKです!
STEP 3: 接続情報をコピーしてPythonの準備をする
PythonからFoundryに接続するために、エンドポイントURLとAPIキーが必要です。
エンドポイントとAPIキーを取得
- プロジェクト画面の「概要」ページを開く
-
「エンドポイント」の値をコピーする(
https://<account>.services.ai.azure.com/api/projects/<project-name>という形式) - 「APIキー」もコピーしてメモしておく
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 chat.py
💡 会話の文脈が引き継がれている!:
2問目で「さっきのランチとは別に」と言うと、ちゃんとで1問目の話を踏まえて「別の経費として処理」と返してくれました。これが会話履歴(history)を渡し続ける効果です!
FoundryポータルのPlaygroundで同じことをGUIでやってみる
コードが動いたら、ポータルのPlaygroundでも同じ動作を確認してみましょう。システムプロンプトをGUIで試せるので、プロンプト調整に便利です!
- Foundryポータルの左メニューから「プレイグラウンド」→「チャット」を開く
-
「システムメッセージ」欄に agent_setup.py の
SYSTEM_PROMPTを貼り付ける - 「デプロイ」で「gpt-4o-mini」を選択
- チャット欄に質問を入力して動作確認
使い終わったらリソースを削除しよう
ハンズオンが終わったら、不要なリソースを削除しておきましょう。今回のコードはセッション中に課金されるリソースを持ちません(モデルのデプロイ自体は無課金)。ただし、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 がかなり整備されていて、意外とシンプルに書けましたね!
ぜひ試してみてください!また何か面白いこと見つけたら記事にしますね!
ここまで読んでいただきありがとうございました!