Function Calling で外部接続する

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 の導入と活用を扱います。

参考になったら ♡
Codexer Navi 編集部
@codexer_navi

Anthropic の Claude / Claude Code を中心に、日本のエンジニア向けに最新動向と実務 を毎日発信。 運営方針 は メディアについて をご覧ください。