<div><img src="https://mc.yandex.ru/watch/56654995" style="position:absolute; left:-9999px;" alt="" /></div>
Попробовать бесплатно

Вызов функций (function calling)

Без вызова функций LLM ограничена своим собственным «знанием» и текущим контекстом. С вызовом функций она получает доступ к актуальным данным, реальным действиям в системах и точным алгоритмам.

Типичный сценарий

  1. Разработчик описывает функции и их параметры в формате схемы (например, JSON Schema).
  2. LLM получает запрос пользователя и описания доступных функций.
  3. Модель решает, нужно ли вызвать функцию, и возвращает её имя и аргументы.
  4. Программа выполняет функцию и подаёт результат модели в виде нового сообщения.
  5. Модель формирует окончательный ответ пользователю.

Где особенно полезно

  • Получение свежих данных (курсы, погода, остатки на складе, статусы заказов).
  • Точные вычисления и работа с базами данных.
  • Создание и обновление записей в CRM, тикетов в поддержке, событий в календаре.
  • Подключение к корпоративному поиску и базе знаний.

Когда применять и когда нет

Применять

  • Нужно подключить LLM к актуальным данным или внешним системам
  • Хочется обойти ограничения модели в точных вычислениях
  • Строите агента, который должен выполнять действия, а не только отвечать

Не применять

  • Простой ассистент, которому достаточно текстовых ответов
  • Когда вызов внешних систем требует сложной авторизации, к которой ещё не готова инфраструктура

Примеры применения

В ассистент по работе с CRM прокидывают несколько функций: «найти клиента», «получить сделки клиента», «создать задачу для менеджера». Пользователь спрашивает: «открой задачу позвонить Иванову завтра в 11». Модель сама вызывает «найти клиента (Иванов)», получает его карточку, затем «создать задачу (клиент=…, время=…, текст=…)» — и подтверждает в чате, что задача создана.

Часто задаваемые вопросы

В обычном парсинге разработчик пытается распарсить произвольный текст, который вернула модель. С function calling модель сразу возвращает структурированный JSON с именем функции и аргументами по описанной схеме. Это резко снижает количество ошибок и упрощает интеграции.

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

Готовы применить теорию на практике?

Соберите команду в Shtab — единое пространство для проектов, целей и задач. Бесплатно до 5 человек.