3,583 papers
arXiv:2605.08346 74 8 мая 2026 г. FREE

TRACT: как понять, что модель «плывёт» — до того как она ошиблась

КЛЮЧЕВАЯ СУТЬ
Детекторы галлюцинаций смотрят на финальный ответ. Подмени ответ правильным — детектор молчит. Значит, модель могла галлюцинировать весь путь, а никто не заметил. TRACT позволяет поймать ошибку по траектории рассуждения — до того как смотришь на результат. Фишка: попроси модель ответить трижды независимо. Правильное рассуждение сходится — три попытки приходят к похожим промежуточным концепциям. Галлюцинирующее разбегается: одна попытка про мультипликаторы, другая про потоки будущих доходов, третья уходит в «всё зависит от инвестора» — и уклончивость нарастает к концу каждой.
Адаптировать под запрос

TL;DR

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

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

TRACT — скорер (инструмент оценки), который анализирует несколько независимых цепочек рассуждений и выявляет эти сигналы. Он не смотрит на ответ — только на траекторию. Три блока признаков: связность (как звучит каждая цепочка в среднем), структура (как меняется цепочка по ходу), сходимость (насколько разные попытки идут к одному).


🔬

Схема метода

ШАГ 1: Задай один вопрос модели K раз (в исследовании K=10)
        → Получи K независимых цепочек рассуждений

ШАГ 2: Проверка связности (по каждой цепочке)
        → Часто ли модель задаёт себе вопросы? (QUESTIONRATE)
        → Не раздуваются ли шаги без смысла? (WORDSPERSTEP)
        → Топчется ли цепочка на месте? (PLATEAUFRAC)

ШАГ 3: Проверка структуры (динамика внутри цепочки)
        → Растёт ли уклончивость к концу? (HEDGESLOPE)
        → Одна цепочка сильно длиннее других? (SCMAX)
        → Длина шагов становится всё более хаотичной? (WCVARSLOPE)

ШАГ 4: Проверка сходимости (между цепочками)
        → Используют ли разные попытки похожие концепции в середине? (MIDUNIGRAMDIV)
        → Сходятся ли в конце? (FINALUNIGRAMDIV)
        → Одна цепочка ходит по кругу к одним сущностям? (ENTITYREPEAT)

ШАГ 5: Итог — скор TRACT
        → Взвешенная сумма блоков
        → Высокий скор = вероятная галлюцинация

Все шаги требуют нескольких запросов и подсчёта признаков. Полная автоматизация — код. Ручная версия — в примере ниже.


🚀

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

⚠️ Где метод силён: Сложные многошаговые задачи — расчёты, логические выводы, анализ с промежуточными шагами. Где у модели реально есть «рассуждение» в ответе.

Где слабее: Простые фактические вопросы с коротким ответом — там траектории нет.


Задача: Ты готовишь питч-дек для инвестора Сбербанк-венчур. Просишь Claude обосновать оценку стартапа в 200 млн рублей. Ответ звучит убедительно — но как понять, что он не выдуман?

Промпт:

Я попрошу тебя три раза подряд ответить на один вопрос. 
Каждый раз — независимо, заново, с нуля. Не смотри на предыдущие ответы.

Вопрос: Как обосновать оценку EdTech-стартапа в 200 млн рублей 
при выручке 8 млн рублей в год и 4000 активных пользователей?

Отвечай с подробным рассуждением шаг за шагом.

---

РАУНД 1: [рассуждай от начала до конца, шаг за шагом]

РАУНД 2: [ещё раз, независимо, с нуля]

РАУНД 3: [ещё раз, независимо, с нуля]

---

После трёх ответов — проверь их по этим критериям:

1. СХОДИМОСТЬ: Используют ли все три ответа похожие промежуточные концепции 
   (мультипликаторы, сравнимые сделки, темп роста)? Или расходятся?

2. УКЛОНЧИВОСТЬ: Растёт ли к концу каждого рассуждения количество оговорок 
   ("зависит от", "может быть", "если предположить")?

3. БЛУЖДАНИЕ: Есть ли шаги, которые задают вопрос вместо утверждения, 
   или повторяют одно и то же разными словами?

4. Вынеси вердикт: насколько надёжно это рассуждение?

Результат:

Модель выдаст три версии рассуждения, а затем проведёт самодиагностику. Если рассуждение надёжное — три версии сойдутся на схожих концепциях (Revenue Multiple 20–25x, сравнение с публичными сделками, логика CAC/LTV). Если блуждает — раунды разойдутся: один будет про мультипликаторы, другой про DCF, третий уйдёт в "всё зависит от инвестора". Уклончивость, которая нарастает к концу — сигнал, что модель сама не уверена в обосновании.


🧠

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

Слабость LLM: Модель генерирует токены один за другим и не имеет отдельного «контроля истинности». Когда у неё нет уверенного ответа — она компенсирует: добавляет слова, оговаривается, задаёт риторические вопросы, уходит в детали. Финальный ответ при этом может звучать уверенно — ошибка уже «зашита» внутрь рассуждения.

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

Как метод использует это: TRACT не проверяет финальный ответ — он смотрит на сигналы в теле рассуждения. Рост уклончивости, самовопрошание, шаги которые топчутся на месте, расхождение между независимыми попытками — всё это диагностируется до того, как смотришь на ответ.

Рычаги управления: - Количество раундов (K): Авторы использовали 10. Для ручной проверки достаточно 3 — это баланс между надёжностью и стоимостью - Зона внимания: Смотри особенно на середину рассуждения — именно там расхождения появляются раньше, чем в финале - Тип сигнала: Для коротких задач смотри на сходимость ответов. Для длинных — на динамику уклончивости внутри одного ответа


📋

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

Ответь на вопрос ниже три раза подряд — каждый раз независимо, заново, с нуля.
Не опирайся на предыдущие раунды.

Вопрос: {вопрос}

Требования к каждому ответу:
- Рассуждай шаг за шагом
- Каждый шаг — отдельная строка
- Не пропускай промежуточные выводы

---
РАУНД 1:
[полное рассуждение]

РАУНД 2:
[полное рассуждение, независимо]

РАУНД 3:
[полное рассуждение, независимо]
---

После трёх ответов — проанализируй их:

A) СХОДИМОСТЬ: Используют ли все три рассуждения похожие промежуточные 
   концепции и термины? Или расходятся в разные стороны?

B) ДИНАМИКА УКЛОНЧИВОСТИ: В каждом ответе — растёт или падает количество 
   оговорок и неопределённых формулировок от начала к концу?

C) БЛУЖДАНИЕ: Есть ли шаги, которые повторяют предыдущее, задают вопросы 
   вместо утверждений, или добавляют слова без новой информации?

D) ИТОГОВЫЙ ВЕРДИКТ: На основе A-C — насколько надёжно это рассуждение 
   (высокая / средняя / низкая уверенность)? Что именно вызывает сомнения?

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


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

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

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

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


⚠️

Ограничения

⚠️ Не для коротких ответов: Метод работает на развёрнутых цепочках рассуждений. Если ответ — одно предложение, траектории просто нет.

⚠️ Ложные тревоги на сложных субъективных вопросах: Если вопрос допускает несколько правильных подходов (например, «как выстроить стратегию»), три ответа могут законно расходиться — это не галлюцинация, а реальная множественность решений.

⚠️ Много токенов: Три полных рассуждения плюс анализ — это дорого. Для быстрых задач не оправдано.

⚠️ Самодиагностика неидеальна: Когда просишь модель оценить собственные ответы, она может систематически занижать тревожные сигналы. Часть проверки лучше делать вручную.

⚠️ TRACT как система требует код: Полная автоматизация с K=10 и подсчётом всех признаков — это Python-скрипт, не чат. Ручная версия с 3 раундами даёт направление, не точный скор.


🔗

Ресурсы

Zollicoffer G., Vu M., Zhan H., Li R., Bhattarai M. Sanity Checks for Long-Form Hallucination Detection (2025, Preprint)

Los Alamos National Laboratory / The University of Texas at Austin / University of British Columbia


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

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

Детекторы галлюцинаций смотрят на финальный ответ. Подмени ответ правильным — детектор молчит. Значит, модель могла галлюцинировать весь путь, а никто не заметил. TRACT позволяет поймать ошибку по траектории рассуждения — до того как смотришь на результат. Фишка: попроси модель ответить трижды независимо. Правильное рассуждение сходится — три попытки приходят к похожим промежуточным концепциям. Галлюцинирующее разбегается: одна попытка про мультипликаторы, другая про потоки будущих доходов, третья уходит в «всё зависит от инвестора» — и уклончивость нарастает к концу каждой.

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

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

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

Модель генерирует токены один за другим. Отдельного «блока проверки правды» нет. Когда она не знает ответа — не молчит. Компенсирует: добавляет слова, оговаривается, задаёт риторические вопросы. Финальный ответ при этом звучит уверенно — ошибка уже зашита внутрь. Правильное рассуждение ведёт себя иначе: словарь стабилизируется, шаги сходятся — потому что модель знает куда идёт. И вот где три независимые попытки становятся проверкой: у модели нет способа скоординировать одинаковую ошибку трижды подряд. Если всё три раза путь разный — это не вариативность, это блуждание.

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

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

Мини-рецепт

1. Задай вопрос трижды: попроси модель ответить на один вопрос три раза независимо, каждый раз с нуля, шаг за шагом. Явно напиши: «не смотри на предыдущие раунды».

2. Проверь сходимость: используют ли все три попытки похожие промежуточные понятия? Или каждая идёт своим путём?

3. Следи за уклончивостью: растёт ли количество оговорок («зависит от», «может быть», «если предположить») к концу каждого рассуждения?

4. Ищи блуждание: есть ли шаги, которые задают вопрос вместо утверждения, или повторяют предыдущее другими словами?

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

Примеры

[ПЛОХО] : Обоснуй оценку EdTech-стартапа в 200 млн рублей при выручке 8 млн в год
[ХОРОШО] : Ответь на вопрос три раза независимо, каждый раз с нуля. Не смотри на предыдущие раунды. Вопрос: как обосновать оценку EdTech-стартапа в 200 млн рублей при выручке 8 млн в год и 4000 активных пользователей? Каждый ответ — шаг за шагом, промежуточные выводы не пропускай. После трёх раундов проверь: (A) сходятся ли все три рассуждения на похожих промежуточных понятиях — мультипликаторы, темп роста, сравнимые сделки? (B) нарастают ли оговорки к концу каждого ответа? (C) есть ли шаги, которые задают вопрос вместо утверждения или повторяют предыдущее? (D) вынеси вердикт: насколько надёжно это рассуждение?
Источник: Sanity Checks for Long-Form Hallucination Detection
ArXiv ID: 2605.08346 | Сгенерировано: 2026-05-12 05:50

Проблемы LLM

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

Методы

МетодСуть
Три независимых рассуждения — проверка путиПопроси модель ответить на вопрос три раза с нуля, независимо. В каждом раунде — рассуждение шаг за шагом. После — попроси проверить три сигнала: 1) Сходимость — используют ли все три рассуждения похожие промежуточные концепции? Или расходятся в разные стороны? 2) Динамика оговорок — растёт ли количество «зависит от», «может быть», «если предположить» от начала к концу каждого ответа? 3) Блуждание — есть ли шаги которые повторяют предыдущее, задают вопросы вместо утверждений, добавляют слова без новой информации? Почему работает: Верное рассуждение стабилизируется — три попытки идут к похожим промежуточным шагам. Ошибочное блуждает — каждая попытка идёт своим путём. Три попытки это голосование не за ответ, а за путь. Когда применять: Развёрнутые многошаговые задачи — оценка, расчёт, аргументация, анализ. Когда не работает: Короткий ответ без рассуждения. Вопрос с несколькими законно правильными подходами — там расхождение нормально, не сигнал

Тезисы

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

Sanity Checks for Long-Form Hallucination Detection

arXiv: 2605.08346

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

Это как проверять школьную контрольную по математике, глядя только в графу «Ответ». Если там написано «4», учитель ставит пятерку, даже если в самом решении ученик вызывал сатану и делил на ноль. Формально всё сходится, но на деле перед нами чистая случайность или подгонка под результат. Исследование показывает, что если мы подменим галлюцинацию на правду в самом конце, детекторы радостно рапортуют, что всё ок, хотя внутри текста по-прежнему логический ад.

Чтобы реально поймать модель на вранье, нужно внедрять Sanity Checks для длинных форм, которые анализируют промежуточные шаги. Метод работает там, где есть многоступенчатая логика: расчеты, юридические выводы или сложная аналитика. Модель часто компенсирует неуверенность лишней болтовней, риторическими вопросами и уходом в детали — это те самые «красные флаги», которые детекторы обязаны замечать. Если в середине рассуждения проскочила фактическая ошибка, никакой правильный итог не должен спасать модель от клейма галлюцинации.

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

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

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

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

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