TL;DR
Когда просишь LLM оценить текст по шкале от 1 до 10, модель почти всегда ставит 6-7 баллов и не хочет ставить крайние значения — даже отличный текст получает "хорошо", а слабый получает "неплохо". Исследователи решили эту проблему: показали модели 3 примера-якоря заранее — с плохим, средним и отличным текстом — и привязали шкалу к конкретному ориентиру: "5 баллов = совпадает с оригиналом, 6+ — качественно, 4 и ниже — деградация". После такой калибровки оценки становятся различимыми, а не превращаются в кучу "средних" баллов.
Вторая находка касается тех, кто просит LLM сначала написать план текста (роман, статью, сценарий), а потом развернуть его в полный текст. Хороший план не гарантирует хороший финальный текст — при проверке оказалось, что рейтинг планов и рейтинг готовых текстов слабо совпадают друг с другом. Модель может составить отличную структуру глав, но написать по ней посредственный текст — и наоборот.
Отсюда вывод для практики: план и финальный текст — это два разных объекта проверки. Если хочешь написать длинный текст через LLM качественно, проверяй план отдельно от текста, не полагаясь, что "план хороший — значит и текст будет хороший".
Схема метода
ШАГ 1: Дать LLM 3 примера-якоря (плохой / средний / отличный текст с оценками) → калибровка шкалы
ШАГ 2: Зафиксировать шкалу 1-10, где 5 = соответствует оригиналу, ≥6 = качественно, ≤4 = деградация → единый ориентир
ШАГ 3: Попросить оценить целевой текст по 4 критериям относительно источника → числовая оценка по каждому
ШАГ 4: Применить страховки против искажений → более честная оценка
Все шаги выполняются в одном промпте.
Пример применения
Задача: Автор пишет фэнтези-роман на Author.Today, генерирует план 10 глав через ChatGPT и хочет проверить, насколько план хорош, прежде чем писать текст по нему — чтобы не тратить время на главы, которые потом придётся переписывать.
Промпт:
Ты — литературный редактор. Перед тем как оценивать план романа,
откалибруй себя на трёх примерах:
ЯКОРЬ 1 (оценка 3/10): [план, где герои появляются из ниоткуда,
события не связаны с сюжетом первоисточника — синопсиса романа]
ЯКОРЬ 2 (оценка 5/10): [план, который в целом соответствует синопсису,
но упускает половину ключевых сюжетных точек]
ЯКОРЬ 3 (оценка 8/10): [план, который точно следует синопсису,
покрывает все ключевые события, без противоречий]
Шкала: 5 = план соответствует синопсису романа. 6 и выше = план
качественный и готов к написанию текста. 4 и ниже = план деградировал,
нужна переработка.
Вот синопсис моего романа: {синопсис}
Вот план 10 глав: {план}
Оцени план по 4 критериям (каждый от 1 до 10):
1. Охват — все ли ключевые события синопсиса попали в план
2. Верность — не добавлены ли персонажи/события, которых нет в синопсисе
(если добавлены — максимум 6 баллов)
3. Внутренняя согласованность — нет ли противоречий в характерах,
таймлайне, причинно-следственных связях
4. Релевантность — все ли главы относятся к теме романа
(если больше 30% глав уходят в сторону — максимум 4 балла)
Объяснение к каждой оценке — не длиннее одного предложения.
Результат: Модель выдаст 4 числовые оценки с коротким объяснением каждой. Если общий балл ниже 5 — план стоит переработать до того, как писать полный текст. Если 6+ — можно двигаться дальше со спокойной душой.
Почему это работает
LLM плохо различает качество текста без ориентира — модели свойственен "коллапс к середине": она боится ставить крайние оценки и валит всё в диапазон 6-7, даже если один текст объективно сильно хуже другого. Это похоже на учителя, который на автомате ставит всем "четвёрки", не глядя в тетрадь.
Модель хорошо умеет сравнивать по образцу — если дать ей два примера с чёткой разницей ("вот это плохо, вот это отлично"), она начинает копировать паттерн разницы и переносить его на новый случай. Показ трёх примеров-якорей превращает абстрактную шкалу в конкретный опыт, на который модель может опереться.
Рычаги управления: - Число критериев оценки — можно оставить 2 вместо 4, если задача проще, и сэкономить токены - Примеры-якоря — замени на свои реальные примеры хорошего/плохого текста в твоей нише (маркетинговый текст, пост, сценарий) — модель точнее откалибруется под твой контекст - Ограничение объяснения ("не длиннее предложения") — убери, если хочешь увидеть подробную аргументацию оценки, а не только цифру - Критерий "максимум 6 баллов при нарушении" — можно заменить на другой жёсткий порог под свою задачу (например, "если нарушены факты — максимум 3 балла")
Шаблон промпта
Ты — {роль оценщика, например литературный редактор / аналитик текстов}.
Перед оценкой откалибруй себя на трёх примерах:
ЯКОРЬ 1 (оценка {N1}/10): {слабый пример}
ЯКОРЬ 2 (оценка {N2}/10): {средний пример}
ЯКОРЬ 3 (оценка {N3}/10): {отличный пример}
Шкала: {середина шкалы} = соответствует оригиналу.
Выше — качественно, ниже — деградация.
Исходный текст/источник: {источник}
Текст для оценки: {целевой_текст}
Оцени по критериям (каждый от 1 до 10):
1. {критерий_1, например охват ключевых моментов}
2. {критерий_2, например верность источнику — если есть отклонения,
максимум {порог} баллов}
3. {критерий_3, например внутренняя согласованность}
4. {критерий_4, например релевантность теме}
Объяснение к каждой оценке — коротко, {лимит} слов.
Подставь свою роль оценщика, свои примеры-якоря разного качества и критерии, важные для твоей задачи (текст статьи, сценарий, коммерческое предложение, план проекта).
🚀 Быстрый старт — вставь в чат:
Вот шаблон Anchor-Based оценки текста. Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит, какие у тебя есть примеры хорошего/плохого текста и какие критерии важны — потому что без реальных якорей и конкретных критериев калибровка не сработает. Она возьмёт структуру шаблона и подставит твои данные.
Ограничения
⚠️ Самопохвала модели: если та же модель, что писала текст, оценивает этот текст — она склонна ставить себе более высокую оценку. Исследователи прямо предупреждают: без второй модели-проверяющего результат оценки нужно воспринимать как ориентир, не как объективную истину.
⚠️ Не устраняет проблему полностью: якоря снижают "коллапс к середине", но не убирают его целиком — модель всё равно может тяготеть к безопасным средним оценкам, особенно на сложных или спорных критериях.
⚠️ Инсайт про decoupling плана и текста работает только как напоминание, не как готовый рецепт: сама статья не даёт формулы "как исправить план, чтобы текст точно получился хорошим" — только показывает, что нельзя полагаться на оценку плана как прогноз качества текста.
Как исследовали
Команда взяла 7 существующих фреймворков для написания длинных текстов (планирование + расширение в текст) — от простого "напиши всё сразу" до сложных многошаговых систем с агентами (SuperWriter, CogWriter, Dome, StoryWriter) — и прогнала их через одну и ту же LLM на 300 примерах книг и других жанров на русском... точнее на китайском и английском языках.
Главная хитрость эксперимента — инверсия задачи: вместо того чтобы просить фреймворки писать текст с нуля по идее, их заставили восстанавливать план по уже существующему тексту (роману). Это позволило сравнивать план напрямую с оригиналом — есть чёткий эталон правильности.
Оценивали план и итоговый текст раздельно — двумя независимыми проходами LLM-судьи. Оказалось, что рейтинг фреймворков по качеству плана и рейтинг по качеству итогового текста совпадают лишь частично — то есть план и текст действительно ведут себя как два разных измерения качества, а не как одна метрика с двумя именами. Это и было главным неожиданным выводом: интуитивно кажется, что "хороший план = хороший текст", но данные это не подтверждают.
