TL;DR
First-Token Cueing — это проверка, где ответ модели заранее начинают за неё правильным первым токеном (кусочком слова), а дальше модель продолжает сама. Токен берут из эталонного ответа. Оказалось, что после такой подсказки модель достраивает верный ответ там, где раньше ошибалась. Подсказка не раскрывает ответ, она только задаёт старт.
Главная находка: «модель ошиблась» не значит «модель не знает». Она часто знает факт, но на первом слове сворачивает не туда и дальше уверенно развивает неверный старт. Подсказка из случайного слова, из правдоподобного, но неверного, или общая вводная фраза не помогают, а случайный или неверный старт даже вредят. Работает только правильное начало. Те же ошибки в основном исправляются и собственным рассуждением модели.
Метод нельзя применить как есть: он требует знать правильный ответ. Практическая ценность в другом. Можно различать ошибки «не знает» и «не вспомнила» и выбирать способ лечения. Против «не вспомнила» помогают рассуждение, повторные попытки и проверка готового кандидата. Против «не знает» нужны внешние источники.
Схема метода
ШАГ 1: Задать вопрос как обычно → базовый ответ (Baseline)
ШАГ 2: Тот же вопрос, но ответ уже начат первым токеном эталона → продолжение
ШАГ 3: Сравнить. Исправилось → ошибка «cue-recoverable» (знание, скорее всего, есть)
ШАГ 4 (контроль): Подставить случайный / неверный / общий старт → не должно помогать
Шаги 1–2 — отдельные запросы. Нужна возможность предзаполнить начало ответа модели (в API это есть, в обычном чате нет).
Пример применения
Задача: Вы делаете бота-консультанта для самозанятых и ИП. Без базы знаний он путает названия режимов и налогов. Вы хотите понять, чинить его через подключение документов (RAG) или модель просто плохо вспоминает и хватит правки промпта.
Промпт (вариант для чата, без возможности предзаполнения):
Вопрос: Как официально называется налоговый режим для самозанятых в России?
Это тест на припоминание. Ответь дважды.
Ответ А: ответь как обычно, одной строкой.
Ответ Б: начни ответ дословно со слов «Налог на профес» и продолжи сам.
В конце сравни А и Б. Если А ошибся, а Б верен — напиши
«сбой припоминания». Если оба неверны — «знания нет».
Результат: Модель выдаст два ответа и вердикт. Если Б верен, а А нет, перед вами сбой припоминания. Тогда сначала пробуйте промпт «рассуждай перед ответом, дай 2–3 варианта и проверь каждый». Если оба ответа неверны, нужны внешние данные.
⚠️ Это упрощённая версия для чата. В статье старт вставляется в сам ответ модели (предзаполнение), а не просится инструкцией. Строгая проба возможна только через API или инструменты с предзаполнением.
Почему это работает
Слабость. Модель генерирует ответ по одному токену слева направо. Первое слово определяет всё остальное: выбрала неверный старт — дальше она уверенно достраивает неверный ответ. Неуверенность максимальна именно на первом токене. Потом она резко падает, и ошибка выглядит как уверенность.
Сильная сторона. Модель хорошо узнаёт правильное и продолжает его. Если правильный старт лежит вне её собственных топ-вариантов, она всё равно продолжает его увереннее, чем неверный старт того же типа. Знание есть, но «дверь» к нему открывается не с первого слова.
Как подсказка обходит слабость. Правильный первый токен снимает самый рискованный шаг. Остальное модель достраивает под сильным ограничением начала. Рычаги из статьи: - Длина подсказки. Одного токена уже много. Больше токенов добавляют мало. - Точность подсказки. Неверный или случайный старт ухудшает результат. Подсказка работает только тогда, когда она правильная. - Единица подсказки. Подсказывать нужно кусок слова, как его режет токенизатор, а не одну букву. Одиночный символ может сбить ответ. - Длина ответа. Чем длиннее ответ, тем меньше значит один токен. Но эффект остаётся и на ответах из пяти и более токенов.
Шаблон промпта
Вопрос: {вопрос}
Известный правильный ответ (для проверки): {эталон}
Выполни три прогона:
1. Ответь на вопрос как обычно, без подсказок.
2. Ответь, начав дословно со слов «{начало_эталона}».
3. Ответь, рассуждая по шагам: назови 3 варианта и проверь каждый.
Сравни результаты и запиши вердикт:
- «сбой припоминания» — прогон 1 неверен, 2 или 3 верен;
- «знания нет» — все прогоны неверны;
- «знание есть» — прогон 1 верен.
Подставляйте: {вопрос} — фактический вопрос из вашей ниши; {эталон} — проверенный ответ; {начало_эталона} — первое слово или слог целиком (не одна буква). Прогоните 20–30 вопросов и посмотрите долю каждого вердикта.
Ограничения
⚠️ Нельзя применить в бою: Подсказка берётся из эталонного ответа. Проба измеряет, какие ошибки исправимы, но не исправляет ошибки без эталона.
⚠️ Сам поиск правильного старта не работает: Если перебирать варианты начала без эталона, выигрыш мал. Модель предпочитает собственный неверный старт.
⚠️ Проверено на открытых моделях: Семейства Llama, Gemma, Qwen, без Claude, GPT и Gemini и без современных рассуждающих моделей. Перенос на них — догадка.
⚠️ Только короткие фактические вопросы: Рассуждение, тексты, код и длинные ответы не проверяли. Эффект падает с ростом длины ответа.
⚠️ Неверная подсказка вредит: Случайный или правдоподобный, но неверный старт снижает точность. Общая вводная фраза не меняет ничего.
⚠️ Слабее в нелатинских алфавитах: В русском, арабском, китайском и других языках первый токен часто одна буква и покрывает мало. Русский — яркое исключение: базовая точность высокая, а выигрыш один из самых малых.
⚠️ В чате это не то же самое: Просьба «начни со слов…» — не предзаполнение ответа. Эквивалентность не проверялась.
Как исследовали
Идея пришла из психологии. У людей есть состояние «вертится на языке»: слово знаешь, но не можешь произнести, а подсказка первого звука его «открывает». Исследователи спросили, работает ли то же у моделей.
Они взяли 16 открытых моделей (от 270 млн до 72 млрд параметров) и три англоязычных набора вопросов: TriviaQA, NQ-Open, WebQuestions. Для языков взяли MKQA на семи языках, включая русский. Сравнивали обычный ответ с ответом, который начинался с правильного первого токена. Ответы проверяла модель-судья (gpt-oss-120b). На выборке она совпала с проверкой авторов в 93% случаев.
Подсказка исправила от пятой части до половины ошибок на многотокенных ответах. У больших моделей доля исправленных ошибок осталась такой же, хотя самих ошибок стало меньше. Рост размера уменьшает число ошибок, но не меняет долю «забытого». Контроли показали, что дело не в самом предзаполнении: случайный токен ухудшал результат, неверный правдоподобный тоже, а общая фраза ничего не меняла.
Неожиданно оказалось, что неуверенность модели пиковая на первом токене: энтропия там уже предсказывает, будет ли ответ верным. Ещё подтвердилось, что большинство исправленных подсказкой ошибок модель решала и сама, когда рассуждала. Это признак того, что знание в ней действительно есть.
Адаптации и экстраполяции
🔧 Техника: вместо «Кто/что?» → «Верно ли, что …?»
Статья показала, что модель узнаёт правильное начало лучше, чем находит его сама. Логично сначала предложить кандидата (из поиска, памяти, прошлого ответа) и попросить его проверить: «Проверь: основателем компании X был Y. Подтверди или опровергни, назвав причину». Эта схема в статье не измерялась, её нужно проверять на своих вопросах.
Ресурсы
- Работа: On the Tip of the Tongue: First-Token Cueing as a Behavioral Probe of Recall Failures in LLMs
- Авторы: Jaewon Sok, Jewon Yeom, Seonghyeon Park, Jeongjae Park, Hwiyeong Lee, Taesup Kim (Seoul National University)
- Данные: TriviaQA, NQ-Open, WebQuestions, MKQA (github.com/apple/ml-mkqa)
- Связанные работы: Brown & McNeill (1966) о состоянии «вертится на языке»; Gekhman et al. (2025) и Calderon et al. (2026) о знаниях, которые модель не выдаёт
