EGround
Редактор
- Сообщения
- 71.719
- Реакции
- 302
Складчина: AI Harness.Построение агентных систем: как надо, а не как все [Евгений Борисов]
О чем будет курс
ИИ-ассистенты за два года стали частью работы — и остались чёрным ящиком. Почему агент уверенно пересказывает файл, которого не читал? Почему он забывает середину разговора? Что происходит между «напиши тест» и появлением файла на диске? Что мешает ему стереть ваш проект? Ответы лежат не в машинном обучении, а в обычной инженерии.
Это инженерный курс для опытных разработчиков, которые хотят выйти за рамки использования готовых ИИ-инструментов и понять, как такие инструменты устроены внутри — чтобы собирать свои.
За 13 уроков мы с нуля пишем на Java и Spring AI настоящего coding-агента: 60 классов, 8 инструментов. Он читает ваш репозиторий, ищет по нему, правит файлы, запускает команды и доводит задачу до зелёных тестов.
Собственный агент с нуля
Курс построен так, что каждая новая подсистема появляется тогда, когда в ней возникает необходимость. Начинаем с простого чат-бота. Потом сразу добавляем цикл работы и инструменты, что превращает его в агента. Дальше постепенно расширяем его возможности: учим работать с репозиторием и файлами, задавать поведение через системный промпт, безопасно выполнять команды, планировать действия, сжимать контекст, работать автономно, использовать субагентов и вести интерактивный диалог в терминале.
Каждый урок начинается с кода, который пока не работает. Сначала мы пробуем запустить нужную функцию и сталкиваемся с ошибкой или неправильным ответом модели. Затем разбираемся в причине и исправляем код.
Локальная модель: все грабли видны, и всё бесплатно
Модель работает локально в Docker: ни API-ключей, ни счетов, ни отправки вашего кода наружу. Курс купили — дальше платить не надо ни за что, и можно гонять один и тот же цикл пятьдесят раз.
Вторая причина методическая, и она важнее. Небольшая модель честно ломается там, где большая замаскировала бы архитектурную дыру: мощная модель многое вытащила бы сама, без части инструментов и без управления контекстом, и половина курса осталась бы невидимой. Те же проблемы есть и у больших моделей — просто чтобы их увидеть, нужен production-проект и очень серьёзный счёт за токены. Эти же навыки незаменимы там, где внешние API недоступны: закрытый контур, чувствительные данные, запрет на выход наружу. Стек взят самый свежий — версии, под которые ещё не написано статей. Отдельный навык курса: разбираться в новом API самостоятельно, а не пересказывать чужие посты.
Спойлер: Программа 1 Нейропроцессор
Подключим локальную модель, разберем базовые механики Spring AI 2.0 и напишем первые Agent и Conversation.
Пока получится всего лишь чат-бот, это еще не агент.
2. Диагностический контур: телеметрия и разделение слоев
Научим систему рассказывать, что с ней происходит. Разделим логику агента и интерфейс, введем доменные события и заложим архитектуру, которая не развалится по мере роста проекта.
3. Оптические сенсоры: инструменты и агентский цикл
Агент уверенно рассказывает о файле, которого никогда не читал. Исправляем это. Разбираемся, как работают tools, почему описание инструмента — это тоже часть промпта. Добавляем чтение файлов и собираем настоящий agent loop. Именно здесь чат-бот становится агентом.
4. Шасси: навигация по репозиторию
Добавим поиск по имени и содержимому, научим агента ориентироваться в структуре проекта и перестанем позволять ему выдумывать несуществующие пути.
5. Манипуляторы: правка файлов
Теперь агент умеет «смотреть» на репозиторий. Пора научить его действовать: покажем ему, как создавать и изменять файлы, разберем точечное редактирование и введем принцип «не редактируй то, чего не читал».
6. База данных Skynet: контекст и характер
Агент уже умеет работать с файлами, но все еще почти ничего не знает о самом проекте. Научим его учитывать git-статус, структуру репозитория, память и другие части контекста. Системный промпт перестанет быть одной огромной строкой.
7. Вооружение: выполнение команд и human-in-the-loop
Дадим агенту возможность запускать команды, а значит потенциально делать с вашей машиной почти все, что угодно. Поэтому сразу строим систему разрешений: режимы, правила, классификацию опасных действий и точки, где агент обязан остановиться и спросить человека.
8. Тактический процессор: планирование
Добавим агенту список задач и механизм контроля собственного плана. Разберемся, почему одного инструмента планирования недостаточно и как напоминать агенту о том, что он начал и бросил на полпути.
9. Блок памяти: управление контекстным окном
Контекст заканчивается, причем обычно в самый неподходящий момент. Научимся считать расход контекста, ограничивать результаты инструментов, удалять устаревшую информацию и сжимать историю разговора в компактное резюме.
10. Самоконтроль: работа до результата
Научим агента отличать «я сделал» от «я сделал и проверил, что все работает». Добавим стоп-условия, обработку ошибок, повторные попытки и защиту от зацикливания.
11. Звено подкрепления: субагенты
Что делать, если исследование большого проекта съедает весь контекст? Запустить другого агента. Соберем субагента с собственным контекстом, который изучает задачу отдельно и возвращает главному агенту вывод.
12. Канал связи: REPL, слеш-команды, стриминг
До этого момента агент жил на стенде разработчика. Теперь дадим ему интерфейс. Сделаем живой диалог в терминале, стриминг ответа, прерывание работы, учет токенов и набор слеш-команд.
13. Финал
Агент получает реальную задачу в реальном репозитории и проходит весь путь самостоятельно: находит нужный код → анализирует → меняет файлы → запускает команды → исправляет ошибки → доводит задачу до результата.
Материал «AI Harness.Построение агентных систем: как надо, а не как все [Евгений Борисов]», возможно, скоро появится на EGROUND.
Воспользуйтесь поиском, может быть, он уже опубликован.