← Все постыНаписать

Нейросеть для кода: попробовал заставить ChatGPT программировать

Нейросеть для кода я долго считал шуткой лет на 20 вперёд. Потом попробовал заставить ChatGPT писать код, и он вполне рабочий. Но программисты не станут не нужны: как когда-то гугл и Stack Overflow, ChatGPT для программистов заберёт рутину, а сложной и интересной работы станет больше.

Попробовал заставить ChatGPT писать код. Когда читал что нейросети умеют писать код — смеялся и предлагал лет через 20 это обсудить. Предлагаю посмотреть видео, код вполне работающий.

При этом многие сразу думают, что программисты будут не нужны в будущем, но это заблуждение. Произойдет эволюционная цепочка: раньше программисты писали все сами в своем vim, не имея возможности погуглить. А сейчас кажется странным взять на работу человека, который не умеет гуглить. Так как умение скомбинировать свой результат работы с ответами на stackoverflow.com — явно повышает perfomance разработчика.

Даже я в свои 31 застал те славные времена, когда интернет тарифицировался по минутам на модеме и выгоднее открыть скаченный справочник по php, чем лезть в гугл.

Но потом безлимитный интернет, развитие stackoverflow и уже не требуется кучу информации помнить, достаточно погуглить.

Так же и с нейросетью. Она не программиста заменит, а рутинную работу, которую он делает. Зачем идти в гугл и долго комбинировать варианты. Если можно сразу написать чат-боту и получить почти готовый кусок кода.

Таким образом станет меньше рутиной и скучной работы и больше сложной интересной.

Как ИИ меняет работу программиста

ChatGPT вышел в открытый доступ 30 ноября 2022 года, и за несколько дней стало понятно, что он пишет рабочий код. Не идеальный, но рабочий. Чуть раньше, в 2021–2022 годах, появился GitHub Copilot, который дописывал код прямо в редакторе. Перемены идут очень быстро.

С тех пор инструментов стало много — Cursor, Claude Code, JetBrains AI, Codeium, — но все они делают одно и то же: забирают у программиста часть механической работы.

Скорость развития впечатляет. От первых неуверенных функций до генерации целых модулей с тестами прошло около трёх лет, и каждые несколько месяцев выходят модели, которые заметно сильнее предыдущих.

Нейросети для программирования: что они делают хорошо

  • Пишут типовой код: формы, CRUD, обработчики API, миграции.
  • Объясняют чужой код и незнакомые библиотеки.
  • Генерируют тесты по существующим функциям.
  • Переводят код с одного языка на другой.
  • Находят очевидные ошибки и предлагают исправления.
  • Пишут регулярные выражения, SQL-запросы и скрипты, которые раньше гуглили полчаса.

Где нейросеть ошибается

Модель уверенно пишет код с несуществующими функциями библиотек, потому что не знает контекста проекта: какие соглашения приняты в команде, почему здесь сделано именно так, какие ограничения у инфраструктуры.

Поэтому код от ИИ нужно читать так же внимательно, как код от нового разработчика в команде. Иногда — внимательнее.

Особенно осторожно стоит относиться к коду для старых версий фреймворков и редких библиотек: там модель ошибается чаще всего.

Нейросеть пишет код: как проверять результат

Сгенерированный код я проверяю по тем же правилам, что и код коллеги: запускается ли он, проходят ли тесты, понятно ли, что происходит, и нет ли в нём лишних зависимостей.

Отдельно смотрю на безопасность. Модель может подставить SQL-запрос без экранирования, хранить пароль в открытом виде или отключить проверку сертификата, чтобы код просто заработал, и если человек с опытом заметит это за секунду, то новичок — нет.

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

Эволюция навыков: от справочника к нейросети

Каждое поколение программистов застаёт смену инструментов. Сначала справочники на бумаге и скачанные мануалы, потом поисковики, потом Stack Overflow, который появился в 2008 году и стал главной базой ответов на вопросы о коде.

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

ПериодГлавный источник знанийКлючевой навык
1990-е — начало 2000-хКниги и скачанные справочникиПомнить синтаксис и функции
2000-еПоисковики и форумыБыстро искать
2010-еStack Overflow и документацияКомбинировать готовые решения
2020-еНейросетиСтавить задачу и проверять результат

Какие навыки нужны программисту с ИИ

Умение писать код руками не исчезает, но смещается акцент. Важнее становится понимать, что должно получиться, и уметь проверить, получилось ли.

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

  • Формулировать задачу так, чтобы её понял исполнитель, человек или модель.
  • Читать чужой код быстро и критически.
  • Понимать архитектуру: где граница модуля, что сломается при изменении.
  • Писать тесты, которые ловят ошибки сгенерированного кода.
  • Разбираться в безопасности: модель легко пропускает уязвимости.

Как ИИ меняет найм разработчиков

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

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

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

ChatGPT для программистов: как начать

Начинать стоит с задач, где результат легко проверить, вроде регулярного выражения, SQL-запроса или функции с понятным входом и выходом, чтобы быстро понять, где модель надёжна, а где нет.

Хорошо работает принцип: давать модели как можно больше контекста. Кусок кода, текст ошибки, версию библиотеки, ограничения. Чем точнее вопрос, тем меньше правок в ответе.

Что будет с профессией

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

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

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

Подробнее по темам

Вопросы и ответы

Может ли нейросеть писать рабочий код?

Да. Я попробовал заставить ChatGPT писать код, и код получился вполне работающий.

Заменит ли нейросеть программистов?

Нет, она заменит рутинную работу. Вместо долгого поиска в гугле можно сразу получить почти готовый кусок кода, а сложной работы станет больше.

Обсудить в Telegram Подписаться на @altocodes