Айгуль — руководитель отдела продаж в компании, которая занимается промышленным оборудованием. Двадцать три менеджера, сложные B2B-сделки, цикл от первого контакта до подписания контракта — от двух месяцев до полугода.
Когда мы внедряли AI-бота для обработки входящих заявок, Айгуль задала вопрос, который слышу от каждого второго клиента:
«Хорошо, бот ответит на типовые вопросы. Но дальше-то что? Менеджеру всё равно придётся руками заводить сделку в CRM, ставить задачу на перезвон, отправлять коммерческое предложение. Где тут экономия времени?»
Она была права. Первые поколения чат-ботов — даже умных, на базе GPT — работали как справочные. Спросил — ответили. Но между ответом бота и реальным действием в бизнес-системе оставалась пропасть, которую заполнял человек.
Всё изменилось с появлением Function Calling — технологии, которая позволяет AI-модели не просто генерировать текст, а вызывать реальные функции в ваших системах. Бот теперь не говорит «я создам для вас сделку» — он её создаёт. Не обещает отправить письмо — отправляет. Не предлагает забронировать время — бронирует.
В этой статье разберём, как это работает под капотом, какие сценарии уже реализуемы сегодня, и почему через пару лет AI-боты без Function Calling будут казаться такими же архаичными, как сайты без мобильной версии.
«Function Calling превращает языковую модель из умного собеседника в цифрового сотрудника. Разница — как между человеком, который знает, как водить машину, и человеком, который реально садится за руль и едет.»
Представьте себе ситуацию. Клиент пишет в WhatsApp вашей компании:
«Здравствуйте! Меня зовут Марат Касымов, я из ТОО "СтройМаркет". Хочу узнать цены на компрессоры Atlas Copco серии GA. Планируем закупку на январь, объём — около 5 единиц. Можете выслать КП на марат@stroymarket.kz?»
Что делает обычный чат-бот? Отвечает что-то вроде: «Здравствуйте! Спасибо за интерес к нашей продукции. Я передам вашу заявку менеджеру, и он свяжется с вами в ближайшее время.» Всё. Дальше человек должен руками скопировать информацию, создать контакт, завести сделку, поставить задачу.
Что делает бот с Function Calling?
Марат Касымов, ТОО "СтройМаркет", марат@stroymarket.kz
«Компрессоры GA x5», этап «Новая заявка», дедлайн — январь
PDF с ценами на Atlas Copco GA уходит на указанный email
«Перезвонить Марату через 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». Суть одна: модель получает набор инструментов и сама решает, когда и какой использовать.
Это, пожалуй, самый частый вопрос от технических специалистов: «А как модель понимает, что нужно вызвать именно эту функцию, а не другую?»
Ответ проще и сложнее одновременно. Проще — потому что разработчики не пишут сложные правила типа «если в сообщении есть слово 'цена', вызови get_prices()». Сложнее — потому что модель учится принимать эти решения на миллионах примеров.
Когда вы подключаете функцию к AI-боту, вы описываете её на понятном языке:
{
"name": "create_deal",
"description": "Создаёт новую сделку в CRM. Используй, когда клиент выражает интерес к покупке, запрашивает цены или хочет обсудить условия.",
"parameters": {
"client_name": "Название компании или имя клиента",
"product": "Какой товар или услугу хочет клиент",
"budget": "Примерный бюджет, если клиент озвучил",
"deadline": "Когда планируется покупка",
"priority": "high/medium/low — насколько срочная заявка"
}
}
Обратите внимание: описание написано для AI, а не для программиста. Модель буквально «читает» эти инструкции и понимает, когда функция уместна.
Модель анализирует сообщение пользователя, сопоставляет его с описаниями доступных функций и выбирает подходящую. Если клиент пишет «хочу узнать цены на ваши услуги», модель видит, что это подходит под описание create_deal («когда клиент выражает интерес к покупке, запрашивает цены»). Если клиент пишет «где ваш офис?», модель понимает, что это информационный вопрос, и отвечает текстом, не вызывая никаких функций.
Но самое интересное происходит, когда запрос неоднозначен. Допустим, клиент пишет: «Мы работали с вами в прошлом году, хочу обсудить новый заказ.»
Хорошо настроенный бот сделает следующее:
search_client — найдёт клиента в базе по номеру телефона или имениget_order_history — посмотрит, что клиент заказывал раньшеcreate_deal — создаст новую сделку, привязав к существующему клиентуТри вызова функций, логическая цепочка, персонализированный ответ — и всё это без единой строчки кода, специально написанной для этого сценария. Подробнее о том, как AI понимает намерения клиента, читайте в статье AI Intent Detection: как бот определяет, чего хочет клиент.
Теория — это хорошо, но давайте к практике. Вот реальные сценарии, которые мы внедряем у клиентов прямо сейчас.
Клиент пишет «хочу заказать» — бот извлекает имя, контакты, интерес и создаёт карточку в CRM. Без ручного ввода.
Экономия: 5-7 минут на лидБот проверяет календарь менеджера, предлагает свободные слоты, создаёт встречу и отправляет приглашение.
Конверсия записи: +40%По запросу клиента бот берёт цены из каталога, формирует PDF с логотипом компании и отправляет на email.
Время отправки: 30 секБот сам ставит задачи менеджерам: «Перезвонить клиенту», «Подготовить договор», «Проконтролировать оплату».
0 забытых follow-up«Найди все сделки с компанией Х» — бот ищет в CRM и возвращает результат в удобном виде.
Для менеджеров и РОПовКлиент сообщил, что готов к оплате — бот переводит сделку на следующий этап воронки.
Актуальность данных: 100%Бот смотрит в 1С или на склад: «Да, этот товар есть, 12 штук на складе в Алматы»
Интеграция с логистическими сервисами: сроки и стоимость в реальном времени
Договор, счёт, акт — бот находит в системе и отправляет клиенту
VIP-клиент написал? Бот мгновенно уведомит РОПа в Telegram
Каждое действие бота логируется: кто, когда, что сделал
Если бот не уверен — передаёт диалог менеджеру с полным контекстом
Каждый из этих сценариев — это не абстрактная возможность, а реально работающий функционал у наших клиентов. Языковая школа в Астане использует бронирование времени. Дистрибьютор запчастей — проверку остатков и генерацию КП. Юридическая фирма — постановку задач и отправку документов.
Больше готовых сценариев — в статье 25 готовых сценариев для CRM-бота: продажи, поддержка, операции.
Расскажите о ваших процессах — мы бесплатно подберём 5-7 сценариев автоматизации с Function Calling и оценим потенциальную экономию.
Получить консультациюЗвучит драматично? Это потому, что вопрос серьёзный.
Когда бот получает право создавать сделки, отправлять письма и ставить задачи — он получает реальную власть над бизнес-процессами. И первый вопрос, который задаёт любой вменяемый CEO: «А что, если он наделает глупостей?»
Честный ответ: без правильной архитектуры — наделает. Поэтому мы используем многоуровневую систему защиты.
Бот имеет доступ только к тем действиям, которые вы явно разрешили. Нет функции «удалить_клиента» — нет риска случайного удаления.
Критичные операции (отправка КП на большую сумму, изменение цен) требуют подтверждения менеджера перед выполнением.
Каждое действие бота логируется. Если что-то пошло не так — можно отменить операцию и разобраться в причинах.
Вот конкретный пример. Наш клиент — компания по продаже строительных материалов — настроил бота так:
Такой подход даёт скорость автоматизации там, где она безопасна, и контроль там, где нужна осторожность.
Есть ещё один важный аспект — защита от манипуляций. Злоумышленник может попытаться «уговорить» бота выполнить нежелательное действие через специально сформулированный запрос. Об этом подробно — в статье Jailbreak-атаки на бизнес-ботов: как защитить AI от манипуляций.
У Айгуль — помните, руководитель отдела продаж с промышленным оборудованием? — через неделю после запуска случился забавный инцидент.
Клиент написал: «Хочу 5 компрессоров, но сначала обсудим с вашим инженером технические детали.»
Бот создал сделку на 5 компрессоров. И тут же отправил КП. Клиент удивился — он же просил сначала обсудить, а не покупать. Менеджеру пришлось извиняться.
Почему так вышло? Модель увидела «хочу 5 компрессоров» и решила, что это запрос на покупку. Слово «сначала» она не интерпретировала как блокирующее условие.
Как мы это отладили:
Смотрим, какие функции вызвались и с какими параметрами. В данном случае: create_deal (правильно) → generate_kp (неправильно) → send_email (неправильно).
Современные модели могут показать «ход мыслей». Видим: модель решила, что клиент готов к покупке, потому что указал количество.
Добавляем в описание функции: «НЕ отправляй КП автоматически, если клиент просит сначала обсудить, уточнить, подумать или подобные фразы».
Прогоняем 10-15 вариаций запроса: «хочу обсудить», «сначала консультация», «потом закажу». Убеждаемся, что бот теперь ведёт себя правильно.
Весь процесс занял 20 минут. Никакого кода — только корректировка текстовых инструкций для бота. В этом прелесть современного подхода: отладка происходит на человеческом языке.
Для системного мониторинга мы используем дашборды, которые показывают:
Подробнее о метриках — в статье Мониторинг AI-ботов: какие метрики отслеживать.
Для технических специалистов — краткий обзор архитектуры. Если вы не разработчик, смело пропускайте эту секцию.
WhatsApp / Telegram / Сайт
Авторизация, rate limiting
Управляет диалогом и вызовами
Orchestrator — ключевой компонент. Он получает сообщение, отправляет в LLM, получает ответ (текст или вызов функции), выполняет функцию, возвращает результат в LLM, получает финальный ответ для пользователя.
Важные технические моменты:
Для тех, кто хочет глубже разобраться в архитектуре, рекомендую статью Интеграция бота с ERP/CRM: 8 ошибок при составлении ТЗ.
Все крупные провайдеры 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 увеличивает расход токенов, потому что в каждый запрос нужно включать описания функций. Но экономия от автоматизации многократно перевешивает эти затраты.
| Токены на диалог: | ~2 000 |
| Стоимость токенов (GPT-4): | ~$0.06 |
| 500 диалогов × $0.06: | $30/мес |
| Ручной ввод данных (5 мин × 500): | ~42 часа |
| Стоимость ручного труда: | ~$420 |
| Токены на диалог: | ~3 500 |
| Стоимость токенов (GPT-4): | ~$0.10 |
| 500 диалогов × $0.10: | $50/мес |
| Ручной ввод данных: | 0 часов |
| Стоимость ручного труда: | $0 |
Итог: Дополнительные $20/мес на токены экономят $420/мес на ручном труде. ROI: 2000%.
Это ещё без учёта того, что автоматический ввод данных точнее (нет опечаток), быстрее (секунды vs минуты), и работает 24/7.
Подробнее об оптимизации расходов — в статье Оптимизация стоимости AI-бота: токены, кэш, model routing.
Если вы дочитали до этого места и думаете «хочу такое у себя» — вот практический план.
Важно: начинайте с простого. Первые функции должны быть низкорисковыми — создание лидов, постановка задач. Не пытайтесь сразу автоматизировать отправку контрактов на миллионы тенге.
По мере того как команда привыкнет доверять боту, можно расширять его полномочия. Это похоже на делегирование новому сотруднику: сначала простые задачи, потом — после того как докажет надёжность — более ответственные.
Вернёмся к Айгуль. Через три месяца после внедрения Function Calling её бот обрабатывает 70% входящих заявок полностью автономно. Создаёт контакты, заводит сделки, отправляет первичные КП, ставит задачи на follow-up.
Менеджеры перестали жаловаться на рутину — потому что её стало в разы меньше. Они занимаются тем, для чего их нанимали: переговорами, презентациями, закрытием сделок. А не копированием текста из чата в CRM.
«Знаешь, что изменилось больше всего? — сказала Айгуль на последнем созвоне. — Мы перестали терять горячие лиды. Раньше клиент писал в 11 вечера, а утром уже забывал о нас. Сейчас он получает КП через минуту. И когда менеджер звонит утром — клиент уже изучил предложение и готов обсуждать детали.»
Function Calling — это не очередной AI-хайп. Это практическая технология, которая превращает умного собеседника в полноценного цифрового сотрудника. Сотрудника, который не устаёт, не ошибается от невнимательности, работает круглосуточно и стоит дешевле стажёра.
Будущее уже здесь. Вопрос только в том, когда вы решите им воспользоваться.
Расскажите о ваших бизнес-процессах — мы покажем, какие действия можно автоматизировать с Function Calling. Бесплатная консультация, без обязательств.
Получить консультациюАрхитектура и безопасность интеграции AI с бизнес-системами
Следующий уровень автономности AI-агентов
Практические сценарии интеграции
Продажи, поддержка, операции — с KPI для каждого