01 Что это
Без tool use LLM может только отвечать текстом. С tool use — может действовать. Вы описываете модели набор функций (имя, что делает, какие параметры), и она в нужный момент возвращает не текст, а структурированный вызов: «вызови search_emails с параметром query="договор с Acme"».
Дальше ваш код выполняет функцию, возвращает результат, модель видит и продолжает.
02 Как работает
- В запросе к API передаёте список доступных функций (JSON Schema).
- Модель видит запрос пользователя и решает: ответить текстом или вызвать функцию.
- Если функция — возвращает имя + аргументы в JSON.
- Ваш код вызывает функцию, передаёт результат обратно модели.
- Модель формулирует ответ пользователю с учётом результата.
03 В бизнесе
- SQL-ассистент. Модель сама пишет SQL и выполняет через tool.
- Корпоративный поиск. Tool «search_in_notion», «search_in_drive».
- CRM-агент. Tool «create_lead», «update_deal_stage».
- DevOps. Tool «get_logs», «restart_service», «open_pr».
04 Подводные камни
- Чем больше функций — тем хуже модель выбирает. Держите 5-15 на одного агента.
- Plain natural language description работает лучше формальных типов. Описывайте функцию как для джуна.
- На необратимых функциях — HITL.
- Логируйте все вызовы — это аудит-trail.