3,583 papers
arXiv:2610.10126 85 7 окт. 2026 г. FREE

MAScope (Topology-Conditioned Diagnosis): диагностика сбоев мультиагентной системы через знание её топологии

КЛЮЧЕВАЯ СУТЬ
Одни и те же симптомы («результат неправильный», «проверки нет») в разных мультиагентных системах значат разное. Судья без подсказки этого не видит. Метод MAScope позволяет разбирать логи цепочки агентов и находить, на каком стыке потерялась информация, даже дешёвой моделью. Фишка: не спрашивай «что пошло не так», а сначала расскажи судье «форму» системы: топологию (кто кому передаёт данные), частоты типичных сбоев и 2–3 строки о том, как такая схема обычно ломается. С этой подсказкой дешёвая модель догнала сильную, которая видела только лог.
Адаптировать под запрос
⚡

TL;DR

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

Главная находка: у каждой топологии свои характерные поломки. В цепочке «агент → агент → агент» теряются факты по пути. В схеме «главный и подчинённые» проверка главного постепенно расходится с задачей исполнителей. В общей «доске» контекст копится, и каждый следующий читатель молча переосмысливает его по-своему. В логах с равноправными агентами начинаются круги взаимного ожидания и путаница ролей. Без этого знания судья видит одинаковые симптомы («результат неправильный», «проверки нет») и не понимает, где именно сломалась передача информации. Дешёвая модель без подсказки угадывает редко.

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

🔬

Схема метода

ШАГ 1 (один раз на систему): определить топологию
   Из схемы оркестрации ИЛИ восстановить по логу → одна из 4 меток:
   Layered / Centralized / Decentralized / Shared Message Pool

ШАГ 2 (на каждый лог): диагностика в ОДНОМ промпте
   Вход: лог + метка топологии + частоты сбоев для неё
         + короткое описание «как эта топология обычно ломается»
   Инструкция: проверь каждый тип сбоя НЕЗАВИСИМО по тексту лога
   Выход: JSON — по одному 0/1 на каждый из 14 типов сбоев

Автоматическое восстановление топологии (в статье это TSE) идёт в четыре этапа: сжатие лога и анонимизация участников, извлечение связей со ссылками на цитаты, проверка и починка связей, присвоение метки. Нужно оно, только если конфигурации под рукой нет.

🚀

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

Задача: Вы продаёте на Ozon и собрали в n8n цепочку из трёх агентов: «Аналитик отзывов → Копирайтер карточки → Редактор». В ТЗ есть жёсткое требование: не обещать «лечебный эффект» и не называть цены. На выходе иногда всё же появляются «поможет от бессонницы». Вы выгружаете лог прогона и просите модель найти причину.

Промпт:


Ты — диагност сбоев в мультиагентных системах. Ты проверяешь лог прогона 
и определяешь, какие типы сбоев в нём есть.



Layered (послойная цепочка): Аналитик отзывов → Копирайтер карточки → Редактор. 
Информация идёт только вперёд, обратных связей нет.



Для послойных систем чаще всего встречаются:
- утаивание информации (агент не передал дальше важный факт) — высокая частота
- игнорирование входных данных от предыдущего агента — высокая частота
- остальные типы — ниже среднего



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



Проверь КАЖДЫЙ тип сбоя из списка ниже независимо, опираясь на цитаты из лога. 
Частоты — только мягкая подсказка, где смотреть внимательнее; 
не ставь «1» без доказательства в логе.
Список типов сбоев: {список_типов_сбоев}
Верни JSON: для каждого типа — 0 или 1 и короткая цитата-доказательство.



{лог_прогона}

Результат: Модель вернёт JSON с флагом по каждому типу сбоя и цитатами из лога. Самые вероятные находки по этой топологии: ограничение «без лечебных обещаний» потеряно на стыке Аналитик → Копирайтер, или Редактор проигнорировал вход. Вы увидите, на каком стыке пропало требование, и сможете починить передачу: добавить ограничение в промпт Копирайтера явно.

🧠

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

Слабость LLM. Без структуры модель-судья смотрит на лог как на длинный разговор и оценивает локальную связность. Последний обмен «выглядит нормально». Что одно из требований потерялось три хода назад, а проверку никто не выполнил, она замечает плохо. Одинаковые симптомы в разных системах имеют разные причины, а в логе об этом не написано.

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

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

Рычаги управления: - Топология и сигнатура → замени под свою схему. Это главный рычаг. - Частоты → бери из своих размеченных прогонов. Чем ближе к вашей системе, тем лучше. - Строгость инструкции («не ставь 1 без цитаты») → ужесточай, если судья видит сбои везде. - Список типов сбоев → сократи до тех, что важны вам. Для начала хватит 4 групп: потеря информации, застой координации, смысловой дрейф, провал проверки.

📋

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


Ты — диагност сбоев в мультиагентных системах. Ты читаешь лог прогона 
и определяешь, какие типы сбоев в нём присутствуют.



{топология}: {описание_схемы_кто_кому_передаёт}



Частота каждого типа сбоя в системах такой топологии:
{частоты_по_типам}



{короткое_описание_как_эта_топология_обычно_ломается}



Проверь КАЖДЫЙ тип сбоя независимо, опираясь на цитаты из лога.
Частоты — мягкая подсказка, не доказательство.
Типы сбоев: {список_типов_сбоев}
Верни один JSON: для каждого типа — 0/1 и цитата-доказательство.



{лог}

Что подставлять: - {топология} — одна из четырёх: - Layered: цепочка, информация идёт только вперёд. - Centralized: хаб раздаёт задачи и проверяет. - Decentralized: равные агенты общаются напрямую. - Shared Message Pool: общая доска, все читают и пишут. - {частоты_по_типам} — доля ваших прогонов с этим сбоем. В статье их считали по 400 размеченным логам и заморозили. - {описание_как_ломается} — 2–3 предложения. Образцы из статьи: - Layered: потеря фактов вперёд по цепочке, циклы «уточнить — переписать». - Centralized: критерий проверки хаба расходится с задачей исполнителей, хаб становится узким местом. - Decentralized: взаимное ожидание, путаница ролей, дрейф взаимной критики. - Shared Message Pool: контекст с неясной границей, поздние читатели молча переинтерпретируют ранние намерения, обязанность проверки «ничья». - {список_типов_сбоев} — в статье это 14 типов таксономии MAST.

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

Вот шаблон диагноста сбоев мультиагентной системы с учётом топологии. 
Адаптируй под мою систему: [опиши агентов и кто кому передаёт работу]. 
Задавай вопросы, чтобы заполнить поля.

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

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

⚠️

Ограничения

⚠️ Качество диагноза всё ещё скромное: лучший результат на тесте — около 0,35–0,40 по Macro-F1 (усреднённая точность по 14 типам сбоев). Это подсказка для разбора логов, а не вердикт. Выводы судьи перепроверяйте по цитатам.

⚠️ Сильным моделям помогает слабо: у сильной модели прирост от топологии небольшой (около 7%). Метод в первую очередь выравнивает дешёвую модель с дорогой.

⚠️ Разметка шумная, топология связана с фреймворком: в основном тесте каждый фреймворк имеет одну топологию. Авторы проверяли это контрольным корпусом на одном коде, но часть выводов частично опирается на «отпечатки фреймворков». Децентрализованных систем в основном тесте нет, их проверяли на синтетически внесённых сбоях.

⚠️ Автоматическая часть требует кода: восстановление топологии по логу (TSE) — конвейер с адаптерами под фреймворки. В чате его не повторить. Но если схема вам известна, этот шаг не нужен.

⚠️ Экономия — прогноз: цифра «6% стоимости» посчитана расчётом для фиксированной топологии, а не измерена на реальной эксплуатации.

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

🔍

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

Исследователи собрали 2220 трасс мультиагентных запусков в три корпуса. Первый — 851 «чистая» трасса из датасета MAST с готовой экспертной разметкой сбоев. Второй — 961 трасса с искусственно внесёнными сбоями, он покрывает децентрализованные системы. Третий — 408 трасс на одном и том же коде LangGraph, где менялись только связи между агентами.

Сначала проверили, зависит ли тип сбоя от топологии. Тест независимости (χ² = 409,9) показал, что связь есть, и очень сильная. Положительные отклонения для каждой топологии лежат на разных типах сбоев. Контрольный корпус на одном коде нужен был, чтобы связь не списывалась на «манеру фреймворка».

Потом сравнили судью без топологии и судью с ней. Для дешёвой gpt-mini Macro-F1 вырос с 0,173 до 0,350, то есть вдвое. С топологией, которую система восстановила сама, получилось 0,346. Сильная gpt-5.4, видевшая только лог, дала 0,372. Для gpt-5.4 с топологией — 0,399. Удивило то, что дешёвая модель с правильным контекстом почти догнала дорогую без него. На практике это значит, что структурное знание о системе заменяет часть мощности модели. Если топология неизменна, её определяют один раз, и стоимость диагностики на 1000 логов составляет примерно 6% от стоимости повторных вызовов сильной модели. Если не обучать судью, а подавать знания через промпт, диагноз устойчивее переносится на новые фреймворки. При проверке «оставь один фреймворк в стороне» метод сохранял 82% качества.

💡

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

Это мои вариации. В статье они не проверялись. Сначала идёт точный метод выше, здесь только идеи.

🔧 Техника: из диагностики в профилактику → встраиваем «сигнатуру слабого места» в инструкции агентам. Статья показывает, где каждая топология ломается. Это можно превратить в правила для самих агентов:

# Для цепочки (Layered) — в промпт каждого этапа:
В конце ответа выведи блок «Исходные требования», дословно перенеся 
ограничения из ТЗ. Следующий этап обязан их учесть.

# Для хаба (Centralized) — в промпт оркестратора:
Перед приёмкой работы сверь свой критерий проверки с исходным ТЗ, 
которое получили исполнители. Если расходятся — исправь критерий.

# Для общей доски (Shared Message Pool) — в промпт каждого агента:
Каждая запись на доске содержит: автора, к какому требованию относится, 
и кто отвечает за её проверку. Ничьих проверок быть не должно.

# Для равноправных агентов (Decentralized):
Если два хода подряд обмениваетесь критикой без нового результата, 
остановись и передай решение пользователю.

Экстраполяция: судья + самопроверка. Добавь в промпт-судью в конце инструкцию: «Для каждого найденного сбоя предложи правку инструкции агента, которая устранит этот тип сбоя». Получится цикл «лог → диагноз → правка системного промпта».

🔗

Ресурсы

  • Работа: Know the Shape, Find the Fault: Topology-Conditioned Diagnosis of Multi-Agent LLM Failures — Xinwen Liu, Jiawei Zhang, Zhuocheng Pan, Xudong Liu, Isabella Zhu, Tianyu Wo; Beihang University, Пекин.
  • Основа: таксономия сбоев MAST (14 типов); классификация топологий Guo et al. (layered, centralized, decentralized, shared message pool); Who&When, A2P.
  • Данные: MAScope-Bench на Hugging Face (mascope/mascope-bench); код в анонимном репозитории, ссылка в статье.

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

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

Одни и те же симптомы («результат неправильный», «проверки нет») в разных мультиагентных системах значат разное. Судья без подсказки этого не видит. Метод MAScope позволяет разбирать логи цепочки агентов и находить, на каком стыке потерялась информация, даже дешёвой моделью. Фишка: не спрашивай «что пошло не так», а сначала расскажи судье «форму» системы: топологию (кто кому передаёт данные), частоты типичных сбоев и 2–3 строки о том, как такая схема обычно ломается. С этой подсказкой дешёвая модель догнала сильную, которая видела только лог.

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

Процесс из двух шагов. Шаг 1 делается один раз на систему: определи топологию. Это одна из четырёх схем: цепочка, главный с подчинёнными, равные агенты или общая доска. Если схема у тебя в руках, ничего восстанавливать не надо. Шаг 2 делается на каждый лог: в один промпт кладёшь лог, метку топологии, частоты сбоев и описание поломок. Судья идёт по списку из 14 типов сбоев и по каждому говорит 0 или 1 с цитатой. У каждой схемы свой почерк поломок: - Цепочка: факты теряются по дороге вперёд. - Главный и подчинённые: проверка главного расходится с задачей исполнителей. - Общая доска: поздние читатели молча переосмысливают чужие намерения, а проверка становится «ничьей». - Равные агенты: круги взаимного ожидания и путаница ролей. Топология превращает расплывчатый вопрос «что сломалось?» в конкретный: «где в этой схеме могла потеряться информация?» Это как врач с анамнезом. Без него он слушает все органы подряд. С ним сразу знает, где болит у таких пациентов.

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

Без подсказки модель читает лог как длинный разговор и смотрит на связность соседних реплик. Последний обмен выглядит нормально, и судья успокаивается. Что требование потерялось три хода назад, а проверку никто не сделал, она замечает плохо. Зато модель хорошо сверяет утверждения с цитатами, если ей сказали, куда смотреть. Описание «как эта схема обычно ломается» работает как карта: судья проверяет конкретные стыки передачи, а не весь лог подряд. Частоты подсказывают, где искать в первую очередь. Строка «не ставь 1 без цитаты» не даёт частотам перевесить доказательства. Трезвый взгляд: у сильной модели прирост от такой подсказки небольшой, около 7%. Метод в основном выравнивает дешёвую модель с дорогой. Общая точность скромная: 0,35–0,40 по усреднённой оценке на 14 типов сбоев. Это подсказка для разбора, а не приговор.

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

Разбор логов мультиагентных систем (n8n, самописные цепочки агентов, фреймворки) → поиск причины, когда на выходе нарушено требование, а непонятно, на каком агенте оно пропало, особенно если логов много и разбирать вручную дорого. Лучше всего работает, когда схема системы известна и не меняется между запусками. НЕ подходит, если нужен точный вердикт без перепроверки: цитаты судьи надо проверять глазами. Частоты сбоев нужны из твоих размеченных прогонов. Если их нет, начни без них и опирайся на описание поломок.

Мини-рецепт

1. Назови схему: определи, как агенты передают работу. Цепочка, главный с подчинёнными, равные агенты или общая доска.
2. Опиши, как она ломается: 2–3 предложения. Например: «ограничения теряются на пути вперёд, возможны циклы уточнения между соседями».
3. Добавь частоты: если есть размеченные прогоны, посчитай долю каждого сбоя. Нет прогонов — пропусти или дай грубую оценку «высокая / ниже среднего».
4. Сократи список сбоев: для начала хватит четырёх групп. Потеря информации, застой координации, смысловой дрейф, провал проверки.
5. Поставь жёсткое правило: «Каждый тип проверяй независимо, без цитаты из лога не ставь 1». Если судья видит сбои везде, ужесточай.
6. Запусти и проверь цитаты: смотри, на каком стыке пропало требование, и чини передачу. Например, впиши ограничение прямо в промпт следующего агента.
7. Не хочешь собирать сам: вставь шаблон в чат, опиши своих агентов и дай модели задать вопросы.

Примеры

[ПЛОХО] : Вот лог работы трёх агентов. Найди, что пошло не так.
[ХОРОШО] : Ты диагност сбоев в мультиагентных системах. Топология: послойная цепочка Аналитик отзывов → Копирайтер карточки → Редактор, информация идёт только вперёд. Частые сбои в таких цепочках: агент не передал важный факт дальше, агент проигнорировал вход от предыдущего. Типичная поломка: требование, которое знал первый агент, до последнего не дошло. Проверь каждый тип сбоя независимо, без цитаты из лога не ставь 1. Вопрос: почему в тексте появилось «поможет от бессонницы», хотя в ТЗ запрет на лечебные обещания? Верни JSON: тип сбоя, 0 или 1, цитата. Лог: {лог_прогона} В плохом запросе судья оценит последний обмен и скажет «вроде нормально». В хорошем он пойдёт искать стык, где запрет потерялся: между Аналитиком и Копирайтером или при проверке Редактором.
Источник: Know the Shape, Find the Fault: Topology-Conditioned Diagnosis of Multi-Agent LLM Failures
ArXiv ID: 2610.10126 | Сгенерировано: 2026-10-08 06:00

Проблемы LLM

ПроблемаСутьКак обойти
Модель-судья не замечает, где потерялось требование в длинном логе работы нескольких агентовПросишь: «найди причину сбоя в логе». Модель читает лог как обычный разговор. Оценивает, гладко ли звучит каждый обмен. Последние реплики выглядят нормально. Что требование пропало три шага назад, она замечает плохо. Одинаковый симптом («результат неверный») в разных схемах имеет разные причины. Из лога это не видно. Проблема общая для любых длинных цепочек: агенты, этапы обработки, многошаговые сценарииРасскажи модели, как устроена система. Кто кому передаёт информацию. Где такие системы обычно ломаются. Попроси проверить каждый тип сбоя отдельно и привести цитату из лога. Подробности — в методе ниже

Методы

МетодСуть
Карта системы в запросе — судья знает, куда смотретьДай судье три вещи вместе с логом. 1. Схема передачи: «Аналитик → Копирайтер → Редактор, только вперёд». 2. Типичные поломки: «в такой цепочке ограничения теряются по пути вперёд». 3. Частота каждого типа сбоя в похожих системах, если есть свои размеченные прогоны. Затем инструкция: Проверь КАЖДЫЙ тип сбоя независимо. Опирайся на цитаты из лога. Частоты — мягкая подсказка. Не ставь 1 без цитаты. Верни JSON: тип → 0/1 + цитата. Почему работает: общий вопрос «что пошло не так?» превращается в узкий: «где в этой схеме потерялась информация?». Модель смотрит на конкретные стыки, а не на весь лог подряд. Правило «без цитаты не ставь 1» не даёт частотам перевесить факты. Когда да: схема известна заранее. Логов много. Используешь дешёвую модель. Когда нет: своих размеченных логов нет, частоты взять негде. Тогда оставь схему и описание поломок, а частоты убери. Если судья видит сбои везде, ужесточи правило про цитаты. Если схема неясна, её сначала нужно восстановить по логу. Это отдельная задача, и в чате она решается плохо. Качество диагноза всё равно скромное. Перепроверяй выводы по цитатам
📖 Простыми словами

Know the Shape, Find the Fault: Topology-Conditioned Diagnosis of Multi-AgentLLMFailures

arXiv: 2610.10126

Нейросети напрочь слепы к поломкам в цепочках агентов, потому что читают технические логи как линейный чат. Для модели финальный ответ звучит вполне связно, а то, что ключевое требование продолбали три шага назад — она в упор не видит. Метод MAScope чинит эту слепоту: он скармливает LLM-судье не просто простыню текста, а топологию связей системы, заранее объясняя, кто с кем общается и где архитектура конструктивно дает сбой.

Это как пытаться раскрыть кражу в офисе, читая исключительно анонимный флуд в курилке. Все вежливые, работа якобы кипит, но результата нет. Пока сыщику не покажут оргструктуру компании с ремаркой, что бухгалтер не переваривает юриста, он ни в жизнь не поймет, кто именно запорол проект.

Под капотом MAScope работает предельно сухо: судье дают схему передачи данных, статистику типичных поломок и жесткий чек-лист на 14 типов сбоев. Модель больше не гадает, а идет по пунктам с бинарным вердиктом: был косяк или нет. В итоге мгновенно вскрываются критические дыры вроде потери контекста или пропущенной валидации, которые раньше тонули в тоннах текста.

Фишка тестировалась на сложных сетях, но принцип универсален. Собрал связку в n8n под маркетплейсы по цепочке «аналитик → копирайтер → редактор», а бот на карточке товара вдруг пообещал покупателю «лечебный эффект»? Без схемы связей ты будешь часами дебажить промпты вслепую. Скорми модели топологию пайплайна — и она сразу ткнет носом в узел, который проигнорировал стоп-слова.

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

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

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

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