Cursor Blog→ оригинал

Composer autoinstall: как старые версии помогают обучать новые

Cursor разработал Composer autoinstall — систему, где более ранние версии модели автоматически готовят окружения для обучения новых версий. Во время обучения Co

Composer autoinstall: как старые версии помогают обучать новые
Источник: Cursor Blog. Коллаж: Hamidun News.
◐ Слушать статью

Cursor представил Composer autoinstall — систему, которая использует более ранние версии модели Composer для автоматической подготовки окружений к обучению с подкреплением. Во время разработки Composer 2 команда использовала версию 1.5 для управления этим процессом. Идея основана на опыте работы Cursor cloud agents, но применена к RL-обучению самих моделей.

Почему поломанные окружения убивают обучение RL-обучение требует работающих окружений.

Если проект не скомпилируется, зависимости не установятся или конфигурация откажется запускаться, модель тратит токены на дебаг вместо того, чтобы учиться решать реальные проблемы программирования. В худших случаях поломанное окружение делает задачу вообще неразрешимой — модель не получает никакого reward-сигнала и просто сжигает вычисления впустую. Это дорого и неэффективно.

Двухэтапный процесс bootstrap

Autoinstall работает по простой, но гениальной схеме. Этап 1: агент-разведчик определяет цель. Первой версии модели (Composer 1.

5) дают репозиторий в фиксированном состоянии. Она должна предложить 10 команд и высокоуровневое описание их вывода в случае, если окружение правильно настроено. Модель изучает README и Makefile, пробует язык-специфичные команды (`uv`, `npm install`, `clippy`, `pytest`), исследует структуру проекта.

Результат — список setup-команд, тестов и запуск-скриптов. Этап 2: второй агент это реализует. Вторая версия (Composer 2) получает исходное состояние проекта плюс три целевых команды, выбранные из предложенных десяти.

Её задача — вызывать инструменты (поиск, компиляция, линтер), исследовать код и настраивать окружение так, чтобы все три команды запустились и их вывод совпал с описанием из этапа 1. Если не совпадает — процесс повторяется. После пяти неудачных попыток окружение отбраковывается.

  • Модель исследует код и запускает инструменты поиска Устанавливает зависимости через package manager Выполняет настройку (конфигурация, переменные окружения) Проверяет вывод против целевого описания Повторяет до успеха или лимита попыток ## Как модель побеждает недостающие компоненты Composer готов зайти далеко ради работающего окружения. Модель мокирует недостающие файлы, создаёт заглушки для изображений, даже фальшивые таблицы в базе данных. Если проекту нужны облачные сервисы типа S3 или боковые контейнеры (sidecar), Composer создаёт их эквиваленты — MinIO-конфиги для S3, Docker-контейнеры для сервисов. Для долгоживущих процессов система генерирует стартовый скрипт, который запускает эти компоненты в начале RL-сессии.
«Современные языковые модели пойдут на большие усилия, чтобы успешно настроить окружение, смокировать зависимости и протестировать, что setup работает», — говорит команда

Cursor.

Что это значит для будущего Идея простая, но имеет огромное значение.

Composer использует собственную более старую версию как помощника для подготовки рабочей базы новой версии. Это не только экономит вычисления, но и улучшает сигнал для обучения с подкреплением. Каждая новая версия модели теперь встаёт на плечи своих предшественников. Логично предположить, что в будущем такой bootstrap станет стандартом при обучении больших языковых моделей.

ЖХ
Hamidun News
AI‑новости без шума. Ежедневный редакторский отбор из 400+ источников. Продукт Жемала Хамидуна, Head of AI в Alpina Digital.
Что вы думаете?
Загружаем комментарии…