3,583 papers
arXiv:2512.04558 81 4 дек. 2025 г. FREE

RF-SeqBoN: последовательная генерация с фильтрацией по качеству

КЛЮЧЕВАЯ СУТЬ
Best-of-N упирается в потолок: 100 попыток не спасут если модель сэмплирует из слабого распределения. Ты перебираешь варианты, но распределение не меняется. RF-SeqBoN решает это через последовательное обогащение контекста: генерируй → если качество выше порога → добавь в историю → генерируй снова из обновлённого контекста. Метод сдвигает генерацию от усреднённой смеси к оптимальному распределению – контекст наполняется примерами из лучшей reference policy, модель начинает генерировать преимущественно из неё. Теоретически доказано: sequential методам нужно M_τ сэмплов против M_LLM* у параллельных – строгое неравенство в пользу последовательных.
Адаптировать под запрос

TL;DR

RF-SeqBoN (Reward-Filtered Sequential Best-of-N) — техника, которая добавляет в контекст только высококачественные генерации вместо того, чтобы сэмплировать все ответы из одного промпта. На каждом шаге модель генерирует ответ, оценивает его качество (reward), и если оценка выше порога — дописывает этот ответ в контекст для следующей итерации. Так модель постепенно смещается к распределению лучшей «reference policy» из pretraining данных.

Классический Best-of-N (BoN) работает так: сгенерируй N ответов из одного промпта → выбери лучший. Исследование доказывает теоретически, что BoN субоптимален — есть принципиальный потолок эффективности. Проблема в том, что все N генераций происходят из одного распределения π_LLM(·|x). Если модель не очень хороша на задаче изначально, даже 100 попыток не сильно помогут — мы сэмплируем из слабого распределения. Авторы показывают нижнюю границу: чтобы достичь оптимума, нужно найти распределение лучшей reference policy τ* из pretraining смеси, а не просто перебирать варианты из общей смеси.

RF-SeqBoN решает это через последовательное обогащение контекста: генерируй → если хорошо (reward ≥ γ) → добавь в историю → генерируй снова из обновлённого контекста. Так мы концентрируем вычисления на superior policy — контекст наполняется примерами из τ, и модель начинает генерировать преимущественно из этого распределения. Формально: если добавлять только a(x) в контекст, π_LLM(·|h) → π_ref_τ*(·|x) при длине истории h → ∞. Метод делает 3 шага в цикле N раз: (1) генерируй из текущего контекста, (2) оцени reward, (3) если выше порога — добавь в контекст. В конце выбери лучший из всех N вариантов.


🔬

Схема метода

RF-SeqBoN — цикл из 3 шагов (в одном чате или через API):

Инициализация: h̄ = ⟨x⟩ (контекст = промпт)

ЦИКЛ N раз:
  ШАГ 1: Сгенерируй ответ → aᵢ ~ π_LLM(·|h̄)
  ШАГ 2: Оцени качество → r(aᵢ, x) 
  ШАГ 3: Если r(aᵢ, x) ≥ γ → добавь aᵢ в контекст h̄

Выход: Выбери лучший ответ из всех N по reward

Ключевое отличие от BoN: - BoN: все N запросов с контекстом x - RF-SeqBoN: каждый запрос с контекстом h̄ = x + предыдущие хорошие ответы


🚀

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

Задача: Ты запускаешь продукт на ProductHunt через неделю. Нужна стратегия запуска — не абстрактная, а с конкретными действиями, метриками и timing'ом. Идей в интернете полно, но 80% — это вода («сделайте крутой продукт», «попросите друзей поддержать»). Нужен работающий экшн-план с учётом специфики твоего продукта.

Промпт:

Продукт: SaaS для автоматизации отчётности для маркетплейсов (Wildberries, Ozon).
Аудитория: селлеры с оборотом 1-10 млн ₽/мес.
Задача: стратегия запуска на ProductHunt.

Цикл (повторить 5 раз):

1. Сгенерируй стратегию запуска (3-5 конкретных действий с timing и метриками).

2. Оцени свою стратегию от 0 до 100 по критериям:
   - Конкретность (есть числа, сроки, инструменты)
   - Реализуемость (можно сделать за неделю)
   - Специфичность (учитывает российский рынок и нишу SaaS для селлеров)

3. Если оценка ≥ 75:
   - Добавь эту стратегию в контекст как "удачный пример"
   - В следующей итерации используй её как reference

4. Если оценка < 75:
   - НЕ добавляй в контекст
   - В следующей итерации генерируй с нуля

В конце: выбери лучшую стратегию из всех 5 по итоговой оценке.

Результат:

Модель покажет 5 итераций генерации стратегий. В первых 1-2 итерациях могут быть общие советы («подготовьте визуалы», «напишите пост в соцсетях») — они получат низкий reward (<75) и не попадут в контекст. Начиная с 3-й итерации, когда в контексте появятся примеры конкретных стратегий (например, «за 5 дней до запуска: создать welcome-цепочку из 3 писем для early access, метрика: 40% open rate»), модель начнёт генерировать в том же стиле — с числами, deadlines, метриками. Финальный output — стратегия с максимальным reward, обычно из последних итераций, где контекст уже обогащён quality examples.

Ты увидишь эволюцию качества: от «сделайте email-рассылку» (итерация 1, reward 60) до «за 3 дня: отправить 50 персональных сообщений селлерам из Wildberries Sellers Chat, conversion benchmark 15%, подготовить FAQ по 5 частым возражениям» (итерация 4, reward 85).


🧠

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

Слабость LLM: Модель обучена на смеси данных разного качества. Когда ты пишешь промпт, π_LLM(·|x) — это усреднённое распределение по всем стилям ответов из pretraining корпуса: кто-то писал конкретно, кто-то размыто, кто-то вообще генерировал bullshit. Best-of-N сэмплирует из этой смеси N раз — но распределение не меняется. Если доля качественных ответов в смеси 10%, даже при N=100 ты получишь ~10 хороших вариантов из 100 посредственных. Ты не можешь сдвинуть распределение к качественной моде, только перебираешь варианты из того, что есть.

Сильная сторона LLM: Модель адаптируется к контексту через in-context learning. Если показать модели несколько примеров качественных ответов (in-context), она начнёт генерировать из распределения этих примеров. Формально: π_LLM(·|h) где h = (x, a₁, a₂, ...) смещается к той reference policy из pretraining, которая генерировала похожие ответы. Если a₁, a₂ — это качественные ответы (близкие к a(x)), то π_LLM(·|h) → π_ref_τ(·|x), где τ* — лучшая reference policy из pretraining смеси.

Как метод использует это: RF-SeqBoN пропускает через фильтр каждую генерацию: если reward ≥ γ, ответ добавляется в контекст. Так контекст h̄ постепенно наполняется only high-quality examples. С каждой итерацией π_LLM(·|h̄) всё сильнее концентрируется на π_ref_τ*(·|x) — модель учится на своих же удачных генерациях. Плохие ответы (reward < γ) игнорируются — не тратим вычисления на усиление слабых распределений. Результат: за N итераций мы сдвигаем генерацию от усреднённой смеси к оптимальному распределению, вместо того чтобы просто N раз сэмплировать из слабой смеси.

Теоретическая граница: Авторы доказывают, что для достижения ε-оптимальности параллельным методам нужно M_LLM сэмплов (coverage между π* и π_LLM из промпта x), а sequential методам достаточно M_τ сэмплов (coverage между π и лучшей reference π_ref_τ). Поскольку π_LLM — это смесь всех π_ref_τ, выполняется M_τ < M_LLM (строгое неравенство, если reference policies неодинаковы). RF-SeqBoN достигает границы M_τ* через концентрацию контекста на high-reward траекториях.

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

  • Порог γ (0 to 1): выше γ → строже фильтр → медленнее наполнение контекста, но чище примеры. Ниже γ → быстрее накапливаются примеры, но risk добавить посредственные ответы. Для сложных задач ставь γ ≥ 0.8, для простых можно 0.6-0.7.

  • Число итераций N: больше N → больше попыток найти quality примеры → выше шанс наполнить контекст. Но после насыщения контекста (5-7 хороших примеров) рост N даёт diminishing returns.

  • Условие добавления в контекст: можно заменить "≥ γ" на "топ-50% по reward" или "улучшение относительно предыдущего лучшего". Адаптивный порог работает лучше на задачах с неизвестным распределением качества.

  • Формат контекста: вместо просто дописывания ответа можно добавлять "Хороший пример: [ответ]" или структурировать как XML ... — модель острее воспримет сигнал.


📋

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

Задача: {описание задачи}

Цикл (повторить {N} раз):

1. Сгенерируй {тип ответа} для задачи выше.

2. Оцени свой ответ от 0 до 100 по критериям:
   {критерий_1}
   {критерий_2}
   {критерий_3}

3. Если оценка ≥ {порог_γ}:
   - Пометь этот ответ как "качественный пример"
   - В следующей итерации используй его как reference для генерации

4. Если оценка < {порог_γ}:
   - Не используй этот ответ как reference
   - В следующей итерации генерируй независимо

После всех итераций: выбери лучший ответ по итоговой оценке.

Что подставлять: - {описание задачи} — конкретная задача (бизнес-план, код, анализ, текст) - {N} — число итераций (начни с 5-7) - {тип ответа} — что генерировать (стратегия, решение, код, структура) - {критерий_1,2,3} — измеримые критерии качества (конкретность, полнота, корректность) - {порог_γ} — минимальная оценка для добавления в контекст (75-85 для большинства задач)


🚀 Быстрый старт — вставь в чат:

Вот шаблон RF-SeqBoN для итеративной генерации с фильтрацией по качеству. 
Адаптируй под мою задачу: [твоя задача]. 
Задавай вопросы, чтобы заполнить поля.

[вставить шаблон выше]

LLM спросит про критерии оценки (чтобы reward model работала правильно), про порог γ (баланс между строгостью и скоростью накопления примеров), и про число итераций N. Она возьмёт паттерн sequential filtering из шаблона и адаптирует под конкретную задачу — например, для генерации кода добавит критерии «работоспособность» и «читаемость», для бизнес-задач — «конкретность» и «реализуемость».


⚠️

Ограничения

⚠️ Нужна reward модель: Метод требует оценки качества каждой генерации. Если используешь одну LLM для генерации и оценки (self-evaluation), модель может быть overconfident или давать inconsistent scores. Лучше использовать внешнюю reward модель (другая LLM, rule-based scorer, или человек в цикле).

⚠️ Рост длины контекста: С каждой удачной генерацией контекст растёт → больше токенов → дороже и медленнее. При N=10 и средней длине ответа 500 токенов, к концу контекст может разбухнуть до 5000+ токенов. В статье предлагают burn-in параметр m (ограничение длины истории), но это trade-off между memory и эффективностью.

⚠️ Reward hacking: Если reward модель плохо откалибрована, метод может усиливать артефакты вместо качества. Например, если reward model даёт высокие оценки за многословность, RF-SeqBoN наполнит контекст verbose примерами → модель начнёт генерировать ещё более многословные ответы. Feedback loop усиливает bias reward модели. Решение: тестируй reward model отдельно, используй multiple judges, или добавь человека в цикл проверки first few examples.

⚠️ Не для простых задач: На задачах где π_LLM(·|x) уже близко к оптимуму (например, «столица Франции»), RF-SeqBoN даёт те же результаты что и BoN, но с overhead на контекст. Метод окупается когда задача сложная и разброс качества генераций высокий (creative writing, planning, domain-specific reasoning).


🔍

Как исследовали

Исследователи взяли теоретический подход с mixture-of-reference-policies моделью: предположили, что LLM обучена на данных из смеси reference policies {π_ref_τ}, где каждая policy соответствует определённому стилю генерации (кто-то пишет кратко, кто-то детально, кто-то with code examples). Формально: π_LLM(·|h) = Σ_τ π_ref_τ(·|x) · P_D(τ|h), где P_D(τ|h) — байесовская апостериорная вероятность reference policy τ given history h.

Сначала установили нижнюю границу для parallel TTC: доказали, что любому параллельному алгоритму (включая BoN) нужно M_LLM^(x,ε) сэмплов для достижения ε-оптимальности, где M_LLM — это EM-divergence между π* и π_LLM(·|x). EM-divergence — это rejection threshold: сколько сэмплов нужно отбросить при rejection sampling, чтобы получить один сэмпл из целевого распределения. Ключевой результат: показали что M_LLM ≥ M_τ (coverage до лучшей reference policy τ всегда меньше или равно coverage до смеси), причём строгое неравенство когда reference policies различаются. Это значит параллельные методы принципиально хуже sequential методов, которые могут концентрироваться на τ*.

Дальше разработали RF-SeqBoN и доказали, что он достигает границы M_τ при условиях на reward model (Assumption 5.4: actions с r(a,x) ≥ γ должны быть reliably attributable к τ* с margin Δ(x)). Доказательство использует в-context learning свойство: когда в контекст добавляются только high-reward действия (близкие к a(x)), апостериор P_D(τ|h) → 1, и следовательно π_LLM(·|h) → π_ref_τ*(·|x). Так метод концентрирует сэмплирование на оптимальной reference policy.

Удивительный результат: простая идея «добавляй только хорошие примеры в контекст» даёт теоретическое разделение parallel vs sequential TTC. До этой работы считалось что BoN near-optimal (Huang et al. 2025a показали это для parallel setting), но авторы вскрыли gap: под mixture-of-reference assumption есть принципиальный предел для параллельных методов, который sequential методы могут обойти. Практический инсайт: когда задача сложная (большой M_LLM / M_τ* ratio), выигрыш от sequential inference драматичен — может быть разница в 2-5x по числу сэмплов для той же точности.

Эмпирическая часть: тестировали на diverse benchmarks (math reasoning, code generation, instruction following) с backbone моделями разных размеров. Контролировали identical verifiers и token budgets — все методы использовали одну reward model и одинаковое число total tokens, так что улучшения нельзя списать на более сильный re-ranker или больше compute. Измеряли test-time budget efficiency: при фиксированном числе queries/tokens, насколько близко к оптимуму. RF-SeqBoN consistently outperformed BoN и другие baselines (self-consistency, vanilla sequential revision) на 5-15% по win-rate.


💡

Адаптации и экстраполяции

🔧 Техника: гибридный порог (adaptive γ) → баланс между exploration и exploitation

Вместо фиксированного γ, начни с низкого порога (0.6) в первых итерациях (exploration: быстро накопи разнообразные примеры), затем повышай порог (0.8+) в поздних итерациях (exploitation: концентрируйся на top-quality траекториях). Добавь в промпт:

Порог для добавления в контекст:
- Итерации 1-3: оценка ≥ 60 (фаза exploration)
- Итерации 4-7: оценка ≥ 80 (фаза exploitation)

Это помогает на задачах где непонятна априорная сложность — модель сначала прощупывает пространство решений, потом фокусируется на лучших направлениях.

🔧 Техника: явная структура контекста → усиление сигнала

Вместо просто дописывания ответов, оборачивай их в semantic контейнеры:

=== КАЧЕСТВЕННЫЕ ПРИМЕРЫ (reward ≥ 80) ===

Пример 1 (reward: 85):
[ответ]

Пример 2 (reward: 92):
[ответ]

=== ТВОЯ СЛЕДУЮЩАЯ ГЕНЕРАЦИЯ ===
Используй паттерны из примеров выше.

Модель острее воспринимает structured context. XML-теги или markdown разметка создают explicit boundaries между reference examples и новой генерацией.

🔧 Техника: multi-aspect filtering → контроль разных измерений качества

Вместо одного reward score, оценивай по нескольким критериям и добавляй в контекст only if все выше порога:

Оцени ответ:
- Конкретность: [0-100]
- Корректность: [0-100]  
- Полнота: [0-100]

Добавить в контекст если ВСЕ ≥ 75

Это предотвращает reward hacking на одном измерении (например, модель генерит verbose ответы с высокой «полнотой», но низкой «конкретностью»).

Экстраполяция: RF-SeqBoN + Chain-of-Thought для complex reasoning

Комбинируй RF-SeqBoN с CoT: на каждой итерации генерируй reasoning path + answer, оценивай по reward, добавляй в контекст только reasoning paths с высоким итоговым reward. Так модель учится не только что генерировать, но и как рассуждать.

Задача: {сложная математическая/логическая задача}

Цикл (повторить 5 раз):

1. Рассуждай пошагово (Chain-of-Thought):
   Шаг 1: [рассуждение]
   Шаг 2: [рассуждение]
   ...
   Итоговый ответ: [ответ]

2. Проверь корректность ответа.

3. Если ответ правильный:
   - Добавь РАССУЖДЕНИЕ (не только ответ) в контекст как "успешный reasoning path"
   - В следующей итерации используй структуру этого рассуждения

4. Если ответ неправильный:
   - Не добавляй в контекст
   - Попробуй другой подход

Финал: используй reasoning path с максимальной уверенностью.

Это создаёт library of successful reasoning patterns в контексте. Модель видит не просто правильные ответы, но и successful strategies их получения. На complex math/code задачах это даёт compound gains: RF-SeqBoN улучшает exploration, CoT улучшает reasoning, комбинация усиливает оба эффекта.


🔗

Ресурсы

On the Limits of Test-Time Compute: Sequential Reward Filtering for Better Inference

Авторы: Yue Yu (Indiana University), Qiwei Di (UCLA), Quanquan Gu (UCLA), Dongruo Zhou (Indiana University)

Статья ссылается на: - Huang et al. (2025a) — теория BoN и χ²-regularized sampling - Snell et al. (2024) — empirical evidence для sequential TTC - Xie et al. (2021), Zhang et al. (2023) — in-context learning theory с mixture-of-policies - Foster et al. (2025) — coverage-based analysis of TTC - Beirami et al. (2024) — KL identity для BoN и reward hacking bounds


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

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

Best-of-N упирается в потолок: 100 попыток не спасут если модель сэмплирует из слабого распределения. Ты перебираешь варианты, но распределение не меняется. RF-SeqBoN решает это через последовательное обогащение контекста: генерируй → если качество выше порога → добавь в историю → генерируй снова из обновлённого контекста. Метод сдвигает генерацию от усреднённой смеси к оптимальному распределению – контекст наполняется примерами из лучшей reference policy, модель начинает генерировать преимущественно из неё. Теоретически доказано: sequential методам нужно *M_τ сэмплов против M_LLM** у параллельных – строгое неравенство в пользу последовательных.

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

BoN генерирует все N ответов из одного промпта – ты сэмплируешь из того распределения что есть. RF-SeqBoN работает циклом: (1) сгенерируй ответ из текущего контекста, (2) оцени качество через reward модель, (3) если оценка ≥ γ – добавь ответ в контекст для следующей итерации. С каждой удачной генерацией контекст обогащается quality примерами – модель видит что работает и адаптируется через in-context learning. За N итераций π_LLM(·|h) смещается к π_ref_τ*(·|x) – распределению лучшей reference policy из pretraining. Плохие ответы (reward < γ) игнорируются – не тратишь вычисления на усиление слабых распределений.

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

LLM обучена на смеси данных разного качества – π_LLM(·|x) это усреднённое распределение по всем стилям из корпуса. Если доля качественных ответов 10%, даже N=100 даст ~10 хороших из 100 посредственных. Контекст сдвигает распределение: когда показываешь модели несколько примеров качественных ответов, она начинает генерировать из распределения этих примеров – π_LLM(·|h) → π_ref_τ(·|x). RF-SeqBoN фильтрует каждую генерацию через reward ≥ γ – так контекст наполняется только high-quality примерами. Модель учится на своих удачных генерациях. Теоретическая граница: sequential методам достаточно M_τ сэмплов для достижения оптимума, параллельным нужно M_LLM, причём M_τ* < M_LLM строго – RF-SeqBoN достигает границы через концентрацию на high-reward траекториях.

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

Сложные задачи где качество генераций сильно варьируется → конкретно для creative writing, planning, domain-specific reasoning, особенно когда базовая модель даёт 10-20% качественных ответов из коробки. Окупается на задачах где π_LLM(·|x) далеко от оптимума – стратегии запуска продукта, бизнес-планы, специализированный код, аналитика с выводами. НЕ подходит для простых задач где модель уже близка к оптимуму – фактологические вопросы, базовая генерация текста по шаблону. На таких задачах RF-SeqBoN даёт те же результаты что BoN, но с overhead на рост контекста.

Мини-рецепт

1. Определи reward модель: Можно использовать ту же LLM для самооценки (попроси оценить от 0 до 100 по конкретным критериям), но лучше внешняя модель или rule-based scorer – избежишь overconfidence.

2. Выстави порог γ: Для сложных задач ставь 75-85 – строже фильтр, чище примеры в контексте. Для простых можно 60-70 – быстрее наполнение, но риск посредственных примеров.

3. Запусти цикл N раз (начни с 5-7): На каждой итерации: сгенерируй ответ → оцени reward → если ≥ γ пометь как "качественный пример" и явно скажи модели "используй это как reference для следующей генерации".

4. Выбери лучший: После всех итераций возьми ответ с максимальным reward – обычно из последних итераций, где контекст уже обогащён quality examples.

5. Ограничь длину контекста (опционально): Если контекст раздувается до 5000+ токенов, добавь burn-in параметр m – храни только последние m качественных примеров.

Примеры

[ПЛОХО] : Напиши стратегию запуска SaaS на ProductHunt → генерируешь 10 вариантов из одного промпта, выбираешь лучший. Если модель изначально даёт 80% воды («сделайте крутой продукт»), даже 10 попыток дадут 8 водянистых + 2 нормальных.
[ХОРОШО] : Задача: стратегия запуска SaaS для селлеров на ProductHunt. Цикл 7 раз: (1) Сгенерируй стратегию с конкретными действиями, сроками, метриками. (2) Оцени от 0 до 100 по критериям: конкретность (есть числа), реализуемость (за неделю), специфичность (учитывает нишу). (3) Если оценка ≥ 75 – пометь как "удачный пример", используй в следующей итерации как reference. (4) Если < 75 – не используй, генерируй с нуля. В конце: выбери лучшую по итоговой оценке. Модель эволюционирует: итерация 1 «сделайте email-рассылку» (reward 60, не в контекст) → итерация 4 «за 3 дня: 50 персональных сообщений селлерам из Wildberries Chat, conversion benchmark 15%, FAQ по 5 возражениям» (reward 85, в контекст) → итерация 7 ещё конкретнее благодаря накопленным примерам.
Источник: On the Limits of Test-Time Compute: Sequential Reward Filtering for Better Inference
ArXiv ID: 2512.04558 | Сгенерировано: 2026-01-10 00:12

Проблемы LLM

ПроблемаСутьКак обойти
Множественная генерация не меняет качество распределенияГенерируешь 100 вариантов ответа из одного промпта. Выбираешь лучший. Но все 100 вариантов — из одной смеси. Модель обучена на данных разного качества. Если доля хороших ответов в этой смеси 10%, то из 100 попыток получишь ~10 приемлемых. Остальные 90 — мусор из того же распределения. Перебор не улучшает само распределение. Просто ищешь лучшее из того что естьНе генерируй все варианты сразу. Генерируй по одному. После каждого хорошего ответа добавляй его в контекст. Следующая генерация пойдёт уже из обновлённого контекста. Так модель смещается к качественной части обучающих данных. Контекст из хороших примеров меняет распределение

Методы

МетодСуть
Последовательная генерация с фильтрацией — накопление качественных примеров в контекстеЦикл из 3 шагов: (1) Сгенерируй ответ из текущего контекста. (2) Оцени качество по критериям. (3) Если оценка выше порога — добавь ответ в контекст как пример. Повтори N раз. В конце выбери лучший из всех. Почему работает: Контекст из качественных примеров смещает генерацию. Модель видит хорошие ответы и начинает генерировать в том же стиле. Плохие ответы не попадают в контекст — не тратишь вычисления на усиление слабых паттернов. Рычаги: Порог оценки (выше = строже фильтр, меньше примеров но чище). Число итераций (больше = больше попыток, но после 5-7 хороших примеров отдача падает). Когда применять: Задача сложная, разброс качества генераций высокий (планирование, код, креатив). Не работает: Простые задачи где модель и так генерирует хорошо

Тезисы

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

RF-SeqBoN: последовательная генерация с фильтрацией по качеству

arXiv: 2512.04558

Современные нейронки — это как бесконечно эрудированный, но крайне нестабильный студент: он читал и гениальные учебники, и мусорные форумы. Когда ты просишь его составить план, он выдает усредненную кашу из всех знаний сразу. Проблема в том, что обычный перебор вариантов (Best-of-N) не меняет саму суть ответов — если модель в базе своей склонна лить воду, ты просто получишь сто разных ведер воды. Метод RF-SeqBoN меняет правила игры: он заставляет модель не просто гадать, а буквально «докручивать» свои мысли, отсеивая хлам на лету.

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

Технически это работает через последовательную фильтрацию вознаграждением. Модель генерирует кусок ответа, прогоняет его через «критика» (reward model), и если оценка выше порога, этот кусок намертво вшивается в историю чата. В итоге каждое следующее предложение опирается на уже отобранный контент. Это позволяет вытащить из модели ту самую «эталонную версию» знаний, которая обычно погребена под слоями посредственности. Вместо того чтобы просто сэмплировать из среднего распределения, мы принудительно смещаем фокус на самые качественные данные из обучения.

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

Короче, хватит надеяться на удачу и перебирать сотни случайных ответов — это тупиковый путь. Будущее за умной итерацией, где каждый шаг модели проходит жесткий фейсконтроль. RF-SeqBoN доказывает, что даже среднюю модель можно заставить выдавать топовый результат, если не давать ей возможности лажать в процессе. Либо ты контролируешь каждый этап генерации, либо получаешь статистически вероятную фигню.

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

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

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