Function Calling 2.0: как AI сам выбирает, какие действия…
  • AI Технологии
  • Автор: Команда CrmAI
  • Опубликовано:
Function Calling — как AI-бот автоматически выполняет действия в CRM

Айгуль — руководитель отдела продаж в компании, которая занимается промышленным оборудованием. Двадцать три менеджера, сложные B2B-сделки, цикл от первого контакта до подписания контракта — от двух месяцев до полугода.

Когда мы внедряли AI-бота для обработки входящих заявок, Айгуль задала вопрос, который слышу от каждого второго клиента:

«Хорошо, бот ответит на типовые вопросы. Но дальше-то что? Менеджеру всё равно придётся руками заводить сделку в CRM, ставить задачу на перезвон, отправлять коммерческое предложение. Где тут экономия времени?»

Она была права. Первые поколения чат-ботов — даже умных, на базе GPT — работали как справочные. Спросил — ответили. Но между ответом бота и реальным действием в бизнес-системе оставалась пропасть, которую заполнял человек.

Всё изменилось с появлением Function Calling — технологии, которая позволяет AI-модели не просто генерировать текст, а вызывать реальные функции в ваших системах. Бот теперь не говорит «я создам для вас сделку» — он её создаёт. Не обещает отправить письмо — отправляет. Не предлагает забронировать время — бронирует.

В этой статье разберём, как это работает под капотом, какие сценарии уже реализуемы сегодня, и почему через пару лет AI-боты без Function Calling будут казаться такими же архаичными, как сайты без мобильной версии.

«Function Calling превращает языковую модель из умного собеседника в цифрового сотрудника. Разница — как между человеком, который знает, как водить машину, и человеком, который реально садится за руль и едет.»

OpenAI Function Calling Documentation
Официальная документация, 2024
Цитата

Что такое Function Calling и почему это меняет правила игры

Представьте себе ситуацию. Клиент пишет в WhatsApp вашей компании:

«Здравствуйте! Меня зовут Марат Касымов, я из ТОО "СтройМаркет". Хочу узнать цены на компрессоры Atlas Copco серии GA. Планируем закупку на январь, объём — около 5 единиц. Можете выслать КП на марат@stroymarket.kz?»

Что делает обычный чат-бот? Отвечает что-то вроде: «Здравствуйте! Спасибо за интерес к нашей продукции. Я передам вашу заявку менеджеру, и он свяжется с вами в ближайшее время.» Всё. Дальше человек должен руками скопировать информацию, создать контакт, завести сделку, поставить задачу.

Что делает бот с Function Calling?

Что происходит за 3 секунды

1
Создаёт контакт

Марат Касымов, ТОО "СтройМаркет", марат@stroymarket.kz

2
Создаёт сделку

«Компрессоры GA x5», этап «Новая заявка», дедлайн — январь

3
Генерирует и отправляет КП

PDF с ценами на Atlas Copco GA уходит на указанный email

4
Ставит задачу менеджеру

«Перезвонить Марату через 2 дня, уточнить получение КП»

И только после этого отвечает клиенту: «Марат, спасибо за заявку! Коммерческое предложение на Atlas Copco GA уже отправлено на вашу почту. Менеджер Алексей свяжется с вами в течение двух дней для уточнения деталей.»

Видите разницу? Бот не просто понял запрос — он выполнил четыре реальных действия в бизнес-системах. Клиент получил КП за секунды, а не за часы. Менеджер увидел готовую сделку с полной информацией, а не сырой текст, который нужно разбирать.

Технически это работает так: языковая модель получает описание доступных функций (инструментов) — например, «создать_контакт», «создать_сделку», «отправить_письмо». Когда модель понимает, что для ответа на запрос пользователя нужно выполнить какое-то действие, она генерирует не текст, а структурированный вызов функции с параметрами. Система выполняет этот вызов, возвращает результат модели, и та формирует финальный ответ.

Подробнее о том, как AI-агенты взаимодействуют с CRM, мы рассказывали в статье Tool Calling и агенты: как дать LLM доступ к CRM и не устроить катастрофу.

От простых вызовов к сложным цепочкам: как развивалась технология

Function Calling появился не вчера. OpenAI представила эту возможность в середине 2023 года, и с тех пор технология прошла через несколько поколений.

Первая версия была довольно примитивной. Модель могла вызвать одну функцию за раз, параметры часто приходили с ошибками, а сложные сценарии требовали множества итераций. Это было похоже на джуниор-разработчика, который понимает задачу, но постоянно путается в деталях.

Сегодня мы работаем с тем, что я называю «Function Calling 2.0». И разница колоссальная.

Возможность Первое поколение (2023) Современные модели (2025)
Количество функций за раз Одна Несколько параллельно
Точность параметров 60-70%, требовала валидации 95%+ с JSON Schema
Цепочки вызовов Ручное управление Автоматические многошаговые сценарии
Понимание контекста Базовое Учитывает историю диалога и бизнес-логику
Обработка ошибок Падает при первой ошибке Переспрашивает, пробует альтернативы
Пример сценария «Создай задачу» «Проверь календарь, найди свободный слот, создай встречу, отправь приглашение, добавь в CRM»

Особенно впечатляют параллельные вызовы. Раньше, чтобы создать контакт и сделку, модель делала два последовательных запроса. Сейчас она понимает, что эти действия независимы, и выполняет их одновременно. Для пользователя это означает ответ за 2 секунды вместо 6.

Ещё важнее — способность выстраивать цепочки. Современные модели могут рассуждать: «Чтобы отправить КП, мне сначала нужно узнать цены на эти товары. Для этого я вызову функцию получения прайса. Потом сгенерирую PDF. Потом отправлю на email.» И всё это происходит автоматически, без программирования каждого шага.

Claude от Anthropic называет это «Tool Use», OpenAI — «Function Calling», Google — «Function Declarations». Суть одна: модель получает набор инструментов и сама решает, когда и какой использовать.

Как AI решает, какой инструмент использовать

Это, пожалуй, самый частый вопрос от технических специалистов: «А как модель понимает, что нужно вызвать именно эту функцию, а не другую?»

Ответ проще и сложнее одновременно. Проще — потому что разработчики не пишут сложные правила типа «если в сообщении есть слово 'цена', вызови get_prices()». Сложнее — потому что модель учится принимать эти решения на миллионах примеров.

Когда вы подключаете функцию к AI-боту, вы описываете её на понятном языке:

Пример описания функции для AI

{
  "name": "create_deal",
  "description": "Создаёт новую сделку в CRM. Используй, когда клиент выражает интерес к покупке, запрашивает цены или хочет обсудить условия.",
  "parameters": {
    "client_name": "Название компании или имя клиента",
    "product": "Какой товар или услугу хочет клиент",
    "budget": "Примерный бюджет, если клиент озвучил",
    "deadline": "Когда планируется покупка",
    "priority": "high/medium/low — насколько срочная заявка"
  }
}

Обратите внимание: описание написано для AI, а не для программиста. Модель буквально «читает» эти инструкции и понимает, когда функция уместна.

Модель анализирует сообщение пользователя, сопоставляет его с описаниями доступных функций и выбирает подходящую. Если клиент пишет «хочу узнать цены на ваши услуги», модель видит, что это подходит под описание create_deal («когда клиент выражает интерес к покупке, запрашивает цены»). Если клиент пишет «где ваш офис?», модель понимает, что это информационный вопрос, и отвечает текстом, не вызывая никаких функций.

Но самое интересное происходит, когда запрос неоднозначен. Допустим, клиент пишет: «Мы работали с вами в прошлом году, хочу обсудить новый заказ.»

Хорошо настроенный бот сделает следующее:

  1. Вызовет функцию search_client — найдёт клиента в базе по номеру телефона или имени
  2. Вызовет функцию get_order_history — посмотрит, что клиент заказывал раньше
  3. Вызовет функцию create_deal — создаст новую сделку, привязав к существующему клиенту
  4. Ответит: «Здравствуйте! Вижу, что в прошлом году вы заказывали у нас [название продукта]. Создал новую заявку. Менеджер Алексей, который работал с вами ранее, свяжется в течение часа.»

Три вызова функций, логическая цепочка, персонализированный ответ — и всё это без единой строчки кода, специально написанной для этого сценария. Подробнее о том, как AI понимает намерения клиента, читайте в статье AI Intent Detection: как бот определяет, чего хочет клиент.

12 практических сценариев: что AI-бот может делать в вашей CRM

Теория — это хорошо, но давайте к практике. Вот реальные сценарии, которые мы внедряем у клиентов прямо сейчас.

Автоматическое создание лидов

Клиент пишет «хочу заказать» — бот извлекает имя, контакты, интерес и создаёт карточку в CRM. Без ручного ввода.

Экономия: 5-7 минут на лид
Бронирование времени

Бот проверяет календарь менеджера, предлагает свободные слоты, создаёт встречу и отправляет приглашение.

Конверсия записи: +40%
Генерация КП

По запросу клиента бот берёт цены из каталога, формирует PDF с логотипом компании и отправляет на email.

Время отправки: 30 сек
Постановка задач

Бот сам ставит задачи менеджерам: «Перезвонить клиенту», «Подготовить договор», «Проконтролировать оплату».

0 забытых follow-up
Поиск по базе

«Найди все сделки с компанией Х» — бот ищет в CRM и возвращает результат в удобном виде.

Для менеджеров и РОПов
Обновление статусов

Клиент сообщил, что готов к оплате — бот переводит сделку на следующий этап воронки.

Актуальность данных: 100%

Ещё 6 сценариев для продвинутых

  • Проверка остатков

    Бот смотрит в 1С или на склад: «Да, этот товар есть, 12 штук на складе в Алматы»

  • Расчёт доставки

    Интеграция с логистическими сервисами: сроки и стоимость в реальном времени

  • Отправка документов

    Договор, счёт, акт — бот находит в системе и отправляет клиенту

  • Уведомление команды

    VIP-клиент написал? Бот мгновенно уведомит РОПа в Telegram

  • Запись в журнал

    Каждое действие бота логируется: кто, когда, что сделал

  • Эскалация на человека

    Если бот не уверен — передаёт диалог менеджеру с полным контекстом

Каждый из этих сценариев — это не абстрактная возможность, а реально работающий функционал у наших клиентов. Языковая школа в Астане использует бронирование времени. Дистрибьютор запчастей — проверку остатков и генерацию КП. Юридическая фирма — постановку задач и отправку документов.

Больше готовых сценариев — в статье 25 готовых сценариев для CRM-бота: продажи, поддержка, операции.

Хотите узнать, какие сценарии подойдут вашему бизнесу?

Расскажите о ваших процессах — мы бесплатно подберём 5-7 сценариев автоматизации с Function Calling и оценим потенциальную экономию.

Получить консультацию

Безопасность: как не дать боту разрушить ваш бизнес

Звучит драматично? Это потому, что вопрос серьёзный.

Когда бот получает право создавать сделки, отправлять письма и ставить задачи — он получает реальную власть над бизнес-процессами. И первый вопрос, который задаёт любой вменяемый CEO: «А что, если он наделает глупостей?»

Честный ответ: без правильной архитектуры — наделает. Поэтому мы используем многоуровневую систему защиты.

Уровень 1: Ограничение функций

Бот имеет доступ только к тем действиям, которые вы явно разрешили. Нет функции «удалить_клиента» — нет риска случайного удаления.

Уровень 2: Подтверждение

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

Уровень 3: Аудит и откат

Каждое действие бота логируется. Если что-то пошло не так — можно отменить операцию и разобраться в причинах.

Вот конкретный пример. Наш клиент — компания по продаже строительных материалов — настроил бота так:

  • Создание лидов и сделок — без ограничений
  • Отправка КП до 500 000 тенге — автоматически
  • Отправка КП свыше 500 000 тенге — требует подтверждения менеджера
  • Изменение цен в каталоге — запрещено для бота
  • Удаление любых данных — запрещено для бота

Такой подход даёт скорость автоматизации там, где она безопасна, и контроль там, где нужна осторожность.

Есть ещё один важный аспект — защита от манипуляций. Злоумышленник может попытаться «уговорить» бота выполнить нежелательное действие через специально сформулированный запрос. Об этом подробно — в статье Jailbreak-атаки на бизнес-ботов: как защитить AI от манипуляций.

Когда что-то идёт не так: отладка и мониторинг

У Айгуль — помните, руководитель отдела продаж с промышленным оборудованием? — через неделю после запуска случился забавный инцидент.

Клиент написал: «Хочу 5 компрессоров, но сначала обсудим с вашим инженером технические детали.»

Бот создал сделку на 5 компрессоров. И тут же отправил КП. Клиент удивился — он же просил сначала обсудить, а не покупать. Менеджеру пришлось извиняться.

Почему так вышло? Модель увидела «хочу 5 компрессоров» и решила, что это запрос на покупку. Слово «сначала» она не интерпретировала как блокирующее условие.

Как мы это отладили:

Процесс отладки Function Calling

1
Анализ логов

Смотрим, какие функции вызвались и с какими параметрами. В данном случае: create_deal (правильно) → generate_kp (неправильно) → send_email (неправильно).

2
Анализ рассуждений модели

Современные модели могут показать «ход мыслей». Видим: модель решила, что клиент готов к покупке, потому что указал количество.

3
Корректировка инструкций

Добавляем в описание функции: «НЕ отправляй КП автоматически, если клиент просит сначала обсудить, уточнить, подумать или подобные фразы».

4
Тестирование на похожих кейсах

Прогоняем 10-15 вариаций запроса: «хочу обсудить», «сначала консультация», «потом закажу». Убеждаемся, что бот теперь ведёт себя правильно.

Весь процесс занял 20 минут. Никакого кода — только корректировка текстовых инструкций для бота. В этом прелесть современного подхода: отладка происходит на человеческом языке.

Для системного мониторинга мы используем дашборды, которые показывают:

  • Сколько функций вызвано за день/неделю
  • Процент успешных вызовов vs ошибок
  • Какие функции самые популярные
  • Среднее время выполнения
  • Аномалии: резкий рост ошибок, необычные паттерны

Подробнее о метриках — в статье Мониторинг AI-ботов: какие метрики отслеживать.

Как это устроено технически: архитектура под капотом

Для технических специалистов — краткий обзор архитектуры. Если вы не разработчик, смело пропускайте эту секцию.

Упрощённая архитектура Function Calling

Клиент

WhatsApp / Telegram / Сайт

API Gateway

Авторизация, rate limiting

AI Orchestrator

Управляет диалогом и вызовами

CRM API
Email Service
Calendar API
1C/ERP

Orchestrator — ключевой компонент. Он получает сообщение, отправляет в LLM, получает ответ (текст или вызов функции), выполняет функцию, возвращает результат в LLM, получает финальный ответ для пользователя.

Важные технические моменты:

  • Structured Outputs — модель гарантированно возвращает валидный JSON по схеме
  • Parallel Tool Calls — несколько функций выполняются одновременно
  • Retry Logic — при ошибке функции модель может попробовать снова или спросить пользователя
  • Streaming — пользователь видит ответ по мере генерации, не ждёт полного завершения

Для тех, кто хочет глубже разобраться в архитектуре, рекомендую статью Интеграция бота с ERP/CRM: 8 ошибок при составлении ТЗ.

OpenAI vs Claude vs Gemini: кто лучше справляется с Function Calling

Все крупные провайдеры AI-моделей поддерживают Function Calling, но качество реализации отличается.

Критерий OpenAI (GPT-4) Anthropic (Claude) Google (Gemini)
Точность выбора функции Отличная Отличная Хорошая
Параллельные вызовы Да Да Да
Structured Outputs JSON Schema Базовая поддержка Базовая поддержка
Сложные цепочки Хорошо Очень хорошо Средне
Работа с русским языком Хорошо Очень хорошо Хорошо
Доступность в Казахстане Через VPN или proxy Через VPN или proxy Напрямую

Наш опыт показывает, что для бизнес-задач в СНГ оптимальны GPT-4 и Claude. Они лучше понимают нюансы русского языка, точнее извлекают параметры из неструктурированного текста.

Для компаний, которым критична локализация данных, есть альтернатива — Yandex GPT и GigaChat. Подробнее — в статье Интеграция CRM с Yandex GPT и GigaChat: локальные LLM для России и Казахстана.

Экономика Function Calling: сколько это стоит

Честный вопрос — честный ответ. Function Calling увеличивает расход токенов, потому что в каждый запрос нужно включать описания функций. Но экономия от автоматизации многократно перевешивает эти затраты.

Пример расчёта для компании с 500 диалогами в месяц

Без Function Calling
Токены на диалог: ~2 000
Стоимость токенов (GPT-4): ~$0.06
500 диалогов × $0.06: $30/мес
Ручной ввод данных (5 мин × 500): ~42 часа
Стоимость ручного труда: ~$420
С Function Calling
Токены на диалог: ~3 500
Стоимость токенов (GPT-4): ~$0.10
500 диалогов × $0.10: $50/мес
Ручной ввод данных: 0 часов
Стоимость ручного труда: $0

Итог: Дополнительные $20/мес на токены экономят $420/мес на ручном труде. ROI: 2000%.

Это ещё без учёта того, что автоматический ввод данных точнее (нет опечаток), быстрее (секунды vs минуты), и работает 24/7.

Подробнее об оптимизации расходов — в статье Оптимизация стоимости AI-бота: токены, кэш, model routing.

С чего начать: пошаговый план внедрения

Если вы дочитали до этого места и думаете «хочу такое у себя» — вот практический план.

1
Неделя 1: Аудит
  • Выпишите 10 самых частых действий менеджеров
  • Оцените время на каждое (минуты)
  • Определите, какие можно автоматизировать
2
Неделя 2-3: MVP
  • Выберите 2-3 функции для старта
  • Настройте интеграцию с CRM
  • Протестируйте на 50-100 диалогах
3
Неделя 4+: Масштабирование
  • Добавляйте новые функции по мере готовности
  • Анализируйте ошибки и улучшайте
  • Измеряйте ROI каждой функции

Важно: начинайте с простого. Первые функции должны быть низкорисковыми — создание лидов, постановка задач. Не пытайтесь сразу автоматизировать отправку контрактов на миллионы тенге.

По мере того как команда привыкнет доверять боту, можно расширять его полномочия. Это похоже на делегирование новому сотруднику: сначала простые задачи, потом — после того как докажет надёжность — более ответственные.

Заключение: бот, который работает, а не просто говорит

Вернёмся к Айгуль. Через три месяца после внедрения Function Calling её бот обрабатывает 70% входящих заявок полностью автономно. Создаёт контакты, заводит сделки, отправляет первичные КП, ставит задачи на follow-up.

Менеджеры перестали жаловаться на рутину — потому что её стало в разы меньше. Они занимаются тем, для чего их нанимали: переговорами, презентациями, закрытием сделок. А не копированием текста из чата в CRM.

«Знаешь, что изменилось больше всего? — сказала Айгуль на последнем созвоне. — Мы перестали терять горячие лиды. Раньше клиент писал в 11 вечера, а утром уже забывал о нас. Сейчас он получает КП через минуту. И когда менеджер звонит утром — клиент уже изучил предложение и готов обсуждать детали.»

Function Calling — это не очередной AI-хайп. Это практическая технология, которая превращает умного собеседника в полноценного цифрового сотрудника. Сотрудника, который не устаёт, не ошибается от невнимательности, работает круглосуточно и стоит дешевле стажёра.

Будущее уже здесь. Вопрос только в том, когда вы решите им воспользоваться.

Готовы превратить бота в цифрового сотрудника?

Расскажите о ваших бизнес-процессах — мы покажем, какие действия можно автоматизировать с Function Calling. Бесплатная консультация, без обязательств.

Получить консультацию

Читайте также

Tool Calling и агенты: как дать LLM доступ к CRM

Архитектура и безопасность интеграции AI с бизнес-системами

Agentic AI: когда можно доверить боту самому закрывать сделки

Следующий уровень автономности AI-агентов

Бот + CRM: как превратить диалоги в сделки и задачи

Практические сценарии интеграции

25 готовых сценариев для CRM-бота

Продажи, поддержка, операции — с KPI для каждого