3,583 papers
arXiv:2610.31282 77 22 окт. 2026 г. FREE

ReCoG: сравнивай похожие объекты попарно, опираясь на заранее выписанные различия

КЛЮЧЕВАЯ СУТЬ
Парадокс: если сравнивать похожие объекты парами без заранее записанных различий, выходит хуже, чем проверять каждый объект по отдельности. Метод ReCoG позволяет различать почти одинаковые вещи (модели кроссовок, виды брака, шаблоны документов) без дообучения модели. Фишка: различия пары пишутся один раз заранее и становятся подсказкой для каждого будущего сравнения. Дальше модель делает много простых выборов «A или B» в турнире каждый с каждым, и побеждает тот, у кого больше побед.
Адаптировать под запрос
⚡

TL;DR

ReCoG — метод, где модель сначала выписывает различия между каждой парой похожих объектов («чем A отличается от B»), а потом по этим записям выбирает победителя в попарных сравнениях. Побеждает объект с наибольшим числом побед (турнир «каждый с каждым»). Модель не обучают: она работает как есть, а различия хранятся текстом.

Обычный подход описывает каждый объект отдельно. Описание получается правдоподобным, но бесполезным для различения: модель пишет самые заметные признаки («тёмная птица, пятнистая грудка»), а они одинаковы у всех похожих объектов. Узнают объект по мелочам: форма клюва, полоса на крыле. Если взять такие описания и просто сравнивать объекты попарно, результат оказывается хуже, чем без сравнения. Попарное сравнение само по себе ничего не даёт, если под ним нет контрастных данных.

ReCoG устроен в два этапа. Этап 1. Для каждой пары объектов модель получает оба примера и пишет, что отличает один от другого (в обе стороны). Этап 2. Когда приходит новый случай, система выбирает несколько похожих кандидатов. Для каждой пары кандидатов модель сравнивает случай с ними, имея перед глазами записанные различия именно этой пары. Побеждает тот, у кого больше всего побед.

🔬

Схема метода

ЭТАП 1 (один раз, заранее): для каждой пары (A, B) среди объектов
  → запрос: «Чем A отличается от B?» (оба примера в запросе)
  → результат: две записи — различия с точки зрения A и с точки зрения B

ЭТАП 2 (на каждый новый случай):
  ШАГ 1: отобрать 3–5 самых похожих кандидатов
  ШАГ 2: для каждой пары кандидатов → «К кому ближе случай: к A или к B?»
         (в запросе: примеры A и B + записанные различия пары)
  ШАГ 3: посчитать победы каждого кандидата
  ШАГ 4: у кого больше побед — тот ответ (ничья → самый похожий по общему сходству)

Это отдельные запросы к модели. Для малого числа объектов (до 5–6) их можно провести вручную в одном чате.

🚀

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

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

Промпт (этап 1, повторить для каждой пары, здесь 6 пар):

Тебе даны два фото: модель A (артикул 4412) и модель B (артикул 4418).
Обе — чёрные кроссовки, и на первый взгляд они почти одинаковые.

Не описывай каждую по отдельности. Напиши только то, чем A
отличается от B: мелкие детали — строчка, форма язычка, логотип,
рельеф подошвы, шнуровка, швы. Общие признаки, которые есть у обеих,
пропусти.

Формат:
Отличия A от B: (3–5 пунктов, каждый — конкретная деталь)
Отличия B от A: (3–5 пунктов)

Промпт (этап 2, для каждой пары кандидатов):

Вот фото из возврата (запрос), эталон модели 4412 (A) и эталон
модели 4418 (B).

Заранее выписанные различия этой пары:
{отличия_A_от_B_и_B_от_A}

Проверь по этим различиям: к какой модели ближе фото запроса?
Сравни именно перечисленные детали. Ответь: «A» или «B» и одной
строкой назови деталь, по которой решил.

Результат: На этапе 1 модель выдаст для каждой пары два коротких списка конкретных деталей без общих признаков. На этапе 2 для каждой пары придёт ответ «A» или «B» с указанием детали. Дальше вы считаете победы (при четырёх кандидатах это 6 сравнений) и берёте модель с наибольшим числом побед. Список различий пар готовится один раз и переиспользуется для всех новых фото.

🧠

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

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

Сильная сторона. Если дать модели два объекта рядом и спросить «в чём разница?», она хорошо находит мелкие различия. Сравнивать вдвоём проще, чем описывать вслепую. Вопрос «A или B?» тоже надёжнее, чем «насколько это A?».

Как метод это использует. Он заранее превращает попарное сравнение в готовую подсказку: записанные различия указывают, на что смотреть именно в этой паре. Затем решение собирается из многих простых бинарных выбора. Одна ошибка в паре не ломает итог. Важно, что оба элемента нужны вместе: сравнение без контрастных записей оказалось хуже обычной проверки.

Рычаги управления: - Число кандидатов (3–5) → меньше сравнений и дешевле, но выше риск потерять правильный ответ при отборе. - Формат различий («3–5 пунктов, конкретные детали») → короче записи и меньше шума; можно потребовать указать «наименее очевидное отличие». - Направленность (A от B и B от A) → два взгляда на одну пару дополняют друг друга. Авторы используют оба. - Только ближайшие пары → при большом числе объектов готовь различия только для самых похожих пар. Авторы называют это упрощённым вариантом и считают компромисс выгодным. - Правило ничьей → если побед поровну, берите того, кто визуально или по смыслу ближе в целом.

📋

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

Этап 1. Выписать различия пары

Тебе даны два объекта: {объект_A} и {объект_B}.
Они похожи, и общие описания их не отличают.

Не описывай каждый по отдельности. Напиши только то, чем {объект_A}
отличается от {объект_B}: мелкие, но надёжные признаки, по которым
их можно различить. Общие признаки пропусти.

Формат:
Отличия {объект_A} от {объект_B}: {число_пунктов} конкретных пунктов
Отличия {объект_B} от {объект_A}: {число_пунктов} конкретных пунктов

Этап 2. Попарное сравнение с различиями

Вот новый случай: {случай}.
Кандидаты: {объект_A} (эталон: {описание_или_фото_A}) и
{объект_B} (эталон: {описание_или_фото_B}).

Заранее выписанные различия этой пары:
{отличия_пары}

Проверь случай именно по этим различиям.
К кому он ближе: {объект_A} или {объект_B}?
Ответь одним словом и одной строкой назови деталь, по которой решил.

Этап 3. Подсчёт

Результаты сравнений: {список_пар_и_победителей}
Посчитай победы каждого кандидата. Назови того, у кого их больше.
Если ничья — выбери самого похожего по общему сходству: {правило_ничьей}.

Подставляйте объекты (товары, тарифы, шаблоны документов, виды брака) и сам случай. Когда объектов больше пяти, сначала отберите 3–5 ближайших кандидатов.

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

Вот шаблон ReCoG (различия пар → попарные сравнения → подсчёт побед).
Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.

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

LLM спросит, какие объекты вы различаете и чем они похожи, есть ли у них эталоны (фото или текст) и сколько кандидатов оставлять после отбора. Эти данные нужны, чтобы она написала различия именно для ваших пар и сохранила схему «различия → пары → победы».

⚠️

Ограничения

⚠️ Число вызовов растёт квадратом: для каждой пары нужен отдельный запрос. Для 6–8 объектов вручную это терпимо, для сотен нужна автоматизация и упрощённый вариант (только ближайшие пары).

⚠️ Нужен отбор кандидатов: авторы сначала сужают круг объектов по сходству изображений (поиск по эмбеддингам CLIP). В чате без этого отбора придётся выбирать кандидатов самому или отдельным запросом.

⚠️ Только половина метода вредит: попарное сравнение без контрастных записей оказалось хуже обычной схемы «проверь каждый объект отдельно». Не пропускайте этап 1.

⚠️ Проверено на небольших открытых моделях: авторы тестировали открытые визуальные модели среднего размера и один эталон на объект. На ChatGPT, Claude и Gemini метод не проверяли.

⚠️ Промпты авторов не приведены в тексте статьи (они в приложении, которого нет в материале). Шаблоны выше — моя реконструкция по описанию метода, не дословная копия.

⚠️ Задача узкая: статья о распознавании пользовательских объектов по картинкам. Перенос на текстовые задачи (классификация обращений, тарифов) авторы не проверяли.

🔍

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

Авторы построили новый тест FINGER на «похожих до неразличимости» объектах. Первая часть: 20 видов птиц из набора CUB в двух вариантах. В лёгком виды выбраны случайно. В сложном специально отобраны похожие, в основном чёрные птицы. Вторая часть: 20 сцен из кубиков, цилиндров и шаров (CLEVR), где один объект — вся сцена, снятая с разных ракурсов. Модели дают один эталонный пример на объект.

Сравнивали ReCoG с сильным методом R2P, который описывает объекты по отдельности, и с «Baseline». Baseline берёт описания R2P, но вместо проверки по одному сравнивает попарно. Так авторы отделили эффект самого сравнения от эффекта контрастных данных.

ReCoG выиграл везде. Итоговая точность выросла с 93,6% до 98,1% на лёгких птицах, с 81,0% до 92,8% на сложных и с 79,6% до 93,3% на сценах. На сложных птицах доля правильных узнаваний выросла с 63,8% до 86,3%. Главная неожиданность: Baseline получил заметно худший результат, чем R2P (на лёгких птицах ~50% против ~88% правильных узнаваний). Значит, попарное сравнение с обычными описаниями вредит: подсказки не указывают на реальные различия. На знакомых тестах (распознавание, подписи к картинкам, вопросы по картинкам) ReCoG тоже оказался лучшим.

Практический вывод: форма запроса «чем отличается от соседа» важнее самой процедуры сравнения.

💡

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

🔧 Техника: убрать «в обе стороны» → вдвое меньше запросов

Для большого числа объектов просите различия только в одну сторону: «Отличия A от B». Вы теряете второй взгляд на пару, но число запросов остаётся тем же, а текста меньше. Авторы оба направления берут из одного запроса, так что экономия идёт на длине записей, не на числе вызовов.

Экстраполяция на текст (моя идея, авторами не проверялась): тот же принцип для выбора между близкими вариантами в тексте: тарифы, шаблоны ответов, категории обращений.

Тебе даны две категории обращений в поддержку: «Возврат товара»
и «Отмена заказа до отправки». Они часто путаются.

Не описывай каждую отдельно. Выпиши 3–5 признаков, которые
надёжно отличают «Возврат товара» от «Отмена заказа до отправки»,
и 3–5 — наоборот. Общие признаки пропусти.
Потом классифицируй это обращение по выписанным признакам:
{текст_обращения}

Выписанные различия можно вставить в системную инструкцию агента поддержки как правила «если видишь это — это возврат».

🔗

Ресурсы

  • Работа: ReCoG: Relational Concept Graph for Training-Free Personalization (NeurIPS 2026)
  • Авторы: Changseon Yu, Hyeokjun Kweon — GSAIM, Chung-Ang University (Южная Корея)
  • Страница проекта: https://csy-98.github.io/ReCoG/
  • Сравниваемые методы: R2P, RAP
  • Тест: FINGER (на базе CUB-200-2011 и CLEVR)

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

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

Парадокс: если сравнивать похожие объекты парами без заранее записанных различий, выходит хуже, чем проверять каждый объект по отдельности. Метод ReCoG позволяет различать почти одинаковые вещи (модели кроссовок, виды брака, шаблоны документов) без дообучения модели. Фишка: различия пары пишутся один раз заранее и становятся подсказкой для каждого будущего сравнения. Дальше модель делает много простых выборов «A или B» в турнире каждый с каждым, и побеждает тот, у кого больше побед.

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

Процесс из трёх шагов. Первый: для каждой пары объектов модель пишет, чем A отличается от B, и наоборот. Только различия, общее пропускаем. Второй: приходит новый случай, и ты берёшь 3-5 самых похожих кандидатов. Для каждой пары кандидатов модель смотрит на случай через записанные различия. Третий: считаешь победы, и лидер получает ответ. Почему не просто описать каждый объект? Модель берёт самые заметные признаки. «Тёмная птица, пятнистая грудка» подходит всем соседям сразу. Нужны не описания, а контрастные записи: что именно отличает эту пару. Это как судья с шпаргалкой. Без неё он смотрит на общую картину и путается. Со шпаргалкой «в этой паре смотри на язычок и логотип» он сразу видит нужное.

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

Модель плохо описывает объект вслепую. Зато хорошо находит мелкие отличия, когда два объекта лежат рядом. Вопрос «A или B?» тоже надёжнее, чем «насколько это похоже на A?». Вторая оценка плавает от формулировки и контекста. Ещё одна причина: решение собирается из многих простых выборов. Одна ошибка в паре не ломает итог, её перекрывают остальные сравнения. Жесть: сравнение без записанных различий оказалось хуже обычной проверки по одному, значит работает только связка из двух частей. Не пропускай этап с различиями.

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

Классификация похожих объектов → конкретно разбор возвратов, выбор нужного тарифа или шаблона, определение вида брака, особенно когда общие описания не помогают, а отличия сидят в мелочах. Подходит, когда вариантов 3-8 и есть эталон на каждый (фото или текст). НЕ подходит, когда объектов сотни и нет автоматизации. Число запросов растёт квадратом: для каждой пары отдельный вызов. Также не подходит, когда объекты и так сильно разные. Авторы проверяли метод на картинках и небольших открытых моделях. На ChatGPT, Claude и Gemini не проверяли, текстовые задачи тоже. Промпты ниже восстановлены по описанию метода, это не дословная копия.

Мини-рецепт

1. Собери эталоны: по одному примеру на каждый объект (фото или текст). Если объектов больше пяти, оставь только ближайших соседей.
2. Выпиши различия пар: для каждой пары отдельный запрос. Например: Не описывай каждую по отдельности. Напиши только, чем A отличается от B: 3-5 мелких конкретных деталей. Общие признаки пропусти. Проси оба направления: A от B и B от A.
3. Сохрани записи: это твоя шпаргалка. Делается один раз, потом используется для всех новых случаев.
4. Отбери кандидатов: на новый случай возьми 3-5 самых похожих. В чате без автоматического поиска придётся выбрать самому или спросить модель отдельным запросом.
5. Проведи турнир: для каждой пары кандидатов дай случай, оба эталона и записанные различия этой пары. Спроси: К кому ближе случай, к A или к B? Ответь одним словом и назови деталь, по которой решил.
6. Посчитай победы: у четырёх кандидатов будет 6 сравнений. Кто набрал больше всех, тот и ответ.
7. Разруби ничью: при равенстве берёшь того, кто похож в целом.

Примеры

[ПЛОХО] : Вот фото возврата. Это модель 4412 или 4418? Опиши обе и скажи, какая подходит
[ХОРОШО] : Этап 1, один раз для каждой пары: Тебе даны два фото: модель A (артикул 4412) и модель B (артикул 4418). Не описывай каждую отдельно. Напиши только, чем A отличается от B: строчка, форма язычка, логотип на пятке, рельеф подошвы. Формат: Отличия A от B (3-5 пунктов), Отличия B от A (3-5 пунктов) Этап 2, для каждой пары кандидатов: Вот фото из возврата, эталон 4412 (A) и эталон 4418 (B). Различия этой пары: {записанные_отличия}. К какой модели ближе фото? Ответь A или B и назови деталь, по которой решил Итог: из 4 кандидатов выходит 6 коротких ответов. Считаешь победы и берёшь лидера.
Источник: ReCoG: Relational Concept Graph for Training-Free Personalization
ArXiv ID: 2610.31282 | Сгенерировано: 2026-10-26 15:50

Проблемы LLM

ПроблемаСутьКак обойти
Описание объектов по отдельности не помогает их различатьПросишь описать каждый из похожих объектов. Модель берёт самые заметные признаки. У похожих объектов эти признаки общие. Получается правдоподобный текст, но он не отделяет один объект от другого. Например, у двух тарифов, шаблонов или видов брака описания почти совпадают. Выбор по таким описаниям шумныйНе проси описать объект. Дай модели два похожих объекта сразу. Проси писать только отличия: «чем A отличается от B». Общие признаки пусть пропускает. Так модель ищет мелкие детали, а не очевидные черты

Методы

МетодСуть
Заранее записанные различия пар + турнир попарных сравнений — точный выбор среди похожих вариантовЭтап 1, один раз. Для каждой пары похожих объектов запроси различия в обе стороны: Отличия A от B: 3–5 конкретных пунктов и Отличия B от A: 3–5 пунктов. Запрещай общие признаки. Сохрани тексты. Этап 2, на каждый новый случай. Отбери 3–5 самых похожих кандидатов. Для каждой пары задай вопрос: «К кому ближе случай: A или B? Проверь по этим различиям». Вставь в запрос записанные различия этой пары. Попроси ответить одним словом и назвать деталь, по которой решил. Посчитай победы. Побеждает тот, у кого их больше. При ничьей бери самого похожего в целом. Почему работает: вопрос «A или B?» проще и надёжнее, чем «насколько это A?». Записанные различия подсказывают, на что смотреть именно в этой паре. Одна ошибка в паре не ломает итог, потому что решение собрано из многих выборов. Когда да: объектов 3–8, они очень похожи, различия мелкие (модели товаров, тарифы, шаблоны документов, виды дефектов, типы обращений). Когда нет: объекты и так сильно разные. Или объектов сотни: число пар растёт квадратом. Тогда готовь различия только для самых близких пар. Метод проверяли на картинках и небольших открытых моделях. Для текста это вероятный перенос, не доказанный
📖 Простыми словами

ReCoG: Relational Concept Graph for Training-Free Personalization

arXiv: 2610.31282

Модели машинного зрения кошмарно лажают на похожих вещах, потому что мыслят общими мазками. Если попросить сетку описать предмет в вакууме, она вывалит банальные яркие признаки: "чёрные кроссовки с белой подошвой". Но если на складе лежат четыре почти одинаковые пары, такое описание — полный мусор. Нейросеть цепляется за очевидное вместо уникального, а её оценки сходства плавают от любого чиха.

Это как пытаться найти человека в толпе по ориентировке "рост метр восемьдесят, карие глаза". Формально всё верно, а толку ноль — под это описание подойдёт половина вагона метро. Чтобы опознать нужного, тебе не нужна вся его анатомия, тебе нужна одна конкретная зацепка: у одного шрам на брови, а у второго его нет. В лоб такие мелочи модель не видит, пока ты не заставишь её сталкивать предметы лбами.

Метод ReCoG решает эту боль через банальные попарные различия и спортивный турнир. Модель вообще не дообучают: она работает в режиме training-free прямо из коробки. Сетка один раз формулирует текстом, чем конкретно объект А отличается от объекта Б, а при анализе нового фото запускает серию дуэлей «каждый с каждым». Тот вариант, который набрал максимум побед по очкам, объявляется правильным ответом.

Тестировали это на адской задаче с возвратами обуви на маркетплейсах, но принцип абсолютно универсален. Метод закроет дыры везде, где нужно различать визуальных близнецов: от каталогов автозапчастей и сортировки посылок до отлова реплик и подделок. Забудь про дорогой fine-tuning под каждый новый артикул — текстовый граф сравнений собирается на лету и не жрёт терабайты памяти.

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

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

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

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