Что такое tool use — как ИИ-агент жмёт настоящие кнопки

Вот штука, которая ломает шаблон: сама по себе языковая модель не умеет ничего делать. Не может зайти в интернет, отправить письмо, посмотреть погоду. Всё, что она физически делает — дописывает текст. Откуда же тогда берутся ИИ-агенты, которые что-то реально выполняют?
Ответ — tool use (использование инструментов). И это куда проще, чем кажется.
Что это такое
Tool use — это договорённость между тобой и моделью: ты даёшь ей список кнопок и описание, что каждая делает. Когда для ответа нужна одна из них, модель не нажимает её сама (она не может) — она пишет: «нажми кнопку погода с городом Москва». Твой код видит это, реально дёргает погодный сервис, и возвращает результат обратно модели. Та читает ответ и продолжает разговор.
То есть модель — это мозг, который говорит «что сделать». Руки — твой код. LLM думает словами, инструменты дают этим словам выход в реальный мир.
Как это работает по шагам
- Ты описываешь инструменты. Например:
get_weather(город)— «вернёт погоду»,send_email(кому, текст)— «отправит письмо». Просто имя, что делает, какие параметры. - Пользователь спрашивает. «Какая погода в Питере?»
- Модель понимает: словами не ответить, нужен инструмент. Вместо обычного текста она выдаёт структурированный вызов:
get_weather(город="Санкт-Петербург"). - Твой код выполняет. Реально идёт в погодный сервис, получает «+14, дождь».
- Результат уходит обратно модели. Она читает «+14, дождь» и пишет человеку нормальный ответ: «В Питере +14 и дождь — бери зонт».
Ключевой момент: модель сама решает, когда инструмент нужен, а когда можно ответить из головы. «Сколько будет 2+2» — ответит сразу. «Какие у меня встречи завтра» — поймёт, что надо лезть в календарь.
Почему это важно тебе
Потому что это граница между «болталкой» и агентом. Без инструментов ИИ — умный собеседник, который знает много, но заперт в комнате. С инструментами он начинает действовать: бронировать, искать, чинить, публиковать.
И именно tool use ты будешь настраивать, когда соберёшь первого агента. Тут же возникает главное правило безопасности: давай ровно те кнопки, что нужны. Инструмент read_файлы — почти безобиден. Инструмент delete_всё — заряженный пистолет. Чем меньше прав, тем меньше бед, если что-то пойдёт не так.
А MCP — это про то же самое?
Да, MCP — это стандарт, который описывает инструменты так, чтобы любая модель и любое приложение понимали их одинаково. Вместо того чтобы вручную описывать каждую кнопку под каждую модель, ты подключаешь готовый MCP-сервер — и инструменты появляются сами. Tool use — это идея, MCP — удобная общая розетка под неё.
Это безопасно?
Сам по себе механизм — да. Опасность не в инструментах, а в том, что ты разрешил. Инструмент только читает погоду — рисков ноль. Инструмент тратит деньги или шлёт письма — нужен контроль: подтверждения, лимиты, проверка входных данных (см. инъекцию в промпт). Правило простое: относись к каждому инструменту как к праву, которое ты выдаёшь, а не как к функции, которую добавил.
Чем tool use отличается от плагина?
Плагин — это конкретная реализация (готовая интеграция в каком-то продукте). Tool use — общий принцип под капотом. Плагины, расширения, «функции», MCP-серверы — это всё разные обёртки вокруг одной и той же идеи: дать модели кнопки и дать её словам выход в мир.
Короткие уроки-истории, симулятор агента и ежедневная практика — в нашем мобильном приложении. Бесплатно.


