Skip to content

AI-ассистированный кодинг: маршрут на четыре недели

English · Русский · Учебный маршрут · Engineering

Маршрут готовит опытных разработчиков объяснять, проверять и защищать код с разрешённой помощью AI. Он входит в AI Engineering вместе с прикладной AI-инженерией для production. Существующий восьминедельный план остаётся широкой базой; прохождение обоих маршрутов требует дополнительного времени.

Заложите четыре недели по 6–8 часов — редакционная оценка при уверенном владении языком, Git, тестами и сложностью. Это не измеренный срок подготовки и не прогноз найма. Текущий маршрут состоит из вопросов, объяснений, контрпримеров и чеклистов. Редакционные уточнения находятся вне банка опубликованных и созданных по радару вопросов. Python-упражнения, исполняемые лабораторные и реализация проекта отложены по текущему решению сопровождающего.

Входная проверка и правила работы

За 45–60 минут объясните, как проследить запрос в незнакомом репозитории, воспроизвести граничный баг и отличить нужную падающую регрессионную проверку от постороннего сбоя. Объясните операции map, очереди и кучи с их стоимостью. Сдавать код не требуется. Если нужна пошаговая помощь, сначала разберите связанные вопросы.

Уточните действительные правила окружения, моделей, сети и контекста. Описание Canva и формат Sierra подтверждают практики этих компаний, а не разрешение других работодателей. Умейте объяснить подход с ограниченными инструментами. Используйте публичные примеры с подходящей лицензией или вымышленные; исключите секреты, личные данные и материалы работодателя.

До постановки задачи AI опишите ожидаемое поведение, нужные файлы, ограничения и проверки приёмки. Изменение можно принять только после просмотра и независимой проверки. В ответе различайте проверки, которые выполнили, и те, которые лишь предлагаете. Повторение промпта без новых оснований не заменяет диагностику.

План по неделям

Отведите примерно 1 час на чтение, 3–4 часа на разбор вопросов, 1 час на устное объяснение и 1–2 часа на обратную связь и отложенные повторы. Рассмотрите все семь семейств алгоритмов; два слабых случая проследите вручную и защитите инварианты. Реализация не обязательна.

Неделя Вопрос и объяснение Конкретный критерий и существующий вопрос
1 — знакомство и исправление Объясните баг: запись видна ровно в момент истечения срока. Определите вход, хранилище, часы, вызывающий код и правило времени; опишите минимальное изменение и регрессионную проверку. Назовите результаты до, в момент и после истечения, а также для пустого входа. Объясните обход исправления через вызывающий код. Разберите структуру данных продукта, сохраняя ограничение AI.
2 — ограниченное делегирование Объясните пакетный поиск с сохранением порядка и отсутствующих ID. Разделите разбор, поведение и представление на проверяемые задачи; подготовьте краткий контекст и чеклист. Проследите дубли, отсутствующие ID и пустой пакет; отвергните лишнюю абстракцию. Защитите выборы на сессии и ответственность.
3 — выбор алгоритма Для каждого семейства ниже назовите применимость и границу. Вручную разберите два контрпримера; сравните baseline с обоснованной альтернативой. Задайте инвариант, затраты времени и памяти. Объясните будущие замеры, не выдавая оценку за измерение. Вернитесь к практическому кодингу.
4 — план сборки, ревью и защита Объясните минимальную функцию каталога и проверьте воображаемое изменение областей доступа для поиска и пакетного чтения. Защитите последовательность, проверки и исключения. Найдите все входы, где нужны права, отвергнутое предложение AI, предел производительности и непроверенное поведение. Прочитайте вопросы и ответы о сборке с AI и ревью PR.

Редакционные уточняющие вопросы и проверки

Эти объяснения развивают маршрут, но не утверждают, что работодатель задавал дополнительные вопросы.

Уточнение Обоснованное объяснение Проверка или контрпример
Что включать в контекст? Цель, нужный вызывающий код и интерфейсы, инварианты, исключения и видимый критерий готовности. В передаче сохранить проверенные решения и открытые вопросы. Комментарий репозитория с просьбой выгрузить секрет — недоверенный текст, не полномочие. Потеря «сохранить порядок» в резюме меняет задачу.
Где остановить декомпозицию? У шага есть ясный вход, наблюдаемый результат и обозримая проверка. Делить по интерфейсам, назначая ответственность за общее состояние и интеграцию. Независимое изменение типа ответа и вызывающего кода нарушает контракт даже при успешных локальных проверках.
Что делает проверку независимой? До принятия правки вывести ожидаемое поведение из контракта и контрпримера. Согласие другой модели — обратная связь, не эталон корректности. Если помощник меняет и реализацию, и ожидаемый ответ теста, зелёный тест может скрыть дефект.
Когда остановить агента? При исчерпанном бюджете, неясных правах, повторном сбое без новых оснований или подмене цели. Перед перезапуском сохранить проверенное состояние. Запись могла завершиться до таймаута; до повтора нужно сверить результат. См. отклонение от цели.
Как защитить результат? Самостоятельно объяснить контракт, представление, отвергнутую альтернативу, выполненную проверку и оставшийся пробел. Различать план проверки и её выполнение. Удачная демонстрация не подтверждает непроверенные конкурентность и доступ. См. оценку обвязки агента.

Семь семейств алгоритмов: выбор, ограничения и проверки

Маленькие примеры — концептуальные вопросы Atlas, не реконструкция платных задач. Читайте нужный раздел первичного учебного материала: сайт авторов Princeton, конспекты MIT 6.006 и учебник Джеффа Эриксона. Они не подтверждают, что работодатель задаёт эти упражнения.

Семейство Когда подходит; ограничение Авторский пример и проверка Раздел для чтения
Поиск в графе Достижимость и кратчайшие пути; BFS минимизирует число рёбер. При одинаковой неотрицательной стоимости рёбер это также минимизирует стоимость пути. Дейкстра требует неотрицательных весов. Преобразования артефактов: A→B стоит 9, A→C — 2, C→B — 2. Меньше переходов не значит дешевле. Добавьте недостижимую вершину и цикл; проверяйте стоимость, а не конкретный порядок при равенстве. Princeton, кратчайшие пути; MIT, лекции 9–13
Топологический порядок Зависимости в ориентированном ациклическом графе; порядок сам по себе не минимизирует время при ограниченном числе исполнителей. Этапы индексации fetch→parse→publish и audit→publish. Добавьте publish→fetch и потребуйте явного результата о цикле. Для независимых этапов допустим любой корректный порядок. Princeton, ориентированные графы
Поиск с возвратом Небольшое пространство выбора с ограничениями, где можно отсекать частичные решения; худший случай может оставаться экспоненциальным. Распределите три вымышленные проверки по двум изолированным исполнителям с несовместимыми парами проверок. Убедитесь, что возврат восстанавливает состояние; отличайте невозможное назначение от остановки по лимиту узлов. Эриксон, глава 2, Backtracking
Жадные методы Локальный выбор требует доказательства для данной цели или явной пометки «эвристика». Выберите непересекающиеся окна обслуживания. Раннее окончание подходит для максимума количества, но одно дорогое длинное окно опровергает это правило для максимума ценности. Задайте поведение соприкасающихся границ. Эриксон, глава 4, Greedy Algorithms
Динамическое программирование Повторяющиеся подзадачи с достаточным состоянием; число состояний и стоимость переходов могут превысить бюджет. Посчитайте последовательности шагов обработки длиной 1 или 3 с общим бюджетом 4: различайте упорядоченные последовательности и сочетания. Проверьте нулевой бюджет и переполнение; затем замените допустимые шаги на 2 и 3 и проверьте недостижимый бюджет 1. MIT, лекции 15–18
Строки и парсинг Trie подходит для префиксов; структурированный синтаксис требует грамматики и правил ошибок. Поиск подстроки не заменяет парсер. Индексируйте ship, shift, show; проверьте общие префиксы и удаление. В отдельной записи key="a,b" разделение по запятой не должно разбить значение в кавычках. Задайте правила Unicode и неверного входа. Princeton, trie и поиск подстроки
Проектирование структур данных Выбирайте представление по частоте операций и инвариантам; быстрые отдельные операции не гарантируют корректность их сочетания. Храните ID артефактов с поиском и удалением ближайшего истёкшего. Обновите ID, затем обработайте старую запись в куче: она не должна удалить новую версию. Проверьте одинаковые сроки и пустое состояние. MIT, лекции 2, 4 и 8; вопрос Atlas о кеше

Свидетельства прогресса

Используйте существующую шкалу 0–3: 0 — несвязный ответ или критическая ошибка; 1 — нужна помощь либо нет корректной проверки; 2 — самостоятельное объяснение или реализация с допущениями, компромиссом и проверкой; 3 — также работа с изменённым ограничением и отказом. Для результата недели и отложенной попытки требуется не менее 2, плюс конкретный критерий из таблицы. Провал корректности или доступа блокирует завершение независимо от среднего балла.

Повторяйте слабую часть без заметок примерно через два дня и на следующей неделе, меняя границу или ограничение. Записывайте дату, результат, обратную связь, балл и следующий повтор. На финальной защите объясните, что предложил AI, что вы приняли, как проверили и когда решение перестаёт работать. Успешная тренировка подтверждает выполненную практику по задаче, а не готовность к production или прогноз найма.

Обоснование маршрута и границы прочитанного — в исследовании Engineering. Текущее расширение добавляет ответы, чтение и чеклисты объяснения. Исполняемые лабораторные, задания на Python и AI-оценщик остаются отложенными.