AI-агенти та автоматизація
Що таке function calling (виклик інструментів)?
Function calling (tool calling, виклик інструментів) — це механізм, який дозволяє мовній моделі звертатися до зовнішніх функцій. Розробник описує доступні функції та їхні параметри, а модель, коли потрібно, повертає не текст, а структурований запит: яку функцію викликати і з якими даними.
Важливо: модель нічого не виконує сама. Вона лише повідомляє, що хоче зробити, у форматі JSON — наприклад, «виклич get_order_status з номером 12345». Ваш код перевіряє запит, виконує функцію і повертає результат моделі, щоб вона сформулювала відповідь.
Саме function calling перетворює мовну модель на AI-агента. Без нього модель може лише писати текст, а з ним — отримувати актуальні дані та виконувати дії в реальних системах.
Де застосовується
Це основа роботи всіх агентів. Через виклик функцій модель дізнається погоду, шукає замовлення в базі, створює задачу в трекері, надсилає лист. Без нього вона не може ні отримати свіжі дані, ні щось змінити в зовнішній системі.
Розробник описує кожну функцію схемою: назва, призначення, параметри і їхні типи. Модель за описом обирає потрібну функцію і повертає аргументи, а виконує виклик ваш код. Це важливо для безпеки: модель нічого не запускає, вона лише пропонує дію.
Приклад
Користувач питає: «Яка погода в Києві завтра?». Модель не вигадує прогноз, а повертає виклик функції get_weather з параметрами city=Kyiv і date=завтра. Код звертається до сервісу погоди і передає результат моделі, яка формулює відповідь.
{
"name": "get_order_status",
"description": "Повертає статус замовлення за його номером",
"input_schema": {
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "Номер замовлення, наприклад A-10427"
}
},
"required": ["order_id"]
}
}
Function calling і MCP: як пов’язані
Function calling — це вміння моделі викликати інструменти, а опис функцій ви пишете під свій код. MCP — стандарт того, як інструменти описуються і підключаються, щоб один набір працював у різних застосунках. MCP не замінює function calling, а уніфікує, звідки беруться описи функцій.
Часті запитання
Чи виконує модель функцію сама?
Ні, і це принципово. Модель повертає структурований запит: яку функцію викликати і з якими параметрами. Виконує виклик ваш код, і він же вирішує, чи можна виконати цю дію. Так контроль над реальними операціями залишається в застосунку.
Як модель обирає, яку функцію викликати?
За текстовим описом функції та її параметрів, який ви передаєте разом із запитом. Тому якість опису дуже важлива: розмите «робота з даними» призводить до помилкового вибору, а точний опис призначення — до правильного.
Чим function calling відрізняється від MCP?
Function calling працює на рівні моделі: як вона формулює виклик. MCP працює на рівні застосунку: як інструменти описуються і підключаються. Зрештою MCP-сервер теж перетворюється на набір функцій, які модель викликає тим самим механізмом.
Що робити, якщо модель передає неправильні параметри?
Перевіряти їх у коді перед виконанням, як будь-які дані з ненадійного джерела. Якщо щось не так, повертати моделі зрозуміле повідомлення про помилку — зазвичай вона виправляє виклик із другої спроби. Допомагають і чіткі схеми з переліком допустимих значень.
Навчання програмуванню в OWU
Опануйте професію в IT на практичних курсах із менторами та реальними проєктами.
Обрати курс