
Function Calling で外部接続する
要約 — このレッスンの要点
- Function Calling は GPT モデルに外部関数(API)を呼ばせるための公式機能で、OpenAI API の中核。
- 関数の入出力スキーマを JSON Schema で渡すと、モデルが文脈に応じて関数呼び出しの引数を生成する。
- ChatGPT 側では Connectors / GPTs Actions が Function Calling のラッパーとして機能している。
- MCP(Model Context Protocol) は AI と外部ツールをつなぐ業界横断のオープン仕様で、Codex CLI などのエージェント環境で標準サポートが進む。
- API レベルでは Function Calling、CLI / IDE エージェントでは MCP、ChatGPT GUI では Connectors / Actions と覚えると整理しやすい。
目次 (7)
Function Calling とは
Function Calling は、GPT モデルが「外部の関数(=API)を呼ぶべきだ」と判断したときに、 適切な関数名と引数(JSON)を返してくれる機能です (OpenAI: Function Calling 参照)。
開発者は呼び出してほしい関数のスキーマを JSON Schema で定義し、リクエストに含めて送ります。 モデルが「この質問にはこの関数を呼ぶべき」と判断した場合、関数呼び出しの指示が応答として返り、 アプリケーション側でその関数を実行→結果をモデルに戻す、というループを回します。
基本フロー
1. 開発者: ユーザー質問 + 関数スキーマ(tools)を OpenAI API に送る
2. モデル: 応答として「getOrder(id="A123") を呼ぶべき」と返す
3. 開発者: アプリ側で実際に getOrder を実行し、結果を取得
4. 開発者: 関数結果をメッセージとして再度モデルに送る
5. モデル: 結果を踏まえた最終回答を返す
このループにより、モデル単体では知り得ない最新データやアクションをアプリケーションに取り込めます。
ChatGPT 上のラッパー
ChatGPT GUI で外部サービスと連携する仕組み(前レッスン 3-4 で扱った Connectors / GPTs Actions)は、 内部的には Function Calling の上に構築されたラッパーです。
| 利用形態 | 仕組み |
|---|---|
| ChatGPT GUI(公式接続) | Connectors |
| ChatGPT GUI(独自 API) | GPTs Actions(OpenAPI スキーマ) |
| OpenAI API 直接利用 | Function Calling(JSON Schema) |
| Codex CLI / IDE エージェント | MCP(後述)+ Function Calling 系の互換実装 |
MCP(Model Context Protocol)とは
MCP(Model Context Protocol) は、AI と外部ツール・データソースを接続する、 業界横断のオープンなプロトコル仕様です (modelcontextprotocol.io 参照)。 2024〜2025 年にかけて Anthropic が提唱し、複数の AI ベンダー・開発コミュニティで採用が広がっています。
MCP は「ホスト」「クライアント」「サーバー」の 3 層で構成されます。
- MCP ホスト: Codex CLI・各種 IDE エージェント・カスタムアプリなど、MCP クライアントを内包するアプリケーション。
- MCP クライアント: ホスト内で MCP サーバーとの通信を担うコンポーネント。
- MCP サーバー: GitHub・Google Drive・Slack・データベース等の外部サービスを MCP プロトコルでラップしたサーバー。独自実装も可能。
代表的な MCP コネクター例
公式・コミュニティから多様な MCP サーバーが公開されています。
- GitHub MCP サーバー — リポジトリ・Issue・PR の操作
- Google Drive / Docs — ファイル参照・ドキュメント生成
- Slack — メッセージ送信・チャンネル情報の参照
- データベース接続 — PostgreSQL・SQLite 等へのクエリ実行
OpenAI も Codex CLI など一部のエージェント環境で MCP を取り込みつつあり、業界共通の接続層として整備が進んでいます。
どの仕組みを使うか
| やりたいこと | 使う仕組み |
|---|---|
| ChatGPT で SaaS データを参照したい | Connectors |
| ChatGPT で社内 API を呼びたい | GPTs Actions |
| 自作アプリから OpenAI API を直接使いたい | Function Calling |
| Codex CLI / IDE で外部ツールを統一プロトコルで使いたい | MCP サーバー |
Level 3 修了
おめでとうございます。Level 3「発展機能」の全 5 レッスンを修了しました。 Canvas・Operator・GPTs / Actions・Connectors・Function Calling / MCP という、 ChatGPT / Codex をより深く使いこなすための発展機能の全体像が把握できました。 Level 4「Codex CLI」では、開発者向けの CLI ツール Codex CLI の導入と活用を扱います。