TL;DR
LLM даёт правильный ответ по неправильной причине. Если попросить модель оценить текст по критерию — например, есть ли в нём моральная аргументация или реальная экспертиза — она не проверяет критерий. Она находит внешний признак, который коррелирует с критерием, и делает вывод из него. Результат совпадает с верным ответом... пока ситуация не выйдет за пределы типичного.
Главная находка: согласие LLM с экспертом — это надёжность, а не валидность. Инструмент может стабильно ошибаться, если эксперт и модель читают один и тот же ложный сигнал. В одном исследовании LLM и люди одинаково путали негативизм с отсутствием романтического интереса — оба ошибались, поэтому «соглашались». Ещё острее: смена формулировки промпта на одном и том же тексте меняла результат кодирования моральных конструктов с чрезмерного на недостаточное — то есть модель не измеряла конструкт, она была чувствительна к формулировке.
Grain Calibration — трёхшаговый метод, который закрывает эту дыру. Сначала конструкт декомпозируется на компоненты по теории. Затем для каждого компонента извлекается цитата из текста как доказательство. Наконец, итоговый вывод собирается по явно заявленному правилу — не «в голове» у модели, а прямо в промпте.
Схема метода
Все три шага выполняются в одном промпте.
ШАГ 1: Декомпозиция
Конструкт ({что оцениваем}) → список компонентов по теории
Каждый компонент = отдельный, независимо проверяемый вопрос
ШАГ 2: Доказательства
Для каждого компонента → оценка (ЕСТЬ / НЕТ / ЧАСТИЧНО)
+ цитата из текста как обоснование
(или "доказательств не найдено")
ШАГ 3: Явное правило комбинирования
Правило задаётся в промпте, не оставляется на усмотрение модели
Пример: "если хотя бы один компонент НЕТ — итог НЕТ"
Итоговый вывод вычисляется по правилу из компонентных оценок
Пример применения
Задача: Артём отправляет питч-дек в акселератор Сколково. Нужно проверить: питч действительно демонстрирует product-market fit или только выглядит убедительно.
Промпт:
Оцени питч-дек на наличие product-market fit.
Конструкт: продукт решает реальную, подтверждённую проблему реальных пользователей.
Компоненты конструкта:
1. Конкретная проблема клиента сформулирована — не абстрактно, а с деталями
2. Существующие решения названы и объяснено, почему они недостаточны
3. Продукт устраняет именно эту проблему — прямая связь показана
4. Есть подтверждение от реальных пользователей — цитата, кейс, метрика
Текст питч-дека:
[вставить текст]
Для каждого компонента:
— оценка: ЕСТЬ / НЕТ / ЧАСТИЧНО
— процитируй конкретный фрагмент из текста как доказательство
(если нет — напиши "доказательств не найдено")
Правило итоговой оценки: product-market fit подтверждён только если
все 4 компонента — ЕСТЬ или ЧАСТИЧНО (без НЕТ).
Итог: ПОДТВЕРЖДЁН / НЕ ПОДТВЕРЖДЁН / ЧАСТИЧНО?
Результат: Модель покажет разбор по четырём компонентам с цитатами или отсутствием доказательств. В итоге — вывод, вычисленный по явному правилу. Если product-market fit «провалился» — будет видно, на каком именно компоненте и почему. Не «кажется слабовато», а конкретно: компонент 4 — доказательств не найдено.
Почему это работает
Слабость LLM — это distributional competence: модель делает выводы из того, какие слова встречаются рядом в обучающих данных. Для простых сигналов это работает отлично. Для конструктов с теоретической структурой — нет. «Забота» и «справедливость» в тексте могут выглядеть одинаково на уровне слов, но требуют разных инференций. Модель выбирает ближайший паттерн, а не проверяет различие.
Сильная сторона LLM — модель умеет хорошо работать с явными, конкретными вопросами и извлекать цитаты по заданному критерию. Если спросить «есть ли в тексте упоминание страдающего существа — процитируй» — справится надёжно. Слабость возникает на синтезе: когда нужно из многих сигналов вывести теоретический конструкт за один шаг.
Метод переключает режим: вместо одного сложного синтез-вопроса — серия простых фактических вопросов. Каждый компонент — это задача, с которой LLM справляется хорошо. Синтез выполняется по явному правилу, которое вы задали, а не по ассоциации, которую выбрала модель.
Рычаги управления: - Компоненты — чем точнее декомпозиция по теории, тем надёжнее результат. Размытые компоненты = неточные доказательства - Правило комбинирования — замените жёсткое «все должны быть ЕСТЬ» на взвешенное «3 из 4 достаточно» под свою задачу - Формат доказательств — добавьте «объясни, почему эта цитата подтверждает компонент» — увидите, где модель натянула связь - Блок различения — добавьте компонент «чем это НЕ является» (например, «это не просто негативный отзыв, а именно претензия к качеству»). Это самый сильный инструмент против ложных срабатываний
Шаблон промпта
Оцени {текст_или_материал} на наличие: {конструкт}.
Определение конструкта: {точное_определение_что_это_такое}.
Компоненты конструкта (всё, что теория требует для подтверждения):
1. {компонент_1}
2. {компонент_2}
3. {компонент_3}
[добавь при необходимости]
Текст для анализа:
{текст}
Для каждого компонента:
— оценка: ЕСТЬ / НЕТ / ЧАСТИЧНО
— процитируй конкретный фрагмент как доказательство
(если нет — напиши "доказательств не найдено")
Правило итогового вывода: {явное_правило_комбинирования}.
Итог: {конструкт} — ПОДТВЕРЖДЁН / НЕ ПОДТВЕРЖДЁН / ЧАСТИЧНО?
Плейсхолдеры:
- {текст_или_материал} — питч, статья, отзыв, пост, письмо
- {конструкт} — что именно оцениваешь: экспертность, лояльность клиента, реальный болевой запрос
- {точное_определение} — без этого модель подставит своё
- {компоненты} — разбей конструкт на части, которые можно проверить независимо
- {правило} — например: «все ЕСТЬ» / «хотя бы 2 из 3» / «компонент 1 обязателен, остальные по большинству»
🚀 Быстрый старт — вставь в чат:
Вот шаблон Grain Calibration. Адаптируй под мою задачу: [твоя задача].
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит, что именно оцениваться и какое определение вы вкладываете в конструкт — потому что точная декомпозиция на компоненты невозможна без понимания, что именно считать «правильным» признаком.
Ограничения
⚠️ Качество = качество декомпозиции: Если вы сами не знаете, из чего состоит ваш конструкт — метод не поможет. Grain Calibration усиливает хорошую теорию, не заменяет её.
⚠️ Конструкты с поверхностными признаками: Для задач, где правильный ответ действительно читается с поверхности — например, тональность отзыва «положительная / отрицательная» — метод избыточен. Работает там, где конструкт сложнее своих признаков.
⚠️ Компонент различения легко пропустить: Большинство ошибок — не в том, что конструкт не обнаружен, а в том, что его перепутали с соседним. Без явного компонента «отличи от X» — риск ложных срабатываний остаётся.
⚠️ Авторская рефлексия: Бумага признаёт, что Grain Calibration сам по себе не гарантирует, что LLM следует компонентам, а не продолжает использовать корреляты. Метод делает процесс видимым — и это уже ценность. Но стопроцентной гарантии нет.
Как исследовали
Это теоретическая работа, не эксперимент. Пита собрал несколько реальных исследований, где LLM демонстрировали точное кодирование при детальном разборе оказывавшееся ложным. Самый сильный пример — кодирование 2 407 интервью с беженцами-рохинджа против 19-кодовой схемы: лучший LLM ошибался вдоль демографических линий так сильно, что менял знак зависимости. Ошибки были не случайными — они были систематическими. Supervised-модель на тех же данных показала систематический перекос только в одном коде из 19-ти — это говорит о том, что дело не в сложности задачи, а именно в механике LLM.
Другой кейс: одна и та же задача кодирования морального основания «авторитет» — при разных формулировках промпта на одном корпусе текстов давала результаты от «96% чаще людей» до «38% реже людей». Другое основание — «забота» — оставалось стабильным при тех же изменениях. Это убедительно доказывает: проблема системная, а не связана с неудачным промптом.
Удивительный момент: исследование не предлагает готовый промпт или инструмент — оно переформулирует что именно нужно доказать, чтобы считать LLM валидным инструментом измерения. Это методологический сдвиг, не технический.
Адаптации и экстраполяции
🔧 Техника: компонент различения → точность классификации
Добавьте к любому оценочному промпту блок «отличи от X». Это прямо закрывает самый частый тип ошибки: модель кодирует похожий, но другой конструкт.
Вместо:
Есть ли в тексте экспертность?Добавьте:
Компонент 4: Это экспертность (знание из практики), а не авторитетность (апелляция к статусу) — есть ли признак именно практического знания?
🔧 Техника: явное правило → аудит решения
Если модель выдала итог, который вы не ожидали — правило позволяет найти, где произошёл сбой. Без явного правила вы не знаете, какой компонент «перевесил».
Экстраполяция: Grain Calibration × Chain-of-Thought
Бумага отмечает, что Chain-of-Thought не решает проблему — модель может выстроить объяснение задним числом, не проверяя компоненты. Но сочетание работает: сначала Grain Calibration структурирует что проверять, CoT помогает развернуть как. Они не конкуренты — декомпозиция и рассуждение решают разные задачи.
Ресурсы
Название: Correct codes for the wrong reasons? Validating LLMs as measurement instruments for theoretical constructs (preprint, June 2026)
Автор: Manuel Pita, Artificial Intelligence, Social Interaction and Complexity Laboratory, CICANT, Universidade Lusófona, Лиссабон
Контакт: manuel.pita@ulusofona.pt | ORCID: 0000-0003-2180-6823
Связанные работы из бумаги: Min et al. — о том, что примеры в промпте не устанавливают правило, а активируют ассоциации; McCoy et al. — модели следуют эвристике даже когда она заведомо неверна; Matz et al. — согласие LLM и людей как общая ошибка; ValiText (Birkenmaier et al.) — фреймворк валидации; Abdurahman et al. — праймер по оценке LLM в социальных науках
