3,583 papers
arXiv:2605.08841 74 9 мая 2026 г. FREE

Anti-Illusion Prompting: как заставить VLM смотреть на картинку, а не вспоминать факты

КЛЮЧЕВАЯ СУТЬ
Обнаружено: языковые модели с поддержкой изображений не "смотрят" на картинку — они вспоминают паттерн из обучения. Покажи Claude оптическую иллюзию — ответит правильно, но по памяти. Чуть измени иллюзию — выдаст тот же «правильный» ответ, хотя на картинке уже другое. Anti-Illusion Prompting позволяет переключить модель из режима «вспоминаю» в режим «смотрю» — работает на любых знакомых типах изображений: стандартных графиках, дашбордах, типовых интерфейсах. Фишка: называешь механизм визуальной ловушки прямо в промпте — и автоматический паттерн «деактивируется». Модель перестаёт доставать готовый ответ из памяти и работает с тем, что реально на изображении. Плюс majority voting (5 запросов) — берёшь ответ, который совпал чаще всего.
Адаптировать под запрос

TL;DR

VLM (vision-language model — языковая модель с поддержкой изображений) не "смотрит" на картинку так, как кажется. Когда ты просишь Claude проанализировать изображение, модель часто вспоминает паттерны из обучения, а не анализирует то, что видит. Покажи ей классическую оптическую иллюзию — она ответит правильно, но по памяти, а не по факту изображения. Измени иллюзию чуть-чуть — и она всё равно выдаст тот же "правильный" ответ, хотя на картинке теперь другое.

Это называют ловушкой "вспомни vs. посмотри": модель извлекает факт из памяти вместо того, чтобы выполнить реальный визуальный анализ. Та же ловушка срабатывает не только на иллюзиях — на любом изображении, где у модели есть сильный предзаписанный паттерн: стандартные графики, знакомые интерфейсы, типичные дизайн-элементы.

Anti-illusion prompting — техника, которая выводит модель из режима памяти в режим наблюдения: назови механизм иллюзии/ловушки напрямую, перенаправь внимание на конкретный визуальный признак, упрости задачу до прямого сравнения. Бонус: задай вопрос несколько раз и возьми большинство голосов.


🔬

Схема метода

Полная система требует кода (обработка изображений), но два из трёх шагов работают прямо в чате:

ШАГ 1 (КОД): Предобработка изображения → убрать контекст, создающий иллюзию
              edge-strips, mirror-blend, reference lines, color isolation
              ⚠️ Этот шаг требует Python/OpenCV — не для чата

ШАГ 2 (ЧАТ): Anti-illusion промпт → 
              (1) назови механизм иллюзии/ловушки
              (2) направь на конкретный визуальный признак
              (3) упрости задачу до прямого сравнения
              (4) зафиксируй формат ответа

ШАГ 3 (ЧАТ): Majority voting (голосование большинством) →
              запроси ответ N раз (оптимум: 5)
              возьми ответ, который встретился чаще всего

Шаги 2 и 3 выполняются в обычном чате — каждый новый запрос.


🚀

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

Задача: Ты загружаешь в Claude скриншот дашборда из аналитики Яндекс.Метрики — там столбчатая диаграмма с показателями двух рекламных кампаний. Визуально кажется, что одна явно выигрывает. Просишь оценить разницу — и модель уверенно говорит что-то вдоль линии "да, кампания А явно лучше", хотя цифры на осях могут этого не подтверждать.

Промпт:

Смотри на эту диаграмму как аналитик, который видит её впервые и не знает контекста.

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

Вместо этого:
1. Найди точные числовые значения на осях и в столбцах
2. Вычисли реальный процентный разрыв между значениями
3. Ответь: разрыв статистически значимый (>10%) или визуальный эффект?

Отвечай только после того как посмотрел на цифры, не на высоту столбцов.

Результат: Модель сначала покажет вычисления — найдёт числа с осей, посчитает разницу явно. Затем даст ответ, опираясь на реальный процент, а не визуальное впечатление. Если ось усечена и разрыв визуально раздут — ответ будет точнее, чем без промпта.


🧠

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

LLM с vision — это не глаз, это паттерн-матчер. Когда модель видит изображение, она не "смотрит" попиксельно — она сопоставляет то, что видит, с паттернами из обучения. Если паттерн сильный (классическая иллюзия, стандартный тип графика, знакомый интерфейс) — память перевешивает реальный визуальный анализ. Моделей учили на миллионах правильных ответов про эти иллюзии — поэтому они и отвечают "правильно" даже когда картинка изменена.

У модели есть сильная сторона: она умеет следовать точным инструкциям о том, на что именно смотреть. Если сказать "сравни только горизонтальные отрезки, игнорируй стрелки" — модель сделает именно это и перестанет опираться на паттерн из памяти.

Метод использует эту сильную сторону: называя механизм ловушки явно, ты "деактивируешь" автоматический паттерн. Перефокусируя на конкретный признак — даёшь модели понятную задачу вместо открытого вопроса, который она закрывает из памяти. Majority voting (5 запросов) убирает стохастические выбросы — когда модель "угадывает" по-разному, большинство голосов сглаживает шум.

Рычаги управления: - Число запросов в majority voting — 5 оптимально, 3 дешевле (теряешь ~1-2% точности), 1 — работает, но ненадёжно для важных решений - Уровень детализации инструкции — чем конкретнее признак ("сравни только числа на осях"), тем меньше пространства для памяти - Прямое называние ловушки — убирай, если хочешь проверить насколько модель "видит" без подсказок


📋

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

Анализируй это изображение как будто ты видишь его впервые, без предположений о контексте.

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

Не опирайся на {что нужно игнорировать}. 

Вместо этого:
1. Найди {конкретный визуальный элемент/признак}
2. Сравни {что с чем именно}
3. Ответь: {простой бинарный или числовой вопрос}

Дай ответ только после явного разбора по шагам выше.

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

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

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

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

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


🧠

Почему это работает (продолжение): Multi-VLM Strategy Discovery

В исследовании есть ценная мета-техника, применимая шире иллюзий:

Три разных LLM независимо анализируют проблему → четвёртая LLM синтезирует консенсус → человек валидирует

Авторы использовали это для разработки стратегий предобработки изображений. Но ту же структуру можно применить к любой задаче, где нужно найти непредвзятый подход: Claude, ChatGPT и Gemini независимо предлагают решения, потом одна из них синтезирует то, с чем согласились все трое. То, что три разные модели с разными обучающими данными предлагают независимо — статистически надёжнее одного ответа.


⚠️

Ограничения

⚠️ Главная инновация бумаги недоступна в чате: 60-70% прироста точности дала именно предобработка изображений — удаление иллюзионного контекста на уровне пикселей (Python + OpenCV). Промпт-инжиниринг и majority voting дали +11.5pp к уже сильной основе, но без предобработки — с нуля base accuracy около 77%.

⚠️ Модели лучше видят "присутствие" чем "отсутствие": Original-ACC (когда иллюзия есть) — 98.57%, Perturbed-ACC (когда иллюзии нет) — 82.38%. Модели легче подтвердить наличие, чем опровергнуть отсутствие различия.

⚠️ Majority voting помогает меньше без сильной базы: 5 запросов дают +3.4pp, но если базовый промпт слабый — голосование усиливает неправильный ответ. Сначала хороший промпт, потом ансамбль.

⚠️ Тип-специфичность: авторы разрабатывали отдельный промпт + предобработку под каждый из 7 типов иллюзий. Универсальный anti-illusion промпт работает слабее специализированного.


📄

Оригинал из исследования

Anti-illusion prompts (Table 2):

Müller-Lyer:
"This is a Müller-Lyer illusion. The outward circles make the lower line appear longer. 
Ignore the circles, compare ONLY the horizontal line segments. Only answer NOT EQUAL 
if the difference is truly dramatic; otherwise answer EQUAL."

Color (Simultaneous Contrast):
"Two edge strips (LEFT and RIGHT) shown side-by-side on neutral gray. Describe each 
strip's hue and brightness independently, then compare. Different hue or clearly 
different brightness → 0, otherwise → 1."

Ebbinghaus (Size):
"Left target mirrored and overlaid on right. Clean overlay with no edge ring = same 
size (1); visible edge ring = different size (0)."

Straightness (Hering/Wundt):
"Red lines on blue reference grid. If red lines stay parallel to grid → straight (1); 
if tilted relative to grid → not straight (0)."

Poggendorff (Alignment):
"A dashed extension line has been drawn along the red line's direction. Compare it 
with the black line above the bar. Overlap → aligned (1); visible separation → 
not aligned (0)."

Café Wall (Parallelism):
"Red parallel reference lines added. Compare column edges against red lines at top vs. 
bottom. Constant gap → parallel (1); gap changes → not parallel (0)."

Kanizsa (Boundary):
"Enhanced contrast and sharpness. Look for actual dividing lines between adjacent 
regions. Abrupt color change with visible edge → 1; smooth gradient with no sharp 
edge → 0."

Контекст: Авторы разработали тип-специфичные промпты для каждого из 7 типов оптических иллюзий. Каждый промпт: (1) называет механизм иллюзии, (2) описывает что было изменено в изображении при предобработке, (3) даёт конкретный визуальный критерий, (4) фиксирует бинарный формат ответа.

Meta-prompt для Multi-VLM Strategy Discovery:

"This image contains a [type] illusion. VLMs tend to answer based on memorized 
knowledge rather than visual perception. Analyze the visual mechanism that causes 
this illusion and propose 2–3 image transformations that would weaken or remove 
the illusion-inducing context."

💡

Адаптации и экстраполяции

📌

💡 Адаптация 1: VLM-дискуссия для анализа дизайна / презентации

Та же мета-техника — попроси несколько LLM (или одну в нескольких сессиях) независимо оценить визуал, потом синтезируй:

Сессия 1 (Claude):
"Оцени этот дизайн лендинга. Не знакомый тебе продукт — оцени только визуальную 
иерархию, читаемость СТА, контраст. Назови 2-3 конкретные проблемы с обоснованием."

Сессия 2 (ChatGPT):
[тот же запрос]

Сессия 3 (Gemini):
[тот же запрос]

Финальный синтез (любой LLM):
"Вот три независимые оценки дизайна от разных моделей. Выдели только те проблемы, 
на которые обратили внимание минимум две из трёх. Это консенсусные находки — 
вероятно, реальные проблемы, а не артефакты отдельной модели."
📌

🔧 Адаптация 2: Принцип "назови ловушку" для любого анализа данных

Тот же паттерн — называй механизм возможного смещения явно:

Анализируй этот отчёт о продажах. 

Возможные ловушки восприятия:
- Survivorship bias: мы видим только выжившие продукты
- Sunk cost: прошлые инвестиции не должны влиять на будущие решения  
- Base rate neglect: 20% рост при малой базе vs. малый рост при большой

Для каждого вывода в отчёте — укажи: какая из ловушек могла исказить эту цифру 
и как это меняет интерпретацию?
📌

🔧 Адаптация 3: Majority voting для важных решений

Самая простая адаптация — задай один и тот же вопрос 3-5 раз в новых сессиях:

[Один и тот же промпт — например, оценка юридического риска в договоре]

После 3-5 ответов: найди позиции, в которых все сессии согласны — это надёжные выводы.
Позиции где ответы расходятся — флаги неопределённости, требуют человека.

🔍

Как исследовали

Команда из SF Technology (логистическая компания) решала соревновательную задачу на CVPR 2026: 630 изображений с семью типами классических оптических иллюзий, бинарные ответы (да/нет), тренировочная выборка всего 27 семплов. Базовый Claude без специальных промптов показал 62.75% — чуть лучше монетки. Авторы прошли три фазы: сначала few-shot, потом чистый промпт-инжиниринг, потом полный пайплайн с предобработкой изображений.

Интересная деталь: для разработки стратегий предобработки они использовали Claude Opus, Qwen3-VL и Gemini три-вместе как "консультантов" — каждая модель независимо анализировала иллюзии и предлагала трансформации. ~60% финальных стратегий пришло из модельных предложений, 40% — от людей. Это не просто академический трюк: авторы буквально спрашивали "что ты бы изменил в этом изображении чтобы увидеть правду через иллюзию?" — и модель отвечала конкретными алгоритмами.

Самый важный результат аблации: добавление anti-illusion промптов и majority voting дало +11.5pp на тестовой выборке — но ТОЛЬКО поверх сильной предобработки изображений. Те же промпты без предобработки в ранних экспериментах давали скромный прирост. Синергия оказалась multiplicative, не additive. Конечный результат — 90.48% на официальных 630 изображениях, 2-е место с отставанием 0.47% от победителя.


🔗

Ресурсы

  • Статья: "Illusion-Aware Visual Preprocessing and Anti-Illusion Prompting for Classic Illusion Understanding in Vision-Language Models"
  • Код: github.com/jasminezz/sf-illusion-aware-vlm
  • Авторы: Junli Zha, Jiahui Wang, Xinkai Lu, Jinbo Wang — SF Technology Co., Ltd.
  • Контекст: 5th DataCV Challenge Task 1 @ CVPR 2026
  • Ключевая отсылка: VI-Probe framework (Sun et al.) — оригинальная работа про "perceive-or-recall" дилемму в VLM

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

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

Обнаружено: языковые модели с поддержкой изображений не "смотрят" на картинку — они вспоминают паттерн из обучения. Покажи Claude оптическую иллюзию — ответит правильно, но по памяти. Чуть измени иллюзию — выдаст тот же «правильный» ответ, хотя на картинке уже другое. Anti-Illusion Prompting позволяет переключить модель из режима «вспоминаю» в режим «смотрю» — работает на любых знакомых типах изображений: стандартных графиках, дашбордах, типовых интерфейсах. Фишка: называешь механизм визуальной ловушки прямо в промпте — и автоматический паттерн «деактивируется». Модель перестаёт доставать готовый ответ из памяти и работает с тем, что реально на изображении. Плюс majority voting (5 запросов) — берёшь ответ, который совпал чаще всего.

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

Три шага в одном промпте: Шаг 1 — назови ловушку явно: объясни, чем визуальное впечатление может обманывать («у диаграмм с усечённой осью есть эффект: разрыв выглядит больше, чем есть»). Это ломает автоматический паттерн из памяти. Шаг 2 — укажи конкретный признак: скажи модели, на что именно смотреть («найди числовые значения на осях, не визуальную высоту столбцов»). Чем точнее, тем меньше пространства для «вспоминания». Шаг 3 — упрости до прямого вопроса: вместо «оцени результат» — «вычисли процентный разрыв и скажи: он больше 10% или нет». После — majority voting: тот же промпт 5 раз, берёшь ответ большинства. Не потому что модель ненадёжна, а потому что при стохастических выбросах большинство голосов режет шум.

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

Языковая модель с поддержкой изображений — это не глаз, это сопоставитель паттернов. Когда видит знакомый тип изображения (классическая иллюзия, стандартный график, типовой дизайн) — сильный паттерн из обучения перевешивает реальный анализ. Модель обучалась на миллионах правильных ответов про эти иллюзии — поэтому и отвечает «правильно» даже когда картинка изменена. Ключевой инсайт: у модели есть одна сильная сторона — она умеет точно следовать инструкциям о том, на что именно смотреть. Называя ловушку явно, ты разрываешь автоматическое сопоставление. Перефокусируя на конкретный признак — даёшь задачу, которую нельзя закрыть из памяти. Честно о цифрах: исследование показало 77% точности с одним только промпт-инжинирингом. Полная система с предобработкой изображений через Python (удаление иллюзионного контекста на уровне пикселей) давала 60-70% прироста — это недоступно в обычном чате. Промпт плюс majority voting добавляли ещё +11.5 процентных пункта поверх. Иными словами: техника работает, но не волшебно.

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

Анализ изображений, где у модели есть сильный предзаписанный паттерн: графики и диаграммы с нестандартными осями, скриншоты дашбордов с несколькими метриками, типовые интерфейсы с незначительными различиями, сравнение похожих визуалов. Особенно важно когда: просишь сравнить «что больше / что лучше / одинаковые ли размеры» на изображениях, где визуальное впечатление и числовая реальность расходятся. НЕ подходит для: уникальных изображений без паттернов (фотография незнакомой сцены, нестандартный рисунок) — там модели и так нечего «вспоминать», обычного промпта достаточно. Также не заменяет предобработку изображений, если нужна максимальная точность — +11.5 пп это не +70%.

Мини-рецепт

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

2. Запрети «неправильный» признак: явно укажи что игнорировать. «Не опирайся на визуальную высоту / размер / цветовой фон».

3. Дай точную задачу: не «оцени», а «найди числовые значения на осях → вычисли процентный разрыв → ответь: больше 10% или нет». Конкретный признак + конкретный вопрос.

4. Зафиксируй порядок: добавь «дай ответ только после явного разбора по шагам выше». Без этого модель может прыгнуть к выводу, пропустив анализ.

5. Majority voting при важных решениях: отправь тот же промпт 5 раз (каждый раз новый запрос). Возьми ответ, который совпал в трёх случаях из пяти и больше. Три запроса вместо пяти — дешевле, теряешь примерно 1-2% точности.

Примеры

[ПЛОХО] : Посмотри на эту диаграмму с результатами двух рекламных кампаний. Какая показала лучший результат?
[ХОРОШО] : Анализируй эту диаграмму как будто видишь её впервые, без предположений о контексте. У диаграмм с усечённой осью Y есть ловушка: визуально разрыв между столбцами выглядит больше, чем реальная числовая разница. Не опирайся на визуальную высоту столбцов — она может вводить в заблуждение. Вместо этого: 1. Найди точные числовые значения каждого столбца (из подписей или осей) 2. Вычисли процентный разрыв между кампаниями 3. Ответь: разрыв больше 10% или это визуальный эффект усечённой оси? Дай ответ только после явного подсчёта по шагам выше. Что изменилось: явно назвали ловушку (усечённая ось), запретили неправильный признак (высота столбцов), дали точную задачу (найти числа → посчитать процент → бинарный ответ), зафиксировали порядок.
Источник: Illusion-Aware Visual Preprocessing and Anti-Illusion Prompting for Classic Illusion Understanding in Vision-Language Models
ArXiv ID: 2605.08841 | Сгенерировано: 2026-05-12 05:36

Проблемы LLM

ПроблемаСутьКак обойти
VLM отвечает по памяти, а не смотрит на картинкуПоказываешь модели изображение со знакомым паттерном: стандартный график, типичный интерфейс, узнаваемый элемент. Модель сопоставляет картинку с паттернами из обучения — и отвечает из памяти. Реальный анализ пикселей не происходит. Измени картинку — она всё равно выдаст тот же "правильный" ответ. Проблема срабатывает везде, где у модели есть сильный предзаписанный паттернНазови в запросе конкретную ловушку: что именно может обманывать в этом изображении. Перенаправь внимание на конкретный элемент: "смотри только на цифры на осях, не на высоту столбцов". Добавь явный шаг: "сначала найди X, потом сравни Y с Z". Модель переключается из режима "вспоминаю" в режим "смотрю"

Методы

МетодСуть
Три шага против памяти — точный визуальный анализКогда просишь модель проанализировать изображение с потенциальной ловушкой (график, схема, UI с нестандартным масштабом), строй запрос из трёх частей. Шаг 1 — назови ловушку: "В таких диаграммах усечённая ось Y раздувает визуальный разрыв." Шаг 2 — перенаправь на конкретный признак: "Не смотри на высоту столбцов. Найди числа на осях и в метках." Шаг 3 — упроси до прямого сравнения: "Посчитай процентный разрыв. Он больше 10% или нет?" Почему работает: открытый вопрос модель закрывает из памяти. Конкретная задача — нет. Когда не работает: если у изображения вообще нет текстовых меток или цифр — модели не на что опереться
📖 Простыми словами

Illusion-Aware Visual Preprocessing and Anti-IllusionPromptingfor Classic Illusion Understanding in Vision-LanguageModels

arXiv: 2605.08841

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

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

Чтобы это починить, исследователи придумали визуальный препроцессинг и специальный промптинг. Суть в том, чтобы заставить модель сначала «развидеть» знакомый образ, разбив его на части, а потом собрать заново. Например, если дать ей график, где столбцы специально нарисованы криво, чтобы обмануть глаз, нужно заставить её сначала выписать координаты точек, а не делать выводы по общей картинке. Когда модель сначала проговаривает сухие факты, её «галлюцинация» отступает перед логикой цифр.

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

Короче: не верь модели на слово, когда она описывает картинку, особенно если там есть графики или сравнения. VLM — это паттерн-матчер, который обожает срезать углы. Чтобы получить адекватный результат, заставляй её сначала описывать детали и только потом делать выводы. Иначе ты получишь не анализ своего бизнеса, а пересказ статьи из Википедии, которую модель когда-то прочитала и решила, что она подходит к твоему случаю.

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

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

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