Нил Сундаресан, генеральный менеджер IBM по автоматизации и искусственному интеллекту, рассказывает на портале The New Stack о том, как агентный ИИ превращает разработку ПО из ручного кодирования в интеллектуальную автоматизацию.
На протяжении десятилетий элегантный код — код, который является упорядоченным, эффективным, хорошо документированным, многократно используемым и созданным с большим мастерством, — был отличительной чертой отличной разработки ПО. В начале своей карьеры я был приучен отдавать предпочтение инструментам и генераторам программ, а не непосредственному написанию кода. Такой подход привел к моему участию в многочисленных инновационных инициативах, которые позволили автоматизировать модернизацию ПО и повысить производительность. Разработав инструменты, генерирующие транспилеры, мы смогли эффективно модернизировать миллионы строк кода.
Сегодня модели генеративного ИИ могут создавать код на основе человеческого языка, делая разработку более интуитивной. Неудивительно, что широкое распространение получили такие концепции, как «вайб-кодинг», в которых особое внимание уделяется интуиции, эстетике и экспериментам. Хотя, несмотря на распространение систем low-code и no-code, большинство программ по-прежнему создается инженерами.
Как агентный ИИ революционизирует разработку ПО
С быстрым развитием ИИ, от традиционного до генеративного, а теперь и агентного, фокус смещается с простого кодирования логики на автоматизацию всего процесса разработки ПО. Автоматизированное тестирование, непрерывное документирование, автоматизированные запросы на изменения и системы CI/CD, а также отслеживание и исправление проблем производительности и безопасности на основе ИИ подают большие надежды.
Опираясь на эти достижения, современные ИТ-системы, включая локальные, гибридные облачные и суперскалярные среды, предоставляют возможности, выходящие за рамки простой отчетности и анализа. Эти системы позволяют выявлять, локализовывать, исправлять, оптимизировать, восстанавливать и предотвращать проблемы, чему способствуют современные технологии ИИ.
Например, многие компании используют наборы продуктов для автоматизации, применяя как традиционный, так и генеративный ИИ для преобразования исходных данных в интеллектуальные системы. Эта мощная комбинация улучшает ИТ-операции, позволяя создавать сложные, основанные на данных решения во всем технологическом стеке.
Агентный ИИ делает еще один шаг вперед, выполняя задачи самостоятельно. Вместо того чтобы писать код, он может выполнять элементы создания и запуска ПО автоматически. Это позволяет инженерам создавать ИИ-команды, в которых отдельные агенты ИИ специализируются на разных задачах, но при этом сотрудничают для проверки, уточнения и улучшения решений.
Эти агенты, опирающиеся на большие языковые модели и другие системы ИИ, могут общаться, обмениваться данными и итеративно улучшать свои результаты. Этот непрерывный цикл решения проблем обеспечивает корректность, масштабируемость и эффективность.
В конечном итоге истинное инженерное совершенство в будущем будет заключаться в элегантной автоматизации, опирающейся на возможности передовых систем ИИ.
Подъем автоматизации разработки
Эта смена парадигмы открывает новые возможности и ставит новые задачи перед ИТ-руководителями. Им предстоит найти ответы на многие ключевые вопросы. Как стимулировать команду к использованию ИИ для достижения сквозной автоматизации? Как обеспечить правильное управление, чтобы повысить эффективность и раскрыть инновации, а не создать новые проблемы? Какие инструменты и опыт могут способствовать интеграции ИИ на ранних этапах жизненного цикла разработки ПО?
Три шага для перехода вашей команды от кодирования к автоматизации
1. Фокусируйтесь на результатах, а не на строках кода
Чтобы достичь совершенства в автоматизации, сместите фокус с объема написанного кода на количество автоматизированных процессов и сэкономленного времени. Внедрите показатели, измеряющие эти результаты, чтобы эффективно отслеживать прогресс. Создайте культуру, которая опирается на данные и эксперименты для принятия решений. Поощряйте инженеров думать о том, как автоматизация, особенно с помощью ИИ, может повысить скорость и масштабируемость их работы, а не просто концентрироваться на технических деталях. Поддерживайте культуру, в которой автоматизация рассматривается как способ улучшить и поддержать команду, а не заменить ее.
В прошлом году наша небольшая команда, состоящая из опытных и недавно нанятых разработчиков продуктов, взяла под контроль репозитории кода, содержащие около 750 файлов JavaScript без какой-либо документации. Целью команды было выяснить, что это за код и что именно он делает. Для начала члены команды создали пробный вариант, в котором использовали ИИ-помощника для документирования около 1000 строк кода в девяти различных файлах. Это позволило им понять и задокументировать содержимое каждого файла за считанные секунды, в результате чего экономия времени составила более 90% для данной конкретной задачи.
Подобная экономия времени может быть достигнута в других сценариях в масштабах предприятия и вылиться в тысячи сэкономленных часов.
2. Стройте с учетом принципов автоматизации
С самого начала интегрируйте автоматизацию в основной рабочий процесс разработки. Поощряйте команды к автоматизации развертывания, тестирования и мониторинга как регулярной части процесса разработки. Используйте ИИ-ассистентов для разработки, чтобы ускорить создание высококачественных программных систем. Отдавайте предпочтение решениям low-code и no-code для повторяющихся задач, освобождая время инженеров, чтобы они могли сосредоточиться на важной работе, и повышая общую эффективность и инновационность.
Например, компания Ensono, глобальный поставщик управляемых сервисов, использовала ИИ-помощника для Red Hat Ansible Lightspeed для консолидации платформы автоматизации компании, прямой миграции баз данных и создания единого источника истины для содержимого Ansible. Такой оптимизированный подход позволил Ensono выполнить 28 млн. задач и сэкономить разработчикам более 100 тыс. часов всего за один год, значительно улучшив реагирование на инциденты клиентов, производительность приложений и общую эффективность.
3. Развивайте навыки и мышление, ориентированные на ИИ
Превратите разработчиков в инженеров по автоматизации, сосредоточившись на том, как ИИ и инструменты автоматизации могут дополнить их опыт. Инвестируйте в обучение по вопросам ИИ и автоматизации, чтобы помочь командам накопить опыт в разработке на основе ИИ, наблюдаемости и самовосстанавливающихся системах. Поощряйте межфункциональное сотрудничество между ИТ-, операционными и бизнес-командами, чтобы обеспечить соответствие автоматизации стратегическим целям. Установите обратную связь, чтобы стимулировать непрерывную итерацию и совершенствование стратегий автоматизации.
От разработчика к инженеру по автоматизации
Следующая эра ИТ — это не усложнение кодирования, а более интеллектуальная автоматизация. Лучшие ИТ-руководители понимают, что наибольшая ценность их команд заключается в создании интеллектуальных, адаптивных систем, которые легко масштабируются и проактивно реагируют на изменения.
Сместив акцент на элегантную автоматизацию, разработчики получают возможность решать более серьезные проблемы, добиваться большего эффекта и обеспечивать будущее организаций.
Переход от элегантного кода к элегантной автоматизации представляет собой значительный сдвиг в ландшафте разработки ПО. Он требует нового мышления, нового набора навыков и готовности принять ИИ в качестве инструмента для совместной работы, а не использовать его как замену человеческому опыту.
По мере продвижения вперед успеха добьются те ИТ-команды, которые эффективно используют возможности ИИ для создания элегантных, эффективных и масштабируемых автоматизированных решений.