1. はじめに
Microsoft Foundry Agent Service は、Microsoft Foundry 上でエージェントを構築・運用するための managed サービスです。
エージェントを設計するとき、機能を「Planner(どう考えるか)」「Tool(何を使うか)」「Memory(何を覚えるか)」の 3 軸に分けて捉えると、全体像がつかみやすくなります。本記事ではこの 3 軸でサービスを解説します。
2. サービスの全体像
エージェントは Model・Instructions・Tools で定義され、実行基盤がモデル呼び出しとツール呼び出しのループを回します。会話状態はスレッドとして保持され、すべての判断はトレースとして観測できます。
3. Planner:推論と計画
ユーザー要求を解釈し、どのツールをどの順で呼ぶかを計画する「頭脳」の役割は、エージェントを構成する Model(gpt-4o などの LLM 実体)自身が担います。本記事ではこの推論・計画の役割を Planner と呼びます。Planner は Model と別物ではなく、モデルが果たす機能の呼称です。
Agent Service ではモデルがツール呼び出しを計画し、実行基盤が「考える → 行動する → 観測する」の反復ループを回します。開発者がループ制御を書く必要はありません。
4. Tool:外部データと操作への接続
Tool はエージェントの手足です。組み込みツールに加え、自社 API を呼ぶカスタム関数を定義できます。
| ツール | 用途 |
|---|---|
| ファイル検索 | アップロード文書からの根拠検索(RAG) |
| コードインタープリター | コード実行・データ処理・グラフ生成 |
| Web 検索 | 最新情報の取得(プレビュー) |
| MCP サーバ | 標準プロトコルで外部ツール群を接続 |
| カスタム関数 | 自社 API・業務ロジックの呼び出し |
カスタム関数は JSON スキーマで引数を厳密に定義します。スキーマが曖昧だとモデルが誤った引数を渡しやすくなるため、説明文と必須項目を丁寧に書くことが重要です。
# カスタム関数ツールの定義例(引数を JSON スキーマで厳密に指定)
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "指定した都市の現在の天気を返す",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "都市名(例: 東京)"}
},
"required": ["city"],
},
},
}]
5. Memory:短期・長期・知識の使い分け
会話の文脈(スレッド)は短期記憶として自動的に保持されます。セッションをまたぐ長期記憶や参照知識は、用途に応じて手段を選びます。
| 記憶の種類 | 実現方法 | 例 |
|---|---|---|
| 短期(会話) | スレッド | 直近のやり取り |
| 長期(永続) | Memory ツール(プレビュー)/ 外部 DB(AI Search・Cosmos DB) | ユーザー嗜好・過去の決定 |
| 知識(参照) | ファイル検索 / RAG | マニュアル・FAQ |
6. 要素をつなぐ最小コード
Planner・Tool・Memory は、実際には数行のコードで連動します。ツールを渡してエージェントを作り、スレッドへメッセージを投げて実行するだけです。
agent = project.agents.create_agent(
model="gpt-4o",
name="weather-agent",
instructions="必要なら get_weather ツールを使って答えます。",
tools=tools, # Tool
)
thread = project.agents.threads.create() # 短期 Memory
project.agents.messages.create(
thread_id=thread.id, role="user", content="東京の天気は?"
)
run = project.agents.runs.create_and_process( # Planner が反復
thread_id=thread.id, agent_id=agent.id
)
7. まとめ
- Agent Service は Planner・Tool・Memory の 3 軸で捉えると理解が速くなります。
- Planner は独立した部品ではなく、推論・計画の役割としてモデル自身が担い、実行基盤が反復ループを managed に回します。
- Tool はカスタム関数のスキーマ設計が品質を左右します。
- Memory は短期(スレッド)・長期(外部 DB)・知識(RAG)を使い分けます。
- 次のアクション: 認証設計とメモリの永続化方式を具体化しましょう。
8. 参考リンク
- Foundry Agent Service の概要 — Planner と実行基盤を含むサービスの全体像
- Foundry Agent Service のツールカタログ — 組み込みツール・カスタム関数・MCP の一覧
- Foundry Agent Service のメモリ — 短期・長期記憶の仕組みと使い分け
- Microsoft Foundry とは — 基盤となる Foundry プラットフォームの概要
この記事の執筆にあたり、AI の支援を受けています。






