Как работает function calling
Модель сама не может ни зайти в вашу базу, ни отправить письмо, ни создать заявку — она умеет только генерировать текст. Function calling превращает это ограничение в безопасный контракт:
- Приложение объявляет функции. Вместе с запросом модель получает список доступных функций: имя, описание на естественном языке и схему параметров (те же JSON-схемы, что и в structured output).
- Модель выбирает функцию и аргументы. Пользователь пишет «перенесите встречу на пятницу на 15:00» — модель отвечает: вызвать
update_bookingс аргументами{"date": "2026-09-25", "time": "15:00"}. - Код приложения исполняет функцию. Модель не исполняет ничего: реальный вызов происходит в вашем коде — с вашими правами, проверками и логами.
- Результат возвращается модели. Модель читает ответ функции («встреча перенесена, номер BR-1042») и формулирует человеческий ответ пользователю.
| Шаг | Кто действует | Пример (бот записи клиентов) |
|---|---|---|
| 1. Запрос пользователя | Человек | «Хочу на приём в четверг утром» |
| 2. Выбор функции | Модель | get_slots(date="2026-09-24", part="morning") |
| 3. Исполнение | Приложение | Запрос к расписанию клиники |
| 4. Ответ и подтверждение | Модель + человек | «Свободно 9:30 и 11:00. Записать?» → create_appointment(...) после «да» |
Где function calling встречается в бизнесе
- Чат-боты, которые «делают», а не «рассказывают». Проверка статуса заказа, запись на услугу, смена тарифа — ответ строится на живых данных из 1С, CRM или ЛК (практика — ИИ-ассистенты под ключ).
- Интеграция с российскими API. GigaChat и YandexGPT поддерживают вызов функций, поэтому сценарии «бот → 1С/CRM/смс-шлюз» собираются на отечественном стеке (пример — интеграция GigaChat API).
- Агентные системы. Функции — это «руки» агента: без них многошаговый сценарий из статьи про агентные фреймворки невозможен.
- Внутренние копилоты. Сотрудник спрашивает «сколько осталось по бюджету проекта Альфа» — модель вызывает отчётную функцию ERP и отвечает цифрой, а не советом «посмотрите в системе».
Function calling и MCP
Механизм и протокол решают соседние задачи. Function calling — способ, которым модель выбирает действие и готовит аргументы. MCP — открытый протокол, по которому инструменты и данные подключаются единым образом: один MCP-сервер с функциями 1С используют и чат-приложение, и агент, и разные модели. В современных системах MCP «возит» функции, а function calling — их вызывает.
Безопасность: что проверять в первую очередь
Минимальность. Каждому сценарию — только нужные функции; «на всякий случай» выданный доступ к удалению записей — типичная причина инцидентов. Подтверждение. Чувствительные действия (платежи, изменение данных клиентов, рассылки) выполняются после явного подтверждения пользователем. Валидация аргументов. Модель может перепутать дату или подставить лишнее поле — аргументы проверяются схемой перед исполнением. Аудит. Логируются выбор функции, аргументы, результат — это же материал для расследования промпт-инъекций, о которых — статья промпт-инъекция.
Сколько стоит (сентябрь 2026)
Прототип сценария с 2–3 функциями — от 90 000 ₽; пилот ассистента с function calling и интеграцией в CRM/1С — от 480 000 ₽ за 4–6 недель; MVP с подтверждениями действий и аудитом — от 690 000 ₽. Рыночные якоря сентября 2026: закрытые госзакупки ассистент-класса — 630 000 и 1 200 000 ₽.
Как начать
Выбирается один массовый процесс с ясными действиями (запись, статус, тариф), описываются 3–5 функций со схемами и правами, определяются точки подтверждения — и сценарий выкатывается на пилотную группу пользователей с полным логом вызовов. Дальше лог показывает, где модель ошибается в аргументах и какие функции добавить. Внедрение — uslugi/ii-assistenty и ai/assistenty.