Программная инженерия, дополненная искусственным интеллектом (AI-augmented software engineering), интегрирует ИИ в весь жизненный цикл разработки ПО. Опрошенные порталом InfromationWeek эксперты рассказывают, как мотивировать и подготовить разработчиков к работе с этим мощным новшеством.

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

По словам Стива Холла, ИИ-директора консалтинговой компании ISG, в последние несколько лет мы увидели, как разработчики стали использовать ИИ, встроенный в GitHub Copilot, Anthropic, ChatGPT и другие инструменты, для помощи в написании кода. «Сейчас мы видим, как ИИ-агенты с расширенными возможностями помогают приоритизировать функции и возможности, писать и тестировать код, внедрять расширенный код безопасности и помогать развертывать код», — отмечает он.

Меньше усилий, быстрее результаты

По словам Холла, разработка, дополненная ИИ, сокращает необходимые усилия: «Алгоритмы ИИ могут быть настроены таким образом, чтобы обеспечить более эффективный, отказоустойчивый и безопасный код». Он также отмечает, что, согласно исследованию ISG, такой подход обеспечивает 40%-ное улучшение качества кода.

Бретт Смит, заслуженный разработчик ПО компании SAS, говорит, что программная инженерия, дополненная ИИ, способна произвести революцию в разработке ПО. Этот подход может помочь разработчикам быстрее писать более качественный код, выявляя и устраняя уязвимости. Его скорость также может помочь организациям быстрее обнаруживать и реагировать на инциденты безопасности. «Одним словом, программная инженерия, дополненная ИИ, способна сделать ПО более безопасным, надежным и эффективным», — поясняет он.

По мнению Джона Роберта, заместителя директора отдела программных решений Института программной инженерии Университета Карнеги-Меллона, подходы, основанные на использовании ИИ, позволят инженерам-программистам сосредоточиться на задачах, требующих критического мышления и творческого подхода. «Ключевым потенциальным преимуществом, вызывающим восторг у большинства энтузиастов разработки ПО с использованием ИИ, является эффективность — возможность разрабатывать больше кода за меньшее время и снижать барьер входа для некоторых задач», — отмечает он, добавляя, что совместная работа людей и ИИ переключит внимание людей на концептуальные задачи, с которыми компьютеры не справляются, и в то же время уменьшит количество человеческих ошибок в задачах, где ИИ может помочь.

Благодаря недавним достижениям в области генеративного ИИ (GenAI) и доступности ряда больших языковых моделей (LLM), разработка ПО с использованием GenAI становится все более распространенной, говорит Акаш Таял, директор и руководитель направления облачных разработок Deloitte Consulting. «Последние модели GenAI доказали свою эффективность в автоматизации и повышении точности многих задач программной инженерии, что является значительным прогрессом в этой области», — отмечает он.

С появлением GenAI мы наблюдаем сейсмические изменения в том, как ИИ влияет на разработку ПО, говорит Шрини Ирагаварапу, директор по приложениям GenAI и опыту разработчиков Amazon Web Services: «LLM теперь более доступны через сервисы, поэтому организациям и поставщикам ПО стало проще создавать приложения на базе GenAI».

Лучше, быстрее, дешевле

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

Холл отмечает, что GenAI можно предоставить доступ к огромным объемам данных для анализа рыночных тенденций, текущего поведения пользователей, отзывов клиентов и данных об использовании, чтобы помочь определить ключевые функции, которые пользуются большим спросом и имеют потенциал для обеспечения значительной ценности для пользователей. «После того как функции описаны и определены приоритеты, несколько агентов могут создать компоненты программы. Такой подход разбивает большие задачи на несколько задач поменьше с общей архитектурой. Это действительно меняет то, как мы решаем сложные проблемы и применяем технологии», — считает он.

«Если представить себе полный жизненный цикл разработки ПО — планирование того, что вы хотите создать, создание кода, сопровождение кода, обеспечение высокого качества и безопасности кода, развертывание кода и сопровождение производственных сервисов, — то ИИ может ускорить и улучшить каждый из этих этапов», — говорит Ирагаварапу.

Заглядывая в будущее

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

Роберт рекомендует собирать предложения от членов команды разработчиков, чтобы выявлять области, в которых применение программной инженерии с использованием ИИ может оказаться полезным: «Чтобы использовать эту информацию, создайте небольшую команду для оценки рисков и преимуществ и начните с небольших экспериментов».

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