Для меня, как для бывшего программиста, самым удивительным применением языковых моделей является их способность писать программные коды. Конечно за последние 20 лет подходы к программированию изменились, и никто не пишет уже на уровне команд процессора. Тем более интересно, как современные AI справляются с этой задачкой. Даю отсылку на материал Open AI, и их подход к тестированию качества программирования с использованием AI. Подход тот же, что и при обучении на текстах, дать примеры решенных задач, которые можно использовать для обучения написанию промтов. Мне кажется что это тупиковый подход....Алгоритмы никто не отменял. И кстати, иллюстрация к этой статье картина Родченко (или кого то из этой группы художников), весьма точно передает что может получиться на выходе AI, при таком подходе.
И вот что пишет нам по этому поводу Open AI.
Способность автономно (с использованием Open AI без участия человека) выполнять задачи по разработке программного обеспечения является ключевым компонентом ИИ. Оценка этих возможностей является сложной задачей из-за сложности задач разработки программного обеспечения, сложности точной оценки сгенерированного кода и сложности моделирования реальных сценариев разработки. Поэтому подход Open AI к обеспечению готовности должен также включать тщательное изучение самих оценок, чтобы уменьшить вероятность недооценки или переоценки эффективности в важных категориях риска.
Одним из самых популярных пакетов оценки для разработки программного обеспечения является SWE-bench — эталон для оценки способности больших языковых моделей (LLM) решать реальные проблемы с программным обеспечением, полученный из GitHub. Тестирование предполагает предоставление агентам репозитория кода и описания проблемы, а также предложение им создать патч, который решит проблему. Агенты кодирования добились впечатляющих успехов на SWE-bench: агенты с лучшими показателями набрали 20% на SWE-bench и 43% на SWE-bench Lite согласно таблице лидеров SWE-bench (откроется в новом окне) по состоянию на 5 августа 2024 г. .
Наше тестирование выявило некоторые задачи SWE-bench, которые может быть трудно или невозможно решить, что приводит к тому, что SWE-bench систематически недооценивает возможности автономной разработки программного обеспечения моделей. Мы сотрудничали с авторами SWE-bench, чтобы решить эти проблемы в новой версии теста, которая должна обеспечить более точные оценки.