TL;DR
Catalog-Anchored Confidence — способ спросить LLM об уверенности так, чтобы получить сигнал именно о том, существует ли рекомендованный объект на самом деле, а не о том, насколько это хороший совет. Обычный вопрос «оцени уверенность от 0 до 100» не различает выдуманные и настоящие ответы — модель отвечает на другой вопрос, чем тот, который ты задал.
Когда LLM выдаёт список рекомендаций (фильмы, товары, рестораны), она в 2–8% случаев выдумывает несуществующие названия. Логично спросить «насколько уверен?» и отсечь сомнительные пункты. Но происходит странное: модель систематически недооценивает свою уверенность — говорит «70 из 100», хотя права в 92–100% случаев. Уверенность в её словах почти не связана с тем, реальна ли рекомендация. Причина простая: на вопрос «насколько уверен» модель отвечает как на «насколько хороший это совет», а не «существует ли это в реальности» — и хвалит себя в скромном диапазоне 67–86 независимо от факта.
Если хочешь поймать выдумку — не спрашивай общую уверенность. Спрашивай конкретно: «уверен ли ты, что этот пункт реально существует, а не придуман тобой». Переформулировка меняет то, что измеряет число в ответе, хотя эффект непостоянный и зависит от модели.
Схема метода
ШАГ 1: LLM генерирует список рекомендаций (топ-N) → список названий
ШАГ 2а (обычный запрос, НЕ работает): "Оцени уверенность 0-100" → генерик-оценка качества совета
ШАГ 2б (catalog-anchored, работает точнее, но нестабильно):
"Оцени, уверен ли ты, что этот пункт реально существует, а не придуман тобой" → сигнал про существование
Всё можно уместить в один запрос — важна именно формулировка критерия оценки, не количество шагов.
Пример применения
Задача: Просишь Claude или ChatGPT посоветовать нишевые заведения — кофейни в своём городе, книги для подборки, товары на маркетплейсе. Риск: модель может выдумать название, которого не существует.
Промпт:
Посоветуй 10 кофеен в Ростове-на-Дону с хорошим фильтр-кофе,
работающих до 22:00.
Для каждой кофейни укажи:
1. Название
2. Оценка от 0 до 100: НЕ насколько тебе нравится это место,
а насколько ты уверен, что эта кофейня РЕАЛЬНО существует
и ты не придумал название.
Результат: Модель выдаст список из 10 заведений, рядом с каждым — число. Для широко известных сетевых мест число вероятно будет выше и точнее отражать реальность. Но полностью доверять этому нельзя: на нишевых, локальных объектах эффект нестабилен — стоит дополнительно проверить названия поиском, а не полагаться только на число.
Почему это работает
У LLM нет отдельного «датчика» для факта существования объекта — она использует один и тот же механизм самооценки и для качества совета, и для факта его реальности. RLHF-обучение приучило модель быть «скромной» в диапазоне 67–86, независимо от того, права она или нет.
Зато LLM чувствительна к формулировке вопроса: если явно указать другой критерий оценки — существование вместо качества — распределение её ответов меняется.
Метод использует эту чувствительность, явно переопределяя, что должна измерять цифра уверенности. Но переопределение критерия — это рычаг, а не гарантированное решение: одну и ту же переформулировку можно применить к разным моделям и получить противоположный эффект (см. ограничения).
Шаблон промпта
{задача рекомендации}
Для каждого пункта в списке укажи:
1. Название
2. Оценка от 0 до 100: НЕ насколько это хороший вариант,
а насколько ты уверен, что {объект} РЕАЛЬНО существует
в {источник/каталог}, а не придуман тобой.
Подставь {задача рекомендации} (что рекомендовать), {объект} (тип объекта — книга, товар, кафе, статья), {источник/каталог} (где это должно существовать — конкретный магазин, город, база данных).
🚀 Быстрый старт — вставь в чат:
Вот шаблон для проверки уверенности LLM в реальности рекомендаций.
Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит, что именно ты рекомендуешь и в каком «каталоге» это должно существовать — потому что метод работает только если критерий уверенности явно привязан к конкретному факту существования, а не к общему качеству.
Ограничения
⚠️ Непредсказуемый эффект по моделям: привязка уверенности к факту существования улучшила калибровку у одной модели (Llama), но ухудшила у другой (Claude) — на одной и той же задаче.
⚠️ Фильтрация по порогу уверенности почти не убирает галлюцинации: модель одинаково «скромна» и на правильных, и на выдуманных пунктах. Отсечка по числу теряет много верных ответов, а не выдумки.
⚠️ На известных объектах проблема не критична: для топовых фильмов, брендов галлюцинаций почти нет — калибровка confidence не так важна. Главная боль — нишевые, локальные объекты, где и выдумок больше, и уверенность модели ещё хуже откалибрована.
Как исследовали
Исследователи взяли 4 LLM от разных вендоров (Mistral Large, Llama 3.3 70B, GPT-OSS 120B, Claude Sonnet 4.6) и попросили их порекомендовать топ-10 объектов по истории пользователя из трёх разных баз — фильмов (MovieLens), товаров (Amazon Toys) и локальных бизнесов (Yelp). Каждую рекомендацию проверили на существование в базе (с учётом опечаток), а модель попросили честно оценить свою уверенность от 0 до 100.
Доля выдумок сильно зависела от базы: почти 0% на фильмах, до 8% на нишевых товарах и локальных бизнесах — логично, фильмы модель видела в интернете тысячи раз, а локальную кофейню — почти никогда. Но главный сюрприз: даже там, где выдумок почти нет, уверенность модели была занижена на 14–22 процентных пункта относительно реальной точности — и так во всех 12 комбинациях модель×база. Это противоречит обычному нарративу про самоуверенность LLM.
Попытка отфильтровать выдумки строгим статистическим методом (conformal prediction) почти не сработала: убирала максимум 0,7 процентных пункта галлюцинаций, отбрасывая при этом 4–21% нормальных рекомендаций — потому что уверенность модели просто не различает правильные и выдуманные ответы. Дополнительный тест — переформулировать вопрос, явно привязав его к факту существования — дал противоречивый результат: у одной модели резко улучшил точность прогноза, у другой ухудшил ещё сильнее.
Адаптации и экстраполяции
💡 Адаптация для проверки источников: Когда просишь LLM найти научные статьи, книги, судебные кейсы или цитаты — добавь отдельный вопрос: «оцени 0-100, уверен ли ты, что этот источник реально существует, а не придуман тобой» вместо «оцени релевантность». Это не гарантирует точность, но подсвечивает подозрительно низкие числа как сигнал перепроверить вручную (через поиск).
🔧 Техника: две шкалы вместо одной → разделение сигналов. Попроси модель дать ДВА числа на каждый пункт: «уверенность, что это реально существует» и «уверенность, что это подходит под критерии». Расхождение между числами показывает случаи, где модель уверена в качестве совета, но не уверена в его реальности — это и есть кандидат на проверку.
Ресурсы
Do LLM Recommenders Know When They're Hallucinating? Auditing Confidence Calibration in Catalog Faithfulness, Srijith Ravikumar (независимая работа, не связана с должностью автора в Amazon.com), принята на CIKM '26. Используемый шаблон запроса уверенности — «Just Ask» из Tian et al. (2023, self-rated confidence calibration). Метод фильтрации — split-conformal calibration (Abbasi-Yadkori et al., NeurIPS 2024).
