DeepMind создал AI-систему под названием AlphaCode, которая, по словам компании, «пишет компьютерные программы на конкурентоспособном уровне». Дочерняя компания Alphabet проверила свою систему в тестовых задачах и обнаружила, что ее ИИ достиг «приблизительного рейтинга» 54% лучших программистов-людей. Это значительный шаг вперед для автономного программирования, говорит DeepMind, хотя навыки AlphaCode и не обязательно репрезентативны для задач программирования, с которыми сталкивается средний кодер.
Ориол Виньялс, главный научный сотрудник DeepMind, сообщил, что исследование все еще находится на ранней стадии, но его результаты приблизили компанию к созданию гибкого ИИ для решения проблем — программы, которая может автономно решать сложные задачи в программировании, что в настоящее время является прерогативой только людей. «В долгосрочной перспективе нас воодушевляет потенциал AlphaCode для помощи программистам и непрограммистам в написании кода, повышении производительности или создании новых способов разработки программного обеспечения», — сказал Виньялс.
AlphaCode был протестирован на задачах Codeforces, соревновательной платформы для программистов, которая еженедельно публикует задачи и выдает рейтинги, подобные тем, что используются в шахматах. Эти задачи отличаются от задач, с которыми может столкнуться программист при создании, например, коммерческого приложения. Они более автономны, это своего рода головоломки, требующие более широких знаний как алгоритмов, так и теоретических концепций информатики.
AlphaCode был протестирован на 10 задачах, которые решили 5000 пользователей на сайте Codeforces. В среднем он вошел в число 54.3% лучших, и, по оценкам DeepMind, это дает системе рейтинг 1238, что ставит его в число 28% лучших пользователей, которые соревновались на сайте за последние шесть месяцев.
«Я могу с уверенностью сказать, что результаты AlphaCode превзошли мои ожидания», — сказал основатель Codeforces Майк Мирзаянов в заявлении, распространенном DeepMind. «Я был настроен скептически, потому что даже в простых соревновательных задачах часто требуется не только реализовать алгоритм, но и (и это самое сложное) его изобрести. AlphaCode удалось выступить на уровне нового многообещающего игрока».
DeepMind отмечает, что текущий набор навыков AlphaCode применим только в области соревновательного программирования, но его потенциал дает возможности для создания будущих инструментов, которые сделают программирование более доступным и однажды полностью автоматизированным.
Многие другие компании работают над аналогичными приложениями. Например, Microsoft и лаборатория искусственного интеллекта OpenAI адаптировали нейронную сеть GPT-3, чтобы она функционировала как программа автодополнения, завершающая код.
В последние годы был достигнут значительный прогресс в разработке систем программирования на основе искусственного интеллекта, но эти системы далеки от того, чтобы просто взять на себя работу программистов-людей. Код, который они производят, часто содержит ошибки, а поскольку системы обычно обучаются на общедоступном коде, они иногда воспроизводят материалы, защищенные авторским правом.
В одном из исследований платформы Copilot, разработанной GitHub, исследователи обнаружили, что около 40% его выходных данных содержат уязвимости в системе безопасности. Аналитики даже предположили, что злоумышленники могут преднамеренно писать и делиться кодом со скрытыми бэкдорами, который затем может использоваться для обучения ИИ, который затем будет вставлять эти ошибки в свои программы.
Проблемы, подобные этим, означают, что системы ИИ-программирования, скорее всего, будут постепенно интегрироваться в работу программистов, начиная с помощников, к чьим предложениям относятся с подозрением, прежде чем им доверят выполнять работу самостоятельно. Другими словами: они должны пройти обучение. И они быстро учатся.