AI Agent Engineering: Build a Production Coding Agent
Соберёте своего coding-агента: он находит место бага, меняет одну строку, сам перезапускает тесты и останавливается перед коммитом, пока решение не примет человек. Готовые агенты уверенно пишут «готово» после упавшего теста и коммитят без спроса. Здесь работу принимает чекер: он читает журнал вызовов и сам заново прогоняет тесты. Ключи API не нужны: в лабораторных отвечает детерминированная mock-модель, а решение — один agent.py на стандартной библиотеке Python.
Чему вы научитесь
- Собирать цикл агента вокруг модели: запрос с messages, tools, trace, context и plan, разбор choices[0].message.content и возврат наблюдения в следующий запрос.
- Описывать инструменты схемами и проверять аргументы: read_file, search_code, run_tests, write_file с точечной заменой find/replace.
- Отбирать контекст: окно кода вокруг строки из traceback, карта репозитория, сжатие истории без потери фактов.
- Планировать и останавливаться честно: done только после final, blocked по step_limit, approval_required до опасного вызова.
- Запускать агента в песочнице: рабочая директория, входы только на чтение, --network none, лимиты ресурсов, откат правок через git, dry-run.
- Проверять себя: читать вывод тестов, чинить причину, не трогать посторонние падения и писать в отчёте, что осталось непроверенным.
- Держать надёжность: таймауты и ретраи с бюджетом попыток, защита от зацикливания, поведение при отказе модели и инструмента.
- Вести длинные задачи: чекпоинты, возобновление после сбоя, очередь подзадач, пауза до ответа пользователя.
- Встраивать человека: подтверждение опасных действий, показ diff, права агента, политика секретов, журнал подтверждений.
- Наблюдать и оценивать: трасса шагов, стоимость задачи, набор эталонов, регрессии при смене промпта, сравнение версий.
Правка верная. Работу не приняли
В финальном проекте агент чинит apply_discount и доходит до коммита. Модель присылает commit без пометки requires_approval. Контроллер без собственного списка опасных инструментов выполняет коммит и печатает done.
Такую работу чекер не засчитывает. Отчёту агента он не верит: сам перечитывает файл, заново запускает unittest, сверяет тест с оригиналом побайтово и ищет маркер реального коммита. Зачёт даётся за остановку со статусом approval_required, настоящий diff и сообщение коммита.
Что нужно знать
Python на уровне функций, словарей, исключений, модулей, файлов и стандартной библиотеки.
Базовый git: diff, commit, рабочее дерево и откат изменений.
HTTP и JSON: запрос, ответ, статус, сериализация и таймаут.
Опыт запуска тестов и чтения ошибок пригодится, но нужные приёмы разбираются в курсе.
chmod 444 не остановил запись под root
Счастливый путь проходит любой агент. Курс ведёт к краям: инструмент вернул ok: false, файла нет, путь уходит за workspace, модель просит rm -rf, бюджет шагов кончился. У контроллера на каждом крае своё честное состояние, а проверка смотрит, что запрещённого вызова нет в журнале.
Границу изоляции в курсе проверяют запуском, а не чтением конфига. Права файла не остановили процесс под root, поэтому защиту собирают слоями: пользователь без root, вход только на чтение, сеть выключена, лимиты ресурсов.
Какое из трёх price менять?
write_file в финальном проекте не перезаписывает файл, а меняет один фрагмент. find должен встретиться ровно один раз, писать можно только в src/pricing.py. Правка вслепую по слову price получает отказ: оно стоит в сигнатуре, в docstring и в теле функции.
Дальше цикл исправления: прочитать файл, заменить одну строку, перезапустить ту же команду тестов. Docstring и сигнатура остаются побайтово прежними. Решение принимается по повторному прогону тестов уже после агента.
Для кого
Backend- и platform-инженерам, которые встраивают агента в работу команды и отвечают за то, что он может сделать с репозиторием.
Разработчикам, которые пользуются Cursor, Claude Code или Codex и хотят понимать, почему агент теряет контекст, ходит по кругу и пишет «готово» без проверки.
Техлидам, которым нужно оценить агента числами: успех, стоимость, лишние правки, вмешательства человека.
Лучше или просто другая?
Последний вопрос курса — можно ли выкатывать новую версию. Ответ дают прогон обеих версий по одному набору эталонов и четыре числа: доля успеха, стоимость запуска, доля лишних правок, доля обращений к человеку.
В одно «лучше» эти числа не сводятся. agent-v2 решает на две задачи больше и стоит на 30% дороже. Одинаковый score может прятать регрессию, а флейки-тест за один прогон даёт то fail, то pass. Выбор остаётся за командой, и отчёт его фиксирует.
Поддержка
Вы также можете задать любой вопрос по курсу у поддержки t.me/mentorix_support
Программа курса
Модулей: 12, уроков: 72. Задачи с кодом проверяются автоматически.
Анатомия агента
- Чем coding agent отличается от чата
- Из чего состоит шаг агента
- Минимальный agent loop
- Роли контроллера, модели и инструментов
- Трасса минимального агента
- Первый сценарий coding agent
Инструменты
- Схемы и валидация аргументов
- Файлы как инструмент
- Поиск по коду
- Запуск команд
- Инструмент patch
- Сжатие результата инструмента
Контекст
- Что помещается в окно
- Сжатие истории
- Отбор релевантных файлов
- Карта репозитория
- Контекст тестов и ошибок
- Приоритет системных инструкций
Планирование
- Декомпозиция задачи
- Список шагов и статусы
- Ветвление плана
- Когда остановиться
- Перепланирование после нового факта
- План как контракт с пользователем
Песочница
- Изоляция выполнения
- Права инструментов
- Лимиты ресурсов
- Откат правок через git
- Dry-run и preview действий
- Очистка временных артефактов
Проверка себя
- Запуск тестов и линтеров
- Чтение вывода ошибок
- Цикл исправления
- Не чинить лишнее
- Фактчек команд и выводов
- Финальный отчёт проверки
Надёжность
- Таймауты и ретраи
- Защита от зацикливания
- Потолок бюджета
- Отказ модели
- Fallback при отказе инструмента
- Деградация качества без аварии
Длинные задачи
- Состояние долгой задачи
- Чекпоинты
- Возобновление после сбоя
- Очередь подзадач
- Инкрементальная доставка
- Пауза и продолжение пользователем
Человек в цикле
- Подтверждение опасных действий
- Показ diff перед изменением
- Права агента
- Обратная связь пользователя
- Политика секретов
- Audit trail подтверждений
Наблюдаемость
- Трассировка шагов
- Логи инструментов
- Стоимость на задачу
- Метрики производительности
- Отладка неудачных запусков
- Экспорт трасс для оценки
Оценка агента
- Набор задач-эталонов
- Метрика успеха
- Регрессии при смене промпта
- Негативные сценарии
- Слепой прогон агента
- Сравнение версий агента
Финальный проект
- Агент находит место бага
- Агент правит код
- Агент прогоняет тесты
- Агент готовит коммит
- Сбор финального отчёта
- Релизный чек-лист агента
Стоимость курса: 19990 ₽
Открыть курс на Mentorix · Все курсы