3,583 papers
arXiv:2607.18438 70 20 июля 2026 г. FREE

Relay-Bench: почему LLM разваливаются, когда в одном запросе слишком много разных задач

КЛЮЧЕВАЯ СУТЬ
Лучшая из трёх протестированных моделей осилила меньше половины связанных задач — при том что каждая отдельная задачка тривиальна даже для школьника. Relay-Bench склеивает 2-13 простых задач в цепочку с зависимостями: ответ на шаг 3 нужен для решения шага 7. Бенчмарк позволяет увидеть момент, где именно LLM теряет фокус на длинной цепочке рассуждений. Фишка исследования: модель почти никогда не признаётся 'не знаю' — она угадывает финальный ответ, даже не решив промежуточный шаг правильно.
Адаптировать под запрос

TL;DR

Relay-Bench — тест, который берёт от 2 до 13 простых задачек из разных областей (математика, код, поиск в интернете, текстовые головоломки) и склеивает их в один запрос с зависимостями: ответ на задачу №3 нужен, чтобы решить задачу №7. Иногда исследователи специально добавляют в промпт тысячи символов бесполезного "мусорного" текста или шифруют весь запрос через словарь замены символов — чтобы усложнить и без того длинную цепочку.

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

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


🔬

Схема метода (как устроен тест)

ШАГ 1: Берут 2–13 простых задач из разных областей → математика, код, поиск, логика
ШАГ 2: Связывают их зависимостями → ответ одной нужен для решения другой
ШАГ 3 (опционально): добавляют мусорный контекст или шифруют весь текст через словарь-подстановку → усложняют без изменения сути
ШАГ 4: Модель должна выдать один финальный точный ответ по строгим правилам форматирования

🚀

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

Задача: Готовишь финансовую сводку для встречи с инвестором — нужно посчитать несколько метрик, свести их между собой и оформить в едином формате без ошибок в цифрах.

Промпт:

У меня составная задача из нескольких связанных подзадач. Выполняй их по очереди, 
не переходя к следующей, пока не проверишь результат текущей.

Задача целиком: рассчитать юнит-экономику продукта и подготовить резюме для инвестора.

Подзадачи:
1. Посчитай себестоимость единицы товара по данным: {данные}
2. Пересчитай в рубли по текущему курсу {валюта→рубли}
3. Сравни получившуюся цену с ценой конкурента {данные конкурента} 
   (использует результат шага 2)
4. Оформи вывод в одном абзаце: маржа в %, вывод "выгодно/невыгодно", 
   без лишних слов

Для каждой подзадачи:
- Реши её
- Покажи промежуточный результат
- Проверь его перед тем как перейти дальше

В конце дай финальный ответ в формате: 
"Себестоимость: X руб. Маржа: Y%. Вывод: [текст]"

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


🧠

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

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

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

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

Рычаги управления: - Требование "проверь перед тем как перейти дальше" → уменьшает число ошибок в тривиальных деталях, но увеличивает длину ответа - Запрет на угадывание ("если не уверен — напиши, что не уверен, а не выдумывай") → снижает уверенные, но неверные ответы - Удаление лишнего контекста из промпта (только суть задачи, без "воды") → повышает точность на длинных запросах


⚠️

Ограничения

⚠️ Увеличивает длину диалога: разбивка на шаги с промежуточной проверкой требует больше токенов и времени — избыточно для простых задач.

⚠️ Не устраняет проблему полностью: даже с проверкой шагов модель может неправильно понять зависимость между подзадачами, если она сформулирована нечётко.

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


🔍

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

Исследователи собрали 31 составную задачу (30 держат в закрытом тестовом наборе, чтобы модели не могли "подсмотреть" ответы), каждая — из 2 до 13 связанных подзадач из разных областей: математика, код, текстовые головоломки, поиск информации. Три топовые модели тестировали с максимальным "усилием мышления" и всеми включёнными инструментами — поиском, кодом.

Для усложнения часть промптов "разбавляли" тысячами нерелевантных символов или полностью шифровали через словарь замены символов, заставляя модель сначала расшифровать запрос, а потом решить задачу.

Результат неожиданный: даже лучшая модель правильно решила меньше половины задач — сильно ниже, чем на обычных однодоменных тестах, где топовые модели показывают 90%+. Причём только чуть больше половины ответов вообще можно было разобрать — модели обрывали ответ или не давали чёткого финального вывода. Самое любопытное — модели почти никогда не отказывались отвечать, даже когда явно не могли решить подзадачу: они угадывали финальный ответ. Одна из моделей отдельно выделялась низким процентом галлюцинаций — не потому что решала лучше, а потому что реже давала хоть какой-то разборчивый ответ вообще.


🔗

Ресурсы

Liam Swayne, "Relay-Bench: Evaluating LLMs on Multi-Domain Reasoning Chains", июнь 2026, CC BY 4.0.


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

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

Лучшая из трёх протестированных моделей осилила меньше половины связанных задач — при том что каждая отдельная задачка тривиальна даже для школьника. Relay-Bench склеивает 2-13 простых задач в цепочку с зависимостями: ответ на шаг 3 нужен для решения шага 7. Бенчмарк позволяет увидеть момент, где именно LLM теряет фокус на длинной цепочке рассуждений. Фишка исследования: модель почти никогда не признаётся 'не знаю' — она угадывает финальный ответ, даже не решив промежуточный шаг правильно.

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

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

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

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

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

Составные многошаговые расчёты → конкретно для задач с зависимостями между шагами (финансовая сводка, юнит-экономика, цепочка API-вызовов), особенно когда ошибка на раннем шаге может незаметно протащиться через весь расчёт до финального ответа. НЕ подходит для одношаговых простых запросов — разбивка там только раздувает длину диалога без пользы.

Мини-рецепт

1. Раздели задачу на этапы: распиши составную задачу как пронумерованный список подзадач с явными зависимостями между ними.
2. Потребуй промежуточную проверку: добавь в промпт фразу 'реши шаг, покажи результат, проверь его перед переходом к следующему'.
3. Запрети угадывание: явно попроси модель писать 'не уверен', если она не уверена в промежуточном шаге, а не выдумывать ответ.
4. Убери мусор из промпта: оставь только суть задачи, без лишнего контекста и воды — это тоже роняет точность.
5. Зафиксируй формат финального ответа: дай модели чёткий шаблон итогового вывода, чтобы она не путалась в оформлении после длинной цепочки рассуждений.

Примеры

[ПЛОХО] : Посчитай себестоимость, переведи в рубли, сравни с конкурентом и напиши вывод для инвестора
[ХОРОШО] : Задача из 4 связанных шагов. Не переходи к следующему, пока не проверил текущий. 1. Посчитай себестоимость по данным {X}. Покажи результат. 2. Переведи в рубли по курсу {Y}. Проверь пересчёт. 3. Сравни с ценой конкурента {Z}, используя результат шага 2. 4. Напиши вывод одним абзацем: маржа в %, вывод выгодно/невыгодно. Если не уверен в каком-то шаге — напиши 'не уверен', не угадывай. Финальный формат: 'Себестоимость: X руб. Маржа: Y%. Вывод: [текст]'
Источник: Relay-Bench: Evaluating LLMs on Multi-Domain Reasoning Chains
ArXiv ID: 2607.18438 | Сгенерировано: 2026-07-22 04:27

Проблемы LLM

ПроблемаСутьКак обойти
Модель теряет точность в длинной цепочке простых задачКаждая отдельная задача тривиальна, модель решает её без ошибок. Но если 5-10 таких задач идут подряд в одном запросе, к концу цепочки модель путает детали, забывает мелочи (например, високосный год при подсчёте дат). Проблема не в сложности задач, а в их количестве в одном запросеРазбивай составную задачу на отдельные шаги. Проси модель решить и показать промежуточный результат каждого шага, прежде чем переходить к следующему
Модель угадывает финальный ответ вместо признания ошибкиДаже если модель неверно решила промежуточный шаг, она всё равно выдаёт уверенный финальный ответ. Не сигнализирует "я не знаю" или "здесь я не уверен". Ошибка молча "протаскивается" через всю цепочку до концаЯвно запрети угадывание в промпте: "если не уверен в шаге — напиши это, а не выдумывай ответ"
Лишний нерелевантный текст в запросе роняет точностьЕсли в длинный составной запрос подмешать посторонний, не относящийся к делу текст, точность падает сильнее, чем от самой сложности задач. Модель тратит внимание на весь объём текста, а не только на сутьУбирай из промпта всё, что не относится напрямую к задаче. Оставляй только условия и данные, нужные для решения

Методы

МетодСуть
Разбивка составной задачи на шаги с промежуточной проверкойФормулируй запрос так: "решай по одной подзадаче за раз, показывай промежуточный результат, проверяй его перед переходом к следующей". Не давай всю цепочку сразу как один блок. Почему работает: модель фокусирует внимание на одной ограниченной задаче, а не держит в голове всю цепочку целиком. Это снижает случайные ошибки в деталях, которые "проваливаются" при перегрузке. Когда применять: составная задача из 3+ связанных шагов, где ответ одного шага нужен для следующего. Когда не работает: для простой одношаговой задачи это лишняя трата токенов и времени
Запрет на угадывание с требованием сигнализировать о неуверенностиДобавь в промпт прямую инструкцию: "если не уверен в промежуточном шаге — напиши об этом явно, не выдумывай финальный ответ". Почему работает: без такой инструкции модель по умолчанию выбирает уверенный ответ вместо признания сомнения, даже если внутренне не уверена. Явная разрешающая формулировка снижает долю уверенных, но неверных финальных ответов. Когда применять: любые многошаговые или фактологические задачи, где важна честность модели о своей неуверенности. Когда не работает: не спасает от ошибок, если модель уверенно ошибается из-за нехватки знаний, а не из-за невнимательности

Тезисы

ТезисКомментарий
Точность падает с количеством шагов в запросе, а не с их сложностьюДаже когда каждый отдельный шаг элементарный, накопление 5-10 шагов в одном запросе снижает точность сильнее, чем усложнение одного шага. Механика похожа на усталость человека, который считает в уме десять простых операций подряд без остановки — ошибка накапливается где-то в середине. Применяй: если задача состоит из многих шагов, разделяй их на отдельные запросы или явно проси проверять каждый шаг, а не пытайся уместить всё в один вызов модели
📖 Простыми словами

Relay-Bench: EvaluatingLLMson Multi-Domain Reasoning Chains

arXiv: 2607.18438

Суть Relay-Bench в том, что современные нейронки научились щелкать сложные задачи по отдельности, но все еще сыплются на элементарных цепочках. Исследователи создали тест, который склеивает от 2 до 13 простых заданий в одну длинную колбасу, где результат первого шага критически важен для последнего. Это проверка на многодоменное рассуждение: модели нужно одновременно считать математику, писать код и искать инфу, не теряя нить повествования. Если AI лажает на третьем шаге, вся дальнейшая логика превращается в тыкву, даже если сама модель — гений программирования.

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

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

Хотя тест выглядит как пытка для чат-ботов, его результаты применимы везде, где нужна автоматизация сложных процессов. Представь, что ты поручаешь AI составить финансовый отчет: нужно вытащить данные из PDF, пересчитать их по разным формулам, проверить курсы валют и оформить всё в таблицу. Это и есть реальный Relay-Bench. Если модель не тянет такие цепочки, она бесполезна для серьезного бизнеса, потому что одна мелкая ошибка в начале превращает итоговый отчет в бесполезный набор цифр.

Короче, Relay-Bench показал, что «ум» нейронки — штука хрупкая. Модель может быть чемпионом в тестах на IQ, но при этом быть абсолютно профнепригодной в длинных рабочих процессах. Главный вывод: не доверяй AI сложные многоходовочки без промежуточного контроля. SEO для мозгов больше не работает — теперь мы проверяем модели на выносливость и умение не тупить, когда задач становится больше одной. Кто научит нейронку не терять фокус в длинных цепочках, тот и заберет рынок сложной автоматизации.

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

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

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