3,583 papers
arXiv:2606.11562 74 10 июня 2026 г. FREE

Граф-контекст: LLM не видит связи дальше одного шага — и вот как это исправить

КЛЮЧЕВАЯ СУТЬ
LLM не видит граф — она читает текст о связях. Принципиальная разница. Просишь найти «выбивающийся» объект в экосистеме — модель пробует, но без нужного контекста фактически угадывает. Метод явного контекста второго уровня позволяет анализировать сети объектов и находить аномалии в паттерне связей — вместо поверхностного пересказа характеристик каждого по отдельности. Добавь связи второго уровня (к кому подключены твои прямые связи) плюс явное требование рассуждать через конкретные связи — точность поиска аномалии вырастает на 27–46 процентных пунктов.
Адаптировать под запрос

TL;DR

Когда просишь LLM проанализировать связанные объекты (компании в экосистеме, статьи в теме, продукты в категории), модель видит только то, что ты явно описал про каждый объект по отдельности. Она не «достраивает» связи сама — даже если ты перечислил, кто с кем связан. Результат: поверхностный анализ, который не учитывает паттерн отношений.

Исследование GraphInfer-Bench точно измерило эту слабость: разница между «найти факт об одном узле» и «вывести паттерн из нескольких связанных узлов» — огромная. Ни один класс методов, включая GPT-5 и Claude Opus 4.7, не закрыл этот разрыв полностью. Зато выяснилось что конкретно работает: добавление явного контекста на два уровня связей (не только прямые соседи, но и их соседи), плюс принуждение модели писать рассуждения через конкретные связи — а не сразу давать ответ.

Три практических вывода: во-первых, 1-hop контекст (прямые связи) помогает описывать отдельные объекты; 2-hop (связи связей) нужен для задач сравнения и поиска выбивающегося элемента. Во-вторых, явные рассуждения через паттерн связей критически важны — без них модель «схлопывается» в поверхностные ответы. В-третьих, разбивка на группы/кластеры — задача, с которой LLM справляется плохо даже при полном контексте: здесь лучше использовать другие инструменты.


🔬

Схема метода

ШАГ 1: Сформировать контекст (в промпте, вручную)
  → Описать объект [hub] + его прямые связи [1-hop] + связи их связей [2-hop]
  → Формат: нумерованный список «узел → чем связан → с кем связан»

ШАГ 2: Поставить задачу с требованием рассуждения
  → Описать задачу (описание / поиск выбивающегося / сравнение)
  → Явно попросить: «Рассуждай через конкретные связи, не просто давай ответ»
  → Формат: сначала «Рассуждение: …», потом «Вывод: …»

Всё выполняется в одном запросе. Ключевое усилие — на стороне пользователя при подготовке контекста.


🚀

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

Задача: Аналитик в венчурном фонде изучает экосистему вокруг Яндекса. Нужно понять, какая из компаний в портфеле «не вписывается» в паттерн связей и почему.

Промпт:

Вот экосистема компаний. Проанализируй её и найди компанию, которая 
выбивается из общего паттерна.

**Центральный объект:**
Яндекс — технологическая платформа, поисковик, экосистема сервисов.

**Прямые связи (1-hop) — партнёры и портфельные компании:**
1. Яндекс.Такси — агрегатор поездок, тесная техническая интеграция с 
   картами и ML-платформой Яндекса
2. Яндекс.Маркет — маркетплейс, использует рекламную и логистическую 
   инфраструктуру Яндекса
3. Яндекс.Лавка — быстрая доставка продуктов, завязана на геосервисы 
   и ML-прогнозирование спроса
4. CloudPayments — процессинг платежей, работает с множеством 
   независимых клиентов за пределами экосистемы Яндекса
5. Яндекс.Облако — B2B-инфраструктура, интегрирована со всеми 
   сервисами Яндекса

**Связи второго уровня (2-hop) — с чем связаны компании из списка выше:**
- Яндекс.Такси связан с: Яндекс.Картами, Яндекс.Едой, ML-платформой
- Яндекс.Маркет связан с: Яндекс.Доставкой, рекламной сетью, 
  Яндекс.Кассой
- Яндекс.Лавка связан с: Яндекс.Едой, логистической платформой, 
  Яндекс.Такси
- CloudPayments связан с: независимыми e-commerce сайтами, 
  конкурирующими банками, Robokassa, иностранными платёжными 
  системами
- Яндекс.Облако связан с: Яндекс.DataLens, SpeechKit, 
  всеми внутренними сервисами

**Задача:** 
Какая компания выбивается из паттерна? 

Рассуждай через конкретные связи: покажи, чем паттерн связей 
выбивающейся компании отличается от остальных. Сначала напиши 
«Рассуждение:», потом «Вывод:».

Результат: Модель напишет в блоке «Рассуждение» — явный разбор паттернов: у четырёх компаний связи второго уровня замкнуты внутри экосистемы Яндекса, а у одной (CloudPayments) — уходят наружу, к независимым игрокам и конкурентам. В блоке «Вывод» — конкретная компания с объяснением через структуру связей, а не просто «не похожа на остальных».


🧠

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

LLM читает токены последовательно — у неё нет «обзора» связей как такового. Когда ты пишешь «компания A связана с B, C, D», модель обрабатывает это как текст, а не как структуру. Паттерн из нескольких узлов она не «видит» автоматически — ей нужно, чтобы этот паттерн был явно сформулирован в тексте.

Зато модель хорошо справляется с текстовым сравнением. Если ты уже развернул связи в явные описания — «вот что связывает A, вот что связывает B, вот что связывает C» — модель может сопоставить эти описания и найти отличие. Это задача на сравнение текстов, а не на «понимание графа».

2-hop контекст критически важен для задач сравнения. Исследование показало: 1-hop (прямые связи) дал огромный прирост на задачах описания, но почти не помог при поиске выбивающегося элемента. Именно 2-hop поднял точность на этой задаче на 27–46 процентных пунктов. Смысл прост: чтобы понять, что A выбивается из группы B, C, D — нужно видеть не только с кем связан A, но и с кем связаны B, C, D. Без этого сравнения «по паттерну» нет.

Рычаги управления: - Глубина контекста — для описания достаточно 1-hop, для поиска аномалии/сравнения нужен 2-hop - Явное рассуждение — «рассуждай через конкретные связи» даёт намного лучший результат, чем просто «ответь на вопрос» - Формат вывода — разделение на «Рассуждение» и «Вывод» помогает модели не «схлопываться» в поверхностный ответ - Задача кластеризации — если нужно разбить на группы, не рассчитывай на LLM: этот тип задачи устойчиво плохо решается даже с полным контекстом


📋

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

Вот сеть связанных объектов. Проанализируй её и {задача}.

**Центральный объект:**
{название_объекта} — {краткое_описание}

**Прямые связи (уровень 1):**
1. {объект_1} — {описание} + {характер_связи_с_центральным}
2. {объект_2} — {описание} + {характер_связи_с_центральным}
3. {объект_3} — {описание} + {характер_связи_с_центральным}
[добавь столько, сколько нужно]

**Связи второго уровня:**
- {объект_1} связан с: {его_связи_через_запятую}
- {объект_2} связан с: {его_связи_через_запятую}
- {объект_3} связан с: {его_связи_через_запятую}

**Задача:**
{конкретная_задача — описать паттерн / найти выбивающийся элемент / 
сравнить два узла}

Рассуждай через конкретные связи из списка выше. 
Сначала напиши «Рассуждение:» — покажи паттерн по связям. 
Потом «Вывод:» — конкретный ответ.

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


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

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

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

LLM спросит про центральный объект, прямые связи и их характер, связи второго уровня и конкретную задачу — потому что без этого наполнения структура не сработает. Она возьмёт паттерн шаблона и адаптирует под твои данные.


⚠️

Ограничения

⚠️ Кластеризация не работает: Просить LLM «раздели эти объекты на группы» — плохая идея даже при полном 2-hop контексте. Исследование показало: на этой задаче LLM устойчиво проигрывает простым структурным алгоритмам. Используй LLM для описания и поиска аномалий, не для разбивки на кластеры.

⚠️ Контекст вручную: Тебе самому нужно собрать и структурировать 1-hop и 2-hop информацию. LLM не «достроит» связи из воздуха — это твоя работа на вводе. Чем точнее и полнее контекст связей, тем лучше результат.

⚠️ Большие сети не влезут: При более чем 10–15 объектах на уровень контекст разрастается и теряет качество. Ограничивай: 5–10 прямых связей + 3–5 ключевых связи второго уровня для каждой.

⚠️ Работает на description-задачах и outlier-задачах. На задачах полного разбиения (разбей 20 объектов на 3 группы) — результат ненадёжный.


🔍

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

Команда из HKUST и WeBank поставила вопрос: а умеют ли вообще LLM рассуждать о связях — или они только умеют «смотреть» на отдельные узлы? Чтобы ответить честно, они собрали 42 000 задач из шести реальных графов: научные цитирования, патенты, товары на маркетплейсе, Wikipedia, медицинская литература, форум по физике.

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

Сравнивали четыре класса методов: специализированные граф-LLM модели, GPT-5 и Claude Opus 4.7 без настройки, дообученные на задаче открытые модели, и — для честного сравнения — простые алгоритмы на графах (GNN) без языковой модели вообще. Самый неожиданный результат: простые GNN побили все языковые модели на трёх из пяти задач. Не потому что LLM «слабые» — а потому что сигнал живёт в структуре связей, и языковые модели не умеют его правильно извлечь без явной подачи.

Отдельный эксперимент с 1-hop и 2-hop контекстом буквально показал: добавление явных описаний соседей второго уровня подняло точность на задаче поиска аномалии на 27–46 процентных пунктов. Это не статистический шум — это радикальный сдвиг, вызванный одним изменением в структуре промпта.


💡

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

🔧 Техника: заменить «связи» на любой тип отношений → применимо везде, не только в графах

Паттерн «объект + прямые связи + связи связей» работает для любой сетевой структуры. Примеры: - Карьерное решение: «центральный объект» = ты, 1-hop = компании куда рассматриваешь офер, 2-hop = люди/проекты/технологии с которыми будешь работать в каждой - Конкурентный анализ: «центральный объект» = твой продукт, 1-hop = прямые конкуренты, 2-hop = их партнёры и интеграции - Аргументация в тексте: «центральный тезис» = главная идея, 1-hop = прямые аргументы, 2-hop = что поддерживает каждый аргумент

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

Перед блоком «Рассуждение» добавь промежуточный шаг:

Сначала опиши паттерн связей для каждого объекта в одном предложении.
Потом сравни паттерны.
Потом напиши «Рассуждение:» и «Вывод:».

Это принуждает модель явно артикулировать паттерн по каждому объекту до сравнения — она не «перепрыгивает» к ответу.


🔗

Ресурсы

GraphInfer-Bench: Benchmarking LLM's Inference Capability on Graphs

Dataset: huggingface.co/datasets/graphinfer/graphinfer

Code: github.com/graphinfer/GraphInfer-Bench

Авторы: Zhuoyi Peng, Jingzhou Jiang (HKUST), Hanlin Gu, Lixin Fan (WeBank), Yi Yang (HKUST)


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

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

LLM не видит граф — она читает текст о связях. Принципиальная разница. Просишь найти «выбивающийся» объект в экосистеме — модель пробует, но без нужного контекста фактически угадывает. Метод явного контекста второго уровня позволяет анализировать сети объектов и находить аномалии в паттерне связей — вместо поверхностного пересказа характеристик каждого по отдельности. Добавь связи второго уровня (к кому подключены твои прямые связи) плюс явное требование рассуждать через конкретные связи — точность поиска аномалии вырастает на 27–46 процентных пунктов.

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

Модель хорошо сравнивает текст — плохо «ходит по графу». Когда связи развёрнуты явно, задача превращается в сравнение текстовых описаний, а не в структурный анализ. Поэтому принцип: развернуть граф в текст до того, как задать вопрос — и только потом спрашивать. Шаг 1 — описываешь центральный объект плюс его прямые связи с кратким описанием характера каждой. Шаг 2 — добавляешь связи их связей: не для красоты, а чтобы модель могла сравнить паттерны. Шаг 3 — требуешь рассуждать через конкретные связи из списка и разделяешь ответ на «Рассуждение:» и «Вывод:». Без этого разделения модель перескакивает сразу к ответу — и теряет всю аналитику.

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

LLM читает токены последовательно — у неё нет внутреннего «обзора» структуры. Написал «A связан с B, C, D» — модель запомнила это как текст, не как ребро в схеме. Зато сравнивать развёрнутые текстовые описания она умеет хорошо. Вот в чём ловушка: связи первого уровня почти не помогают при поиске аномалии — нужны связи второго, потому что чтобы понять, что A выбивается из группы B, C, D, надо видеть не только с кем связан A, но и с кем связаны сами B, C, D. Именно поэтому второй уровень дал +27–46 процентных пунктов там, где первый почти не сдвинул результат. Явное разделение ответа на «Рассуждение:» и «Вывод:» не даёт модели перескочить сразу к финальному слову — она вынуждена пройти через конкретные связи.

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

Для анализа экосистем — компании вокруг платформы, продукты в категории, статьи в теме, люди в профессиональной сети. Особенно работает, когда нужно найти «белую ворону» в группе или сравнить два объекта по паттерну их связей. При описании одного объекта — хватит связей первого уровня, второй не нужен. НЕ подходит для задачи разбивки на группы: «раздели 20 компаний на 3 кластера» — LLM устойчиво проигрывает простым алгоритмам даже при полном контексте. Не пытайся это исправить промптом — не исправишь. Возьми специальный инструмент.

Мини-рецепт

1. Собери связи вручную: центральный объект плюс 5–10 прямых связей с кратким описанием каждой и характером связи — техническая интеграция, клиент, конкурент, партнёр.
2. Добавь второй уровень: для каждого объекта из первого уровня укажи 3–5 его ключевых партнёров или клиентов. Не нужна исчерпывающая точность — нужен паттерн, чтобы было видно «куда уходят связи».
3. Поставь задачу с форматом ответа: опиши что нужно — найти аномалию, сравнить два объекта или описать паттерн. Добавь в конце: «Рассуждай через конкретные связи из списка. Сначала напиши Рассуждение:, потом Вывод:».
4. Кластеризацию — не сюда: если задача разбить объекты на группы, это не к LLM. Возьми алгоритм или сделай вручную — LLM здесь сливается даже с полным контекстом.

Примеры

[ПЛОХО] : Проанализируй экосистему Сбера и найди компанию, которая не вписывается
[ХОРОШО] : Вот сеть компаний. Найди ту, что выбивается из паттерна. Центральный объект: Сбер — банк и технологическая платформа. Прямые связи (уровень 1): 1. СберМаркет — доставка продуктов, использует геосервисы и счета Сбера 2. СберМегаМаркет — маркетплейс на рекламной инфраструктуре банка 3. СберЗдоровье — телемедицина, оплата через приложение банка 4. Rambler — новостной портал, рекламная сеть работает с внешними клиентами независимо от Сбера 5. СберЛогистика — доставка, завязана на маркетплейс и складскую сеть Связи второго уровня: - СберМаркет связан с: СберЛогистикой, картами Сбера, внутренней складской сетью - СберМегаМаркет связан с: рекламной сетью Сбера, СберЛогистикой, СберПэй - СберЗдоровье связан с: СберБанком, страховым подразделением, внутренней системой учёта - Rambler связан с: независимыми рекламодателями, внешними новостными агрегаторами, сторонними медиа - СберЛогистика связан с: СберМаркетом, СберМегаМаркетом, внутренними складами Какая компания выбивается? Рассуждай через конкретные связи. Сначала Рассуждение:, потом Вывод:
Источник: GraphInfer-Bench: Benchmarking LLM's Inference Capability on Graphs
ArXiv ID: 2606.11562 | Сгенерировано: 2026-06-11 04:26

Проблемы LLM

ПроблемаСутьКак обойти
Модель не видит паттерн связей между объектамиПеречисляешь: кто с кем связан. Кажется, модель это «видит». Но она обрабатывает текст последовательно — нет обзора структуры. Прямые связи ещё «считывает». Паттерн из нескольких узлов — нет. Итог: анализ выходит поверхностным. Работает для одного объекта, ломается когда нужно сравнить или найти выбивающийся элементРазверни связи в явный текст вручную. Добавь не только прямые связи объекта (уровень 1), но и связи его соседей (уровень 2). Раздели в промпте: «Прямые связи:» / «Связи второго уровня:». Модель не достроит paттерн сама — ты строишь его на входе

Методы

МетодСуть
Двухуровневый контекст связей — для задач сравнения и поиска аномалийСтруктурируй контекст в три блока. Первый: центральный объект и его описание. Второй: прямые связи (1. Объект А — описание + характер связи с центральным). Третий: связи каждого соседа (- Объект А связан с: X, Y, Z). Потом задай вопрос и добавь: «Рассуждай через конкретные связи. Сначала напиши "Рассуждение:" — покажи паттерн. Потом "Вывод:" — конкретный ответ». Почему работает: Модель хорошо сравнивает тексты. Плохо «видит» структуру. Когда ты явно разворачиваешь связи в текст — сравнение становится текстовой задачей, с которой модель справляется. Когда применять: сравнение объектов, поиск аномалии в группе, определение «куда относится этот элемент». Когда не работает: разбивка на группы сразу (кластеризация) — даже с полным контекстом результат ненадёжный

Тезисы

ТезисКомментарий
Для описания достаточно прямых связей. Для сравнения нужны связи уровнем глубжеЧтобы описать объект — хватает информации о его прямых соседях. Чтобы понять, чем один объект отличается от других — нужно видеть с кем связаны сами соседи. Без этого второго уровня сравнение по паттерну невозможно: нет материала для сопоставления. Прирост точности на задаче поиска аномалии от второго уровня — 27–46 процентных пунктов. Применяй: используй уровень 1 для описания, уровень 2 добавляй только для задач сравнения и поиска выбивающегося элемента. Разрастание контекста без нужды снижает качество
📖 Простыми словами

GraphInfer-Bench: BenchmarkingLLM'sInference Capability on Graphs

arXiv: 2606.11562

Нейросети на самом деле не умеют «видеть» структуру связей, даже если ты им её подробно расписал. Когда ты скармливаешь модели данные о компаниях, людях или статьях, она воспринимает это как обычный список покупок, а не как сложную паутину взаимодействий. Фундаментальная проблема в том, что LLM читает токены последовательно, один за другим. У неё нет встроенного «рентгена», который мгновенно отрисует в голове граф и подсветит аномалии. Для модели фраза «А связано с Б» — это просто набор слов, а не ребро в математической структуре.

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

В исследовании GraphInfer-Bench это проверили на прочность: когда модели нужно проанализировать, например, экосистему стартапов вокруг крупного техгиганта, она лажает на элементарных вещах. Если спросить, какая компания в портфеле лишняя, LLM начнет гадать по описаниям текстов, вместо того чтобы вычислить структурный разрыв в связях. Она выдает поверхностный анализ, потому что для неё паттерн отношений — это белый шум, который она не умеет превращать в выводы без посторонней помощи.

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

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

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

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

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