3,583 papers
arXiv:2512.15431 72 19 дек. 2025 г. FREE

CSRS: калиброванная система наград для самообучения через траектории

КЛЮЧЕВАЯ СУТЬ
Когда обучаешь модель на своих траекториях (серии попыток решить задачу), она копирует всё подряд — и успешные паттерны, и провальные. Проблема: провальная последовательность «открыл вкладку X → кликнул Y → облом» структурно похожа на успешную, модель впитывает оба паттерна одинаково. CSRS (Calibrated Step Reward System) решает это через селективное обучение: из успешных траекторий бери всё (понимание + действия), из провальных — только знания о контексте и причинах, но не сами действия. Фишка: проверяй результат целиком, а не каждый шаг. Когда оцениваешь каждый шаг отдельно («правильно ли открыта эта вкладка?») — субъективность зашкаливает. Когда проверяешь финал («задача выполнена?») — объективность >90%, экономия 10-100× по времени.
Адаптировать под запрос

TL;DR

CSRS (Calibrated Step Reward System) — метод обучения моделей на собственных траекториях через двухуровневую проверку: грубую валидацию "успех/провал" на всей траектории + детальную генерацию рассуждений LLM для каждого шага. Исследователи из StepFun показали, как создавать качественные обучающие данные для GUI-агентов (моделей, которые кликают по интерфейсам): модель генерирует последовательность действий, система проверяет итоговый результат (сработало или нет), мощная LLM извлекает 7 типов знаний (прогресс, состояние, эффект действия, самоанализ, проверка, намерение, следующее действие), и всё это становится обучающими данными для следующей итерации.

Главная находка: проверка целиком работает лучше проверки по шагам. Когда аннотаторы оценивают каждый шаг отдельно — субъективность зашкаливает ("правильно ли открыта именно эта вкладка?"). Когда проверяют финальный результат — объективность >90% ("задача выполнена или нет?" — очевидно). Экономия 10-100× по сравнению с пошаговой разметкой. Причина: итоговый результат объективно верифицируем (либо файл скачался, либо нет), а промежуточные шаги допускают разные интерпретации ("можно было открыть другую вкладку и тоже прийти к цели").

CSRS применяет селективное обучение от траекторий: из успешных берёт всё (знания + действия), из провальных — только знания, но не действия. Логика: "учись понимать на ошибках, но не копируй неправильные действия". Модель запоминает что пошло не так и почему, но не повторяет сломанную последовательность шагов. Это даёт итеративное улучшение: модель N генерирует траектории → CSRS извлекает данные → модель N+1 сильнее → генерирует лучшие траектории → цикл продолжается.

🔬

Схема метода

ТРАЕКТОРИЯ: Модель выполняет задачу (серия действий) → финальный результат

ПРОВЕРКА: Верификатор/человек → бинарная метка (успех/провал)

ИЗВЛЕЧЕНИЕ (если успех):
  LLM генерирует для каждого шага:
  1. Progress tracking → оценка продвижения к цели
  2. State summary → описание текущего состояния
  3. Effect prediction → что произойдёт после действия
  4. Self-reflection → анализ решения
  5. State verification → подтверждение ожидаемого состояния
  6. Intent execution → связь намерения и действия
  7. Action prediction → следующее действие

ИЗВЛЕЧЕНИЕ (если провал):
  Только пункты 1-6 (знания), пункт 7 (действие) отбрасывается

ОБУЧЕНИЕ: Модель тренируется на извлечённых данных → следующая итерация

Вся схема работает в цикле: улучшенная модель генерирует лучшие траектории для следующего раунда.

🚀

Пример применения

Задача: Ты запускаешь серию экспериментов по контент-стратегии в Telegram-канале. Пробуешь разные подходы (время постинга, форматы, темы), часть заходит, часть проваливается. Нужно извлечь знания из всех попыток, но не копировать неудачные действия.

Промпт:

Я тестирую 5 гипотез для Telegram-канала о стартапах (15К подписчиков).

Вот траектории:

ТРАЕКТОРИЯ 1: Утренний дайджест (7:00) → новости + мем → охваты 45% → вовлечённость 8% → УСПЕХ
ТРАЕКТОРИЯ 2: Вечерний лонгрид (20:00) → кейс + разбор → охваты 12% → вовлечённость 2% → ПРОВАЛ  
ТРАЕКТОРИЯ 3: Обеденный опрос (13:00) → вопрос + 4 варианта → охваты 38% → вовлечённость 15% → УСПЕХ
ТРАЕКТОРИЯ 4: Ночной анонс (23:00) → тизер события → охваты 5% → вовлечённость 0.5% → ПРОВАЛ
ТРАЕКТОРИЯ 5: Дневной карусель (15:00) → 5 слайдов инсайтов → охваты 30% → вовлечённость 6% → УСПЕХ

Задача:

1. Для УСПЕШНЫХ траекторий: извлеки все 7 категорий знаний
   - Прогресс к цели (вовлечённость аудитории)
   - Состояние (время, настроение аудитории, контекст)
   - Эффект (что произошло после публикации)
   - Самоанализ (почему сработало)
   - Проверка состояния (подтверждение гипотезы)
   - Намерение (какую цель преследовали)
   - Следующее действие (что делать дальше)

2. Для ПРОВАЛЬНЫХ траекторий: извлеки только категории 1-6 (знания), НЕ предлагай повторить действия

3. На основе извлечённых знаний предложи улучшенную стратегию для следующей недели

Важно: из провалов учись пониманию (почему не зашло, какой контекст, что упустили), но не копируй сломанные паттерны.

Результат:

Модель выдаст структурированный анализ: - Для успешных траекторий: полный разбор по 7 категориям — покажет как аудитория реагирует на разное время/формат, что происходит с охватами, почему именно эти паттерны работают, и предложит конкретные следующие шаги - Для провальных траекторий: анализ контекста и причин (вечером аудитория не готова к лонгридам, ночью все спят), но НЕ предложит "попробуй ещё раз в 23:00 с анонсом" - Итоговая стратегия: синтез из успешных паттернов (утро + дайджест, обед + опрос, день + карусель) + понимание почему провалилось (не то время, не тот формат для контекста)

Получишь стратегию, которая учится на всех данных, но не повторяет ошибки.

🧠

Почему это работает

LLM склонны к имитации без понимания причинности. Если скормить модели траекторию "открыл вкладку X → кликнул кнопку Y → задача провалилась", она может запомнить паттерн "вкладка X + кнопка Y" как релевантный, хотя он ведёт к провалу. Проблема: модель учится на корреляциях, не на каузальности. Провальная последовательность действий похожа на успешную (те же глаголы, та же структура), и без явного сигнала "это плохо" модель впитывает оба паттерна одинаково.

LLM отлично умеют в ретроспективный анализ и извлечение знаний. Когда провальная траектория анализируется мощной моделью (thinking model), она генерирует рассуждения: "На шаге 3 состояние было X, я ожидал эффект Y, но произошёл Z, потому что упустил условие W". Это чистое знание — описание контекста, причинно-следственных связей, условий применимости. Модель учится понимать что, почему и когда срабатывает, но не запоминает конкретную сломанную последовательность действий.

CSRS использует двухуровневую валидацию как рычаг: грубый сигнал (успех/провал) даёт объективный якорь, а детальная генерация LLM обогащает каждый шаг рассуждениями. Из успешных траекторий берётся всё — и знания, и действия (модель учится "делай так"). Из провальных — только знания без действий (модель учится "понимай контекст, но не повторяй"). Это селективное обучение предотвращает закрепление неправильных паттернов, одновременно используя провалы для расширения понимания.

Рычаги управления:

  • Категории извлечения (7 типов): Можешь убрать "Effect prediction" если задача простая (экономия токенов), или добавить свою категорию "Risk assessment" для критичных задач
  • Условие успеха/провала: Вместо бинарной метки можешь использовать градацию ("полный успех / частичный / провал") и извлекать действия только из полных успехов
  • Глубина рассуждений: Проси "кратко объясни" для простых задач, "пошагово с альтернативами" для сложных — контролируешь детальность анализа
  • Число траекторий: 3-5 траекторий для быстрого инсайта, 10-20 для глубокого понимания паттернов
📋

Шаблон промпта

Я выполняю задачу: {описание задачи}

Вот мои траектории (попытки):

ТРАЕКТОРИЯ 1: {описание шагов} → {результат} → {УСПЕХ/ПРОВАЛ}
ТРАЕКТОРИЯ 2: {описание шагов} → {результат} → {УСПЕХ/ПРОВАЛ}
[добавь столько траекторий, сколько есть]

Задача:

1. Для УСПЕШНЫХ траекторий извлеки все знания:
   - Прогресс: как двигался к цели на каждом шаге
   - Состояние: что было до действия, какой контекст
   - Эффект: что произошло после действия
   - Самоанализ: почему это решение сработало
   - Проверка: подтвердилось ли ожидание
   - Намерение: какую цель преследовал
   - Действие: что конкретно делал (можно копировать)

2. Для ПРОВАЛЬНЫХ траекторий извлеки ТОЛЬКО знания (пункты 1-6), НЕ предлагай повторять действия

3. На основе извлечённых знаний предложи улучшенную стратегию для следующей попытки

Принцип: из успехов учись всему, из провалов — только пониманию контекста и причин, но не копируй сломанные паттерны.

Что подставлять: - {описание задачи} — твоя общая цель (одним предложением) - {описание шагов} — что делал на каждой попытке (3-5 ключевых действий) - {результат} — что получилось (измеримо: метрики, факты, исходы) - {УСПЕХ/ПРОВАЛ} — итоговая оценка попытки

Если есть частичный успех, уточни: "ЧАСТИЧНЫЙ УСПЕХ: сработало X, провалилось Y" — модель извлечёт действия только для успешной части.

⚠️

Ограничения

⚠️ Требует итеративности: Метод работает через циклы "генерация → проверка → извлечение → обучение". Для разового запроса в чате получишь анализ, но не самоулучшающийся цикл. Полная ценность раскрывается при повторяющихся задачах, где каждая итерация улучшает следующую.

⚠️ Зависит от качества валидации: Если бинарная метка "успех/провал" неточна (субъективная оценка вместо объективной верификации), извлечённые знания будут шумными. Работает лучше всего для задач с чёткими критериями успеха (задача выполнена / не выполнена), хуже для субъективных оценок (текст красивый / некрасивый).

⚠️ Провалы должны быть информативными: Если траектория провалилась на первом же шаге, извлекать почти нечего. Метод эффективен когда провальные траектории доходят до середины/конца задачи — тогда есть контекст для анализа. Ранние провалы дают мало знаний.

🔗

Ресурсы

Step-GUI Technical Report — исследование StepFun (GELab-Team) о системе обучения GUI-агентов через калиброванные награды, включает описание CSRS, архитектуры GUI-MCP, бенчмарка AndroidDaily. Авторы: StepFun Research Team.

Связанные концепции из работы: Error-driven knowledge injection (конвертация ошибок выполнения в VQA-пары для целевого закрытия пробелов), Pass-rate labeling (оценка качества через множественные попытки), Curriculum learning (от простых задач к сложным).


📋 Дайджест исследования

Ключевая суть

Когда обучаешь модель на своих траекториях (серии попыток решить задачу), она копирует всё подряд — и успешные паттерны, и провальные. Проблема: провальная последовательность «открыл вкладку X → кликнул Y → облом» структурно похожа на успешную, модель впитывает оба паттерна одинаково. CSRS (Calibrated Step Reward System) решает это через селективное обучение: из успешных траекторий бери всё (понимание + действия), из провальных — только знания о контексте и причинах, но не сами действия. Фишка: проверяй результат целиком, а не каждый шаг. Когда оцениваешь каждый шаг отдельно («правильно ли открыта эта вкладка?») — субъективность зашкаливает. Когда проверяешь финал («задача выполнена?») — объективность >90%, экономия 10-100× по времени.

Принцип работы

Не делай пошаговую оценку «правильно/неправильно» для каждого действия. Проверяй траекторию целиком по итоговому результату. Из успешных траекторий извлекай 7 категорий знаний + действия: прогресс к цели, состояние до/после, эффект действия, самоанализ (почему сработало), проверку гипотезы, намерение, следующее действие. Из провальных траекторий — только первые 6 категорий (знания о контексте, причинах, условиях), но НЕ седьмую (действие). Модель учится понимать «что пошло не так и почему», но не запоминает сломанную последовательность шагов.

Почему работает

LLM склонны к имитации без понимания причинности. Если скормить траекторию «шаг A → шаг B → провал», модель запоминает корреляцию «A + B = релевантный паттерн», хотя он ведёт к облому. Провальная последовательность похожа на успешную (те же глаголы, та же структура) — без явного сигнала «это плохо» впитывает оба паттерна. Селективное извлечение превращает провалы в знания, но не в шаблоны для копирования. Из провальной траектории thinking model генерирует: «На шаге 3 состояние было X, ожидал эффект Y, случился Z, потому что упустил условие W». Это чистое знание — описание контекста, причинно-следственных связей, условий применимости. Модель учится что, почему и когда срабатывает, но не повторяет конкретную сломанную последовательность. Проверка итога целиком объективнее пошаговой: >90% согласованности оценок (файл скачался или нет — очевидно) vs субъективность промежуточных шагов (можно было открыть другую вкладку и тоже прийти к цели). Экономия 10-100× по сравнению с разметкой каждого действия.

Когда применять

Многошаговые повторяющиеся задачи → конкретно для экспериментов, итераций по проектам, тестирования гипотез, особенно когда накопилась куча попыток (часть сработала, часть провалилась) и нужно извлечь знания из всех, но не копировать сломанные паттерны. Примеры: серия A/B-тестов контент-стратегии, итерации по дизайну фичи, эксперименты с промптами для модели, попытки оптимизировать процесс. НЕ подходит для разовых задач без итераций — полная ценность раскрывается через циклы «попытка → анализ → следующая попытка».

Мини-рецепт

1. Собери траектории: Опиши свои попытки решить задачу — для каждой укажи последовательность шагов, итоговый результат (измеримо: метрики, факты), метку УСПЕХ/ПРОВАЛ на основе финального результата (не промежуточных шагов)

2. Задай структуру извлечения: Для успешных траекторий проси модель извлечь все 7 категорий (прогресс, состояние, эффект, самоанализ, проверка, намерение, действие). Для провальных — только первые 6, явно укажи «НЕ предлагай повторять действия»

3. Запроси синтез: Попроси на основе извлечённых знаний предложить улучшенную стратегию для следующей итерации. Подчеркни принцип: из успехов учись всему, из провалов — только пониманию контекста и причин

4. Проверь селективность: Убедись что в итоговой стратегии нет прямого копирования действий из провальных траекторий, но есть учёт контекста почему они не сработали

Примеры

[ПЛОХО] : Проанализируй мои 5 попыток запустить email-рассылку, что делать дальше?
[ХОРОШО] : Я тестирую 5 гипотез для email-рассылки (база 8К подписчиков). ТРАЕКТОРИЯ 1: Тема «Скидка 20%» → письмо в 10:00 вт → open rate 35% → клики 8% → конверсия 2.1% → УСПЕХ ТРАЕКТОРИЯ 2: Тема «Новая коллекция» → письмо в 18:00 пт → open rate 18% → клики 3% → конверсия 0.4% → ПРОВАЛ ТРАЕКТОРИЯ 3: Тема вопрос «Какой стиль ваш?» → письмо в 14:00 ср → open rate 42% → клики 12% → конверсия 1.8% → УСПЕХ Для УСПЕШНЫХ: извлеки все 7 категорий (прогресс к конверсии, состояние аудитории в момент отправки, эффект от темы/времени, самоанализ почему сработало, проверку гипотезы, намерение, следующее действие). Для ПРОВАЛЬНЫХ: только категории 1-6 (знания), НЕ предлагай повторить действия. На основе знаний предложи стратегию для следующей недели. Принцип: из успехов бери всё, из провалов — понимание контекста (почему вечер пятницы не зашёл), но не копируй паттерн.
Источник: Step-GUI Technical Report
ArXiv ID: 2512.15431 | Сгенерировано: 2026-01-09 00:22
📖 Простыми словами

CSRS: калиброванная система наград для самообучения через траектории

arXiv: 2512.15431

Суть в том, что обычные нейронки, когда их учат управлять интерфейсами, ведут себя как бездумные имитаторы. Они смотрят на последовательность кликов и просто запоминают паттерны, не понимая, привел ли этот конкретный «тык» к успеху или полному провалу. В итоге модель впитывает и гениальные решения, и откровенный мусор, превращаясь в кашу из корреляций. Метод CSRS (Calibrated Step Reward System) ломает эту логику: он заставляет систему не просто повторять действия, а осознавать последствия каждого шага через жесткую фильтрацию и самоанализ.

Это как учить человека водить машину, записывая его поездки на видео, но с одним нюансом. Если он врезался в столб, мы не просто выкидываем запись, а сажаем рядом опытного инструктора, который заставляет водителя пошагово расписать: «зачем я крутил руль вправо», «почему я не нажал тормоз» и «что я чувствовал в момент удара». Вместо того чтобы просто игнорировать ошибки, мы превращаем каждый косяк в структурированный урок, где модель сама объясняет, в какой именно момент всё пошло не по плану.

Технически это работает через двухуровневую проверку. Сначала идет грубая валидация: сработал сценарий в целом или нет. Если результат достигнут, мощная LLM-надстройка вытаскивает из процесса 7 типов знаний: от анализа текущего состояния экрана до самокритики и прогноза следующего шага. Получается идеальный учебник, где каждое действие размечено не просто как «нажатие кнопки», а как осознанный шаг с понятным эффектом. Модель учится на собственных траекториях, постоянно калибруя свои «хотелки» под реальный результат, что делает её на порядок умнее обычных кликеров.

Хотя метод обкатывали на GUI-агентах, которые лазают по сайтам и приложениям, принцип универсален. Его можно натянуть на любую сложную задачу, где есть последовательность действий и понятный финал: от настройки рекламы до написания кода. Везде, где модель может «нагаллюцинировать» успех там, где его нет, CSRS выступает в роли строгого ревизора. Это переход от тупого копирования к обучению на основе причинно-следственных связей, что критически важно для автономных систем.

Короче, эпоха, когда мы просто скармливали нейронкам тонны логов в надежде, что они «сами разберутся», заканчивается. Теперь в моде умная фильтрация и детальная рефлексия. Если твоя модель не понимает, почему её действия ведут к успеху, она бесполезна. CSRS дает тот самый инструмент, который превращает хаотичные клики в осмысленную стратегию, отсекая лишний шум и оставляя только то, что реально работает. Кто не научит свои модели думать над шагами, тот так и будет получать на выходе имитацию бурной деятельности вместо результата.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с