新シラバス 第3章 AIエージェントの仕組み
Function Callingとは(5段階の流れ)
生成AIパスポートの新シラバス(2027年2月試験より適用)では、AIエージェントが第3章として独立し、「AIエージェントの仕組み」の詳細キーワードにFunction CallingとTool Useが入っています。Function Callingは、モデルが関数名と引数を返し、アプリがそれを実行する、という外部システムとの連携の方法です。
このページは、公式シラバスの項目に沿って、OpenAI公式ガイドの範囲で整理しています。特定の製品のコードの書き方ではなく、試験対策としての用語と流れの整理です。なお、この語の定義は公式シラバスが個別に定めているものではなく、ここではOpenAIの説明を紹介しています。
この記事の目次
公式情報の確認
試験日、料金、申込条件、試験方式など変動する情報は、公式情報を最終確認してください。 当サイトの一次情報確認日: 2026-08-31。
試験の出題範囲・実施要項は変動するため、受験前に公式情報を確認してください。
結論
- Function Callingは、モデルが外部システムや学習データの外にあるデータとやり取りするための方法(tool callingとも呼ぶ)
- アプリがJSON schemaで定義した関数の一覧をモデルへ渡し、モデルが必要と判断すると、関数名と引数を含むツール呼び出しを返す
- 関数を実際に実行するのはアプリ側のコードで、その結果をモデルへ返すと、モデルが最終の回答を作る
- MCPはAIアプリを外部システムにつなぐ標準で、Function Callingとは別の観点の語。組み合わせて使うこともできる
Function Callingの定義
OpenAIのガイドは、Function calling(tool callingとも呼ぶ)を、OpenAIのモデルが外部システムとやり取りし、学習データの外にあるデータにアクセスするための方法と説明しています。モデルに渡す機能のことを、同じガイドはツールと呼びます。関数はツールの一種で、JSON schemaで定義されます。
モデルは、回答を作る途中で、依頼に従うためにツールのデータや機能が必要だと判断することがあります。そのときに、どの関数をどんな引数で呼びたいかを返すのがFunction Callingです。モデルが「呼びたい」と伝え、アプリが「実際に呼ぶ」という分担が要点です。
一次資料: OpenAI「Function calling」(OpenAI公式ドキュメント)
5段階の流れ
OpenAIのガイドは、ツール呼び出しの流れを、アプリとモデルの複数回のやり取りとして5段階で示しています。各段階をどちらが担当するかを並べると、次のとおりです。
| 段階 | 担当 | 内容 |
|---|---|---|
| 1 | アプリ | 使える関数の一覧(JSON schemaで定義)を付けて、モデルへ依頼を送る |
| 2 | モデル | 必要と判断すると、関数名と引数を含むツール呼び出しを返す |
| 3 | アプリ | ツール呼び出しの引数を使って、アプリ側のコードで関数を実行する |
| 4 | アプリ | 元の依頼、ツール呼び出し、関数の実行結果を付けて、モデルへ2回目の依頼を送る |
| 5 | モデル | 最終の回答を返す(さらにツール呼び出しを返す場合もある) |
モデルが担当するのは2と5、アプリが担当するのは1・3・4です。ガイドは、この流れをタスクが必要とするだけ繰り返せるとも書いています。たとえば、天気を返す関数の結果(気温25度など)をモデルへ返すと、モデルが「今日のパリは25度です」のような文章の回答にまとめます。
実行するのはどちらか
関数の実行は、アプリ側のコードが行います。モデルは、関数の実行結果を、アプリから返されて初めて知ります。ここから、試験対策で押さえる点が2つ出ます。
- モデルが返すのは関数名と引数で、実行はしません。選択肢で「モデルが外部のシステムを直接操作する」と書かれていれば、この流れとは合いません。
- 実行の前にアプリ側のコードを通るため、どの関数を許すか、引数をそのまま実行してよいかを、アプリ側で確かめられます。第3章のリスクの項目にある最小権限の原則や権限管理は、この確認と関わる話題です。
外部のデータを読み込む場面の危険はプロンプトインジェクションとはで整理しています。
MCPとの関係
MCP公式の紹介ページは、MCPをAIアプリを外部システムにつなぐためのオープンソースの標準とし、USB-Cのポートにたとえています。MCPの公式仕様(2025-06-18版)では、クライアントがtools/listで利用できるツールを取得し、tools/callで実行します。
| 観点 | Function Calling | MCP |
|---|---|---|
| 何か | モデルが関数名と引数を返し、アプリがそれを実行する、という呼び出しの方法 | AIアプリを外部システムにつなぐためのオープンソースの標準 |
| 決めていること | 関数の定義(JSON schema)と、呼び出しの受け渡しの流れ | クライアントとサーバーの役割、ツール一覧の取得(tools/list)と実行(tools/call)の手順 |
| つながり | OpenAIの組み込みツールには、MCPサーバーの機能にアクセスできるものがある | サーバーがTools・Resources・Promptsを公開する |
Function Callingはモデルとアプリの受け渡しの方法、MCPは外部システムとつなぐ標準です。OpenAIのガイドは、組み込みツールの例として、ウェブ検索、コードの実行、MCPサーバーの機能へのアクセスを挙げています。MCPの3つの機能や権限管理はMCPとはに整理しています。
シラバスとの対応
Function Callingは、新シラバスの第3章「AIエージェントの仕組み」の詳細キーワードに出ます。
| 場所 | 内容 |
|---|---|
| 第3章 AIエージェント/AIエージェントの仕組み(詳細キーワード) | タスク分解と計画、Function Calling、Tool Use、記憶(メモリ)、コンテキスト管理、コンテキストエンジニアリングなどが並ぶ |
| 第3章 AIエージェント/MCP・Agent Skills と外部連携(詳細キーワード) | MCP、MCPサーバー、権限管理、Agent Skillsなどが並ぶ |
2026年2月適用版の詳細キーワードにはFunction CallingとTool Useは載っていません。章立ての変更点は2027年2月試験の新シラバスに、現行(旧シラバス)の第3章の演習は第3章の問題を解くから取り組めます。試験での出題を予想するものではありません。
よくある質問
Function Callingとは、一言でいうと何?
OpenAIは、モデルが外部システムや学習データの外にあるデータとやり取りするための方法と説明しています。モデルが関数名と引数を返し、アプリがそれを実行する仕組みと押さえます。
Function Callingで、関数を実行するのはモデル?
OpenAIのガイドでは、モデルが返すのは関数名と引数を含むツール呼び出しで、アプリ側のコードがそれを実行し、結果をモデルへ返します。モデルが直接実行するのではない点は、押さえておきたい論点です。
Function Callingとtool callingは同じ?
OpenAIのガイドは、Function callingをtool callingとも呼ぶと書いています。試験のシラバスはFunction CallingとTool Useを詳細キーワードに並べています。出題の言い回しは変わり得るため、どちらも「モデルがツールを呼び出す」ことを指す語として押さえます。
Function CallingとMCPの違いは?
MCPはAIアプリを外部システムにつなぐ標準で、サーバーがTools・Resources・Promptsを公開します。Function Callingは、モデルが関数名と引数を返し、アプリが実行する呼び出しの方法です。別の観点の語ですが、OpenAIには組み込みツールとしてMCPサーバーの機能にアクセスできるものがあり、組み合わせて使えます。
関数の定義には何を書く?
OpenAIのガイドでは、関数をJSON schemaで定義します。モデルは、この定義から使える関数と渡す引数を知ります。

