Как стартап Cosine обошел GPT-4o на бенчмарке SWE-Bench

The Cognitive Revolution 840 1 ч 9 мин 4 мин 02.10.2024
Главное

В новом эпизоде подкаста The Cognitive Revolution (при участии проекта Latent.Space) Алистер Пуллен (Alistair Pullen), сооснователь компании Cosine, подробно рассказывает о создании Genie — автономного ИИ-агента для разработки программного обеспечения. Пуллен описывает путь своей команды от простых мобильных приложений до создания системы, которая установила новый рекорд на бенчмарке SWE-Bench, и объясняет, почему будущее программирования за глубокой тонкой настройкой (fine-tuning), а не просто за сложным промпт-инжинирингом.

🚀 От мобильной разработки к ИИ-революции 4:34

История Алистера Пуллена началась с создания небольшой консалтинговой студии по разработке мобильных приложений во время учебы в университете Эксетера. Этот опыт привел его в стартап Fancy (сервис быстрой доставки продуктов), который прошел через акселератор Y Combinator и позже был приобретен гигантом GoPuff.

После завершения обязательств в GoPuff в 2022 году, Пуллен и его сооснователь Сэм решили заняться собственным проектом. Изначально они экспериментировали с GPT-3 (модель Da Vinci 2) в Playground. По словам Пуллена, когда он увидел, как модель способна генерировать структурированный JSON, его сознание перевернулось. Первым их прототипом была система, которая пыталась построить целое мобильное приложение с нуля по текстовому описанию, используя Codex.

Хотя в Y Combinator скептически отнеслись к идее генерации приложений с нуля, партнеров акселератора заинтересовала возможность автоматизации работы с уже существующими кодовыми базами. Так родилась компания Cosine (изначально называвшаяся Build).

🏗️ Техническая эволюция: от 4k до 128k токенов 12:45

Долгое время создание полноценного ИИ-инженера было невозможно из-за ограничений контекстного окна. В 2022-2023 годах разработчикам приходилось работать с 4 000 токенов, что делало невозможным анализ даже средних по размеру файлов.

Алистер Пуллен выделяет несколько ключевых этапов технологического роста:

🧪 Секреты обучения Genie: «Почему», а не только «Что» 23:30

Критическое отличие Genie от других ИИ-помощников заключается в подходе к данным. Пуллен утверждает, что стандартные модели обучаются на финальных коммитах и Pull Requests (PR), что является «потерянными данными». В PR виден результат, но не виден процесс размышлений инженера.

Для обучения Genie команда Cosine разработала сложный пайплайн:

  1. Извлечение логики: Они пытались «судебно-медицинским путем» восстановить процесс принятия решений человеком при решении задач.
  2. Синтетические данные: Модель обучали на итерациях. Вместо идеального кода ей показывали процесс исправления ошибок.
  3. Самообучение (Self-play): Genie учился находить файлы в системе так, как это делает человек: через просмотр структуры директорий, использование Go to Definition и поиск ссылок через LSP (Language Server Protocol).

По словам гостя, это позволило достичь точности извлечения нужного кода (retrieval accuracy) на уровне 66%.

🛠️ Воркфлоу ИИ-коллеги: поиск, планирование, код 30:27

Genie работает в четырехэтапном цикле: поиск файлов, планирование действий, написание кода и запуск тестов.

В отличие от агента Devin, создатели Genie не считают наличие браузера критически важным инструментом на первом этапе. Основной упор сделан на глубокую интеграцию с GitHub и существующими CI-пайплайнами (Continuous Integration). Genie не настраивает окружение сам, а использует уже готовые тесты компании, чтобы проверить свои исправления.

Алистер Пуллен отмечает любопытный технический нюанс: вероятность успешного решения задачи на SWE-Bench падает линейно по мере заполнения контекстного окна. Если объем данных превышает 60 000 токенов, шансы на успех падают ниже 50%. Это фундаментальное ограничение современных архитектур трансформеров, которое команда пытается обходить за счет оптимизации данных.

🏆 Рекорды на SWE-Bench и работа с OpenAI 56:06

Genie показал выдающиеся результаты на бенчмарке SWE-Bench, достигнув показателя в 30% на основном наборе и 43.8% на SWE-Bench Verified. Для сравнения, базовая GPT-4o показывает около 33% на верифицированном наборе.

Интересные факты о процессе обучения:

Пуллен объяснил, почему Genie не находится на публичном лидерборде SWE-Bench: организаторы начали требовать «траектории» (логи размышлений), а Cosine, будучи коммерческой компанией, не хочет раскрывать структуру своих обучающих данных, чтобы конкуренты не могли их дистиллировать.

🔮 Будущее: персональные модели для каждой компании 1:02:00

Будущее Cosine Пуллен видит в предоставлении кастомизированных моделей. У компании уже есть внутренняя версия Genie (которую они в шутку называют «Джон»), дообученная специально на их собственной кодовой базе.

Основные тезисы о будущем индустрии:

В завершение Алистер Пуллен подчеркнул, что работа в этой области — «лучшая работа в мире», и призвал смелых инженеров не бояться браться за решение по-настоящему сложных задач, таких как создание полноценного ИИ-коллеги.

💬 Цитаты

«Вероятность решения задачи на SWE-Bench падает до 0.5, если вы выходите за пределы 60 тысяч токенов контекста.»

Алистер Пуллен 44:25

«Мы обучаем модель не просто писать код, а понимать, почему человек внес именно эти изменения.»

Алистер Пуллен 25:33

«Genie учится находить информацию в коде так, как это делает разработчик: через прыжки по определениям и анализ структуры файлов.»

Алистер Пуллен 33:37
👥 Спикеры
🔗 Упомянутые сайты и проекты
📖 Термины
SWE-Bench
Популярный тест для ИИ-моделей, проверяющий их способность решать реальные задачи (issues) из открытых репозиториев GitHub.
Self-play
Метод обучения, при котором модель тренируется, выполняя задачи и оценивая собственные действия для улучшения стратегии поиска и решения.
LSP (Language Server Protocol)
Протокол, позволяющий редакторам кода понимать структуру программы (переход к определению, поиск ссылок).
LoRA (Low-Rank Adaptation)
Метод эффективной дотренировки нейросетей с использованием небольшого количества дополнительных параметров.
📊 Цифры
🗓 Хронология
  1. 2020 Алистер Пуллен работает в стартапе Fancy во время локдауна.
  2. 2022 Уход из GoPuff и начало экспериментов с GPT-3.
  3. 2023 Запуск первого инструмента поиска по коду в рамках YC.
  4. Май 2024 Genie устанавливает рекорд на SWE-Bench.
⚖️ Другая сторона
Искусственный интеллект Genie Cosine SWE-Bench Алистер Пуллен OpenAI