AI Harness. Построение агентных систем: как надо, а не как все
О чём курс
На курсе вы с нуля разработаете автономного coding-агента на Java и Spring AI: систему из 60 классов и 8 инструментов, способную исследовать репозиторий, редактировать файлы, запускать команды и доводить задачу до успешного прохождения тестов.
О чём курс
Материал разбирает инженерную изнанку ИИ-ассистентов. Вы разберётесь, почему языковые модели искажают информацию о непрочитанных файлах, теряют контекст посреди диалога и какие механизмы предотвращают повреждение проекта при выполнении консольных команд.
Для кого
Курс ориентирован на опытных разработчиков, которые планируют создавать собственные ИИ-инструменты под задачи разработки, в том числе для работы в закрытом контуре компании и с конфиденциальным кодом без обращения к внешним API.
Как устроено обучение
Каждая подсистема агента проектируется по мере возникновения практической потребности. Программа состоит из 13 уроков, каждый из которых начинается с неработающего кода: вы запускаете функцию, сталкиваетесь с ошибкой модели или сбоем логики, после чего находите причину и переписываете реализацию.
Постепенно агент учится ориентироваться в файловой структуре, учитывать контекст репозитория, безопасно исполнять команды, планировать шаги, сжимать историю переписки, подключать субагентов и принимать команды через терминал.
Среда и стек
Модель разворачивается локально в Docker без использования сторонних платных ключей и отправки исходного кода во внешние сервисы. Использование небольшой локальной модели позволяет обнаружить архитектурные дефекты взаимодействия с контекстом и инструментами, которые крупные коммерческие модели обычно сглаживают. Для реализации используется фреймворк Spring AI 2.0.
Программа обучения
Нейропроцессор Подключим локальную модель, разберем базовые механики Spring AI 2.0 и напишем первые Agent и Conversation. Пока получится всего лишь чат-бот, это еще не агент.
Диагностический контур: телеметрия и разделение слоев Научим систему рассказывать, что с ней происходит. Разделим логику агента и интерфейс, введем доменные события и заложим архитектуру, которая не развалится по мере роста проекта.
Оптические сенсоры: инструменты и агентский цикл Агент уверенно рассказывает о файле, которого никогда не читал. Исправляем это. Разбираемся, как работают tools, почему описание инструмента — это тоже часть промпта. Добавляем чтение файлов и собираем настоящий agent loop. Именно здесь чат-бот становится агентом.
Шасси: навигация по репозиторию Добавим поиск по имени и содержимому, научим агента ориентироваться в структуре проекта и перестанем позволять ему выдумывать несуществующие пути.
Манипуляторы: правка файлов Теперь агент умеет «смотреть» на репозиторий. Пора научить его действовать: покажем ему, как создавать и изменять файлы, разберем точечное редактирование и введем принцип «не редактируй то, чего не читал».
База данных Skynet: контекст и характер Агент уже умеет работать с файлами, но все еще почти ничего не знает о самом проекте. Научим его учитывать git-статус, структуру репозитория, память и другие части контекста. Системный промпт перестанет быть одной огромной строкой.
Вооружение: выполнение команд и human-in-the-loop Дадим агенту возможность запускать команды, а значит потенциально делать с вашей машиной почти все, что угодно. Поэтому сразу строим систему разрешений: режимы, правила, классификацию опасных действий и точки, где агент обязан остановиться и спросить человека.
Тактический процессор: планирование Добавим агенту список задач и механизм контроля собственного плана. Разберемся, почему одного инструмента планирования недостаточно и как напоминать агенту о том, что он начал и бросил на полпути.
Блок памяти: управление контекстным окном Контекст заканчивается, причем обычно в самый неподходящий момент. Научимся считать расход контекста, ограничивать результаты инструментов, удалять устаревшую информацию и сжимать историю разговора в компактное резюме.
Самоконтроль: работа до результата Научим агента отличать «я сделал» от «я сделал и проверил, что все работает». Добавим стоп-условия, обработку ошибок, повторные попытки и защиту от зацикливания.
Звено подкрепления: субагенты Что делать, если исследование большого проекта съедает весь контекст? Запустить другого агента. Соберем субагента с собственным контекстом, который изучает задачу отдельно и возвращает главному агенту вывод.
Канал связи: REPL, слеш-команды, стриминг До этого момента агент жил на стенде разработчика. Теперь дадим ему интерфейс. Сделаем живой диалог в терминале, стриминг ответа, прерывание работы, учет токенов и набор слеш-команд.
Финал Агент получает реальную задачу в реальном репозитории и проходит весь путь самостоятельно: находит нужный код → анализирует → меняет файлы → запускает команды → исправляет ошибки → доводит задачу до результата.
Теги курса
Другие материалы автора 4
ЕБ Евгений Борисов Все материалыОтзывов пока нет. Будьте первым!
Нажмите «Купить» и оплатите взнос любым удобным способом (карта, СБП, электронные кошельки). Сейчас идёт сбор взносов, поэтому цена минимальная: после завершения сбора она вырастет примерно вдвое.
Складчина ещё в сборе, поэтому материал выдают не сразу, а когда сбор завершится. Выдача идёт на нашем основном сайте — материал появится там в разделе «Мои складчины». Если покупаете впервые, после оплаты на почту придёт письмо «Завершить регистрацию»: задайте пароль, и аккаунт на основном сайте будет готов. Подробная инструкция по входу — на странице после оплаты.
Это минимальный взнос на этапе сбора. Стоимость официального доступа делится между всеми участниками; когда сбор завершится, складчина перейдёт в «Можно купить», и взнос для новых участников вырастет примерно вдвое.