Представьте: вы пишете код в IDE, а ваш ИИ-помощник в это самое время учится на том, как вы с ним взаимодействуете. Не где-то в лаборатории на синтетических задачах, а прямо сейчас, на вашем реальном проекте, с вашими реальными ошибками и вашими реальными запросами. Каждые пять часов выкатывается обновлённая версия модели, которая чуть лучше предыдущей. Звучит как фантастика? Команда Cursor только что рассказала, что именно так работает их новый подход к обучению Composer — и результаты впечатляют.
Классическая схема обучения ИИ-кодеров выглядит так: берём кучу репозиториев, создаём симулированные среды, придумываем задачи, запускаем Reinforcement Learning, получаем модель. И она работает хорошо — в тепличных условиях. Но между лабораторной задачей и реальным программистом, который в три часа ночи дебажит продакшн, — пропасть.
Эта пропасть в ML называется train-test mismatch (расхождение между обучением и реальным использованием). Сам по себе код неплохо симулируется: можно создать виртуальную среду, запустить линтер, прогнать тесты. Но есть одна вещь, которую невозможно симулировать идеально, — живой человек. Программист с его непредсказуемым стилем, контекстом проекта, привычками и нюансами формулировок промптов. Существуют исследования (например, arxiv.org/abs/2505.10831) по созданию моделей-симуляторов пользователя, но они неизбежно вносят ошибку моделирования. Вы никогда не воспроизведёте все паттерны настоящего разработчика.
Cursor решил эту проблему радикально: зачем симулировать пользователя, если можно учиться на реальном?
Подход, который Cursor назвал real-time RL, — это не просто маркетинговый термин. За ним стоит конкретный инженерный пайплайн, и он устроен довольно элегантно.
Каждый цикл обучения выглядит так:
⚙️ Сбор данных. Текущая версия модели (чекпоинт) работает в продакшне. Тысячи разработчиков взаимодействуют с Composer — редактируют код, принимают или отклоняют правки, задают уточняющие вопросы, отправляют фидбек. Из этих взаимодействий собираются миллиарды токенов.
⚙️ Дистилляция в сигнал награды. Сырые данные превращаются в reward-сигнал — по сути, числовую оценку того, насколько удачным было поведение модели. Приняли ли пользователь правку? Отправил ли недовольный отзыв (follow-up)? Остался ли код в кодовой базе после ревью?
⚙️ Обновление весов. На основе этих наград пересчитываются веса модели методами policy gradient — семейством алгоритмов, где модель усиливает поведение, получившее высокую награду, и подавляет поведение с низкой.
⚙️ Проверка на регрессии. Обновлённый чекпоинт прогоняется через набор тестов, включая CursorBench — собственный бенчмарк Cursor. Только если всё чисто, модель уезжает в продакшн.
⚙️ Деплой. Новая версия становится доступна пользователям — и цикл начинается заново.
Весь этот конвейер укладывается примерно в пять часов. То есть за рабочий день модель может обновиться несколько раз. Для сравнения: большинство AI-провайдеров выпускают обновления модели раз в несколько месяцев.
Почему пять часов — это принципиально важно
Тут есть тонкий, но критически важный нюанс из теории RL. Алгоритмы policy gradient дают несмещённые оценки градиента только тогда, когда данные собраны on-policy — то есть той же моделью, которую мы сейчас обновляем. Если модель уже изменилась, а данные остались от предыдущей версии (off-policy), обучение становится нестабильным и склонным к переоптимизации — модель начинает «выкручивать» метрики вместо реального улучшения качества.
Пятичасовой цикл позволяет Cursor держать данные почти полностью on-policy. Это как разница между обучением по свежей обратной связи от ментора и попыткой учиться по записям, сделанным кем-то другим полгода назад.
Cursor честно публикует результаты A/B-тестирования обновлённого Composer 1.5:

Свобода для члена таганской ОПГ
Путин заявил, что отвод российских войск от Киева в 2022 году был осуществлён после обращения президента Франции Макрона
Маски-шоу для Артема Дзюбы
"Мода на девочек из модельных агентств прошла, гораздо круче иметь в своём личном арсенале звезду"
Отмывание денег через кассу бразильского футбольного клуба "Коринтианс"
ФИО 61 счастливчика, которые попадут в Госдуму от «Справедливой России». Список
"Dirty" money behind the delivery facade: how Timur Rokhlin laundered 10 million euros via RIJV Holdings to buy and destroy Rocket
Владимиру Барсукову предъявили не последнее обвинение