Как использовать нейросети в разработке
Как использовать нейросети в разработке
Разбираемся, может ли ИИ написать хороший код, какие именно нейросети использовать и какие навыки стоит развивать разработчику, чтобы оставаться конкурентоспособным на рынке труда.
В июле 2024 года McKinsey & Company провела исследование The State of AI. How Organizations Are Rewiring to Capture Value, в рамках которого опросила 1491 участника на всех уровнях организации. Опрос респондентов ясно показывает, что использование ИИ быстро растёт: крупные и небольшие компании массово внедряют AI-инструменты на разных этапах производства, сервиса и управления.
Из всех респондентов 78% отметили, что в их организации используют ИИ по крайней мере в одной бизнес-функции, — по сравнению с 72% в начале 2024 года и 55% годом ранее. Также 21% опрошенных утверждают, что их компании кардинально переработали по крайней мере некоторые рабочие процессы.
Наибольший рост использования нейросетей за последние полгода исследование показало в IT, где доля выросла с 27% до 36%. Более трети респондентов заявили, что их организации используют искусственный интеллект для создания изображений, а более четверти — для создания компьютерного кода.
По данным опроса, чаще всего компании используют искусственный интеллект в маркетинге и продажах, разработке продуктов и услуг, а также в разработке программного обеспечения. Это закономерно, ведь программирование в конечном итоге приносит пользу компании и помогает генерировать прибыль.
Развитие бизнеса невозможно без грамотных специалистов. Чтобы стать таким в IT и строить карьеру в перспективной области, важно определиться с направлением. Понять, что ближе: разработка или тестирование, — поможет бесплатный курс «Какую профессию в программировании выбрать». Подробно разбираем навыки и типичные задачи и раскладываем рынок труда по полочкам.
Разберём три основных сценария использования и интеграции нейросетей в процесс разработки.
1. Автодополнение. Разработчик пишет часть кода, и нейросеть на основе всего предыдущего кода, стиля написания и других факторов даёт подсказки, как можно закончить строку.
Условно говоря, разработчик начинает писать код, нейросеть сразу понимает, что он будет писать дальше, и генерирует нужный код. Специалисту остаётся при необходимости только чуть-чуть поменять его. Лучше всего с этой задачей справляется GitHub Copilot, он был создан именно для этого, также можно использовать Cursor AI.
2. Генерация решений. Программист пишет промпт, даёт нейросети некое техническое задание и получает готовый код. Например, можно попросить ChatGPT написать код на Kotlin для экрана с двумя кнопками, формой для ввода данных и чек-боксом. GPT или любая другая модель по такому техническому заданию способна сгенерировать код, который будет работать. Специалисту остаётся перенести этот код в свою среду разработки, возможно, немного его адаптировать — и задача выполнена.
3. Ревью кода и самообучение. Разработчик пишет код, показывает его нейросети и спрашивает, что можно улучшить и как решить задачу оптимальнее. Нейросеть на основе миллионов увиденных ею других проектов даёт подсказки: как сделать лучше, где ошибка, где программа будет неоптимальна по скорости выполнения, и т. д. Плюс в том, что получить ответ на вопрос, например почему фреймворк сделан таким образом, можно максимально быстро.
Использование ИИ в разработке можно сравнить со своеобразным «ревью на стероидах» с элементами самообучения. Источник: github
Перечислим топ ИИ-инструментов и созданных специально для кодинга интерфейсов, которые будут полезны разработчикам.
AI-помощник для работы с кодом в интегрированных средах разработки Visual Studio Code, Visual Studio, Neovim и JetBrains. Подтягивает данные из репозиториев и внешних источников, пишет и анализирует код, предлагает правки, исправляет ошибки и выполняет тесты.
Важно учитывать, что пользователям в России для использования инструмента понадобится VPN.
Ревью кода в исполнении Github Copilot. Источник: github
Среда разработки, которая очень активно используется разработчиками по всему миру. Cursor AI позволяет интегрировать AI-помощника в повседневную жизнь, в том числе в рабочие процессы разработчика.
Встроенные в эту среду нейросети позволяют совместно писать код, создавать прототипы продукта, улучшать юнит-тесты, делать ревью и рефакторинг кода, и всё это — с глубинной опорой на ваш стиль написания код и правила проекта. Это ментор, AI-помощник и ревьюер в одном окне.
Cursor позволяет быстро вносить изменения, предсказывая следующее редактирование. Источник: cursor
Одна из самых значимых и популярных нейросетей для разработчиков от компании Anthropic. С помощью Claude специалист может создать и исправить код на любом языке, оптимизировать алгоритмы, объяснить решение и проанализировать код.
Делегирование задач по разработке кода ИИ — уже реальность. Источник: anthropic
Разработка компании OpenAI также генерирует код, помогает с алгоритмами и может быть использована для ревью кода и самообучения.
Разработанный Google AI-инструмент позволяет генерировать код, хорошо помогает ориентироваться в нём и может быть интегрирован в Visual Studio Code, GitHub и JetBrains.
В России также разрабатываются нейросети, которые могут помочь разработчикам. Например, при правильно сформулированном промпте GigaChat и YandexGPT смогут сгенерировать или прокомментировать код, а также объяснить нюансы и тонкости кодинга.
Подробный и ясный промпт — залог любого взаимодействия с нейросетью. Источник: giga.chat
Несмотря на распространённые опасения, можно уверенно сказать, что нейросети полностью не заменят разработчиков. С помощью нейросетей можно достаточно быстро решить задачи, связанные с прототипированием и созданием MVP-продуктов. Но нюанс в том, что созданный ИИ код достаточно тяжело масштабировать: для этого понадобится либо команда разработчиков, либо синтез нескольких нейросетей, а добиться их слаженной работы пока трудно.
Очевидно, что развитие нейросетей приведёт к сокращению части рабочих мест. Человечество проходило подобное много раз в своей истории: например, повозки и дилижансы сменили автомобили, и необходимость в кучерах исчезла. С нейросетями будет так же, и сильнее пострадает рынок джунов. В то же время вырастет спрос на специалистов, которые умеют работать с ИИ: внедрять такие методы, правильно писать промпты.
Чтобы в будущем оставаться востребованным специалистом, разработчикам уже сейчас стоит развивать такие навыки:
1. Промпт-инжиниринг, то есть умение правильно формулировать запросы и задачи для получения нужного результата.
2. Критическое мышление, чтобы ревьюить выдачу ИИ.
3. Технические навыки. Недостаточно полагаться во всём на нейросети, по-прежнему нужно будет уметь работать руками и достаточно глубоко и хорошо разбираться в своей области, будь это iOS-разработка, Android-разработка или Python-разработка. Также уметь решать задачи самому важно, чтобы контролировать результат работы нейросети.
4. Продуктовый подход. Помимо написания кода, нужно ещё и интересоваться продуктом и нюансами взаимодействия пользователей с ним. Сюда можно отнести всё, что связано с продуктом: понимание, какие в целом продуктовые метрики влияют на продукт, как делаются продукты, как улучшать конверсию и т. д. Плюс дизайн-мышление и маркетинговая сторона: понимание, почему дизайнеры рисуют именно так, а не иначе, как работают воронки и пр.
Совет эксперта
Читать также: