Zilmac Блог
← К техническим заметкам

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

Стек агентов ·~14 мин чтения

Разработчик на Mac подключает вызовы инструментов GPT, Gemini и Claude вместе с MCP и JSON Schema к одному рантайму агента

В 2026 году спор про AI-агента уже не «GPT, Gemini или Claude». Надёжность даёт то, как модель выдаёт структурированный Function Calling, как JSON Schema ограничивает аргументы и как MCP подключает инструменты и контекст к рантайму. Вместе это стек, который можно аудировать, версионировать и менять модель.

Текст для команд, которые превращают чат-бота в исполняющего агента: разделение ответственности, полный цикл инструментов и граница сборочных инструментов на облачном Mac. Стоимость: Claude / GPT / Gemini через OpenRouter; изоляция: виртуальные файловые системы; состояние между сессиями: сравнение Agent Memory.

3
Слой моделей: GPT · Gemini · Claude как сменные движки
1
Слой контракта: Function Calling + JSON Schema
MCP
Слой слота: стандартный транспорт инструментов, ресурсов, промптов

Разберите стек: модель — не продукт

Если агент — «говорящая модель», вы теряете три несущих слоя:

  1. Движок рассуждения: GPT, Gemini, Claude — план, выбор инструмента, интерпретация наблюдений.
  2. Контракт вызова: Function Calling (tool use) плюс JSON Schema — что можно вызвать и какой формы аргументы.
  3. Слоты рантайма: Model Context Protocol (MCP) подключает ФС, репозитории, браузер и внутренние API к хосту.

Консенсус 2025–2026: модели можно менять, контракты и слоты лучше держать стабильными. Не привязывайте бизнес к приватным именам SDK: проектируйте вокруг списка инструментов, схем и песочницы исполнения.

Роли GPT, Gemini и Claude

Все трое умеют вызывать инструменты. Разница в основном в стиле по умолчанию, мультимодальном входе, длинном контексте и осторожности к рискованным вызовам, а не в наличии function calling.

  • GPT: зрелая документация цикла инструментов; OpenAI Function Calling и большая экосистема Responses / Chat Completions — частый оркестратор или бэкенд шлюза.
  • Gemini: сильные мультимодальность и длинный контекст; официальный Function Calling подходит агентам, которые одновременно грузят документы, скриншоты и дерево репозитория.
  • Claude: устойчивый tool use в коде и работе с компьютером; Anthropic tool use — для рискованных правок, когда важнее отказывать в превышении полномочий.

В проде обычно маршрутизация, а не вера в одну модель: сильное рассуждение для плана, дешёвые модели для массового извлечения, консервативный уровень плюс подтверждение для чувствительных записей. Счета: сравнение стоимости моделей.

Инженер подключает вызовы инструментов GPT, Gemini и Claude и серверы MCP к одному рантайму агента
Типичный путь: намерение пользователя → план модели → вызов инструмента с проверкой схемы → MCP или локальный исполнитель → наблюдение обратно в контекст

Function Calling: законный интерфейс к миру

Function Calling — это не «модель сама выполняет функцию», а структурированное намерение вызова, решение об исполнении принимает хост.

  • Модель: имя инструмента, аргументы, дальнейший план по наблюдениям.
  • Хост: авторизация, лимиты, валидация, реальный I/O, результаты в список сообщений.

Имена полей различаются (tools / function / input_schema), цикл нет: объявить инструменты → tool call → выполнить → tool result → снова рассуждать. Не делайте «инструментом» сырую shell-строку: это обходит схему и отдаёт риск инъекции промпту.

Инженерный минимум

  • Стабильные имена, один класс побочных эффектов на инструмент.
  • Чтение и запись раздельно; запись по умолчанию с подтверждением или песочницей.
  • Сохраняйте call_id для аудита и повторов.

JSON Schema: система типов инструментов

В стеке агента JSON Schema — это типы на этапе описания плюс проверка в рантайме. Пропущенные обязательные поля, неверные enum, лишние свойства должны падать до бизнес-логики; модель видит ошибку валидации и повторяет попытку.

Версионируйте parameters / input_schema как настоящую схему (JSON Schema), а не строку в промпте «передайте repo и branch».

Что должно быть в схеме

  • type, required, additionalProperties: false против выдуманных полей.
  • Пути, URL, перечисления через pattern / enum — не свободный текст вместо идентификатора.
  • Большие логи и diff не в аргументах: файл в рабочей области и путь, как в чтении VFS по запросу.
  • Версия в схеме или суффиксе (deploy_v2), чтобы старый и новый агент не делили размытый контракт.

Проверяйте после вывода модели и до реальных побочных эффектов. «Выведи JSON» в системном промпте — не производственный контроль.

MCP: универсальный слот для инструментов и контекста

MCP над Function Calling решает обнаружение и транспорт: инструменты не обязаны быть зашиты в приложение; MCP-сервер перечисляет tools, resources, prompts. Хосты (Claude Code, IDE-агенты, свой оркестратор) подключают много серверов по одному протоколу.

По сравнению с плагинным SDK у каждого вендора:

  • Сменные инструменты: Git, браузер, тикеты — отдельные серверы; хост держит соединения и политику.
  • Адресуемый контекст: URI ресурсов, чтобы не класть целые файлы в промпт.
  • Отвязка от модели: один каталог MCP кормит слой Function Calling GPT, Gemini или Claude.

Инструменты MCP всё равно мапятся на объявления Function Calling с JSON Schema и белые списки путей на хосте. MCP — стандартная вилка, не граница безопасности; песочница, секреты и аудит остаются у хоста.

Полный цикл: от намерения к результату

Пример: «открыть PR с фиксом по упавшему iOS-билд-логу». Типичный порядок:

  1. Намерение пользователя; хост внедряет политику (без сертификатов, без прод-секретов).
  2. Модель читает список инструментов (статический реестр или MCP list_tools).
  3. Вызов fetch_ci_log; аргументы через JSON Schema.
  4. Исполнитель забирает логи в песочнице или на облачном Mac; избыток уходит в VFS.
  5. Результат возвращается; модель может вызвать apply_patch с подтверждением или read-only diff.
  6. Факты вроде «профиль истёк в прошлый раз» — в Memory, не в аргументы схемы. См. выбор Memory.

Ошибки должны быть структурированными (валидация, права, таймаут), иначе повторы превращаются в угадайку.

Сравнение и выбор

Слой Отвечает Не отвечает Типичный выбор 2026
GPT / Gemini / Claude План, выбор инструмента, объяснение наблюдений Реальный I/O, авторизация Маршрутизация по задаче, возможность смены
Function Calling Намерение как запрос инструмента с id Бизнес-модель прав Tool use вендора, один адаптер хоста
JSON Schema Форма аргументов, обязательность, enum Побочные эффекты рантайма Версионированная схема, проверка до execute
MCP Обнаружение инструментов/ресурсов, транспорт Замена песочницы и хранилища секретов Сервер на систему + политика хоста

Прод: валидация, права, откат

Перед релизом минимум четыре ворот:

  • Враждебные тесты схемы: пропуски, лишние поля, неверные enum — хост отвергает, модель чинит по ошибке.
  • Чужие инструменты: неизвестные имена, устаревший MCP-сервер, поддельный call_id должны падать.
  • Изоляция эффектов: сборка, подпись, деплой вне чат-процесса; у агента по умолчанию нет прод-учётных данных.
  • Наблюдаемость: имя инструмента, версия схемы, задержка, успех / ошибка валидации / ошибка прав.

OWASP относит избыточные права и prompt injection к ядру рисков LLM. «Модель попросила — мы выполнили» — не политика. Якорь: OWASP LLM Top 10.

Цепочка инструментов на облачном Mac

У iOS / кроссплатформенных команд в MCP часто есть xcodebuild, симуляторы и инструменты рядом с сертификатами. Они привязаны к macOS и цепочке Apple и не принадлежат общей Linux-песочнице функций.

Практичное разделение:

  1. Диалог и план: GPT / Gemini / Claude где угодно в облаке.
  2. I/O репозитория: VFS или MCP filesystem с белым списком путей.
  3. Настоящая сборка и устройства: контролируемый MCP-сервер или CI на облачном Mac Zilmac, секреты остаются на сборочной машине.

Стек моделей можно менять; схемы и каталоги MCP стабильны; побочные эффекты Apple попадают в утилизируемые сессии облачного Mac, а не на ноутбук.

FAQ

Function Calling и MCP дублируют друг друга?

Нет. Function Calling — как модель выдаёт запрос инструмента. MCP — как хост обнаруживает и подключает инструменты и ресурсы. Каждый MCP-tool всё равно мапится на объявление Function Calling.

Нужно ли подключать все три семейства моделей?

Нет. Сначала стабилизируйте контракт и MCP у одного вендора, затем маршрутизируйте вторую модель через те же схемы. Три вендора «для оценки» только расширяют непроверенную поверхность инструментов.

Можно ли держать JSON Schema только в системном промпте?

Не как единственный контроль. Промпт помогает заполнять аргументы; отказ незаконным аргументам — у валидатора хоста. Иначе инъекция или дрейф бьют сразу в бэкенд.

Как не залочиться на API одного вендора?

Внутри держите форму «имя инструмента + JSON Schema + результат исполнения». GPT / Gemini / Claude — адаптеры. MCP-серверы отдают хосту один каталог; биллинг и failover — на шлюзе.

Модели можно менять; хост сборки нельзя оставлять размытым

Когда GPT, Gemini и Claude сидят на одном контракте Function Calling и MCP, iOS-поставка всё равно упирается в цепочку Apple. Облачный Mac Zilmac подходит как контролируемый исполнитель: агент шлёт задачи под схемой; подпись и xcodebuild идут на изолированном macOS.

Аудируемый слот сборки без собственного физического Mac. — Смотреть тарифы облачного Mac

Ограниченное предложение

Zilmac

Облачный Mac, удалённая разработка и Mac VPS для iOS и кроссплатформенных команд.

На главную
Акция Смотреть планы