Разработали ИИ, способный дать фору средним программистам
|
Компания DeepMind создала платформу искусственного интеллекта AlphaCode, не только отчасти способную программировать вместо человека, но и готовую делать это на «конкурентоспособном» уровне. Дочернее предприятие Alphabet протестировало систему на задачах, используемых в состязаниях программистов-людей. Выяснилось, что по результатам испытаний ИИ входит в число 54 %, справившихся с задачами лучше всех. Результат стал большим шагом вперёд на пути к созданию автономных систем программирования, хотя навыки AlphaCode не обязательно соответствуют задачам, стоящим перед среднестатистическим кодером. |
По данным DeepMind, исследования пока находятся на ранней стадии, но уже сейчас понятно, что программа может автономно решать задачи по программированию, до недавних пор доступные только людям. В компании рассчитывают, что в долгосрочной перспективе ИИ будет помогать разработчикам писать код, улучшая производительность сотрудников и предлагая новые способы разработки программного обеспечения. AlphaCode протестировали на платформе Codeforces, на которой еженедельно публикуются задачи по программированию и рейтинг программистов. Задачи отличаются от тех, с которыми может столкнуться программист, создавая, например, коммерческое приложение. Они более «самодостаточны» и требуют широких знаний как алгоритмов, так и теоретических концепций информатики. Для их решения требуется комбинированный подход, поскольку программисту необходимо разбираться в логике, математике и собственно программировании. |
Одним из примеров является задание, в котором необходимо найти способ преобразовать одну строку произвольно повторяющихся букв s и t в другую строку тех же символов, используя ограниченное число нажатий клавиш. При этом конкурсанты не могут, например, просто печатать новые буквы вместо старых — вместо этого нужно воспользоваться клавишей Backspace и удалить несколько букв исходной строки. Задание относится к примерам средней сложности, слева на изображении содержится её описание, справа — образцы. Десять подобных задач поручили выполнить AlphaCode точно так же, как их поручают выполнить людям. ИИ сгенерировал некоторое количество возможных решений и отсеял непригодные, запуская код и проверяя результат — так же, как это сделал бы программист. |
10 задач, предложенных AplphaCode, выполнялись 5 тысячами программистами на сайте Codeforces. Работа ИИ попала в лучшие 54,3 % ответов, а по данным DeepMind это обеспечивает AlphaCode рейтинг Codeforces Elo на уровне 1238. Таким образом, ИИ вошёл в число лучших 28 % программистов, соревновавшихся на площадке за последние полгода. В DeepMind отмечают, что текущие навыки AlphaCode применимы только на площадках для соревнований программистов, но в теории новая система позволяет создавать инструменты, способные сделать программирование более доступным и, когда-нибудь, полностью автоматизированным. Известно, что над аналогичными решениями работают многие другие компании. |
Большой прогресс был достигнут в последние годы, но все эти системы пока далеки от того, чтобы занять место программистов-людей. Выпускаемый ИИ код часто полон багов, а поскольку такие системы обычно обучаются на библиотеках общедоступного кода, иногда они воспроизводят фрагменты, защищённые авторским и смежными правами. Более того, в одном из исследований выяснилось, что программа Copilot, разработанная репозиторием кода GitHub, создавала код, 40 % которого содержало уязвимости. Специалисты по информационной безопасности даже предположили, что злоумышленники могут намеренно писать и выкладывать в общий доступ код с бэкдорами, который позже будет использоваться для тренировки ИИ-систем, в результате обречённых допускать ошибки в своих будущих решениях. Перечисленные проблемы означают, что системы ИИ-программирования, скорее всего, будут медленно интегрироваться в работу обычных программистов до тех пор, пока не «заслужат» доверие. Другими словами, им ещё предстоит учиться и учиться. Но делают это они очень быстро. |
Источник |
При использовании материалов с сайта активная ссылка на него обязательна
|