3,583 papers
arXiv:2601.19871 80 27 янв. 2026 г. FREE

Reflective Translation: двухпроходная генерация с саморефлексией

КЛЮЧЕВАЯ СУТЬ
Обнаружено: LLM не видит свои ошибки во время генерации — движется слева направо по тексту, не возвращается назад. Как писатель без черновика: упустил деталь, исказил смысл — и текст уже поехал дальше. Метод даёт модели увидеть и исправить то что она пропустила при первой генерации. Два прохода вместо одного: сначала черновик, потом структурированная критика (ошибки → исправления → ключевой контент), потом ревизия на основе критики. Статистическая значимость p < 10⁻⁴⁴ — стабильный прирост качества.
Адаптировать под запрос

TL;DR

Reflective Translation — промпт-техника где модель делает черновик, критикует его по структурированным критериям и генерирует улучшенную версию. Работает в обычном чате через два запроса: сначала черновик, потом критика + ревизия.

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

Метод даёт модели структуру для критики: (1) найди ошибки (пропуски, искажения, неточности), (2) сформулируй исправления (что конкретно поправить), (3) выдели критический контент (что обязательно сохранить). На основе этой критики модель генерирует улучшенную версию. Исследование показало стабильный прирост качества во втором проходе с высокой статистической значимостью (p < 10⁻⁴⁴).

🔬

Схема метода

ШАГ 1: Генерация черновика
→ первая версия текста

ШАГ 2: Структурированная критика (в отдельном запросе)
→ (1) список ошибок
→ (2) инструкции для исправления
→ (3) ключевые элементы которые нужно сохранить

ШАГ 3: Генерация ревизии на основе критики
→ улучшенная версия

Три отдельных запроса к модели.

🚀

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

Задача: Написать пост в телеграм-канал про новую фичу вашего SaaS-продукта. Нужно попасть в тон (не корпоративно, но профессионально) и не упустить ключевые выгоды.

Промпт 1 (черновик):

Напиши пост для телеграм-канала SaaS-сервиса Кабинет.ру (управление подписками).

Новая фича: автоматическое продление со скидкой 15% для клиентов которые платят больше года.

Тон: дружелюбный профи, не корпорат, без восклицательных знаков и "мы рады".

Длина: 3-4 предложения.


[текст поста]

Промпт 2 (критика):

Исходная задача: [скопируй промпт 1]

Черновик:
[вставь результат из промпта 1]

Проанализируй черновик по структуре:

1. ОШИБКИ — что упущено, искажено или лишнее
2. ИСПРАВЛЕНИЯ — конкретные инструкции что поправить
3. КРИТИЧЕСКИЙ КОНТЕНТ — ключевые элементы которые обязательно сохранить

Выдай только анализ, без нового текста.

Промпт 3 (ревизия):

Исходная задача: [скопируй промпт 1]

На основе этой критики:
[вставь результат из промпта 2]

Напиши улучшенную версию поста.


[улучшенный текст]

Результат:

Модель в промпте 2 покажет что увидела: возможно черновик слишком формальный, не подчеркнул выгоду ("меньше платишь" важнее чем "автопродление"), или пропустил что фича работает с сегодняшнего дня. В промпте 3 выдаст версию где эти моменты исправлены — тон точнее, акценты на месте, детали сохранены.

🧠

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

LLM генерирует текст последовательно — токен за токеном вперёд. Модель не "видит весь текст сразу" как человек при редактуре. Она движется линейно и не возвращается назад чтобы проверить соответствие частей друг другу. Отсюда пропуски деталей, смещение тона по ходу текста, несоответствия между началом и концом.

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

Структура критики (ошибки → исправления → критический контент) даёт модели чёткие рельсы для анализа. Без структуры модель может выдать общее "неплохо, но можно лучше". Со структурой она обязана назвать конкретные ошибки, сформулировать конкретные исправления, выделить что нельзя потерять. Это превращает расплывчатую саморефлексию в инструкцию для ревизии.

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

  • Критерии в блоке "Ошибки" — добавь свои: "проверь фактуру", "найди канцелярит", "оцени эмоциональный тон". Чем конкретнее критерий, тем точнее поиск проблем.
  • Маскирование ключевых слов — если модель копирует черновик почти напрямую, замени в критике конкретные слова/фразы на . Заставит модель применить критику семантически, а не скопировать текст.
  • Число итераций — для простых задач хватит одной пары (черновик → ревизия). Для сложных можно сделать второй круг: ревизия → критика ревизии → третья версия.
📋

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

Промпт 1 — Черновик:

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

{критерии_качества}

Выдай результат в формате:

[текст]

Промпт 2 — Критика:

Исходная задача: {описание_задачи}

Черновик:
{результат_из_промпта_1}

Проанализируй черновик по структуре:

1. ОШИБКИ — что упущено, искажено, лишнее или не соответствует задаче
2. ИСПРАВЛЕНИЯ — конкретные инструкции что и как поправить
3. КРИТИЧЕСКИЙ КОНТЕНТ — ключевые элементы которые обязательно сохранить

Выдай только структурированный анализ. Не пиши новый вариант текста.

Промпт 3 — Ревизия:

Исходная задача: {описание_задачи}

На основе этой критики:
{результат_из_промпта_2}

Напиши улучшенную версию.


[улучшенный текст]

Где заполнять: - {описание_задачи} — что нужно сделать + контекст - {критерии_качества} — тон, длина, обязательные элементы, ограничения - {результат_из_промпта_1} и {результат_из_промпта_2} — копируй ответы модели из предыдущих шагов

Опционально: - Добавь свои критерии в блок "ОШИБКИ" (фактчек, эмоциональный тон, структура) - Если модель копирует черновик почти дословно — замени ключевые слова в черновике на перед промптом 2

⚠️

Ограничения

⚠️ Три запроса вместо одного: Метод требует три отдельных обращения к модели. Для быстрых задач ("переведи фразу") это избыточно. Работает там где качество важнее скорости.

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

⚠️ Модель видит только то что вы указали: Если в промпте 1 не прописали критерии качества явно — модель не угадает их при критике. Структура помогает, но базовое описание задачи должно быть полным.

🔍

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

Команда проверила метод на машинном переводе с английского на африканские языки (isiZulu и isiXhosa) — это низкоресурсные языки где мало параллельных текстов для обучения, и модели часто ошибаются. Тестировали на GPT-3.5 и Claude Haiku 3.5.

Логика простая: взяли пары предложений (английский → целевой язык) из датасетов OPUS-100 и NTREX-African. Модель переводит дважды: первый раз напрямую, второй раз — после саморефлексии (черновик → критика → ревизия). Сравнивали качество первого и второго перевода по двум метрикам: BLEU (совпадение слов с эталоном) и COMET (семантическая точность, оценивает смысл, не только слова).

Результат: второй перевод стабильно лучше первого. Причём COMET (смысловая точность) вырос сильнее чем BLEU (точное совпадение слов) — это значит метод улучшает понимание смысла, а не просто подгоняет слова под эталон. Статистически улучшение очень сильное: p-value для BLEU = 1.45×10⁻⁴⁴, для COMET = 1.10×10⁻⁶⁵ (вероятность что это случайность — почти нулевая). Эффект размера ~0.95 по rank-biserial корреляции — это практически значимое улучшение, не просто статистический артефакт.

Проверили три стратегии промптинга (zero-shot, chain-of-thought, few-shot) — рефлексия работает во всех, но few-shot + рефлексия даёт самые стабильные результаты. In-context примеры помогают модели лучше калибровать критику.

Интересная деталь: тестировали порог уверенности — если отбирать для ревизии только те переводы где модель неуверена, средний прирост качества выше (но покрытие меньше). Это подтверждает что рефлексия работает как целевая коррекция, а не универсальное улучшение всего подряд.

💡

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

📌

🔧 Техника: Убрать структуру критики → свободная саморефлексия

Если задача творческая (сторителлинг, креативный текст), жёсткая структура (ошибки → исправления → контент) может ограничить. Попробуй свободную саморефлексию:

Промпт 2 (свободная критика):

Прочитай черновик как редактор. Что работает? Что нет? Что усилить, что убрать?

Черновик:
{текст}

Дай честную редакторскую оценку.

Модель выдаст менее структурированный, но более холистичный анализ — может поймать вещи которые не попадают в рамки "ошибки/исправления".

📌

🔧 Техника: Маскирование ключевых слов → принудительная переформулировка

Исследование использовало RAKE для автоматического извлечения ключевых слов и замены их на . В ручном режиме это можно сделать проще:

Промпт 2 (с маскированием):

Черновик:
"Наша новая  позволяет  экономить до  в месяц"

[Критика]

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

Это заставляет модель применить критику семантически, а не просто подправить пару слов в готовом тексте. Полезно если модель слишком консервативна в ревизии.

📌

🔧 Комбинация: Рефлексия + A/B-варианты

Промпт 3 (множественная ревизия):

Критика:
{анализ_из_промпта_2}

На основе критики создай ДВА варианта улучшенного текста:

Вариант А — минимальные правки, сохрани структуру черновика
Вариант Б — радикальная переработка, приоритет на критику


[текст]



[текст]

Получаешь два подхода к ревизии: консервативный и смелый. Можешь выбрать или скомбинировать лучшее.

🔗

Ресурсы

Reflective Translation: Improving Low-Resource Machine Translation via Structured Self-Reflection

Nicholas Cheng (Independent Researcher), 2026

Код и данные: github.com/Nickcheng123/reflective-translation-mt

Исследование опирается на: - Reflexion (Shinn et al., 2023) — verbal reinforcement learning через рефлексию - Self-Refine (Madaan et al., 2023) — итеративная доработка через внутренний фидбек - Chain-of-Verification (Creswell & Shanahan, 2023) — улучшение фактуальности через верификацию

Датасеты: OPUS-100 (Tiedemann, 2012), NTREX-African (Nekoto et al., 2023)

Метрики: BLEU (Papineni et al., 2002), COMET (Rei et al., 2020)


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

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

Обнаружено: LLM не видит свои ошибки во время генерации — движется слева направо по тексту, не возвращается назад. Как писатель без черновика: упустил деталь, исказил смысл — и текст уже поехал дальше. Метод даёт модели увидеть и исправить то что она пропустила при первой генерации. Два прохода вместо одного: сначала черновик, потом структурированная критика (ошибки → исправления → ключевой контент), потом ревизия на основе критики. Статистическая значимость p < 10⁻⁴⁴ — стабильный прирост качества.

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

Разделяй генерацию и анализ — не заставляй модель делать оба процесса одновременно. Шаг 1: Модель генерирует черновик по задаче. Шаг 2: Модель анализирует черновик в режиме критика — ищет ошибки, формулирует исправления, выделяет что сохранить. Весь черновик в контексте, можно сравнить с задачей. Шаг 3: Модель генерирует ревизию на основе критики. Критика легче генерации — найти проблемы в готовом тексте проще чем выдать идеальный с первого раза. Три отдельных запроса к модели.

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

LLM генерирует последовательно — токен за токеном вперёд. Модель не "видит весь текст сразу" как человек при редактуре. Она движется линейно и не возвращается проверить соответствие частей друг другу. Отсюда пропуски деталей, смещение тона по ходу текста, несоответствия между началом и концом. Когда модель анализирует готовый текст, она переключается в другой режим. Весь черновик в контексте — можно сравнить с задачей, проверить целостность, заметить что выпало. Структура критики даёт чёткие рельсы: без структуры модель выдаст общее "неплохо но можно лучше". Со структурой (ошибки → исправления → критический контент) она обязана назвать конкретные проблемы и сформулировать конкретные исправления. Это превращает расплывчатую саморефлексию в инструкцию для ревизии.

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

Для задач со сложными требованиями → написание контента где важен тон/стиль/баланс деталей (посты блога, маркетинговые тексты, документация), особенно когда нужно соблюсти несколько критериев одновременно (факты + простой язык + короткий формат). НЕ подходит для: простых чётких задач ("составь список из 5 пунктов", "переведи фразу") — модель справится с первого раза, три запроса избыточны.

Мини-рецепт

1. Промпт 1 — Черновик:
Опиши задачу + критерии качества (тон, длина, обязательные элементы). Попроси выдать результат в тегах текст.

2. Промпт 2 — Критика:
Скопируй исходную задачу. Вставь черновик из промпта 1. Попроси проанализировать по структуре:
• ОШИБКИ — что упущено, искажено, лишнее
• ИСПРАВЛЕНИЯ — конкретные инструкции что поправить
• КРИТИЧЕСКИЙ КОНТЕНТ — ключевые элементы которые сохранить
Укажи: "Выдай только анализ, без нового текста".

3. Промпт 3 — Ревизия:
Скопируй исходную задачу. Вставь критику из промпта 2. Попроси написать улучшенную версию на основе критики.

Опция: Если модель копирует черновик почти дословно — замени ключевые слова в черновике на перед промптом 2. Заставит применить критику семантически.

Примеры

[ПЛОХО] : Напиши пост про новую фичу для телеграм-канала SaaS-сервиса. Тон дружелюбный профи, без корпората, без восклицаний. Фича: автопродление со скидкой 15% для клиентов 1+ год. Длина 3-4 предложения. — один запрос, модель может упустить детали или сместить тон по ходу текста.
[ХОРОШО] : Промпт 1: Напиши пост для телеграм-канала SaaS-сервиса Кабинет.ру. Фича: автопродление со скидкой 15% для клиентов 1+ год. Тон: дружелюбный профи, не корпорат. Длина: 3-4 предложения. [текст] Промпт 2: Исходная задача: [скопируй промпт 1]. Черновик: [результат из промпта 1]. Проанализируй: 1) ОШИБКИ — что упущено/искажено/лишнее, 2) ИСПРАВЛЕНИЯ — что поправить, 3) КРИТИЧЕСКИЙ КОНТЕНТ — что сохранить. Только анализ, без нового текста. Промпт 3: Исходная задача: [скопируй промпт 1]. На основе критики: [результат из промпта 2]. Напиши улучшенную версию. [текст] Модель в промпте 2 увидит: черновик слишком формальный, не подчеркнул выгоду "меньше платишь", пропустил что фича работает с сегодня. В промпте 3 исправит эти моменты.
Источник: Reflective Translation: Improving Low-Resource Machine Translation via Structured Self-Reflection
ArXiv ID: 2601.19871 | Сгенерировано: 2026-01-28 06:28

Проблемы LLM

ПроблемаСутьКак обойти
Модель не ловит свои ошибки во время генерацииLLM генерирует текст последовательно — токен за токеном вперёд. Не видит весь текст сразу как человек при редактуре. Движется линейно и не возвращается назад. Поэтому пропускает детали, смещает тон по ходу текста, допускает несоответствия между началом и концом. Это особенность архитектуры: модель автореgressивная, строит текст слева направоРазделяй генерацию и проверку на два отдельных запроса. Сначала попроси выдать черновик. Потом дай модели этот черновик и попроси найти ошибки. Когда модель анализирует готовый текст — весь контекст перед глазами, может сравнить части друг с другом и с исходной задачей

Методы

МетодСуть
Структурированная саморефлексия — улучшение через критикуТри отдельных запроса к модели. Шаг 1: Генерация черновика (обычный промпт с задачей). Шаг 2: Структурированная критика черновика — модель анализирует по трём блокам: (1) ОШИБКИ — что упущено, искажено, лишнее; (2) ИСПРАВЛЕНИЯ — конкретные инструкции что поправить; (3) КРИТИЧЕСКИЙ КОНТЕНТ — ключевые элементы которые нельзя потерять. Шаг 3: Генерация ревизии на основе критики. Почему работает: Критика готового текста легче генерации идеального текста с нуля. Структура из трёх блоков не даёт модели отделаться общими словами "можно лучше" — заставляет назвать конкретные проблемы и решения. Когда применять: сложные текстовые задачи с субъективными критериями (тон, стиль, баланс деталей) или комплексными ограничениями. Когда не работает: простые чёткие задачи ("список из 5 пунктов"), где модель справляется с первого раза. Три запроса вместо одного — избыточно для быстрых задач
📖 Простыми словами

Reflective Translation: Improving Low-Resource Machine Translation via Structured Self-Reflection

arXiv: 2601.19871

Суть Reflective Translation в том, что нейронки по своей природе — патологические болтуны, которые сначала говорят, а потом думают. Когда LLM пишет текст, она генерирует его строго вперед, токен за токеном, и не может «отмотать назад», чтобы поправить косяк в начале предложения. В итоге мы получаем классическую проблему: модель теряет нить, путает факты или съезжает с тона посередине абзаца. Метод заставляет нейронку остановиться и буквально посмотреть в зеркало, превращая линейный поток сознания в осознанную работу над ошибками.

Это как если бы ты писал важное письмо бывшей в три часа ночи: в моменте кажется, что ты чертов гений, но если перечитать это через пять минут, становится стыдно. Reflective Translation — это тот самый внутренний голос, который говорит: «Чувак, ты здесь перегнул, а тут вообще забыл, о чем речь». Вместо того чтобы вываливать первый попавшийся черновик, модель сначала делает набросок, потом сама же его разносит в пух и прах по пунктам и только после этого выдает нормальный результат.

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

Хотя метод тестировали на переводах для редких языков, этот принцип универсален для любой сложной работы с текстом. Будь то пост в Telegram, описание фичи для SaaS или сложный отчет — линейная генерация всегда будет лажать в деталях. Если тебе нужно, чтобы нейронка не просто «что-то написала», а попала в tone of voice и не потеряла важные смыслы, заставляй её рефлексировать. Это превращает AI из генератора случайных фраз в внимательного редактора, который видит текст целиком, а не кусками.

Короче: первый ответ нейронки — это всегда мусор или полуфабрикат, даже если он выглядит прилично. Хочешь качества — внедри этап критики в свой промпт и заставь модель пересобрать текст на основе собственных замечаний. Reflective Translation доказывает, что два запроса с паузой на «подумать» на голову разбивают одну длинную простыню текста. Кто продолжает использовать первый результат без правок — тот получает средний по больнице контент, который AI-детекторы щелкают как орешки.

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

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

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