Опубликовано
Книжка в самолёт: глава 1 - движок, чат-бот, агент
Автор: Гусев Николай [портфолио]
Обновлено
Вводная: книжка в самолёт
Перед полётом "купил" в дорогу книгу - AI Agents and Applications Роберто Инфанте (Manning, 2026), на обложке LangChain, LangGraph и MCP. 450 страниц. В самолёте интернет не работает, делать нечего - самое время для чтения.
Честно: думал пролистать. Что тут нового - агенты я пишу каждый день, харнессы собираю, RAG-конвейеры у меня в проде. Но у книги оказался один нюанс, из-за которого я её дочитал: она хорошо раскладывает азы, которые в рабочей рутине размазываются. И второй нюанс: по дороге попались места, где я поймал себя на том, что не могу сформулировать базу, хотя пользуюсь ею ежедневно.
Поэтому первый тезис этой серии: даже если вы думаете, что всё это знаете и вам это не надо, иногда полезно пройтись по азам и базе. А если базы нет - тем более полезно.
Серия будет выходить раз в 1-2 дня, глава за главой. Пометки у постов: название книги и глава.
Отдельно про то, как я это учу. Для разбора главы я собрал себе набор из 29 скилов на четыре ступени: текст, схема, видео, курс. Про саму систему я писал отдельно: Как разбираться в ответах ИИ: 29 скилов на четыре ступени объяснения. Правило там одно: начинать с самой дешёвой ступени, которая может сработать. Для этой главы хватило текста и одной схемы - идея рисуется картинкой, значит видео не нужно.
Три класса LLM-систем: кто принимает решение
Вся первая глава книги держится на одном разделении. Любая LLM-система - это ответ на вопрос: кто выбирает следующий шаг?
Движок (в терминах LangChain - chain). Путь проложен заранее, вы написали цепочку шагов в коде. Модель отвечает на конкретный вопрос внутри шага, но куда идти дальше - решаете вы, ещё на этапе программирования. Предсказуемо, воспроизводимо, отлаживается как обычная программа.

Чат-бот. Добавляется диалог и память в пределах контекстного окна. Но следующий шаг всё ещё ваш: ходите вы, модель просто отвечает хорошо.
Агент. Выбор следующего шага передаётся модели. Цикл: наблюдение, решение, действие - и снова наблюдение. Модель сама решает, какой инструмент взять (поиск, файл, код, API) и когда остановиться. Вы меняетесь местами с программой: пишете не шаги, а цель.

"Заметки на полях". У меня таких детерминированных пайплайнов много, и они намеренно движки, а не агенты. Пайплайн рисования каноничного персонажа: референс на вход, фиксированная цепочка узлов, 25 шагов - и на выходе каждый раз воспроизводимый кадр. Разбор голосовых заметок в статью: скачивание, распознавание, сегментация по темам, сборка - фиксированные этапы без единого решения модели о маршруте. В обоих случаях ветвление перечислимо, поэтому агент там не нужен: он добавил бы вызовы модели за предсказуемость, которую я и так имею кодом.
Строка главы, которая остаётся в голове: движки выполняют рабочие процессы, агенты управляют рабочими процессами. Меняете определённость на гибкость - и платите за это отладкой, токенами и необходимостью guardrails, ограничений на то, куда агент вообще может дотянуться.

RAG: конвейер из двух фаз, а не волшебство
Вторая тема главы - RAG. Схема простая и стоит держать её в голове, потому что вся остальная книга её разворачивает.
Фаза ингестии, делается один раз: загрузка документов, нарезка на чанки, эмбеддинги (векторы, кодирующие смысл текста), запись в векторное хранилище.
Фаза запроса, на каждый вопрос: вопрос кодируется той же моделью эмбеддингов, идёт семантический поиск по векторам, промпт собирается из вопроса и найденных чанков, модель отвечает.

"Заметки на полях". Эта серия и готовится через такой конвейер. Книга лежит в RAG-индексе: 614 чанков, эмбеддинги bge-m3, поиск по матрице - когда пишу разбор главы, тянуть точный раздел одной командой. Тот самый двухфазный конвейер из главы 1, собранный для одной книги, работает год и не просит внимания. Как собрать такой себе за вечер, я разбирал отдельно: book2rag: как загнать книги из Telegram в RAG.
Честная оговорка автора: RAG не устраняет галлюцинации. Он сужает пространство ответов. Причины остаются те же - нерелевантное извлечение, шум в контексте, тяга модели достроить ответ ради связности. Книга не обещает, что RAG решает проблему фактичности, и это подкупает: иллюзии нет с первой главы.
LangChain как карта
Третий блок главы - карта LangChain из девяти элементов: загрузчики документов, сплиттеры, модель эмбеддингов, векторные хранилища, базы знаний на графах, ретриверы, промпты, кеш, модель с парсером вывода.
Ценность не в самой библиотеке. Это разложение переносится на любой фреймворк: где-то эти же элементы названы иначе, но состав один. У автора есть отдельное честное место про дату: LangChain 1.0 отказался от legacy-цепочек в пользу LangGraph, и часть примеров книги со временем станет исторической.
Выбор модели: три оси
Глава сводит выбор модели к трём осям: точность, задержка, стоимость. Корреляция честная: больше модель - точнее, медленнее, дороже.
Рабочий паттерн автора: дешёвая модель на суммаризацию, средняя на синтез ответа, большая на маршрутизацию сложных запросов.
"Заметки на полях". Паттерн рабочий, проверено на живом замере: 38 задач, 14 моделей, дешёвые на механике и большие на маршрутизации - ровно это разложение. Подробности и таблицы по ценам и задержкам: Живой замер API: 38 задач, 14 моделей и одна несуществующая статья ТК.
Критерий, которого в книге нет
Из всех мест главы самое полезное автор не договаривает: когда вообще заводить агента?
Мой критерий: агент оправдан, только если пространство действий заранее неизвестно. Неясно, какой источник данных понадобится, неизвестен путь к ответу. Если ветвление перечислимо - вы его опишете в коде дешевле, чем агент переберёт его вызовами модели.
"Заметки на полях". Критерий отвечает на вопрос, который чаще всего слышу от инженеров, внедряющих агентов: "а куда это втыкать?" Никуда не втыкать, если путь к решению у вас уже нарисован в блок-схеме. Агент - это покупка гибкости за предсказуемость. Платите, только когда без гибкости никак.

Продолжение - главы 3-4, суммаризация документов длиннее контекстного окна: MapReduce, рефайн-петли и почему это стоит денег на каждом витке.
Книга: AI Agents and Applications (Roberto Infante, Manning, 2026), глава 1.
#AI_Agents_and_Applications #глава_1
