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

Команда iTrend начала работу с Институтом iSpring

19 апреля 2024

Институт iSpring — частный ИТ-вуз нового поколения. Он был основан в 2021 году в Йошкар-Оле российским предпринимателем и основателем международной ИТ-компании iSpring Юрием Усковым.

 

Вебинар iTrend «Работодатель-as-a-Service: новая реальность привлечения ИТ-специалистов»

19 апреля 2024

23 апреля в 15:00 пройдет открытый вебинар «Работодатель-as-a-Service: Новая реальность привлечения ИТ-специалистов». Организаторы — коммуникационное агентство iTrend, ассоциация РУССОФТ и консалтинговая группа BITOBE.

 

iTrend: освоить маркировку интернет-рекламы можно только на собственном опыте

25 марта 2024

В феврале 2024 года в Москве прошла Конференция «Digital-коммуникации России». Организатор мероприятия – Ассоциация директоров по коммуникациям и корпоративным медиа России (АКМР). Эксперты конференции обсудили острые вопросы рынка digital, в том числе маркировку интернет-рекламы. Об опыте коммуникационного агентства в рамках перехода на работу по новым правилам рассказала Екатерина Саранцева, директор по развитию iTrend.

 

Медиалогия: iTrend – в ТОП-4 коммуникационных агентств по медиаиндексу за январь 2024 года

20 марта 2024

Коммуникационное агентство iTrend вошло в пятерку агентств, получивших наиболее высокий медиаиндекс по данным рейтинга «Медиалогии» за январь 2024 года. Компания заняла четвёртую строчку ранкинга, набрав 433,2 пункта МИ. Медиаактивность участников рынка оценивалась на основе анализа базы российских СМИ, включающей в себя более 88 тыс. источников — ТВ, радио, газеты, журналы, информационные агентства и Интернет-СМИ.

 

iTrend: интерес деловых СМИ к ИТ вырос в 6 раз за последние пять лет

20 марта 2024

Эксперты коммуникационного агентства iTrend провели исследование, в рамках которого проанализировали, как менялся медиаландшафт в ИТ-индустрии в последние пять лет. В компании сравнили количество упоминаний крупнейших российских разработчиков и системных интеграторов в деловых СМИ и пришли к выводу, что об ИТ-компаниях стали писать в 6 раз чаще.

 
Все новости iTrend