О курсе
Курс о том, как писать код вместе с ИИ и не превращать скорость в технический долг. Генерация стала почти бесплатной, а проверка нет, поэтому узкое место переехало с написания на верификацию. Об этом весь курс: не как красиво попросить, а как быстро и надёжно убедиться, что полученный код делает то, что нужно, не ломает соседнее и не открывает дыру.
Первый модуль про инженерную работу с инструментом: что модель на самом деле видит, как считаются токены и почему длинный контекст вредит качеству, как ставить задачу спецификацией с ограничениями и критериями приёмки, чем отличаются автодополнение, чат, агент в редакторе и автономный агент, зачем нужен файл правил проекта и как жить маленькими шагами с чистым деревом и понятным откатом.
Второй модуль про саму генерацию: от пустого репозитория до каркаса с проверками, работа в существующем коде через образец и поиск дубликатов, тесты первыми и мутационный анализ как проверка самих тестов, рефакторинг со снапшотами и преобразованиями по синтаксическому дереву, рутина вроде миграций, контейнеров и скриптов обслуживания.
Третий модуль про проверку. Порядок ревью по цене ошибки, типы и линтеры как сетка безопасности с контролем подавлений, выдуманные API и пакеты вместе с риском установить чужой код, скрытые квадратичные алгоритмы, границы и знаки сравнения, где машинный код ошибается чаще всего.
Четвёртый модуль про релиз: атомарные коммиты и границы агента в репозитории, обязательные проверки в CI и время прогона как метрика качества, ломающие изменения и changelog, выкладка с флагами и поэтапным выкатом, логи, метрики и бюджет ошибок после релиза.
Пятый модуль про кибербезопасность именно машинного кода: инъекции и валидация на границе, секреты и места их утечки включая контекст модели, зависимости и цепочка поставок, небезопасные умолчания в паролях, токенах и правах доступа, инъекции промптов и границы возможностей агента, автоматические проверки в CI и разумная политика гейтов.
Шестой модуль про профессиональную сторону: экономика вызовов и выбор модели под шаг, командные правила и ревью машинного кода, лицензии и данные компании, локальные модели с расчётом памяти и квантованием, честная картина личной эффективности с замерами вместо ощущений.
Седьмой модуль про то, что происходит до генерации и определяет её результат. Разбор требования до границ модулей, контракты и заглушки вместо словесных описаний, работа с легаси через карту репозитория, радиус поражения и характеризующие тесты, изменения схемы данных по схеме расширяй и сужай с безопасным бэкфиллом, наконец циклы импортов, слои и лишние абстракции, которые модель приносит из открытого кода.
Восьмой модуль про отладку. Минимальное воспроизведение и сужение входа выбрасыванием, чтение стектрейса и структурные логи, по которым вообще можно искать, бисект как способ найти ломающее изменение среди сотен коммитов, нестабильные тесты и гонки с разбором четырёх типовых причин, постмортем с числами вместо намерений и защита от повторов.
Девятый модуль про данные. Что проверять в сгенерированном SQL первым делом, от размножающих соединений до пустых значений в условиях, как читать план запроса вместо догадок про скорость, N+1 и выборки без границ вместе с курсорной пагинацией, отчёты и агрегаты с их часовыми поясами, границами периода и средними, которые ничего не значат, и наконец тесты для кода, который ходит в базу, без заглушек вместо самой базы.
Формат каждого урока одинаковый: разбор темы с рабочими примерами кода, три или четыре коротких проверочных вопроса и одна задача с автопроверкой. Задачи специально сделаны про разбор, проверку и подсчёт, а не про написание за вас: детектор небезопасных конструкций, анализатор вложенности циклов, расчёт версии по коммитам, гейт запроса на слияние, оценка риска конфигурации агента. Всё решается на чистом Python без ключей и без сети. Завершают курс итоговый тест по всей программе и шесть сквозных задач.
Для кого этот курс
Курс для разработчиков, которые уже пишут на Python и активно используют ИИ или собираются начать. Он будет полезен тем, кто заметил, что кода стало больше, а уверенности в нём меньше, и хочет выстроить процесс, а не бороться с последствиями.
Отдельно пригодится тимлидам и техлидам: в курсе есть готовые командные правила, политика проверок, границы для автономных агентов и метрики, по которым видно, работает процесс или создаёт иллюзию контроля.
Курс не подойдёт тем, кто только начинает программировать, и тем, кто ищет обзор инструментов без инженерной части.
Начальные требования
Нужен рабочий Python: функции, классы, работа с файлами, виртуальное окружение. Пригодится базовое знакомство с git, командной строкой и любым инструментом с ИИ, к которому у вас есть доступ.
Курс не привязан к конкретному вендору и конкретной модели: приёмы работают одинаково, а названия кнопок меняются каждые полгода. SQL, контейнеры, CI и безопасность разбираются по ходу, глубокое знание заранее не требуется.
Платные ключи не обязательны. Все задачи с автопроверкой решаются на чистом Python без доступа в сеть, а примеры можно повторить и на локальной модели.
Как проходит обучение
Курс проходится в своём темпе, все материалы открыты сразу. Урок начинается с разбора темы на примерах кода, затем идут три или четыре коротких вопроса на понимание и одна задача с автопроверкой.
Задачи проверяются автоматически на пяти наборах тестов. Программа читает данные со стандартного ввода и печатает результат в стандартный вывод, поэтому результат воспроизводится у всех одинаково.
Прогресс считается в баллах: вопрос даёт один балл, задача три, шаги итоговой работы дороже. Пересдавать задание и возвращаться к любому уроку можно сколько угодно раз.
Программа курса
В курс входят
- 49 уроков
- 210 тестов
- 53 интерактивные задачи