Акция

Стек AI-агентов 2026: как GPT, Gemini, Claude, MCP, Function Calling и JSON Schema работают вместе

AI-инженерия AI-агент · MCP · Function Calling
2026-08-18 ~14 мин

Итог: Не выбирайте стек AI-агентов 2026 по GPT vs Gemini vs Claude — выбирайте по тому, можно ли переиспользовать контракт инструментов между моделями.

JSON Schema — контракт, Function Calling — акцент, MCP — исполнение. Порядок: Schema → MCP → смена модели.

Сначала вывод

  1. Стек ИИ-агента 2026 года выбирают не по тому, «кто сильнее — GPT, Gemini или Claude», а по тому, можно ли повторно использовать контракт инструментов между моделями.
  2. JSON Schema — настоящий кросс-вендорный контракт; Function Calling — лишь акцент, которым каждая модель произносит вызов.
  3. MCP превращает схему в обнаруживаемый tools/list и исполняемый tools/call. Без MCP схема остаётся документацией.
  4. GPT, Gemini и Claude — взаимозаменяемые движки рассуждения на стороне Host. MCP-серверы, валидаторы и worktree должны жить на машине, которая не закрывает крышку.
  5. Сначала заморозьте одну схему, затем подключите MCP, потом меняйте модели. Обратный порядок навсегда разъедет три каталога tools.
Способности модели — не водораздел. Водораздел — контракт инструментов: JSON Schema + Function Calling + MCP.
Разработчик на рабочем столе сверяет JSON Schema API с вызовами инструментов ИИ-агента
Считайте JSON Schema контрактом, а не модель — операционной системой.

0. Сначала вывод

Если вы собираете стек ИИ-агента 2026 года, зафиксируйте фразу: GPT, Gemini и Claude — заменяемые слои рассуждения. Сдача системы зависит от того, проходят ли аргументы Function Calling через одну JSON Schema и выставлена ли эта схема стабильным MCP-сервером. Сначала выбрать модель и потом «прикрутить» инструменты — самая дорогая ошибка порядка за последние два года.

1. Почему проблема есть: выбор модели первым проваливается

В тикете обычно написано: «перешли на новейший GPT / Claude / Gemini, агент всё равно не работает». Узкое место редко в модели. Команды держат четыре дрейфующих контракта: OpenAI tools, Gemini functionDeclarations, Claude tools / tool_use плюс MCP inputSchema. Снаружи всё похоже на Function Calling. В рантайме это не один протокол.

Старый подход ломается конкретно: Prompt считают процессом, модель — ОС, MCP — «ещё одним плагином». Чат выглядит гладким, пока tools/call не упрётся в пути, enum или обязательные поля и не вернёт 400. Тогда спорят, какая модель послушнее, вместо того чтобы diff-ить схему. Более умная модель не лечит расколотый контракт.

  • Host живёт в IDE, MCP-сервер — на ноутбуке, который засыпает: Function Calling крутится вхолостую.
  • GPT видит repoPath, Claude — repo_path; в JSON Schema нет единого источника истины.
  • В декларациях Gemini нет additionalProperties: false, модель начинает выдумывать поля.
  • tools/list отдаёт схему, которая не совпадает с git SHA валидатора в проде.

Правильное разделение: «умеет ли рассуждать?» отдельно от «умеет ли безопасно исполнять?». Рассуждение можно крутить между GPT, Gemini и Claude. Исполнение должно сидеть на одной схеме и одном всегда включённом процессе MCP. Выбор машины — в развёртывании MCP: Cloud Mac vs VPS vs локально.

2. Пять слоёв

Не раскладывайте эти слова энциклопедией. Рабочий агент 2026 года — пять слоёв. Если одного нет, другой слой притворится компенсацией — и упадёт в проде.

2.1 Рассуждение: GPT / Gemini / Claude

GPT, Gemini и Claude читают контекст, решают, вызывать ли инструмент, выдают аргументы, валидные по схеме, и вкладывают результат в следующий ход. Это не файловая система и не Git. Выбирайте по задержке, окну контекста, цене и политике безопасности — не потому, что кто-то похож на ОС. Документация: OpenAI Function Calling, Gemini function calling, Claude tool use.

2.2 Function Calling: акцент, не шина

Function Calling — как модель говорит, какую функцию запустить и с какими аргументами. GPT использует tool_calls, Claude — блоки tool_use, Gemini — functionCall. Акценты разные, смысл один: структурированный вызов, связанный схемой. Три отдельных handler за квартал разъедутся. Оставьте тонкий переводчик; бизнес-логика должна видеть только нормализованный JSON.

2.3 JSON Schema: кросс-вендорный контракт

JSON Schema задаёт типы, обязательные поля, enum, диапазоны и additionalProperties. OpenAI parameters, Claude input_schema и MCP inputSchema должны быть проекциями одного файла. Контракт — в git. Тестируйте легальными и нелегальными payload. Не просите модель Prompt-ом «пожалуйста, соблюдай формат».

2.4 MCP: сделать контракт обнаруживаемым и исполняемым

Model Context Protocol описывает, как Host выполняет tools/list и tools/call. MCP-сервер — процесс, который трогает диск, секреты и сеть. Cursor, Claude Code и самописные оркестраторы — всего лишь клиенты. Без MCP схема остаётся в документации. С MCP на спящем ноутбуке Function Calling всё равно умирает ночью. См. Cursor MCP.

2.5 Host: вход, не способность

Host — место, куда человек кликает: IDE, CLI-агент, чат. Вход формирует UX, он не даёт исполнение. Claude Code как Host и GPT как запасная модель — нормально, если оба бьют в один MCP и одну схему. Параллельным worktree нужен Host рядом с репозиторием — удалённый Mac + worktree на короткий срок.

3. GPT vs Gemini vs Claude vs MCP

Одинаковые заголовки в каждой строке. MCP — не четвёртая модель; это обнаружение и исполнение. Одна таблица мешает использовать модель как шину.

Слой / вариантВходИсполнениеКонтекстСтоимостьГраница прав
GPT Function CallingAPI / ChatGPT / IDEГенерирует tool_calls; диск не трогаетЧат + то, что вы положили в messagesТокены; циклы инструментов раздувают счётСекреты в бэкенде; модель видит аргументы и сводки
Gemini function callingGemini API / Studio / VertexГенерирует functionCall; исполняете выСильный мультимодальный контекст; поля всё равно держит схемаТокены / квоты проектаGCP IAM + песочница инструментов
Claude tool useAPI / Claude Code / ConsoleГенерирует tool_use; CLI-host может затем запустить shellСилён на длинных кодовых сессиях; всё ещё не ФСТокены; циклы агента тоже стоят денегБелые списки инструментов + человек; MCP — ещё одни ворота
JSON SchemaВалидатор / codegen / один файлОтвергает незаконные вызовы; бизнес не исполняетНет — контракт, не памятьПочти ноль (стоимость тестов)Удалить опасные поля из контракта
MCP-серверstdio / SSE / удалённый HostРеально гоняет Git, HTTP, БД, файлыРепозиторий, секреты, состояние машиныВсегда включённый ящик (Cloud Mac / VPS)Пользователь ОС, белый список путей, egress

Асимметричная строка: модели соревнуются в рассуждении и акценте; MCP — в границе исполнения. Смена на Claude не починит MCP, который спит вместе с крышкой ноутбука. Само по себе MCP не выдаст валидный JSON без тестов схемы.

4. Как выбирать по сценарию

Сопоставляйте вход и потребность в исполнении. Не сопоставляйте таблицу лидеров.

Слой / вариантВходИсполнениеКонтекстСтоимостьГраница прав
Личный PoC на этой неделеЛокальная IDE + одна модельstdio MCP, 1–2 toolsОдин репозиторийСчёт APIЛокальный пользователь; без прод-секретов
Малая команда с ежедневной поставкойClaude Code или Cursor как HostMCP Git + тестовый runnerНесколько worktreeCloud Mac на сутки, затем помесячноБелый список инструментов; агент не ходит в прод-БД
Нужно менять GPT / Gemini / ClaudeОркестратор + единый tool gatewayОдна схема, спроецированная на три диалекта Function CallingОбщий MCPОдин переводчик лучше трёх развилок toolsАвторизация шлюза; модели не видят сырые секреты
iOS / Xcode / подписьCLI-агент на MacСовмещённый MCP + xcodebuildСвязка ключей, DerivedData, симуляторыВыделенный M4 дешевле, чем Linux MCP + второй MacМатериал подписи остаётся на Mac
Дежурный агент 7×24Удалённый Host + всегда включённый MCPlaunchd / compose держат процесс живымНочные задачи, webhookСпящий ноутбук — скрытый инцидентEgress-файрвол + журнал аудита

5. Рекомендуемые стеки

Стеки можно накладывать. Все три держат одну JSON Schema в git и генерируют вендорный Function Calling плюс MCP inputSchema.

Стек A | соло: Cursor или Claude Code (Host)
  → одна модель (сначала Claude или GPT; заменяема)
  → локальный stdio MCP (Git только чтение)
  → файл схемы + тесты валидатора
  Закрытие крышки всё останавливает — только дневной PoC.

Стек B | команда поставки (рекомендуется): CLI-агент как Host
  → GPT / Claude за одним шлюзом
  → MCP Git-сервер + тестовые инструменты на Cloud Mac
  → схема → OpenAI tools / Claude input_schema / MCP inputSchema
  → аренда на 48 ч: закрыть ноутбук, убедиться, что tools/call всё ещё проходит

Стек C | мультимодельный шлюз: свой оркестратор
  → 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. Три каталога tools навсегда разъедутся.
  • Ловушка 2: Считать MCP четвёртой моделью. MCP не рассуждает; он исполняет. MCP без схемы — нетипизированный RPC.
  • Ловушка 3: Заменить JSON Schema Prompt-ом. additionalProperties: false сильнее, чем «пожалуйста, не выдумывай поля».
  • Ловушка 4: Валидный payload Function Calling — ещё не безопасное бизнес-действие. Модель может легально попросить удалить не то дерево — белый список живёт в процессе MCP.
  • Ловушка 5: Успех локального stdio — не прод. Закрытие крышки, скачки Wi‑Fi и коллеги, которые не могут переиспользовать то же MCP-развёртывание, убивают 7×24.

7. Семь шагов внедрения

  1. Назовите три действия, которые агент должен исполнить (git status, тесты, чтение issue). Не подключайте двадцать MCP-инструментов в первый день.
  2. Напишите по одной JSON Schema на действие в git. Добавьте легальные и нелегальные fixture.
  3. Реализуйте MCP-сервер, чей inputSchema импортирует эти файлы — без копирования руками.
  4. Добавьте вендорный адаптер, проецирующий ту же схему на OpenAI tools, Gemini functionDeclarations и Claude input_schema.
  5. Одним Host (Cursor или Claude Code) докажите цепочку tools/list → Function Calling → tools/call → вложение результата.
  6. Перенесите MCP на машину, которая не спит (Cloud Mac или VPS). На ноутбуке оставьте только Host. Закройте крышку на восемь часов и перепроверьте.
  7. Вторую модель подключайте только через переводчик. Не копируйте второй файл tools. Прогоните те же fixture. Упаковка навыков — в руководстве Agent Skills 2026.

8. FAQ

Function Calling и MCP — это одно и то же?

Нет. Function Calling — как модель просит инструмент. MCP — как Host обнаруживает и исполняет инструменты. Handler можно писать без MCP. Без Function Calling модель выдаёт только прозу, которую вы копируете в терминал.

Насколько строгой должна быть JSON Schema?

Покройте типы, required, enum и additionalProperties: false. Отвергайте .. в полях путей. Слишком строго поднимает стоимость адаптера; слишком слабо возвращает безопасность в Prompt — и Prompt протечёт.

Как разделить работу GPT, Gemini и Claude?

По входу и модальности: Gemini — вход с картинками и видео, Claude — длинные кодовые сессии, GPT — если уже есть шлюз OpenAI. Маршрутизация живёт в Host, а не в трёх разных MCP-серверах.

Можно ли обойтись Chat Completions без MCP?

Да, для одного приложения и одной модели. Вторая модель или второй Host (IDE + CLI) размножает handler. Ценность MCP — развернуть процесс инструментов один раз.

Зачем класть этот стек на Cloud Mac?

Если в цепочке есть Xcode, связка ключей или iOS-симуляторы, MCP и агент должны жить на одной машине и не выключаться. Linux VPS хватает для чистого Git/HTTP. Поставка Apple, где MCP на Linux, а сборка на другом Mac, снова раскалывает пути.

9. Итог

Стек ИИ-агента 2026 года — не «выбрать самую сильную модель». Это одна JSON Schema, один адаптер Function Calling, один MCP-сервер и заменяемый разум GPT/Gemini/Claude. Таблицы лидеров двигаются. Контракты и границы исполнения не стоит переписывать каждую неделю.

Порядок работ: схема → MCP → один Host сквозняком → затем смена моделей. Порядок машин: локально для PoC, Cloud Mac или VPS для сдачи. Бенчмарки можно читать — не подменяйте ими тесты контракта.

Держите MCP и проверку JSON Schema на всегда включённом Cloud Mac

Function Calling можно пробовать на ноутбуке. MCP-серверам, worktree и цепочке Apple нужна коробка, которая не выключается. Выделенный M4 кладёт Git, валидатор схемы и Host агента на один путь, чтобы снова не разъехались «схема на Linux / сборка на Mac». Низкое потребление в простое и стабильный SSH делают суточную аренду для приёмки, а затем помесячную фиксацию разумным путём.

Сравнить варианты · Смотреть тарифы · Начать подключение