Добавить в корзинуПозвонить
Найти в Дзене
Вайб-Кодер

Отношение реального программиста к вайб-кодингу

В одной из своих предыдущих статей я рассказал о таком явлении как вайб-кодинг, и даже приводил пример реального специалиста в этой области и актуальные вакансии. Но что же думает о нём настоящий программист? Заменит ли искусственный интеллект человека или станет мощным инструментом в его руках? В этой статье мы постараемся ответить на эти вопросы. Мой коллега-тестировщик провёл интересную аналогию, сравнив появление нейросетей в нашей жизни с промышленной революцией. До этого мастера на промышленных заводах выполняли задачи вручную, используя свои навыки и инструменты. Они создавали уникальные изделия, но их работа была медленной и дорогостоящей. С приходом промышленной революции появились машины и механизмы, которые позволили автоматизировать производство и увеличить объёмы выпускаемой продукции. В результате мастеров начали сокращать и заменять на работников, которые трудятся на конвейере. Проведя такие параллели, невольно возникает страх, что нейросети могут заменить программистов.
Оглавление

Вступление

В одной из своих предыдущих статей я рассказал о таком явлении как вайб-кодинг, и даже приводил пример реального специалиста в этой области и актуальные вакансии.

Но что же думает о нём настоящий программист? Заменит ли искусственный интеллект человека или станет мощным инструментом в его руках? В этой статье мы постараемся ответить на эти вопросы.

Промышленная Нейронная революция?

Мой коллега-тестировщик провёл интересную аналогию, сравнив появление нейросетей в нашей жизни с промышленной революцией.

Промышленные революции. Взято из https://postnauka.org/wtf/155993
Промышленные революции. Взято из https://postnauka.org/wtf/155993

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

С приходом промышленной революции появились машины и механизмы, которые позволили автоматизировать производство и увеличить объёмы выпускаемой продукции. В результате мастеров начали сокращать и заменять на работников, которые трудятся на конвейере.

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

Примеры использования нейросети в реальных проектах

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

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

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

Так как же я применял нейронные сети в своих проектах?

Написание простых функций

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

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

ChatGPT показывает как быстро можно написать работающий функционал
ChatGPT показывает как быстро можно написать работающий функционал

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

Написание тестов

Мы с нейросетью смогли написать функцию. Но так как мы опытные программисты — мы допускаем, что искусственный интеллект мог ошибиться.
Поэтому напишем тесты для нашей функции. Конечно же, с помощью ИИ!

Следующим сообщением я попросил написать тесты на эту функцию. Результат не разочаровал.

Тесты написаны, все работает
Тесты написаны, все работает

Рефакторинг кода

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

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

Сложная функция, которую попросил отрефакторить
Сложная функция, которую попросил отрефакторить

ChatGPT меня понял и я получил результат.

Отрефакторенная функция
Отрефакторенная функция

Функция стала короче, проще, более читаемой и, наверняка, будет содержать меньше потенциальных ошибок.

Качество кода нейросети

-8

Я неоднократно сталкивался с ситуациями, когда после рефакторинга полагался на работу искусственного интеллекта, но затем обнаруживал баги, возвращённые тестировщиками.

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

Я часто обращался к нейросети, которая была знакома со всем моим проектом, чтобы она решила большую задачу. Однако даже если ей это удавалось (что случалось нечасто), результат не всегда соответствовал общей структуре и стилю проекта. Поэтому мне было проще сделать большую часть работы самостоятельно, а к нейросети обращаться лишь с мелкими задачами.

Чем сложнее задача, тем больше вероятность, что нейросеть предложит решение с ошибкой или удалит существующий функционал.

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

Важно учитывать, что есть различные нейросети: ChatGPT, Grok, DeepSeek и другие и они могут дать разный результат, если задача не имеет единственного решения. Поэтому, если не получилось в одном месте, стоит попробовать в другом.

Я слышал мнение, что Claude — лучшая нейросеть для написания кода, но сам я предпочитаю использовать ChatGPT как для программирования, так и в повседневной жизни.

Способен ли программист писать код лучше нейронки?

Давайте обсудим, что значит «лучше». Как я уже упоминал ранее, нейросеть часто допускает ошибки, поэтому её работу необходимо дорабатывать.

Как ChatGPT видит противостояние программиста и нейросети
Как ChatGPT видит противостояние программиста и нейросети

Однако, если ваша цель — создать небольшой проект для личного использования, независимо от его направленности (фронтенд, бекенд, мобильные приложения или для компьютера), то нейросеть, безусловно, справится с этой задачей быстрее, чем человек, поскольку она обладает большим объемом знаний, чем мы.

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

Заключение

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

-10