Сегодня невозможно игнорировать тот факт, что AI-ассистенты, такие как ChatGPT, GitHub Copilot или Gemini, стали частью рабочего процесса. Но использовать их бездумно — значит обесценить собственное обучение и будущие карьерные перспективы.
Меня зовут Дмитрий Махортов, я специалист по машинному обучению и ревьюер на курсе «Специалист по Data Science» в Яндекс Практикуме. Эта статья — руководство о том, как сделать AI вашим главным союзником в обучении, а не тем, кто учится вместо вас. Советы подойдут студентам, изучающим Data Science.
Почему я решил написать статью
Я интересуюсь технологиями со студенчества. Учился на механико-математическом факультете НГУ, но из-за объективных обстоятельств (развала науки в 90-е) ушёл в бизнес. При этом я сохранил интерес к IT, всё время понемногу что-то изучал для себя. С 2018-го серьёзно занялся изучением Data Science и Machine Learning, прошёл множество платных и бесплатных курсов по теме. С 2021 года я зарабатываю исключительно как специалист по машинному обучению. Например, сейчас сотрудничаю со стартапом FindTheJob, где мы используем искусственный интеллект в области рекрутинга, помогаем соискателям и кадровикам. Также я больше трёх лет сотрудничаю с Практикумом как ревьюер — даю студентам обратную связь по проектам, связанным с компьютерным зрением и нейросетями.
При проведении ревью я начал замечать, что студенты используют AI-ассистентов. Иногда осознанно, но часто — бездумно. Я понял, что игнорировать это больше невозможно, запрещать — тоже. После очередной «битвы» со студентом я вылил всю свою боль на бумагу, а затем в паре с Gemini написал этот текст. Он не просто сгенерирован — все тезисы здесь выражают мою боль, а черновик претерпел десяток редакций с обсуждениями и поисками истины.
Мнение лидеров индустрии: как гуру AI советуют учиться?
Эндрю Ын (Andrew Ng): ускорение, а не замена
Эндрю Ын, сооснователь Coursera, призывает использовать AI для автоматизации рутины (написание шаблонного кода, форматирование) и для быстрого получения ответов на конкретные вопросы. Это ускорение, а не замена. Оно позволяет студенту сфокусироваться на более высокоуровневых задачах — на архитектуре проекта, интерпретации результатов и постановке гипотез.
«Используйте AI, чтобы спрашивать "Почему?". Не просто просите написать код, а спрашивайте, почему выбрано именно это решение. Например: "Почему для этой задачи лучше подходит RandomForest, а не логистическая регрессия? Объясни плюсы и минусы". AI может стать вашим личным тьютором, доступным 24/7»
Андрей Карпати (Andrej Karpathy): повышение планки
Андрей Карпати, легендарный разработчик из OpenAI, считает, что AI не убьёт программирование, а поднимет планку и уровень абстракции. Раньше нужно было знать ассемблер, потом C, потом Python. Теперь нужно уметь эффективно руководить AI-ассистентом, который пишет на Python. Ценность смещается от написания кода к проектированию и верификации.
«Относитесь к AI как к неопытному, но очень быстрому напарнику. Он отлично пишет шаблонный, стандартный код, но требует постоянного контроля со стороны "старшего" напарника — то есть вас. Вы должны понимать общую картину, проверять его работу и направлять»
Глас из окопов: что говорит сообщество разработчиков
На профессиональных форумах и в блогах, таких как Хабр или Reddit, тон более приземлённый. Опытные разработчики и тимлиды бьют тревогу, и их опасения полностью совпадают с наблюдениями наставников.
Феномен ChatGPT Junior: появилась целая прослойка новичков, которые могут быстро «собрать» проект с помощью AI, но не способны ответить на базовые вопросы по своему же коду, исправить неожиданную ошибку или адаптировать решение под новые требования.
Иллюзия компетентности: AI создает опасное ложное чувство «я это сделал». Студент видит работающий результат, но не проходит через важнейший этап обучения — «продуктивную борьбу» с проблемой, чтение документации и отладку. Именно этот процесс формирует интуицию и настоящее понимание.
Красные флаги: как понять, что AI делает работу за вас?
А теперь практика. Вот несколько верных признаков того, что контроль над проектом перешёл от вас к машине.
Гигантские ячейки кода. Работа в Jupyter-ноутбуках — это пошаговое исследование. Загрузили данные → посмотрели. Очистили → проверили. Если в вашей ячейке происходит сразу десять действий, вы теряете контроль и возможность анализировать промежуточные результаты.
«Заводские» комментарии. Комментарии в стиле
вставьте сюда ваш путь к файлу
или объясняющие синтаксис (# импортируем библиотеку pandas
) — это артефакты диалога с AI. Хороший комментарий объясняет логику и причину вашего решения.Избыточный production-ready код. Конструкции
try-except
на каждом шагу, бесконечные проверки наNone
— это практики из промышленной разработки. В исследовательском проекте они излишни и лишь загромождают код.Код, оторванный от данных. AI не видит ваши данные и пишет универсальные решения. Если код выглядит так, будто он подошёл бы для любого датасета в мире, скорее всего, он написан без погружения в контекст вашей задачи.
Классика жанра:
if __name__ == "__main__":
. Эта конструкция абсолютно бессмысленна в Jupyter-ноутбуке и является стопроцентным маркером скопированного кода.Использование
print()
для вывода таблиц. Конструкции видаprint(df.head())
— ещё один характерный маркер. Почему? Нейросеть часто генерирует универсальный код, который будет работать в любом окружении, аprint()
— это стандартный способ вывода в Python. Однако он выдаёт неформатированный, «сырой» текстовый результат, который сложно читать. Опытный пользователь Jupyter просто напишет имя переменнойdf.head()
в последней строке ячейки, чтобы получить красивую HTML-таблицу. Для вывода в середине ячейки или для нескольких таблиц используется функцияdisplay()
. Это не просто вопрос эстетики, это вопрос владения своим рабочим инструментом.Ячейка как отдельный скрипт. В разных частях ноутбука вы снова и снова импортируете одни и те же библиотеки (
import pandas as pd
,import numpy as np
) или повторно читаете один и тот же файл с данными. Это происходит, когда вы просите AI решить локальную подзадачу (например, «построй гистограмму для столбца X»). Чтобы сгенерировать гарантированно рабочий код, модель создает самодостаточный блок, который не зависит от выполнения предыдущих ячеек. Она не «помнит», что вы уже импортировали pandas пять ячеек назад. Хорошей практикой считается выносить все импорты в первую ячейку ноутбука, а данные загружать один раз в начале исследования. Это делает код чистым, а логику выполнения — предсказуемой.Наукообразные объяснения простых действий. Вы видите идеально оформленную Markdown-ячейку, которая в стиле научной статьи объясняет, почему нужно разделить данные на выборки перед обучением. Используется сложная терминология («стратификация для сохранения распределения целевой переменной»), хотя далее следует вызов простой функции
train_test_split
. Это почерк AI, обученного на документации и статьях. Человек, решающий практическую задачу, объяснит этот шаг гораздо проще.
Почему слепая вера в AI — это карьерный тупик?
Вы не растёте. Пропуская этап самостоятельного решения проблем, вы лишаете себя главного — опыта.
Вы не сможете поддерживать свой код. Когда сгенерированный код сломается (а он сломается), вы не сможете его починить.
Вы рискуете допустить скрытые ошибки. AI может «галлюцинировать» и предлагать решения, которые выглядят убедительно, но приводят к неверным выводам.
Вы теряете ценность на рынке. Чем специалист, который умеет только пересказывать ТЗ для AI, лучше тысяч других? Ваше преимущество — это глубокое понимание, а не скорость копирования.
От стажёра до мастера: практическое руководство по работе с AI
Итак, как использовать AI, чтобы он усиливал вас, а не заменял?
Освойте новый навык — промпт-инжиниринг. Умение правильно ставить задачи AI — это ключевая компетенция. Будьте конкретны, предоставляйте контекст, примеры, описывайте желаемый формат вывода. Чем лучше ваш запрос, тем качественнее результат.
Декомпозиция — ваша зона ответственности. Вы — архитектор. Разбейте большую задачу на маленькие шаги. AI может помочь с этим, но финальный план и ответственность за него — на вас.
Сначала «как?», потом «сделай» (подход Эндрю Ына). Не просите AI сразу написать код. Спросите его о стратегии: «Какие есть способы решить эту задачу? Каковы их плюсы и минусы?» Выберите подход, который вам понятен, и только потом просите помочь с его реализацией.
Будьте «старшим программистом» (подход Андрея Карпати). Никогда не копируйте код вслепую. Проводите code review: прочитайте и разберите каждую строчку. Если что-то непонятно, попросите AI объяснить. И выполняйте задачи пошагово: вставляйте код в ноутбук маленькими логическими блоками и сразу запускайте. Анализируйте результат на каждом шаге.
Используйте AI для отладки, а не решения. Получили ошибку? Сначала попробуйте исправить её сами. Если не выходит, скопируйте ошибку и попросите AI объяснить её причину и предложить варианты для исправления, а не просто выдать готовый код.
«Присвойте» себе код. Удалите все технические комментарии от AI. Отрефакторите код так, чтобы он был идиоматичным для Jupyter-среды (например, замените
print(df)
наdisplay(df)
). Отформатируйте его по стандартам. Теперь это ваш код, за который вы несёте полную ответственность.
Заключение
В новую эпоху искусственного интеллекта самым ценным навыком становится не способность быстро печатать код, а умение глубоко мыслить. Понимание, как ставить задачи, проверять гипотезы, критически оценивать результаты и принимать взвешенные решения, — вот что будет отличать настоящего профессионала.
Используйте AI как рычаг для своего интеллекта, а не как костыль для своих знаний. Будьте пилотом, который управляет мощной машиной, а не пассивным пассажиром. Именно это сделает вас востребованным и сильным специалистом на долгие годы вперед.
Обучение работе с нейросетями — важ��ая часть курсов Практикума. В рамках программы вы будете разбираться, как выбирать подходящие модели и писать промпты, а затем критически оценивать результат работы AI-инструментов — такой подход к работе с нейросетями усилит вашу экспертизу и резюме. Модуль, посвященный AI, доступен в большинстве курсов Практикума для начинающих аналитиков, разработчиков и QA-инженеров.