AI Agent Engineering: Build a Production Coding Agent

Соберёте своего coding-агента: он находит место бага, меняет одну строку, сам перезапускает тесты и останавливается перед коммитом, пока решение не примет человек. Готовые агенты уверенно пишут «готово» после упавшего теста и коммитят без спроса. Здесь работу принимает чекер: он читает журнал вызовов и сам заново прогоняет тесты. Ключи API не нужны: в лабораторных отвечает детерминированная mock-модель, а решение — один agent.py на стандартной библиотеке Python.

Чему вы научитесь

Правка верная. Работу не приняли

В финальном проекте агент чинит 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. Задачи с кодом проверяются автоматически.

  1. Анатомия агента

  2. Инструменты

  3. Контекст

  4. Планирование

  5. Песочница

  6. Проверка себя

  7. Надёжность

  8. Длинные задачи

  9. Человек в цикле

  10. Наблюдаемость

  11. Оценка агента

  12. Финальный проект

Стоимость курса: 19990 ₽

Открыть курс на Mentorix · Все курсы