ChatGPT научили искать ошибки в программном коде

Читать в полной версии

Получивший широкую популярность ИИ-бот ChatGPT способен выполнять самые разные задачи. Исследователям из университета им. Иоганна Гутенберга в Майнце (Германия) совместно с коллегами из Университетского колледжа Лондона удалось задействовать сервис для поиска и устранения ошибок в программном коде.

Источник изображения: Arif Riyanto/unsplash.com

Исследователи предоставили 40 фрагментов кода, содержащих ошибки, четырём системам ChatGPT, Codex, CoCoNut и Standard APR, предназначенным для устранения багов. По сути, они буквально спросили: «Что не так с этим кодом?» и вставили фрагмент кода в окно чата.

В первый раз ChatGPT проявил себя не хуже других напичканных интеллектом систем. Он устранил 19 проблем из 40, Codex — 21 из 40, CoCoNut — 19, а APR — только 7. Проведённые оценочные тесты показали, что ответы ChatGPT во многом дублируют решения, предлагаемые Codex, в чём нет ничего удивительного, поскольку ChatGPT и Codex относятся к одному семейству языковых моделей.

Впрочем, в дальнейшем ChatGPT продемонстрировал свои преимущества. Поскольку бот позволяет вести с ним обсуждение и вносить уточнения после получения первоначального ответа, в результате исследователям удалось решить 31 из 40 задач, намного больше, чем способны были сделать другие системы аналогичного назначения. Более того, выяснилось, что ChatGPT может решать задачи быстрее конкурентов, причём он давал пользователю разные варианты ответов на одну и ту же задачу. Если сначала на один из запросов бот требовал больше информации, то после некоторого количества попыток он уверенно приводил ответ на тот же вопрос.

Источник изображения: Dominik Sobania, Martin Briesch, Carol Hanna, Justyna Petke

По мнению экспертов, успех проведённого исследования потенциально способен привести к модификации существующего рынка ИИ-решений совокупной стоимостью $600 млн, предназначенных для помощи инженерам в поиске и устранении недоработок в программном коде. Платформы вроде Sentry уже стали распространённым инструментов среди программистов, намного ускоряя рабочие процессы.