Кому и зачем нужен ИИ-ассистент для написания кода

Генеративные ML-модели постепенно становятся полноценными ассистентами бизнеса в разработке приложений. Нейросети используют как небольшие стартапы, у которых не хватает программистов для собственной разработки, так и крупные корпорации, которые регулярно создают и обновляют софт в больших масштабах. Рассказываем о реальных кейсах использования AI-сервисов для написания кода и о том, какой бизнес-эффект от этого можно ожидать.

Зачем нужен Copilot?

Copilot-сервисы могут использоваться в любой сфере, где есть необходимость в каком-либо ПО: в промышленности для автоматизации производства, в телеком-компаниях для создания ботов и так далее. По оценкам аналитического агентства MarketsandMarkets, объем рынка ИИ-сервисов для написания кода в 2023 году достиг $4,3 млрд и уже к 2028 году вырастет до $12,8 млрд.

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

ИИ-ассистенты для написания кода работают на базе генеративных ML-моделей – как общепрофильных (например, ChatGPT), так и разработанных специально для работы с программным кодом. Для генерации кода они обучаются на больших массивах уже существующего доступного исходного кода. В последнее время исходный код стали добавлять в обучение и общепрофильных моделей тоже.

В основном ассистенты для написания кода используются для:

  • разработки и прототипирования ПО (генерации каркаса кода для дальнейшей редактуры);

  • написания тестов для существующего кода и поиска ошибок;

  • работы с legacy – перевода кода с одного языка программирования на другой и его адаптации под контекст текущего проекта.

Использование ИИ-ассистентов позволяет значительно повысить эффективность разработчиков и сэкономить их время на выполнение рутинных задач, так как редактировать уже готовый код проще, чем писать с нуля. По оценкам Github, его Copilot-сервис использует уже более 20 тысяч компаний. В среднем разработчики принимают около 30% предложений этого ассистента, он позволяет повысить ускорить разработку софта на 55%. На практике сервисы для написания кода способны добавить в мировую экономику мощности, сопоставимые с активностью 15 млн разработчиков.

Чем отличаются решения

На рынке уже представлено множество зарубежных и российских сервисов для работы с кодом: от первых Github Copilot и Microsoft Copilot до современных стартапов вроде Codeium и AskCodi. При относительно схожих возможностях они различаются базовой генеративной моделью, на основе которой они работают (некоторые – на ChatGPT, некоторые – на собственных ML-моделях), стоимостью (например, Codeium доступен бесплатно с базовой функциональностью), количеством поддерживаемых языков программирования и сред разработки, умением работать с контекстом.

Для написания кода также можно использовать генеративные языковые модели, например ChatGPT. У такого подхода есть несколько преимуществ: в частности, разработчик может более подробно и в диалоговой форме сформулировать задачу для нейросети. Кроме того, чат-бот способен аргументировать свои решения и внести корректировки, которые программист может объяснить на естественном языке. Однако на практике вероятность получить работоспособный код от нейросети ниже, чем от специализированных AI-сервисов для написания кода. К тому же, нейросеть не учитывает контекст, для которого генерируется код, из-за чего в крупных проектах возникают проблемы с совместимостью сгенерированных и написанных самим разработчиком фрагментов.

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

Банки, ритейлеры и другие крупные корпорации, которые работают со значительными объемами чувствительных данных, зачастую используют ИИ-сервисы исключительно в контуре компании. Таким образом вся информация, которую нейросети используют для обработки, не покидает пределы компании. Это обеспечивает дополнительную безопасность как самим корпоративным данным, так и результатам обучения.

Как компании используют ИИ-ассистентов для программистов

Создатель популярных сред разработки JetBrains интегрировал OpenAI API в свой сервис для разработчиков AI Assistant, чтобы автоматизировать рутинные задачи в рабочих процессах клиентов – например, написание тестов, наименование переменных и так далее. Помимо генерации кода, ИИ-ассистент также может составить документацию, объяснить ошибки в коде и провести его рефакторинг («чистку» без потери функциональности).

В результате JetBrains AI Assistant стал значительно востребован у клиентов, обеспечивая высокий уровень удовлетворенности сервисом. Сами пользователи AI Assistant подтверждают эффективность ИИ в разработке: 77% из них сообщили, что чувствуют себя более продуктивными, 71% опрошенных отметили, что могут быстрее выполнять задачи. а 55% находят больше времени, чтобы сосредоточиться на более

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

В 2023 году производитель софта и оборудования Dell Technologies объявил о партнерстве с разработчиком ИИ-ассистента Codeium. Пользователи корпоративной версии сервиса получили возможность развернуть его полностью на внутренней инфраструктуре на базе оборудования Dell. Для более простой интеграции компании предлагают готовые конфигурации серверов.

По итогам опроса разработчиков после двухнедельного тестирования решения более 92% опрошенных отметили общий рост производительности, еще 78% рассказали, что с помощью ассистента они смогли более быстро создать первую версию кода разрабатываемого софта. Сами компании отмечают, что использование Codeium Enterprise в контуре заказчика позволяет не только повысить производительность программистов и минимизировать затраты на разработку, но и обеспечить безопасность данных и интеллектуальной собственности, а также выполнить все требования комплаенса.

Консалтинговая компания Accenture использует ассистента для написания кода CodeWhisperer от Amazon в проекте Velocity – это сервис для быстрой интеграции решений Accenture и Amazon Web Services в инфраструктуру бизнес-заказчиков. На этой платформе Accenture использует ИИ-помощника для ускорения написания кода – он помогает автоматизировать повторяющиеся задачи и сэкономить время разработчиков на поиск ошибок и уязвимостей. Также с помощью подсказок и предлагаемых фрагментов кода CodeWhisperer ускоряет адаптацию начинающих программистов или разработчиков, которые мало знакомы с кодовой базой Amazon Web Services. В Accenture отметили, что интеграция ИИ-помощника позволила сократить усилия разработчиков на 30%, и это помогло им сфокусироваться на качестве, безопасности и производительности решений.

Однако есть и более специфические сценарии использования ИИ-ассистентов в зависимости от задач заказчика. Например, ИТ-интегратор «Автомакон» использовал ChatGPT для разработки нагрузочных тестов с продвинутой логикой и для сравнения различных технических решений. В частности, чтобы сравнить два стека PHP Plus Opensource и Go, потребовалось бы написать код и обернуть его в Docker Compose, и это заняло бы минимум 8 часов рабочего времени, но благодаря нейросети этот процесс занял всего один час.