Хабр, привет! Меня зовут Сергей Бережной, я директор по взаимодействию с разработчиками и CTO в Яндекс Практикуме. Занимаюсь обучением в IT, наблюдаю за тем, как меняется рынок, — и вижу изнутри, как эволюционирует работа с ИИ в командах разработки. В этом посте хочется порассуждать, как меняется подход к ИИ-инструментам, что это значит для начинающих программистов и какие навыки становятся критичными прямо сейчас.

Вместо предисловия: «индустриальных стандартов» не существует

Рассуждая про ИИ, нельзя сказать «общепринятая практика» — подходы к использованию нейросетей разнятся. Область ещё молодая, а рынок фрагментирован. Команды разработки можно условно поделить на три категории.

  • Первая — разработчики с AI-first-подходом, которые бегут на переднем крае технологий, следят за релизами и быстро адаптируют новые инструменты.

  • Вторая — наоборот, консервативные разработчики, которые минимально используют ИИ в работе.

  • И третья группа между ними — те, кто использует ИИ, но без системы и фанатизма.

Каждая группа составляет десятки процентов. Этого достаточно, чтобы сказать, что в IT-сообществе нет никаких индустриальных стандартов, а значит, заявления вроде «ИИ заменяет разработчиков» или «нейросети не нужны» несостоятельны.

Чтобы более предметно обозначить, как разные команды разработки используют нейросети, можно представить эволюцию ИИ:

  • Сначала мы использовали ИИ как автокомплишн в IDE.

  • Потом — как модель в чат-боте, и научились писать промпты.

  • Дальше стало важно работать с контекстом: появился контекст-инжиниринг.

  • Затем пришёл агент-инжиниринг, где задачи уже распределяются между ИИ-агентами.

  • А теперь появляются harness-системы: полноценные обвязки вокруг LLM с доступом к инструментам и автономным выполнением задач в самостоятельных циклах.

Наиболее продвинутые в ИИ команды сейчас уверенно работают на уровне контекст- и агент-инжиниринга, а самые передовые — строят harness-системы.

ИИ и джуны: как меняются возможности и подход к найму

Начну с популярного тезиса: «нейросети — как джуны». Нейросети совсем не джуны. И не синоры тоже. Они обладают другой динамикой и балансом навыков — в чём-то они как джуны, в чём-то как синьоры, а в чём-то совсем не похожи ни на тех, ни на других.

ИИ помогает начинающим разработчикам: даёт эрудицию в тех областях, где новичку недостаёт глубины, и усиливает его экстенсивно — с нейросетью он просто может сделать больше, чем без.

Иными словами, джун с ИИ — это немного другой джун. Говорить, что нейросеть его «заменяет», — всё равно что говорить, что калькулятор заменяет ученика, который им пользуется.

Нанимать ли джунов — это вопрос кадровой политики, а не технологий. Какие-то компании всегда обходились без новичков и строили команды из опытных разработчиков. Другие наоборот, намеренно нанимали стажёров и растили внутри. ИИ на это не повлиял принципиально.

Ещё одно изменение: теперь начинающие разработчики могут создавать более целостные продукты. Раньше новичкам нельзя было поручить объёмные, комплексные задачи. Вот эта граница сдвинулась: с помощью ИИ программист может добрать недостающие навыки — те, из-за нехватки которых раньше не мог довести задачу до конца.

Какие навыки нужны прямо сейчас

Скилсет джуниора не изменился: начинающему разработчику всё ещё нужно знать базу языка программирования, понимать, что такое качественный код, и владеть концепцией системы контроля версий. Но некоторые навыки с развитием ИИ стали важнее.

Понимание диапазона возможных решений. Джуну не нужно помнить, например, алгоритм быстрой сортировки, но полезно знать, что разные подходы к сортировке в принципе существуют — и понимать, из чего можно выбрать, когда это понадобится.

У каждой задачи есть несколько способов решения, и если её выполняет нейросеть, нужно вовремя понять, почему ИИ выбирает тот или иной подход — и точно ли он оптимальный.

Инженерный майндсет. У изучения «устаревших» вещей без ИИ есть косвенная польза. Например, считать в столбик полезно не потому, что можно обойтись без калькулятора. А потому что умение посчитать что-то в столбик само по себе развивает мышление, которое пригодится в сложных вычислениях.

С ИИ то же самое. Нейросети — как калькулятор, который может взять на себя часть инженерных задач, условное «деление в столбик». Но если полностью положиться на машину, работа с ИИ превратится в работу вслепую.

Ещё мне нравится аналогия с домкратом в спортивном зале. С его помощью легко поднять любую гирю, но ведь цель — не перенести груз с места на место, а усилить мышцы. С мозгами всё так же: нагружать их «примитивными» действиями полезно не потому, что нейросети с этим не справятся (а они справятся). А потому что ручная работа выращивает тот самый инженерный образ мышления, который отличает хорошего разработчика от плохого.

Работа с нейросетями: декомпозиция и валидация результата. В работе с ИИ важно уметь декомпозировать и ставить задачи, а потом — быстро и корректно проверять, что получилось. Test-driven development становится полезнее, чем когда-либо. Задаёте проверяемую цель — значит, можете быстро оценить, справился ли исполнитель (даже если в нашем случае это нейросеть).

Промпт- и контекст-инжиниринг. При использовании ИИ важно хотя бы на базовом уровне понимать, как устроены модели «под капотом», какие существуют стратегии промптинга и работы с контекстом — и как их правильно применять в разных ситуациях.

Как мы реагируем на развитие ИИ в Практикуме

Развитие нейросетей отражается в обучении: мы продолжаем делать упор на фундамент, который остаётся важным, учим студентов работать с ИИ и используем новые форматы, чтобы заменить чат-боты с готовыми ответами или тьюторов.

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

  • Учим работать с ИИ в каждом курсе по программированию. В каждом курсе мы либо уже сделали, либо разрабатываем модули по работе с ИИ — рассказываем про базовое устройство нейросетей, показываем, как искать информацию и учиться эффективнее, обучаем паттернам промпт- и контекст-инжиниринга. Получается так: студент проходит дидактический материал, осваивает задачу сам, а потом учится решать её с помощью ИИ. Другими словами, мы даём тот самый домкрат, но сначала учим поднимать гантель силой мышц.

  • Выстраиваем работу студента с ИИ-ассистентом. В курсах есть нейросетевой помощник, который работает по принципу «дай голодному удочку, и ты накормишь его на всю жизнь». В отличие от внешних чат-ботов он сознательно не даёт готовых решений, а помогает разобраться в теме и направляет, чтобы студент пришёл к ответу сам.

  • Даём практиковаться в персональном ИИ-тренажёре. Для Python, Go и Java мы разработали специальный инструмент, который генерирует задачи под студента с учётом его интересов и уровня погружения в материал. Впрочем, дело не только в генерации задач. Тренажёр — это полноценный ИИ-тьютор, который помогает писать код с помощью ИИ и развивает внутреннюю интуицию, как использовать нейросети эффективно и где находятся границы их применения. Задачник представляет собой Git-репозиторий на SourceCraft (аналоге GitHub от Яндекса) и доступен всем желающим, не только студентам.

Что дальше — и почему всё будет хорошо

Есть мнение, что программирования скоро не будет, а значит, и идти в эту сферу не стоит. Может, мы и правда находимся на пороге сингулярности, но даже если так, то путь к ней займёт ещё по меньшей мере лет десять. И к тому моменту мы будем задаваться совсем другими вопросами — ведь изменится не только программирование, но и сама природа интеллектуального труда.

Я бы рассмотрел более вероятный сценарий, в котором технологии продолжат развиваться постепенно. Когда появились первые языки программирования, разработчики нового поколения стали в 10 раз эффективнее тех, кто работал с перфокартами. Языки развивались, появлялись новые практики. И каждый раз «дровосеки» с новыми «бензопилами» становились на порядки эффективнее предыдущих, а порог входа в профессию становился ниже.

Так же и тут: программирование с нейросетями становится доступнее и эффективнее, но и «дровосеки», управляющие ИИ, всё ещё нужны. Поэтому ИИ точно не заменит разработчиков. Скорее, разработчики с нейросетями заменят тех, кто программирует без них.