Что такое function calling (вызов инструментов)?
Function calling (он же tool calling) — это механизм, который позволяет языковой модели вызывать внешние функции. Разработчик описывает доступные функции и их параметры, а модель, когда это нужно, возвращает не текст, а структурированный запрос: какую функцию вызвать и с какими аргументами.
Ключевой момент: модель ничего не выполняет сама. Она лишь сообщает намерение в формате JSON — например, «вызови get_order_status с номером 12345». Ваш код проверяет запрос, выполняет функцию и передаёт результат обратно модели, чтобы та сформулировала ответ пользователю.
Именно function calling превращает языковую модель в AI-агента: без него модель может только говорить, с ним — узнавать текущие данные и совершать действия в реальных системах.
Function calling и MCP — как связаны
Function calling — это способность модели вызывать инструменты; она есть у моделей сама по себе, а описание функций вы пишете под свой код. MCP — стандарт того, как инструменты объявляются и подключаются, чтобы один и тот же набор работал в разных приложениях. MCP не заменяет function calling, а стандартизирует то, откуда берутся описания функций.
Связанные термины
AI-агент — это программа на базе языковой модели, которая получает цель, сама планирует шаги к ней и выполняет их с помощью подключённых инструментов: ищет данные, вызывает API, редактирует файлы, отправляет письма — и по результату каждого шага решает, что делать дальше.
MCPMCP (Model Context Protocol) — это открытый протокол, который стандартизирует подключение AI-приложений к внешним инструментам и источникам данных. Он описывает единый способ, которым модель узнаёт, какие инструменты доступны, и вызывает их.
APIAPI (Application Programming Interface) — это набор правил, по которым одна программа обращается к другой: какие запросы можно отправить, какие параметры передать и в каком виде придёт ответ. API позволяет использовать чужой сервис, ничего не зная о его внутреннем устройстве.
JSONJSON (JavaScript Object Notation) — текстовый формат обмена данными, в котором информация записывается парами «ключ — значение». Его понимают все языки программирования, и именно в нём чаще всего отвечают современные API.
LLMLLM (Large Language Model, большая языковая модель) — это нейросеть, обученная на огромных объёмах текста и предсказывающая следующий фрагмент текста. Именно на LLM работают ChatGPT, Claude, Gemini и другие AI-ассистенты.