Головна › Гайди по екосистемі Claude
Tool use у Claude: як модель викликає функції
Tool use (function calling) — це механізм, яким Claude просить виконати дії, а твій код їх виконує: той самий цикл, що перетворює текстову модель на агента.
Що таке tool use насправді
Tool use (його ще називають function calling) — це спосіб, у який модель виходить за межі тексту й починає діяти. Сам по собі Claude лише породжує слова: він не може звернутися до бази даних, викликати API чи прочитати файл. Tool use усуває це обмеження. Ти описуєш функції, які Claude має право викликати, і коли запит цього потребує, модель просить твій код їх виконати та передає аргументи.
Головний зсув у мисленні: Claude нічого не виконує самостійно. Він вирішує, який інструмент пасує й які дані передати, а сам виклик робить твій код. Саме цей поділ лишає під твоїм контролем побічні ефекти, ключі доступу та безпеку — а модель відповідає лише за рішення, коли інструмент справді потрібен.
Опис інструментів і цикл запитів
Кожен інструмент оголошується назвою, коротким описом і JSON-схемою його вхідних даних. Опис важить більше, ніж здається: це єдине, що Claude читає, аби зрозуміти, коли інструмент доречний. Тому пиши його як документацію, а не як підпис до кнопки.
Обмін відбувається циклом. Ти надсилаєш повідомлення користувача разом з описами інструментів. Claude відповідає одним або кількома блоками tool_use, де названо інструмент і структурований вхід. Твій код виконує справжню роботу й повертає результат блоками tool_result, що посилаються на відповідний запит. Claude читає ці результати й або відповідає користувачеві, або просить ще один виклик. Цикл повторюється, доки завдання не завершене.
- Ти визначаєш: назву, опис, схему входу.
- Claude повертає: блоки tool_use з аргументами.
- Ти повертаєш: блоки tool_result з результатом.
Коли зупинятися: stop_reason
Кожна відповідь несе поле stop_reason, яке підказує циклу, що робити далі. Коли Claude хоче інструмент, значення сигналізує про незавершений виклик — і твій код мусить його виконати та відповісти. Коли модель завершила, значення стає end_turn: це знак зупинити цикл і показати фінальну відповідь.
Будувати цикл навколо stop_reason, а не навколо здогадів, — значить тримати логіку чесною: ти ніколи не запустиш інструмент, якого модель не просила, і ніколи не обірвеш багатокрокове завдання завчасно. Наприклад, погодний помічник може викликати геокодер, прочитати результат, викликати прогноз і лише тоді дійти до end_turn з готовою відповіддю.
Кілька інструментів паралельно
Одна відповідь може містити відразу кілька блоків tool_use. Якщо Claude бачить, що потрібні три незалежні пошуки, він може попросити їх разом, а не по одному за коло. Твій код виконує їх — часто паралельно — і повертає всі відповідні блоки tool_result наступним повідомленням.
Це критично для швидкості. Дістати картку клієнта, його останні замовлення та звернення в підтримку паралельно — означає стиснути три послідовні цикли в один. Саме тут проходить межа між жвавим агентом і повільним. Модель усе одно чекає на всі результати, перш ніж міркувати над цілісною картиною.
Чому цей цикл — основа кожного агента
Усе складніше — це той самий цикл, лише з більшим обрамленням. MCP стандартизує, як інструменти виставляються назовні, щоб їх міг перевикористати будь-який клієнт; agent SDK пакує цикл разом із вбудованими інструментами й дозволами; extended thinking додає прохід міркування, перш ніж модель спланує виклики. Прибери це все — і ядро лишиться тим самим: визнач інструменти, отримай запити, поверни результати, повтори.
Тому чисте розуміння цього циклу — найвигідніше, що можна засвоїти в екосистемі Claude. Опануй його тут — і кожна важча абстракція стане зручністю, а не загадкою. Саме на цьому далі будується інтерактивний курс.
Часті запитання
- Tool use і function calling — це те саме?
- Так. Це дві назви одного механізму: ти описуєш функції, які модель може викликати, а вона повертає структуровані запити, що їх виконує твій код.
- Чи виконує Claude інструменти сам?
- Ні. Claude лише вирішує, який інструмент викликати й з якими аргументами; твій код запускає інструмент і повертає результат блоком tool_result. Виняток — серверні інструменти на кшталт вебпошуку, що працюють на інфраструктурі Anthropic.
- Як Claude розуміє, що пора припинити виклики?
- Кожна відповідь містить stop_reason. Твій цикл виконує інструменти, доки Claude їх просить, і зупиняється, коли значення стає end_turn — це сигнал фінальної відповіді.
Пройти інтерактивно
У кожного напряму є питання, картки з інтервальним повторенням і облік прогресу. Для них потрібен акаунт — безкоштовний і на одну хвилину.
Відкрити інтерактивний трек Створити безкоштовний акаунт