限定

2026 AI Agent 技術スタック:GPT・Gemini・Claude・MCP・Function Calling・JSON Schema はどう協調するか

AI エンジニアリング AI Agent · MCP · Function Calling
2026-08-18 約14分

結論:2026 年の AI Agent スタックは GPT / Gemini / Claude の強さで選ばない。ツール契約をモデル間で再利用できるかで選ぶ。

JSON Schema が契約、Function Calling が方言、MCP が実行層。順番は Schema → MCP → モデル入替。

先に結論

  1. 2026 年の AI Agent 技術スタックは「GPT / Gemini / Claude のどちらが強いか」で選ばない。ツール契約をモデル横断で再利用できるかで選ぶ。
  2. JSON Schema が真のベンダー横断契約であり、関数呼び出しは各モデルが呼び出しを出すときの口音にすぎない。
  3. MCP はその Schema を発見可能な tools/list と実行可能な tools/call に変える。MCP がなければ Schema は文書のままである。
  4. GPT、Gemini、Claude は Host 側の推論エンジンとして置き換え可能だ。MCP Server、バリデータ、worktree は蓋を閉じないマシンで動かす。
  5. まず Schema を凍結し、次に MCP を繋ぎ、最後にモデルを替える。逆順にすると 3 つの tools 定義が永遠に揃わない。
モデル能力は分水嶺ではない。分水嶺は JSON Schema + Function Calling + MCP からなるツール契約である。
作業台で API の JSON Schema と AI Agent のツール呼び出しを照合する開発者
モデルを OS 扱いせず、JSON Schema を契約として扱う。

0. 先に結論

2026 年の AI Agent 技術スタックを組むなら、この一文で固定してよい。GPT、Gemini、Claude は入れ替え可能な推論層である。納品できるかどうかは、関数呼び出しが吐く引数が同一の JSON Schema を通るか、そしてその Schema が安定した MCP Server として公開されているかにかかっている。先にモデルを決め、後からツールを足す順序は、この 2 年で最も高い失敗だった。

1. 問題が残る理由:モデル先行が失敗する理由

チケットに多いのは「最新の GPT / Claude / Gemini に上げたのに Agent が仕事をしない」という文面だ。ボトルネックはモデルの賢さではなく、ツール定義が 3 系統で別々に書かれていることだ。OpenAI の tools、Gemini の functionDeclarations、Claude の tools / tool_use、さらに MCP の inputSchema。見た目はどれも関数呼び出しだが、実行時は互いに漂流する 4 つの契約である。

旧来のやり方は具体的に壊れる。Prompt をワークフローにし、モデルを OS にし、MCP を「もう一つのプラグイン」にする。チャットは滑らかだが、tools/call がパス・列挙・必須フィールドに触れた瞬間に 400 になる。チームは「どのモデルが素直か」を議論し、Schema の diff を取らない。賢いモデルは契約の分裂を治せない。

  • Host は IDE にあり、MCP Server はノート PC にある。蓋を閉じると関数呼び出しは空回りする。
  • 同じツールが GPT 側では repoPath、Claude 側では repo_path。JSON Schema に単一の真実がない。
  • Gemini の関数宣言から additionalProperties: false が抜け、モデルがフィールドを発明し始める。
  • MCP の tools/list が返す Schema と本番バリデータの git SHA が一致しない。

正しい切り分けは「推論できるか」と「安全に実行できるか」を分けることだ。推論は GPT、Gemini、Claude を回してよい。実行は同一の JSON Schema と常駐の MCP プロセス 1 つに載せる。マシン選定は MCP Server の配置:クラウドMac vs VPS vs ローカル を参照。

2. 五層分類:モデル、関数呼び出し、JSON Schema、MCP、Host

これらの語を百科事典のように横並びにしない。2026 年に動く Agent スタックは五層しかない。一層欠けると、別の層が埋め合わせたつもりになって本番で折れる。

2.1 推論層:GPT / Gemini / Claude

GPT(OpenAI)、Gemini(Google)、Claude(Anthropic)の仕事は、文脈を読み、ツールを呼ぶかを決め、Schema に合う引数を出し、結果を次ターンに折り込むことだ。ファイルシステムでも Git でもない。遅延、コンテキスト窓、価格、安全ポリシーで選ぶ。どれが OS に見えるかでは選ばない。 公式入口:OpenAI Function CallingGemini function callingClaude tool use

2.2 関数呼び出し:モデルの口音であり、バスではない

関数呼び出しは「どの関数を、どの引数で」とモデルが述べるプロトコルである。GPT は tool_calls、Claude は tool_use ブロック、Gemini は functionCall。口音は違うが意味は同じで、Schema に拘束された構造化呼び出しだ。3 社それぞれに handler を書くと四半期で分岐する。口音の適応は薄い翻訳層に残し、業務ロジックは正規化済み JSON だけを見る。

2.3 JSON Schema:ベンダー横断の契約

JSON Schema は型、必須、列挙、範囲、additionalProperties を記述する。OpenAI の parameters、Claude の input_schema、MCP の inputSchema は本質的に同一ファイルの投影であるべきだ。契約は git に入れ、合法/違法ペイロードでバリデータを叩く。Prompt で「フォーマットを守って」と頼まない。

2.4 MCP:契約を発見可能かつ実行可能にする

Model Context Protocol は Host が tools/listtools/call をどう行うかを定める。ディスク、秘密、ネットワークに触るのは MCP Server プロセスだ。Cursor / Claude Code / 自前オーケストレータはどれも MCP Client にすぎない。MCP がなければ Schema は文書で止まる。MCP があっても蓋を閉じるノート上なら、関数呼び出しは夜間に一斉死する。Cursor 側は Cursor MCP

2.5 Host:入口であり、能力そのものではない

Host は人がクリックする場所——IDE、CLI Agent、チャットアプリ——である。入口は体験を決め、実行可否は決めない。Claude Code を Host、GPT を予備モデルにするのは妥当だ。同じ MCP と同じ Schema を叩く限り。並列 worktree では Host をリポジトリと同機に置く。リモート Mac + worktree の短期レンタル

3. GPT vs Gemini vs Claude vs MCP:五次元の対照

全行で表頭は同じ。MCP は第 4 のモデルではない。発見と実行の層だ。同じ表に載せるのは「モデルでバスを代用する」のを止めるためである。

層/選択肢入口実行コンテキストコスト権限境界
GPT 関数呼び出しAPI / ChatGPT / 対応 IDEtool_calls を生成。ディスクには触れない会話 + messages に入れた材料token 課金。ツールループで請求が膨らむ秘密はバックエンド。モデルは引数と要約だけ
Gemini function callingGemini API / Studio / VertexfunctionCall を生成。実行はこちらマルチモーダル文脈は強い。フィールドは Schema で抑えるtoken / プロジェクト枠GCP IAM + ツールのサンドボックス
Claude tool useAPI / Claude Code / Consoletool_use を生成。CLI Host は続けて shell を走らせ得る長いコードセッションに強い。ファイルシステムではないtoken。Agent ループも同様に金がかかるツール許可リスト + 人の確認。MCP 側でもう一層
JSON Schemaバリデータ / codegen / 単一ソース不正呼び出しを拒否。業務は実行しないなし。契約であり記憶ではないほぼゼロ(テストコスト)危険なフィールドを契約から消す方が長い Prompt より効く
MCP Serverstdio / SSE / リモート HostGit、HTTP、DB、ファイルを実際に実行リポジトリ、秘密、マシン状態常駐マシン(クラウドMac / VPS)プロセスユーザー、パス許可リスト、送信出口

表の非対称な結論を覚える。3 社のモデルは推論と口音で競い、MCP は実行境界で競う。 「Claude に替える」では「蓋を閉じたノート上の MCP」は直らない。「MCP を入れる」だけでは合法 JSON は自動生成されない。Schema テストが要る。

4. シナリオの選び方

入口と実行の必要性で組み合わせを選ぶ。ベンチマーク順位でモデルを選ばない。

層/選択肢入口実行コンテキストコスト権限境界
個人 PoC、今週デモローカル IDE + 1 モデルstdio MCP、1〜2 tools単一リポジトリAPI 請求が主ローカルユーザー権限。本番秘密は繋がない
小チームの日次出荷Claude Code または Cursor を HostMCP Git + テスト runner複数 worktreeクラウドMac を日貸しで受入、その後月額ツール許可リスト。Agent の本番 DB 直結は禁止
GPT / Gemini / Claude を切り替えたい自前オーケストレーション + 統一 tool gateway同一 Schema を 3 社の関数呼び出しへ投影共有 MCP翻訳層 1 つで tools の三分裂を避けるゲートウェイ認証。モデルは生の秘密を見ない
iOS / Xcode / 署名Mac 上の CLI Agent同機 MCP + xcodebuild証明書、DerivedData、シミュレータ専有 M4 の方が「Linux MCP + 別 Mac」より安いキーチェーンと署名は Mac に残す
7×24 当番 Agentリモート Host + 常駐 MCPlaunchd / compose で生存夜間ジョブ、webhook蓋を閉じたノート=隠れた障害送信ファイアウォール + 監査ログ

5. 推奨スタック

重ねてよい。下の 3 セットはいずれも git 上の JSON Schema 単一ソースから、各社の関数呼び出し宣言と MCP inputSchema を生成する。

組み合わせ A|個人:Cursor または Claude Code(Host)
  → 単一モデル(まず Claude または GPT。後で交換可)
  → ローカル stdio MCP(Git 読み取り専用)
  → Schema ファイル + バリデーションテスト
  蓋を閉じると止まる。昼間の PoC 専用。

組み合わせ B|出荷チーム(推奨):CLI Agent を Host
  → GPT / Claude を同一 gateway で切替
  → クラウドMac 上の MCP Git Server + テストツール
  → Schema 単一ソース → OpenAI tools / Claude input_schema / MCP inputSchema を生成
  → 48h 日貸し:ノートの蓋を閉じ、tools/call がまだ成功することを確認

組み合わせ C|マルチモデルゲートウェイ:自前 orchestrator
  → Gemini をマルチモーダル入口、Claude/GPT をコードのツールループ
  → すべての functionCall / tool_use を JSON Schema 検証してから MCP tools/call
  → MCP はリポジトリと同機。モデル API は公開インターネット

コード側の最小契約例(OpenAI parameters、Claude input_schema、MCP inputSchema へ投影するときフィールド名は一致させる):

{
  "name": "git_status",
  "description": "Return git status for a worktree path",
  "parameters": {
    "type": "object",
    "properties": {
      "repo_path": { "type": "string", "minLength": 1 },
      "porcelain": { "type": "boolean", "default": true }
    },
    "required": ["repo_path"],
    "additionalProperties": false
  }
}

6. よくある落とし穴

  • 落とし穴 1:先に GPT か Claude かを決め、後からツールを足す。順序が逆だと 3 つの tools が永久に分岐する。
  • 落とし穴 2:MCP を第 4 のモデルと扱う。MCP は推論しない。実行する。Schema のない MCP は型なし RPC にすぎない。
  • 落とし穴 3:Prompt で JSON Schema を代用する。additionalProperties: false の方が「フィールドを捏造しないで」より効く。
  • 落とし穴 4:関数呼び出しの成功を業務成功とみなす。モデルは合法 JSON で誤ったディレクトリを消せる。許可リストは MCP プロセスにあり、モデルにはない。
  • 落とし穴 5:ローカル stdio が通った時点で本番とみなす。蓋閉じ、Wi‑Fi 切替、同僚が同じ MCP デプロイを再利用できないことが 7×24 の天敵である。

7. 実装手順(7 ステップ)

  1. Agent が本当に実行すべき動作を 3 つ列挙する(例:git status、テスト実行、issue 読み)。初日に 20 個の MCP tools を繋がない。
  2. 動作ごとに JSON Schema を 1 つ書き、git に入れる。合法/違法 fixture テストを足す。
  3. MCP Server を実装し、inputSchema は上記ファイルを直接参照する。手コピーしない。
  4. ベンダー適応層を 1 枚置く。同一 Schema を OpenAI tools、Gemini functionDeclarations、Claude input_schema へ投影する。
  5. Host を 1 つ(Cursor または Claude Code)で tools/list → 関数呼び出し → tools/call → 結果の折り込みまで通す。
  6. MCP を蓋が閉じないマシン(クラウドMac または VPS)へ移す。ノートには Host だけ残す。8 時間蓋を閉じて再測する。
  7. 2 社目のモデルは翻訳層だけに接続する。tools ファイルを複製しない。同じ fixture で回帰する。スキル化は Agent Skills 2026 ガイド

8. FAQ

関数呼び出しと MCP は同じものか?

違う。関数呼び出しはモデルが「ツールを使いたい」と述べる方法であり、MCP は Host がツールを発見し実行する方法である。MCP なしでも handler は書ける。関数呼び出しがなければ、モデルは自然言語を出すだけで、あなたがコマンドをコピーすることになる。

JSON Schema はどこまで厳しく書くべきか?

少なくとも型、required、enum、および additionalProperties: false をカバーする。パス系フィールドは .. を拒否する。厳しすぎると適応コストが増え、緩すぎると安全検査が Prompt に押し戻され、必ず漏れる。

GPT、Gemini、Claude はどう分担すべきか?

入口とモーダリティで分ける。Gemini は画像/動画入口、Claude は長いコードセッション、GPT は既存 OpenAI ゲートウェイがあるチーム向き。分担は Host のルーティングで行い、3 つの別 MCP Server としては行わない。

Chat Completions だけで MCP を使わなくてよいか?

単一アプリ・単一モデルならよい。2 社目のモデルや 2 つ目の Host(IDE + CLI)が出た瞬間、自前 handler が N セットに複製される。MCP の価値はツールプロセスを一度だけデプロイすることである。

なぜこのスタックをクラウドMac に載せるのか?

ツールチェーンに Xcode、キーチェーン、iOS シミュレータが含まれるなら、MCP と Agent は同機かつ常駐でなければならない。純粋な Git/HTTP なら Linux VPS で足りる。Apple 納品で MCP を Linux、ビルドを別 Mac に分けると、パスがもう一度割れる。

9. まとめ

2026 年の AI Agent 技術スタックは「最強モデルを 1 つ選ぶ」ことではない。1 つの JSON Schema、1 層の関数呼び出し適応、1 つの MCP Server、入れ替え可能な GPT/Gemini/Claude 推論層である。誰が強いかは変わる。契約と実行境界は毎週書き直さない。

実装順は固定する。Schema → MCP → Host 1 つで貫通 → モデル交換。マシン順も固定する。PoC はローカル、納品はクラウドMac または VPS。ベンチマークは見てよいが、契約テストの代わりにしてはならない。

MCP と JSON Schema 検証を常駐クラウドMac に置く

関数呼び出しはノート PC で試せる。しかし MCP Server、worktree、Apple ツールチェーンは 7×24 稼働する箱が必要だ。専有 M4 は Git、Schema バリデータ、Agent Host を同一パスに載せ、「Linux の Schema / Mac のビルド」という再分裂を防ぐ。待機電力は低く SSH は固定なので、日貸しで受け入れ、月額で固定する道が現実的である。

選定比較を見る · プランを見る · 開通の案内へ