Инструмент на базе ИИ REA позволяет любому воспроизвести любую функцию приложения

Если вы когда-нибудь пользовались приложением и хотели скопировать одну из его умных функций в свой продукт, вы, вероятно, сталкивались с неприятным выбором. Вы могли изучить её и воссоздать с нуля или нанять инженера, специализирующегося на обратном проектировании, и потратить дни на разбор этой функции. На этой неделе новый открытый проект под названием REA стал вирусным в кругах разработчиков, предложив третий вариант: передать всю работу модели искусственного интеллекта.
REA расшифровывается как «Reverse Engineer Anything» (Обратное проектирование чего угодно). На его странице на GitHub идея описана просто — увидьте функцию, которая вам нравится, и позвольте инструменту выяснить, как она работает. Проект появился в момент, когда помощники по программированию на базе ИИ уже распространены, но большинство из них помогают писать новый код. REA направляет ту же технологию в противоположную сторону — на уже существующее программное обеспечение. Для разработчиков это значительный сдвиг. Чтение чужой скомпилированной программы традиционно является медленной, кропотливой работой, требующей терпения и специализированных знаний.
Энтузиазм легко понять. Обратное проектирование лежит в основе огромного количества повседневного прогресса в программном обеспечении. Разработчики изучают, как конкурент реализует офлайн-режим, как популярное приложение сохраняет плавность анимации или как игровой движок управляет памятью. В прошлом эти знания передавались на технических форумах и в тяжело добытых постах в блогах. Инструмент, автоматизирующий хотя бы часть процесса, мог бы сжать недели работы в один день.
Есть очевидные ограничения. Скомпилированный код не имеет удобных меток, и модели ИИ могут уверенно выдавать объяснения, которые просто неверны. Любой, кто использует такой инструмент, всё ещё должен проверять то, что он утверждает, а выпуск скопированной логики может вызвать юридические и этические вопросы в зависимости от того, откуда взялся код и какую лицензию он несёт. Популярность проекта не устраняет эти проблемы; она лишь делает их обсуждение более срочным.
Тем не менее, реакция говорит о том, куда движется разработка программного обеспечения. Точно так же, как помощники на базе ИИ изменили то, как люди пишут код, инструменты вроде REA предполагают, что следующая граница — это понимание уже существующего кода. Это может снизить барьер для небольших команд и разработчиков-одиночек, которые не могут позволить себе выделенного исследователя безопасности или опытного инженера для разбора сложной функции.
На данный момент REA — это молодой открытый эксперимент, и его долгосрочная точность и правовой статус остаются открытыми вопросами. Ясно одно: разработчики жаждут его. Инструмент, превращающий многодневное исследование в разговор с моделью, идеально вписывается в год, когда ИИ уже изменил то, как программное обеспечение создаётся, тестируется и теперь разбирается на части.