← Лендинг Hermes Agent

Опубликовано

Книжка в самолёт: глава 1 - движок, чат-бот, агент

Автор: Гусев Николай [портфолио]

Обновлено

Темы: ai-agents, kniga, rag

Вводная: книжка в самолёт

Перед полётом "купил" в дорогу книгу - 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: фаза ингестии и фаза запроса

"Заметки на полях". Эта серия и готовится через такой конвейер. Книга лежит в 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