Помощники по кодированию на базе искусственного интеллекта не решат все проблемы разработки ПО, но они могут стать большим шагом в правильном направлении, пишет на портале The New Stack Питер Гуагенти, президент и директор по маркетингу компании Tabnine.

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

В недавнем исследовании IDC 56% разработчиков заявили, что они экспериментируют с ИИ-помощниками по кодированию. Согласно прогнозам Gartner, изложенным в руководстве по инновациям в области ИИ-помощников по кодированию, к 2028 г. их будут использовать 75% разработчиков ПО корпоративного уровня, что приведет «к росту производительности разработчиков как минимум на 36%». Это может означать миллиарды долларов прибыли от инструментов, которые до прошлого года не попадали в поле зрения многих разработчиков.

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

Парализующее количество вариантов

Однако рост числа инструментов для разработки ПО с помощью ИИ привел к появлению множества вариантов, в основном универсальных и потребительского класса — по состоянию на прошлый год их было не менее 40, в то время как в 2022-м — всего несколько, сообщает Gartner. Перегруженные разработчики — то есть те, кто больше всего выиграет от применения ИИ в своих процессах разработки, — скорее всего, почувствуют дополнительную нагрузку, пытаясь понять, какие инструменты будут работать лучше всего с точки зрения производительности и соответствия требованиям компании.

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

«Что можно» и «чего нельзя»

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

Нельзя. Использовать ИИ-помощников по кодированию «в тени». Прозрачность — ключ к эффективному и безопасному применению ИИ. Запутывание усилий в области ИИ — независимо от того, насколько благими намерениями они продиктованы — в конечном итоге ударит по вашей организации и по вам.

Можно. Выполните домашнее задание, оценивая возможности ИИ-помощников по кодированию. Прочитайте условия предоставления услуг. Ищите помощников, которые не только помогают генерировать, поддерживать и тестировать код, но и интегрируются с вашим репозиторием кода и другими инструментами разработки, чтобы вы могли извлечь пользу из предоставляемого ими контекста. Кроме того, ищите помощника, который сможет объяснить существующий код, выявить проблемы и ошибки, а также оказать поддержку в чате. Также очень важно определить, как помощники по кодированию будут использовать данные и будут ли они храниться (и где).

Нельзя. Брать любого ИИ-помощника по кодированию, который кажется самым простым в использовании или самым дешевым. И не тратьте силы на общие чат-боты. Они не приспособлены для разработки ПО и не понимают, что вы хотите сделать. Сейчас существует много страхов вокруг использования генеративного ИИ. По данным исследования IDC, «безопасность данных, конфиденциальность и утечка IP-адресов/копирайта» занимают первое место среди факторов, препятствующих внедрению генеративного ИИ на предприятиях, уступая лишь стоимости. «Правильный» ИИ-помощник по кодированию — это тот, который снимет страхи перед ИИ и докажет его ценность, обеспечив соответствующие защитные механизмы для вашей компании, ее партнеров и клиентов.

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

Нельзя. Предполагать, что какая-то одна модель всегда будет считаться лучшей. Наряду с ассистентами по кодированию быстро распространяются и развиваются большие языковые модели (LLM).

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

Нельзя. Беспокоиться о том, что генеративный ИИ отнимет у вас работу. Вместо этого рассматривайте помощников по кодированию как еще один инструмент, который позволит вам делать свою работу еще лучше. Многочисленные исследования показывают, что разработчики получают значительную экономию времени — до 45% — и могут выполнять задачи по кодированию в два раза быстрее с помощью инструментов генеративного ИИ. Ассистенты по кодированию также помогают разработчикам изучать новые языки и развивать свои навыки.

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

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

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

Нельзя. Установить и забыть.

Заключение

До сих пор удовлетворение спроса на большее количество ПО означало увеличение числа разработчиков или — что гораздо более вероятно — требование к разработчикам делать больше (и больше, и больше). Это было неудачным решением по многим причинам, включая неспособность разработчиков когда-либо «наверстать упущенное», а тем более иметь время для настоящих инноваций.

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