В новом эпизоде подкаста 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 токенов, что делало невозможным анализ даже средних по размеру файлов.
Алистер Пуллен выделяет несколько ключевых этапов технологического роста:
- Эпоха Build: Создание локальных инструментов поиска по коду (retrieval tools), работающих внутри VS Code через HNSW-индексы.
- Переходный этап: Появление контекста в 16k и 32k токенов, что все еще было недостаточно для сложных задач на Python.
- Прорыв: Появление GPT-4 Turbo со 128k токенов. По мнению Пуллена, именно это сделало создание Genie осуществимым, так как позволило модели видеть достаточно контекста, чтобы не галлюцинировать.
🧪 Секреты обучения Genie: «Почему», а не только «Что» 23:30
Критическое отличие Genie от других ИИ-помощников заключается в подходе к данным. Пуллен утверждает, что стандартные модели обучаются на финальных коммитах и Pull Requests (PR), что является «потерянными данными». В PR виден результат, но не виден процесс размышлений инженера.
Для обучения Genie команда Cosine разработала сложный пайплайн:
- Извлечение логики: Они пытались «судебно-медицинским путем» восстановить процесс принятия решений человеком при решении задач.
- Синтетические данные: Модель обучали на итерациях. Вместо идеального кода ей показывали процесс исправления ошибок.
- Самообучение (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% на верифицированном наборе.
Интересные факты о процессе обучения:
- Cosine тесно сотрудничает с командой OpenAI по тонкой настройке (fine-tuning).
- Genie обучался на миллиардах токенов, что значительно превышает типичные объемы для fine-tuning.
- Команда использует увеличенные LoRA-адаптеры, которые еще официально не доступны публично.
Пуллен объяснил, почему Genie не находится на публичном лидерборде SWE-Bench: организаторы начали требовать «траектории» (логи размышлений), а Cosine, будучи коммерческой компанией, не хочет раскрывать структуру своих обучающих данных, чтобы конкуренты не могли их дистиллировать.
🔮 Будущее: персональные модели для каждой компании 1:02:00
Будущее Cosine Пуллен видит в предоставлении кастомизированных моделей. У компании уже есть внутренняя версия Genie (которую они в шутку называют «Джон»), дообученная специально на их собственной кодовой базе.
Основные тезисы о будущем индустрии:
- Абстракция: Разработчики будут работать на уровень выше кода, направляя модели, а не печатая каждую строку.
- Генерализация: Хотя сейчас основной фокус на Python и JavaScript (вместе — 49% обучающих данных), модель способна хорошо обобщать знания на другие из 15 поддерживаемых языков.
- Масштабируемость: Алистер уверен, что они находятся только в начале кривой масштабирования данных, и результаты будут расти по мере увеличения инвестиций в обучение.
В завершение Алистер Пуллен подчеркнул, что работа в этой области — «лучшая работа в мире», и призвал смелых инженеров не бояться браться за решение по-настоящему сложных задач, таких как создание полноценного ИИ-коллеги.