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

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

КРАТКО
Вызов функций — это способ научить большую языковую модель нажимать кнопки во внешних системах. Разработчик описывает доступные функции, например «получить курс валют» или «создать задачу в Jira». Модель в нужный момент возвращает имя функции и её аргументы, программа выполняет вызов и подаёт результат обратно. Так модель из генератора текста превращается в управляющий контур приложения.
СИНОНИМЫ:Вызов функцийинструменты моделиfunction callingtool use

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

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

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

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

  • Получение свежих данных: курсы, погода, остатки на складе, статусы заказов.
  • Точные вычисления и работа с базами данных.
  • Создание и обновление записей в CRM, обращений в поддержке, событий в календаре.
  • Подключение к корпоративному поиску и базе знаний.
КОГДА ПРИМЕНЯТЬ
  • Нужно подключить модель к актуальным данным или внешним системам
  • Хочется обойти ограничения модели в точных вычислениях
  • Строите агента, который должен выполнять действия, а не только отвечать
КОГДА НЕ СТОИТ
  • Простой ассистент, которому достаточно текстовых ответов
  • Когда вызов внешних систем требует сложной авторизации, к которой ещё не готова инфраструктура
ПРИМЕР

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

КАК ИСПОЛЬЗОВАТЬ В SHTAB

Чёткое описание функций важнее, чем выбор модели. Хорошее имя, понятные параметры с типами и краткое пояснение, когда функцию вызывать, дают на порядок более стабильное поведение, чем длинный системный промпт. Если функция вызывается не там, где нужно, в 80% случаев проблема в её описании, а не в самой модели.

Попробовать бесплатно

Вопросы про «Вызов функций (function calling)»

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

Применяйте термины на практике

База знаний, задачи и цели — в одном сервисе. Бесплатно — без лимита по числу людей.