Зачем LLM инструменты
Понимаем, почему одной генерации текста мало и что именно дают инструменты.
Инструмент (tool) — внешняя функция, которую LLM может попросить выполнить: расчёт, поиск, запрос к API, выполнение кода. Результат возвращается модели как новое наблюдение.
Чего LLM не умеет сама
LLM предсказывает следующий токен по статистике текста. Из этого вытекают её слабости:
- Счёт — модель «угадывает» арифметику, а не вычисляет. На больших числах часто ошибается.
- Свежие факты — она знает только то, что было на обучении; сегодняшняя погода или курс ей недоступны.
- Точные данные — содержимое вашей базы, документа, таблицы она не видит.
- Действия — отправить письмо, создать файл, дёрнуть API она физически не может.
Инструменты закрывают ровно эти дыры: то, что модель делает плохо или не может вовсе, она делегирует внешней функции.
Счёт: где модель спотыкается
Покажем разницу между «прикинуть» и «посчитать точно». Калькулятор-инструмент даёт верный результат, на который можно положиться.
# Инструмент-калькулятор — то, что мы дадим агенту вместо «угадывания»
def calculator(expression):
return eval(expression)
# LLM могла бы «прикинуть» такое в уме и ошибиться:
print("47 * 89 =", calculator("47 * 89"))
print("корень из 2 (10 знаков):", round(2 ** 0.5, 10))
print("сумма 1..100 =", calculator("sum(range(1, 101))"))
Вывод:
47 * 89 = 4183 корень из 2 (10 знаков): 1.4142135624 сумма 1..100 = 5050
Калькулятор всегда точен. Идея агента в том, чтобы модель сама догадалась вызвать такой инструмент, а не считать в уме.
Категории инструментов
| Категория | Пример | Зачем |
| Вычисления | калькулятор, Python-интерпретатор | точный счёт |
| Получение данных | веб-поиск, чтение базы | свежие и точные факты |
| Действия | отправка письма, запись в БД | менять внешний мир |
| Интеграции | вызов любого API | связь с другими системами |
«Code interpreter» как универсальный инструмент
Особый случай — инструмент «выполни код». Вместо десятка узких функций агенту дают возможность написать и запустить Python. Тогда счёт, разбор данных, построение графика — всё это становится одним инструментом. Это мощно, но и опаснее всего: выполнять чужой код нужно в песочнице (раздел 6).
Итог
- LLM плохо считает, не знает свежих фактов, не видит ваших данных и не может действовать — инструменты закрывают эти дыры.
- Инструмент — это функция, которую модель просит выполнить; результат возвращается ей как наблюдение.
- «Выполнить код» — универсальный, но самый опасный инструмент: его запускают в песочнице.