TL;DR
Когда даёшь модели несколько противоречащих друг другу фактов или мнений в одном запросе, она не взвешивает их поровну — она сильнее опирается на то, что упомянуто первым. Это подтверждено измерением вклада каждого кусочка информации в итоговый ответ: для некоторых типов конфликтов первый источник давал почти 70% веса в финальном ответе, хотя по смыслу он не важнее второго.
Боль в том, что это касается ровно тех задач, где важна честная сводка: сравнение двух экспертных мнений, агрегация новостей с разных сайтов, сведение противоречивых отзывов. Модель не говорит "источники равнозначны, вот оба взгляда" — она незаметно перекашивает текст в сторону того, что стояло первым в контексте. Причём увеличение модели (переход на более крупную версию) эту проблему не решает — предпочтение к первому источнику сохраняется независимо от размера.
Отдельная находка: если конфликт "явный" (прямое противоречие, которое видно сразу) — модель справляется прилично. Но если конфликт "скрытый" и требует нескольких шагов рассуждения, чтобы его вообще заметить — точность падает сильно, даже у топовых моделей она не достигает 50%. Значит для таких задач нужно явно заставлять модель рассуждать по шагам, а не полагаться на то, что она сама заметит противоречие.
Схема метода
Это не готовый инструмент из статьи (авторский способ починки требует доступа к внутренним активациям модели — недоступен в обычном чате), а принцип промптинга, который вытекает из находки про position bias:
ШАГ 1: Перечисли источники с нейтральными метками (Источник А, Источник Б) → без иерархии в самой формулировке
ШАГ 2: Попроси модель оценить каждый источник ПО ОТДЕЛЬНОСТИ, прежде чем делать вывод → отдельный абзац на каждый
ШАГ 3: Явно укажи, что порядок перечисления не должен влиять на вес каждого источника
ШАГ 4: Попроси финальный синтез с явной проверкой баланса
Всё выполняется в одном промпте.
Пример применения
Задача: Инвестор собирает два противоречащих аналитических обзора по акции — один аналитик советует покупать (бычий прогноз), другой — продавать (медвежий), — и хочет непредвзятую сводку, а не текст, который случайно перекошен в сторону того обзора, который он вставил первым.
Промпт:
Ниже два аналитических обзора по одной акции. Они противоречат друг другу.
Источник А: {текст бычьего прогноза}
Источник Б: {текст медвежьего прогноза}
Сделай так:
1. Оцени аргументы Источника А отдельно — в чём его логика, на что он опирается.
2. Оцени аргументы Источника Б отдельно — в чём его логика, на что он опирается.
3. Не давай преимущество тому источнику, который я вставил первым — порядок в этом сообщении случайный.
4. Дай финальную сводку, где обе позиции представлены с равным весом, без вывода "кто прав", если данных для этого недостаточно.
Результат: Модель выдаст три блока — отдельный разбор каждого источника и финальную сводку, где обе точки зрения звучат сопоставимо по объёму и весу, без скрытого перекоса в сторону первого упомянутого обзора.
Почему это работает
Модель генерирует текст последовательно и то, что она "прочитала" раньше в контексте, сильнее закрепляется как опорная точка для дальнейшего рассуждения — это похоже на то, как человек, услышав первое мнение, невольно меряет второе относительно него. Это слабость: без явной инструкции модель не распределяет внимание к источникам равномерно.
Сильная сторона модели — она отлично выполняет явные структурные инструкции: если попросить оценить источники по отдельности, до вывода, она честно проходит по каждому.
Метод обходит слабость, разбивая один шаг ("сделай вывод") на несколько ("оцени А, оцени Б, потом сведи") — это заставляет модель уделить каждому источнику отдельное текстовое пространство, а не сворачивать всё в один проход, где первый источник получает приоритет по умолчанию.
Рычаги управления: - Число источников для отдельной оценки → увеличивай для сложных многосторонних дискуссий - Явное указание "порядок случайный" → критично для честной сводки, без него модель по умолчанию доверяет первому - Требование "не делай вывод кто прав, если недостаточно данных" → полезно для субъективных тем (мнения, оценки), убери для фактических задач с одним правильным ответом
Шаблон промпта
Ниже несколько источников информации по вопросу: {тема}. Они могут противоречить друг другу.
{Источник 1}
{Источник 2}
{Источник 3}
Сделай так:
1. Разбери аргументы каждого источника отдельно — не смешивай их между собой.
2. Порядок, в котором я привёл источники, случайный — не отдавай предпочтение тому, что упомянут первым.
3. Если источники говорят о разном уровне детализации (один — общий вывод, другой — частный случай) — укажи это явно, а не выбирай один из них.
4. Дай финальный синтез, где вклад каждого источника примерно равный, если явных оснований считать один источник более надёжным — нет.
🚀 Быстрый старт — вставь в чат:
Вот шаблон промпта для честного сравнения противоречащих источников. Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит, сколько у тебя источников и какого они типа (мнения, факты, данные разной степени детализации) — потому что от этого зависит, нужен ли явный "разбор по отдельности" или достаточно простого сравнения.
Ограничения
⚠️ Скрытые многошаговые конфликты: если противоречие не видно сразу и требует нескольких логических шагов, чтобы его заметить — даже у топовых моделей точность разрешения такого конфликта остаётся низкой. Явная просьба "оцени отдельно" не полностью решает эту проблему, только смягчает position bias.
⚠️ Размер модели не спасает: более крупная модель из той же линейки может показывать даже более сильный перекос к первому источнику, чем меньшая. Нельзя рассчитывать, что "просто взять более мощную модель" решит проблему.
⚠️ Авторский метод "steering" не для чата: способ починки, который предлагают исследователи (сдвиг внутренних активаций модели), требует прямого доступа к весам модели и технической инфраструктуры — это невозможно повторить в обычном чате с ChatGPT или Claude.
Как исследовали
Команда собрала датасет из 5781 примеров, разделив конфликты на шесть типов: дезинформация, логические противоречия, временные несоответствия, разная степень детализации, разные точки зрения и путаница с одинаковыми именами/сущностями. Проверили семь моделей — от Llama до GPT-5 и Claude — и измерили, кому какой кусочек текста-доказательства "достаётся" в итоговом ответе, используя математический метод честного распределения вклада (аналог того, как делят прибыль между партнёрами по вкладу каждого).
Неожиданный результат: чем менее очевиден конфликт, тем хуже модели справляются — логические многошаговые противоречия оказались сложнее прямых фактических столкновений, независимо от размера модели. А сравнение вклада первого и последнего источника в ответе показало устойчивый перекос к тому, что стоит раньше — причём это не улучшалось с ростом модели, что подсказывает: это не проблема "недостатка ума", а системная особенность того, как модель обрабатывает последовательный текст.
Дополнительно исследователи залезли внутрь модели (анализ скрытых состояний нейросети) и обнаружили, что модель на самом деле "знает" о конфликте задолго до того, как выдаёт ответ — сигнал распознавания противоречия появляется в средних слоях сети. Это значит, проблема не в том, что модель не видит конфликт, а в том, что она не умеет честно его разрешить при генерации финального текста.
