TL;DR
Модели могут предсказывать свои ошибки, анализируя внутренние процессы во время генерации текста — не только финальный ответ. Исследование Gnosis показало: признаки правильности или галлюцинации закодированы в двух параллельных "потоках" работы модели — что она говорит (эволюция смысла через слои) и как она это связывает (паттерны внимания между токенами). Оба потока несут разные сигналы о корректности, и их комбинация даёт точную оценку.
Ключевая находка: Признаки ошибки видны в процессе генерации, не только в результате. Модель "знает" что ошибается уже на середине ответа — это проявляется в нестабильности внутренних состояний и хаотичных паттернах внимания. Один поток может выглядеть нормально, второй — показывать красные флаги. Внешние судьи (другие LLM, проверяющие готовый текст) пропускают эти сигналы, потому что работают только с финальным выводом.
Принцип для пользователя: Проверяй ответ двумя независимыми способами — через логику содержания ("что сказано") и через структуру рассуждений ("как связано"). Если один сигнал в порядке, а второй нет — высокий риск ошибки. Можно останавливать генерацию на середине и проверять промежуточное состояние — экономия токенов на заведомо провальных попытках.
Схема принципа двухпоточной проверки
Применимо вручную в чате:
ШАГ 1: Генерация ответа
→ Модель выдаёт развёрнутый ответ
ШАГ 2: Проверка потока содержания
→ "Проверь фактическую точность и логику: все ли утверждения верны, нет ли противоречий?"
ШАГ 3: Проверка потока связности
→ "Проверь структуру: все ли части связаны, нет ли резких скачков или несвязанных блоков?"
ШАГ 4: Сравнение сигналов
→ Если оба потока ОК — ответ надёжен
→ Если один проблемный — переспроси или уточни
Все шаги выполняются в одном чате последовательными сообщениями.
Пример применения
Задача: Ты готовишь питч-дек для инвестора. Попросил Claude написать слайд про unit-экономику нового сервиса доставки продуктов в спальных районах Москвы.
Промпт:
Рассчитай unit-экономику для сервиса доставки продуктов:
- Средний чек 2500₽
- Комиссия 18%
- Стоимость доставки для клиента 0₽ (мы берём на себя)
- Расходы: курьер 250₽ за заказ, упаковка 50₽, эквайринг 2%
Выдай расчёт, потом:
1. Проверь логику цифр: все ли расходы учтены, сходится ли математика
2. Проверь структуру: нет ли пропущенных шагов или логических скачков в расчёте
Если хоть одна проверка выявит проблему — отметь красным флагом 🚩
Результат:
Модель выдаст расчёт, затем сама пройдёт две независимые проверки. Если поток содержания (математика) выглядит правильно, но поток структуры выявит пропущенный шаг (например, забыли вычесть НДС) — увидишь 🚩. Это аналог того, как Gnosis ловит расхождения между hidden states (смысл) и attention patterns (связность).
Почему это работает
Слабость LLM: Модели генерируют текст слева направо, локально оптимизируя каждый следующий токен. Они могут выдать гладкий, связный текст с фактической ошибкой внутри — или верный факт в хаотичной структуре. Финальная проверка видит только результат, не процесс.
Сильная сторона LLM: Модель хорошо анализирует разные аспекты одного и того же контента независимо. Может проверить логику отдельно от структуры, факты отдельно от связности. Эти проверки активируют разные паттерны рассуждений.
Как метод использует это: Двухпоточная проверка разделяет "что сказано" (фактическая точность, логика) и "как связано" (структура, последовательность). Если один аспект проблемный, а другой нет — это сигнал о галлюцинации или ошибке рассуждения. Модель сама флагает расхождения.
Рычаги управления:
- Типы проверок — добавь третий поток ("проверь на здравый смысл") для субъективных задач, убери для жёстко формализованных
- Порог для флага — попроси флагать только "серьёзные проблемы" (строже) или "любые сомнения" (чувствительнее)
- Промежуточная остановка — вместо полного ответа попроси "остановись на середине, выполни обе проверки, продолжай только если обе ОК"
Шаблон промпта
{задача}
После того как выполнишь задачу, проведи двухпоточную проверку:
ПОТОК 1 — Проверка содержания:
Проверь фактическую точность, логику утверждений, корректность выводов. Все ли верно по сути?
ПОТОК 2 — Проверка связности:
Проверь структуру рассуждений: нет ли пропущенных шагов, логических скачков, несвязанных частей. Последовательно ли изложение?
Если хоть одна проверка выявляет проблему — поставь 🚩 и объясни что не так.
Если обе проверки в порядке — поставь ✅
Подставь:
- {задача} — любая задача где нужна точность: расчёты, анализ, рассуждения, проверка фактов
Для длинных задач (многошаговые рассуждения, код, сложные расчёты):
{задача}
Работай пошагово. После каждых 2-3 шагов останавливайся и проводи быструю двухпоточную проверку:
- ПОТОК 1: логика этого блока верна?
- ПОТОК 2: шаги связаны, нет скачков?
Если оба ОК — продолжай. Если хоть один выявляет проблему — останови, поставь 🚩, объясни.
Это экономит токены на провальных попытках.
Что показало исследование Gnosis
Как исследовали: Создали лёгкую нейросеть (5M параметров) поверх замороженных LLM. Она читала внутренние состояния модели во время генерации — эволюцию смысла через слои (hidden states) и карты внимания между токенами (attention maps). Обучили предсказывать корректность ответа.
Главные находки:
Два независимых сигнала: Hidden states (эволюция смысла) и attention patterns (структура связей) несут разные признаки правильности/ошибочности. Их комбинация точнее, чем каждый по отдельности (см. Figure 3 в статье).
Ранняя детекция: Признаки провала видны уже на 40% генерации — можно останавливать и экономить compute. Это работает потому что внутренняя нестабильность проявляется раньше, чем финальный текст.
Перенос через масштабы: Gnosis, обученный на маленькой модели (1.7B), работает как reward model для больших моделей того же семейства (4B, 8B). Паттерны ошибок универсальны внутри семейства.
Превосходит внешних судей: С 5M параметров обгоняет 8B reward models и Gemini 2.5 Pro в детекции ошибок на математике, фактах, знаниях (AUROC 0.95 vs 0.90). Внешние судьи смотрят только на текст, Gnosis — на процесс генерации.
Технические детали: Gnosis сжимает переменную длину hidden states/attention в фиксированный бюджет (через адаптивный пулинг и Set Transformer), поэтому его cost не растёт с длиной последовательности. Добавляет ~25ms латентности против 2.5 секунды у 8B reward model на длинных ответах (см. Table 4).
Бенчмарки: Математика (AMC12, AIME, HMMT), открытые вопросы (TriviaQA), академические знания (MMLU-Pro). На всех доменах Gnosis стабильно сильнее baseline'ов.
Адаптация принципов для чата
Оригинальный Gnosis недоступен обычному пользователю — требует доступа к внутренним состояниям модели через API и обучения head'а. Но принципы можно перенести на текстовый уровень:
Принцип 1: Dual-stream verification
Вместо hidden states + attention делай: - Проверка содержания (что сказано) — факты, логика, выводы - Проверка структуры (как связано) — последовательность, пропущенные шаги
Это текстовая эмуляция двух потоков. Работает потому что активирует разные паттерны анализа.
Принцип 2: Early detection
Останавливай на середине и проверяй. Если промежуточное состояние показывает проблему — режь, не дожидайся финала.
{задача}
Сгенерируй первую половину решения. STOP.
Проверь текущее состояние:
- Логика пока верна?
- Структура связная?
Если оба ОК — продолжай вторую половину.
Если нет — переформулируй подход.
Принцип 3: Sibling-model judgment
Один чат генерирует, другой проверяет. Это аналог их "Gnosis на маленькой модели проверяет большую". Держи два чата:
- Чат А — основной, генерирует ответы
- Чат Б — чистый контекст, только проверки
Копируй вывод из А, вставляй в Б с промптом проверки. Чистый контекст даёт более объективную оценку.
Ограничения
⚠️ Сам Gnosis требует инфраструктуры: Доступ к внутренним состояниям модели через API, обучение маленькой нейросети. Недоступно в обычном чате ChatGPT/Claude.
⚠️ Принципы — адаптация: Двухпоточная проверка в чате эмулирует идею на текстовом уровне. Это не даст той же точности, что анализ внутренних состояний, но использует ту же логику.
⚠️ Стоимость проверки: Каждая проверка — дополнительные токены. На коротких ответах овчинка может не стоить выделки. Экономически оправданно для критичных задач или длинных генераций.
⚠️ Субъективные задачи: Принцип двух потоков работает для объективно проверяемых задач (математика, факты, код). На креативе, стиле, "красоте" текста — слабее.
Ресурсы
Can LLMs Predict Their Own Failures? Self-Awareness via Internal Circuits GitHub: Gnosis Amirhosein Ghasemabadi, Di Niu University of Alberta, Canada
