10 марта 2024

ИИ в кодогенерации: софт пишет софт

Российская сфера разработки ПО уже готова к масштабному внедрению ИИ, включая его генеративные «подвиды», в повседневную практику.

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

ИИ в разработке ПО

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

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

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

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

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

ИИ в коде: наш проект

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

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

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

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

  1. «Пионеры» — сотрудники, которые ищут нестандартное применение инструментария, вырабатывают новые сценарии использования.
  2. «Мэтры промптинга» — находят общий язык с ИИ и умеют эффективно составлять инструкции для него.
  3. «ИИнноваторы» — способны предлагать интересные идеи для развития инструментов GenAI, конвертируемые в новую функциональность.
  4. «Беззаботные» — не выступают с собственными инициативами и ожидают подробную инструкцию с примерами и обоснованием использования. Готовы включиться в процесс использования генеративного ИИ, когда окажутся «в меньшинстве».

Для каких задач разработки лучше всего применять ИИ

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

Например, для любого из таких инструментов обязательными элементами оказались чат, возможность продолжения кода «на лету» (code suggestion), индексация имеющейся кодовой базы (она необходима для понимания моделью особенностей конкретного проекта), подгрузка внешних источников, таких как документация и др.

В процессе разработки мы выделили полтора десятка различных задач. Оказалось, что использование генеративного ИИ эффективно почти для половины из них: Text2SQL, Bash generation, Code translation, Random data generation, Regexp generation, CSS from comments, Code documenting, а также Code sketching.

Практический результат

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

Таким образом, вполне реальны оценки аналитических компаний, которые пишут о приросте производительности создания ПО с использованием GenAI в 10-15%. Наша собственная оценка — 13% — опирается на анализ самих возможностей GenAI и расчеты, связанные с реальным распределением рабочего времени всех, кто участвует в разработке софта.

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

Оргвыводы

Самая большая сложность, которая связана с внедрением инструментов искусственного интеллекта в сфере разработки ПО — их масштабирование на всю компанию. Каждый программист по-разному относится к ИИ-решениям, все они имеют разную экспертизу, по-разному готовы развивать навыки работы с решениями.

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

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

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

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

Автор: Василий Крикунов, эксперт в области ИИ и продвинутой аналитики компании Axenix
Источник: IT Channel News

Читайте наш кейс на РБК: как ИТ-компании прокачать бренд работодателя

16 июля 2024

Как вырастить штат ИТ-компании в 15 раз за 3 года - рассказываем в совместном кейсе с IT_ONE

 

Ася Власова – в шоу «Стражи Леса» на радио «ЭХО лОСЕЙ»

10 июля 2024

Ася Власова, сооснователь и управляющий партнёр агентства iTrend, приняла участие в шоу “Стражи Леса” на радио "ЭХО лОСЕЙ". Вместе с Еленой Бочеровой из компании "Киберпротект" поговорили о том, как выстраивать PR и коммуникации в ИТ.

 

Приглашаем на конференцию для директоров по маркетингу и PR-руководителей ИТ-компаний 

5 июня 2024

На мероприятии встретятся директора по маркетингу и PR-руководители крупных российских ИТ-компаний.

 

Экс-редактор Comnews присоединился к команде iTrend

30 мая 2024

На позицию руководителя проектов коммуникационного агентства iTrend вышел Денис Шишулин – ранее многолетний выпускающий редактор издательской группы ComNews, одного из самых авторитетных ИТ-изданий в России. В iTrend Денис будет отвечать за стратегическое руководство ряда PR-проектов с ИТ-компаниями, оперативное взаимодействие со СМИ, координацию работы команд, а также за качество проектов, которыми руководит в агентстве.

 

iTrend — в числе топ-агентств России по версии «Рейтинга Рунета»

28 мая 2024

Опубликованы итоги ранкинга коммуникационных агентств от «Рейтинга Рунета–2024». iTrend занял лидирующие места в ключевых для агентства срезах — PR в ИТ-отрасли, SMM в ИТ-отрасли, PR и SMM на аудиторию b2b enterprise, PR-аналитика, PR первых лиц и др.

 
Все новости iTrend