Искусственный интеллект завоевывает цифровую вселенную и все ее планеты. Теперь он приземлился и закрепляется на планете разработки ПО, пишут в корпоративном блоге ведущие аналитики Forrester, авторы отчета «TuringBots Offer A Peek Into Next-Generation Development».

Не волнуйтесь, и давайте начистоту: если вы дизайнер, разработчик, тестировщик или даже менеджер продукта, боты Тьюринга (TuringBots) не заменят вас ни в ближайшем, ни в среднесрочном будущем. Но, безусловно, они расширят ваши возможности и заставят вас выглядеть и работать умнее.

Что такое боты Тьюринга?

Боты Тьюринга, по определению Forrester, — это ПО на базе ИИ, которое может помочь как отдельным разработчикам, так и целым командам планировать, проектировать, создавать, тестировать и развертывать код приложений. В этом году TuringBots вошли в список 10 лучших технологических трендов 2022 г. по версии Forrester, поскольку они формируют новую эру разработки ПО.

Что боты Тьюринга могут сделать для вас?

В зависимости от роли разработчика, они могут помочь на каждом этапе жизненного цикла непрерывной разработки ПО. Боты-аналитики/дизайнеры могут генерировать HTML5-код из рукописных эскизов пользовательского интерфейса во время практикумов по дизайну вашей UX-команды. Боты-кодировщики могут искать техническую документацию, обмениваться сигнатурами интерфейса с необходимыми параметрами, а затем автоматически завершать код. Боты- тестировщики могут, например, автоматизировать тысячи визуальных тестов на сотнях веб-страниц и страниц мобильных браузеров за считанные секунды. Боты- доставщики могут автоматизировать конфигурационные файлы для создания эффективных конвейеров DevOps. Боты CWM могут упростить совместную работу команд и более эффективно делиться информацией о продукте/проекте, а боты-инсайдеры — предоставить всем членам команды основанные на данных инсайты о качестве, техническом долге, бизнес-ценности и многом другом.

Готовы ли они к прайм-тайму?

Еще не все типы TuringBots готовы к прайм-тайму, но лидеры в сфере ПО уже работают с ботами-тестировщиками и экспериментируют с ботами-кодерами. Так, «большие» игроки на рынке ПО уже делают свои шаги: Amazon с TuringBots для тестирования, доставки и кодирования (CodeGuru, DevOps Guru и Whisperer), GitHub со своим TuringBot для кодирования, Microsoft со «вторым пилотом» для Power Automate, IBM и Redhat с TuringBot для доставки под названием Project Wisdom. Но есть и более мелкие игроки, такие как Tabnine со своим ботом-кодировщиком, который, как утверждается, уже сгенерировал 1,5% существующего мирового кода, а также боты для юнит-тестирования Ponicode от CircleCI и DiffBlue. Все это лишь несколько примеров существующих продуктов категории TuringBot, которые отслеживает Forrester.

Как к ним подготовиться?

В течение следующих трех-пяти (или более) лет боты Тьюринга будут стремительно развиваться и совершенствоваться. В качестве примера можно привести AlphaCode от DeepMind, который выходит за рамки простого написания кода, поскольку он может прочитать полстраницы четко сформулированной спецификации технической проблемы, найти решение проблемы, а затем сгенерировать код. Дьявол, однако, кроется именно в такой детали, как «четкая формулировка технической проблемы», поскольку бот подчиняется правилу «мусор на входе, мусор на выходе». Пользователям TuringBots придется очень дисциплинированно подходить к тому, как и о чем они их спрашивают, и обращать внимание на то, на каком коде обучаются боты, как часто они обновляются и соблюдают ли они атрибуцию. Разработчики и команды разработчиков предприятий, софтверных фирм, независимых сервис-провайдеров и даже системных интеграторов должны будут:

  1. Разобраться в технологии. Осознать потенциал и влияние TuringBots (понять, когда внедрять, экспериментировать или наблюдать) на применяемый ими подход к разработке ПО и то, как боты изменят существующие роли.
  2. Принять стратегию. Внедрять ботов-тестировщиков, экспериментировать с ботами-кодерами и доставщиками, а также наблюдать за такими TuringBots, такими как AlphaCode.
  3. Быть в курсе. Ознакомиться с аналитическими исследованиями, которые помогут прокладывать свой путь в области разработки ПО.