3,583 papers
arXiv:2604.19071 74 21 апр. 2026 г. FREE

ToW (Tree-of-Writing): оценка текстов через явные веса вместо "пусть LLM решит сама"

КЛЮЧЕВАЯ СУТЬ
Обнаружено: каждый раз когда просишь LLM оценить текст по нескольким критериям — она заново решает, какой из них важнее. В следующем запросе решает иначе. Результат: два одинаковых текста получают разные баллы не потому что они разные, а потому что модель переиграла приоритеты между запросами. Метод ToW (Tree-of-Writing, Дерево оценки) позволяет получить стабильную и воспроизводимую оценку любого текста — питча, статьи, коммерческого предложения. Фишка: разделить процесс на два шага — сначала «переговорщик» фиксирует веса для конкретного жанра, потом «эксперт» оценивает каждый критерий отдельно по зафиксированной шкале. Модель перестаёт договариваться сама с собой — результат повторяем при любом количестве прогонов.
Адаптировать под запрос

TL;DR

ToW — техника оценки текстов, где LLM сначала явно фиксирует, какой критерий насколько важен для конкретного задания, и только потом выставляет оценки по каждому критерию отдельно. Работает как дерево: корень — итоговый балл, ветки — Содержание, Формат, Впечатление, листья — конкретные подкритерии со своими весами.

Главная находка: когда просишь LLM оценить текст и позволяешь ей самой решать "насколько важна каждая характеристика" — она каждый раз решает по-разному. В одном запросе ставит акцент на логике, в следующем — на стиле. Итог: два одинаковых текста получают разные баллы не потому что они разные, а потому что LLM переопределила приоритеты между запросами. Исследователи назвали это Negotiation Inconsistency — нестабильность агрегации.

ToW решает это в два шага: сначала отдельный "переговорщик" (LLM) определяет веса критериев для этого конкретного задания и фиксирует их. Потом уже другие "эксперты" (тоже LLM) оценивают каждый критерий по зафиксированной шкале. Агрегация по заранее известным весам — стабильный результат.


🔬

Схема метода

(Три шага в разных запросах)

ШАГ 1: Переговорщик
Вход: [текст задания + жанр/тип]
Задача: определить веса для Содержания, Формата, Впечатления
        и для каждого подкритерия внутри них
Вывод: веса в виде списка (сумма = 1, каждый вес от -1 до 1)

ШАГ 2: Эксперты-оценщики
Вход: [текст для оценки + критерий + рубрика]
Задача: отдельный запрос для каждого подкритерия
Вывод: оценка 1–10 по заданной шкале

ШАГ 3: Агрегация
Вход: все оценки + веса из Шага 1
Задача: перемножить оценки на веса, посчитать итог
Вывод: финальный взвешенный балл

🚀

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

Задача: Ты написал инвест-питч для Сбер500 на акселерацию стартапа в области EdTech. Хочешь получить стабильную, честную обратную связь — не "в целом норм", а структурированный разбор с конкретными весами именно для жанра питча.

Промпт (Шаг 1 — Переговорщик):

Ты — эксперт по оценке инвест-питчей для акселераторов.

Тебе нужно оценить текст питча. Перед оценкой — определи веса критериев.

Жанр: инвестиционный питч для акселератора
Задача: стартап убеждает инвесторов дать место в программе

Критерии для оценки:

СОДЕРЖАНИЕ (подкритерии):
- Ясность проблемы и решения
- Убедительность traction и метрик
- Логика бизнес-модели
- Понимание рынка и конкурентов

ФОРМАТ:
- Структура изложения (есть ли все блоки питча)
- Язык и стиль (для инвестора)

ВПЕЧАТЛЕНИЕ (единый критерий без деления):
- Общее ощущение: хочется ли узнать больше

Для этого жанра и задачи — присвой каждому критерию вес от 0 до 1.
Сумма весов внутри каждого раздела = 1.
Также укажи вес самих разделов (Содержание / Формат / Впечатление), сумма = 1.

Обоснуй каждый вес одним предложением.
Выведи результат в виде таблицы.

Текст питча оценивать НЕ нужно — только веса.

Промпт (Шаг 2 — Оценка одного критерия):

Ты — эксперт по инвест-питчам. Оцени текст по одному критерию.

Критерий: «Убедительность traction и метрик»
Вес этого критерия в итоговой оценке: [вес из Шага 1]

Шкала:
1–3: метрики отсутствуют или выглядят нереалистично
4–6: метрики есть, но без контекста / неясно почему они важны
7–9: конкретные цифры, понятная динамика, видна тяга
10: метрики убедительны, релевантны, вызывают желание инвестировать

Текст питча:
[вставить текст]

Выдай: оценку (1–10) + 2–3 предложения объяснения.

(Повтори Шаг 2 для каждого критерия из Шага 1)

Результат:

После Шага 1 модель выдаст таблицу весов с обоснованием — например, почему для питча "Убедительность метрик" весит 0.35, а "Язык и стиль" — всего 0.10. После Шага 2 (несколько запросов) — оценки по каждому критерию отдельно. Умножаешь на веса → итоговый балл. При повторной оценке результат будет стабильным: веса зафиксированы, логика прозрачна.


🧠

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

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

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

Разделение ролей убирает конфликт интересов. "Переговорщик" определяет важность критериев. "Эксперт" просто измеряет по заданной шкале. Это как разделить задачи: один человек решает, по каким критериям судить, другой — судит. Смешать обе роли в один запрос → нестабильность.

Рычаги управления: - Детализация весов → больше подкритериев = точнее оценка, но больше запросов - Жанр в Шаге 1 → поменяй "инвест-питч" на "коммерческое предложение" / "художественный текст" → переговорщик пересчитает приоритеты - Шкала в Шаге 2 → опиши что означает 1, 5, 10 конкретно — получишь более предсказуемый ответ - Один эксперт на критерий → для разных критериев можно дать разные роли ("ты — редактор газеты", "ты — CFO")


📋

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

Шаг 1 — Переговорщик (фиксируем веса):

Ты — эксперт по оценке {тип_текста}.

Перед оценкой — определи, как должны весить критерии 
именно для этого жанра и задачи.

Жанр: {жанр}
Цель текста: {цель — кого убедить / что донести}

Критерии:

СОДЕРЖАНИЕ:
- {подкритерий_1}
- {подкритерий_2}
- {подкритерий_3}

ФОРМАТ:
- {подкритерий_4}
- {подкритерий_5}

ВПЕЧАТЛЕНИЕ:
- Общее субъективное ощущение от текста

Присвой вес каждому подкритерию (сумма внутри раздела = 1).
Присвой вес самим разделам (Содержание / Формат / Впечатление, сумма = 1).
Обоснуй каждый вес одним предложением.
Выведи в виде таблицы.

Сам текст оценивать НЕ нужно — только веса.

Шаг 2 — Эксперт (оцениваем по одному критерию):

Ты — эксперт по {тип_текста}. Оцени текст по одному критерию.

Критерий: «{название_критерия}»

Шкала:
1–3: {что означает низкая оценка}
4–6: {что означает средняя оценка}
7–9: {что означает высокая оценка}
10: {что означает идеальная оценка}

Текст:
{вставить текст}

Выдай: оценку (1–10) + 2–3 предложения объяснения.

Плейсхолдеры: - {тип_текста} — питчей, маркетинговых текстов, деловых писем, статей - {жанр} — конкретный жанр: коммерческое предложение, пост в Telegram, аналитический отчёт - {цель} — что должен сделать текст с читателем - {подкритерий_1..5} — нужные вам измерения; берите из области: логика, факты, убедительность, структура, стиль


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

Вот шаблон ToW для оценки текстов — сначала фиксируем веса критериев, 
потом оцениваем каждый отдельно. Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.

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

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


⚠️

Ограничения

⚠️ Бессмысленно для простых задач: Оценивать короткий текст из 200 слов через три шага и таблицу весов — избыточно. Метод окупается на длинных, структурированных текстах: питчи, статьи, коммерческие предложения, сценарии.

⚠️ Субъективный критерий "Впечатление" нестабилен: Даже при явных весах оценка "общего ощущения" у LLM менее воспроизводима, чем оценка структуры или фактов. Это подтверждено в исследовании — Впечатление лучше использовать как дополнение, не основу.

⚠️ Больше контекста ≠ лучше результат: Исследование выявило отрицательную корреляцию между объёмом входного контекста в задачах с направляющим заданием и качеством содержания. Накачать промпт деталями не значит получить лучший текст — а значит часто получить более длинный, но менее сфокусированный.

⚠️ Нужно несколько запросов: Шаги не объединяются в один промпт без потери стабильности. Минимум 2–3 запроса на полноценную оценку.


🔍

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

Команда из Tsinghua University и Z.ai создала HOWTOBENCH — набор из 1302 инструкций по 12 жанрам китайской письменности (от художественной до контрактов и официальных документов). Всё на реальных человеческих текстах, не на LLM-синтетике.

Логика эксперимента была простой: взять 9 LLM (GPT-4o, Claude 3.5, DeepSeek-R1, Gemini Flash и др.), дать им одинаковые задания на написание, потом попросить разные методы оценить результаты — и сравнить с оценками 36 живых экспертов.

Удивительный момент: BLEU (старая метрика "насколько текст похож на эталон") показал неплохую корреляцию с людьми на задачах Completion, где есть явный эталон для сравнения. Но на открытом письме провалился. А вот Auto-Planning — когда LLM сама придумывает критерии в момент оценки — оказался нестабильным даже при самосогласованности (запросить 5–10 раз и усреднить). Больше повторений не помогали: Auto-Planning сходился к простому усреднению, теряя смысл взвешивания.

ToW же при сопоставимой стоимости ($7.34 против $6.53 за self-consistency) показал корреляцию 0.93 с человеческими оценками — против 0.87 у лучшего конкурента.


💡

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

🔧 Техника: использовать ToW для самoproверки собственного текста перед отправкой

Обычно просят "оцени мой текст" — и получают расплывчатое "в целом хорошо, можно улучшить вот тут". ToW разворачивает это в точные ответы: сначала узнаёшь какие веса важны для этого жанра (Шаг 1), потом получаешь точечные оценки по каждому (Шаг 2). Полезно перед отправкой КП клиенту или инвест-меморандума партнёру.

🔧 Техника: зафиксировать веса один раз для повторяющегося типа задач

Если регулярно оцениваешь тексты одного типа (например, посты в Telegram-канале), прогони Шаг 1 один раз и сохрани таблицу весов. Используй её как константу в Шаге 2. Оценки станут сравнимы между текстами — видно динамику качества.

🔧 Экстраполяция: применить логику явных весов к любой LLM-оценке (не только текстов)

Принцип "сначала зафикcируй, потом оценивай" работает за пределами письма. Оцениваешь бизнес-идею? Стратегию? Дизайн-макет? Сценарий переговоров? Перед запросом на оценку — отдельный запрос: "Какие критерии важны для [жанра/типа] и какой у каждого вес?" Потом — оценка по зафиксированным критериям.


🔗

Ресурсы

Название: HoWToBench: Holistic Evaluation for LLM's Capability in Human-level Writing using Tree of Writing

GitHub: https://github.com/ZhuoerFeng/ACL2026-Tree-of-Writing

Авторы: Andrew Zhuoer Feng, Cunxiang Wang, Yu Luo, Lin Fan, Yilin Zhou, Zikang Wang, Xiaotao Gu, Jie Tang, Hongning Wang, Minlie Huang

Организации: Tsinghua University (Пекин), Z.ai


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

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

Обнаружено: каждый раз когда просишь LLM оценить текст по нескольким критериям — она заново решает, какой из них важнее. В следующем запросе решает иначе. Результат: два одинаковых текста получают разные баллы не потому что они разные, а потому что модель переиграла приоритеты между запросами. Метод ToW (Tree-of-Writing, Дерево оценки) позволяет получить стабильную и воспроизводимую оценку любого текста — питча, статьи, коммерческого предложения. Фишка: разделить процесс на два шага — сначала «переговорщик» фиксирует веса для конкретного жанра, потом «эксперт» оценивает каждый критерий отдельно по зафиксированной шкале. Модель перестаёт договариваться сама с собой — результат повторяем при любом количестве прогонов.

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

Стандартный подход: один запрос → «оцени по всем критериям» → модель на ходу решает что важнее. Каждый раз по-новому. ToW разбивает это на три отдельных шага. Шаг 1 — переговорщик: дай жанр и цель текста, попроси определить веса для каждого критерия. Сумма внутри раздела = 1, обоснование — одним предложением. Сам текст ещё не оцениваем. Шаг 2 — эксперты: отдельный запрос на каждый критерий с уже зафиксированным весом и конкретной шкалой — что значит «1», что значит «10» именно для этого критерия. Шаг 3 — считаем итог: умножаешь оценки на веса, складываешь. Хоть в таблице, хоть в чате. Веса зафиксированы ДО оценки — модель не переизобретает важность критериев в процессе. Захочешь оценить другой жанр — поменяй жанр в Шаге 1, переговорщик пересчитает приоритеты сам.

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

У модели нет зафиксированных приоритетов между запросами. Просишь «оцени по всем критериям» — она угадывает что важнее из контекста. В одном прогоне побеждает логика, в другом — стиль. Это не баг, это нормальное поведение: приоритеты выводятся заново каждый раз. Когда веса уже записаны явно в промпте — модель следует им стабильно. Разделение ролей убирает конфликт: один решает что важно, другой просто измеряет по заданной шкале. Смешать обе роли в одном запросе — получить нестабильность. Два важных предупреждения из исследования. Первое: критерий «Впечатление» (общее ощущение от текста) остаётся менее воспроизводимым даже при явных весах — используй его как дополнение, не как основу. Второе: больше деталей в промпте не равно лучший результат. При направляющих заданиях избыточный контекст даёт более длинный текст, но менее сфокусированный.

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

Оценка текстов → для питчей, статей, коммерческих предложений, сценариев — особенно когда нужна воспроизводимая обратная связь, а не размытое «в целом норм». Работает лучше всего когда жанр чётко определён: инвест-питч, деловое письмо, пост в Telegram, аналитический отчёт — переговорщик выставит правильные веса именно под этот жанр и цель. НЕ подходит для коротких текстов до 200 слов: три шага и таблица весов избыточны для оценки заголовка или подписи под картинкой.

Мини-рецепт

1. Определи жанр и цель текста. Не просто «статья», а «аналитическая статья для руководителей среднего бизнеса, цель — убедить попробовать продукт».
2. Запусти переговорщика. Дай критерии (Содержание / Формат / Впечатление и подкритерии внутри), попроси выставить веса с кратким обоснованием. Обязательно добавь: «Сам текст оценивать НЕ нужно — только веса».
3. Сохрани таблицу весов. Это твоя точка отсчёта. Она не меняется между запросами на оценку.
4. Оцени каждый критерий отдельным запросом. Укажи: название критерия, его вес из таблицы, конкретную шкалу (что такое 1 и что такое 10 именно для этого критерия), вставь текст.
5. Посчитай итог. Оценка × вес для каждого критерия, сложи всё. Можно попросить модель посчитать прямо в чате — дай ей таблицу весов и результаты оценок.

Примеры

[ПЛОХО] : Оцени этот питч для акселератора по всем критериям: содержание, структура, убедительность
[ХОРОШО] : Шаг 1 — Переговорщик: Жанр: инвестиционный питч для акселератора. Цель: убедить взять стартап в программу. Критерии: [Содержание: ясность решения / убедительность метрик / логика бизнес-модели] [Формат: структура блоков / язык для инвестора] [Впечатление: хочется ли узнать больше]. Присвой вес каждому критерию (сумма внутри раздела = 1), обоснуй одним предложением. Сам текст НЕ оценивай — только веса. Шаг 2 — Эксперт по одному критерию: Оцени питч по критерию «Убедительность метрик и traction». Шкала: 1–3 — цифры отсутствуют или нереальны; 4–6 — цифры есть, но без контекста; 7–9 — конкретная динамика, видна тяга; 10 — цифры убедительны, хочется инвестировать. Текст: [вставить]. Выдай оценку 1–10 и 2–3 предложения объяснения.
Источник: HoWToBench: Holistic Evaluation for LLM's Capability in Human-level Writing using Tree of Writing
ArXiv ID: 2604.19071 | Сгенерировано: 2026-04-22 06:33

Проблемы LLM

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

Методы

МетодСуть
Два запроса вместо одного: сначала веса, потом оценкаЗапрос 1 — фиксируй веса: Дай жанр, цель текста, список критериев. Попроси присвоить каждому вес (сумма = 1). Текст не передавай. Модель работает только с жанром и задачей. Запрос 2 — оценивай по критерию: Передай вес из запроса 1, опиши шкалу (что значит 1, 5, 10 именно для этого критерия), передай текст. Один запрос = один критерий. Почему работает: В одном запросе модель одновременно решает "что важно" и "как хорошо" — это конфликт, он даёт нестабильность. Разделение снимает конфликт. Веса фиксированы — повторная оценка даст тот же результат. Когда применять: длинные структурированные тексты (питчи, статьи, коммерческие предложения). Не стоит: короткие тексты до 300 слов — три запроса не оправданы
📖 Простыми словами

HoWToBench: Holistic Evaluation forLLM'sCapability in Human-level WritingusingTree of Writing

arXiv: 2604.19071

Суть проблемы в том, что когда ты просишь нейронку оценить текст, она ведет себя как капризный критик с биполяркой. В одном запросе ей важна грамотность, в другом — чтобы «душа была», а в третьем она вообще прицепится к запятым. У LLM нет внутреннего стержня и стабильных приоритетов, поэтому оценки скачут. Метод Tree of Writing (ToW) фиксирует этот хаос: модель заставляют сначала на бумаге расписать, что конкретно важно для этой задачи и какой «вес» у каждого критерия, и только потом разрешают ставить баллы. Это превращает рандомное гадание в строгий алгоритм.

Это как если бы ты пришел на кулинарное шоу, где судья сегодня не выспался и занизил балл просто потому, что ему не нравится петрушка. ToW — это жесткий чек-лист, который выдают судье перед дегустацией. Сначала он обязан подписаться под тем, что вкус — это 70% успеха, а красивая тарелка — всего 10%. Теперь он не может влепить двойку за вкусный десерт только из-за того, что тарелка была синей. Мы заставляем модель задекларировать свои ценности до того, как она увидит сам текст, чтобы исключить предвзятость и «плавающие» стандарты.

Работает это через трехуровневую иерархию: есть корень (итоговая оценка), ветки (фундаментальные блоки типа Содержания или Формата) и листья (конкретные детали вроде убедительности цифр). Сначала модель определяет веса для каждой ветки и листа, исходя из специфики жанра. Если ты пишешь инвест-питч, то ToW выставит максимальный приоритет бизнес-метрикам, а не красоте эпитетов. Оценка выставляется отдельно по каждому «листку», а потом суммируется согласно заранее утвержденным весам. Это убивает эффект, когда одна яркая деталь затмевает кучу косяков в остальном тексте.

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

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

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

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

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