Глава 8 — Когда одной модели мало: инструменты и агенты
Восьмой пост разбора LLM Primer I: How Generative AI Works по главам. Для многих задач одной модели мало. Здесь начинается территория, где модель получает руки.
Чего одной модели не хватает
Изъяны главы 5 — галлюцинации, отсутствие чувства времени, слабые вычисления, колебания — не решаются одним лишь дополнительным обучением. Естественный выход — расширить модель за её пределы. Вместо того чтобы пытаться лечить всё внутри одного вызова, дать модели доступ к другим инструментам: поиску, вычислениям, базе данных, исполнению кода.
В одной строке: если модель выбирает следующий токен исходя из контекста, то добавление в контекст всего, что приходит снаружи — результат поиска, ответ калькулятора, текущее время, строка из базы — резко расширяет круг задач, которые она способна решить.
Вызов функции — просто и сильно
Самая распространённая форма использования инструментов — вызов функции. Вы описываете в контексте модели «доступны такие функции»; модель отвечает примерно так: «хочу вызвать эту функцию с такими аргументами»; система перехватывает это намерение, вызывает функцию по-настоящему, и возвращает результат в контекст модели. Модель продолжает уже оттуда.
С этой деталью в системе модель может «принять внутрь» поиск, вычисления, пользовательские данные — что угодно. Сама модель не меняется; круг того, что она способна решить, расширяется по числу доступных функций.
Чем отличается «агент»
Если вызов инструмента — это один ход, то «агент» — это последовательность таких ходов. Модель принимает один шаг, получает результат, кладёт его в контекст, принимает следующий шаг, и так до завершения задачи.
Этот цикл сильно расширяет круг задач, решаемых из короткой просьбы. «Сделай анализ этих данных» — агент сам решает, откуда тянуть данные, как их чистить, как представить — шаг за шагом.
§8.6 — новая секция 2026 года про паттерны агентов
В издании 2026 года я открыл §8.6, посвящённый паттернам агентов. Не для того, чтобы повторить «что такое агент», а чтобы разобрать форматы, которые набрали тягу на практике.
ReAct. Чередовать «reason (подумать)» и «act (сделать)». Модель пишет в контексте короткое обоснование, почему следующий вызов именно такой, вызывает инструмент, получает результат, и идёт дальше.
Планировщик-исполнитель. Одна модель (или один вызов) разом делает полный план; другая модель (или другой вызов) выполняет каждый шаг плана. Разделение труда между широким мышлением и точным исполнением сильно помогает в длинных задачах.
Рефлексия. Модель формирует первый ответ, а затем её заставляют посмотреть на него ещё раз — покритиковать, отшлифовать, улучшить. Звучит просто, и регулярно даёт заметную разницу в качестве.
Чего агенты ещё не решают
Во второй половине главы я честно говорю о пределах. Чем больше шагов — тем выше шанс, что один из них сорвётся и потянет за собой остальные. Если инструмент возвращает неверный ответ, на нём вырастает целая цепь нагромождений.
Эксплуатация агентов на практике требует столько же внимания к самим инструментам — качеству их возвратов, валидации, обработке ошибок — сколько к модели. Это другая работа, чем эксплуатация одной модели.
Нить Главы 8
Что остаётся: не пытайтесь решить всё внутри одной модели. Модель делает то, что у неё хорошо получается; другие инструменты — то, что хорошо у них. Именно это разделение труда делает систему в целом надёжной.
Завтра — Глава 9: RAG — сшиваем свежую информацию в контекст. Сфокусируемся на самом распространённом использовании инструментов сегодня — семантическом поиске. Как подпереть отсутствие чувства времени и фактическую точность через поиск, и что отделяет посредственный RAG от RAG, который масштабируется.