3,583 papers
arXiv:2608.06422 84 5 авг. 2026 г. FREE

Sharding: дробление чек-листа на маленькие порции спасает LLM-проверку от слепых пропусков

КЛЮЧЕВАЯ СУТЬ
Обнаружено: если дать LLM чек-лист из 100 пунктов и попросить проверить всё за один запрос, модель реально проверяет только 15-30% — остальные 70-85% она угадывает и ставит «соответствует» по умолчанию. Больше токенов и шагов рассуждения это не чинит — дело не в вычислениях, а в количестве решений, которые модель держит в фокусе за один заход. Метод sharding позволяет проверять документ по любому числу критериев без потери точности. Чек-лист режут на группы по 4-32 пункта — каждая группа получает отдельный запрос с полным текстом документа, и модель реально ищет цитату-доказательство, а не гадает.
Адаптировать под запрос

TL;DR

Sharding (дробление) — техника проверки: вместо того, чтобы просить LLM сверить документ сразу со всеми пунктами чек-листа за один заход, критерии разбивают на маленькие группы, каждую группу проверяют отдельным запросом с полным контекстом документа, а потом результаты собирают вместе.

Когда LLM просят проверить документ по 50–100 пунктам за один раз, модель не проверяет каждый пункт — она физически не может удержать в фокусе внимания сотню условий одновременно. Она начинает угадывать: по данным исследования, модель честно признаётся, что не проверила 70–85% пунктов, и просто ставит «соответствует» по умолчанию. Самое неприятное — больше бюджета (токенов, шагов рассуждения) эту проблему не решает. Дело не в объёме вычислений, а в количестве решений, которые нужно держать в голове за один заход.

Дробление решает это буквально: маленькие группы критериев (по 4–32 штуки) проверяются отдельными запросами с тем же полным контекстом. Каждый пункт действительно попадает в фокус внимания, а не угадывается. Против атак, где кто-то пытается «продавить» проверку убедительной подачей материала, дробление тоже защищает — а если атакующий убеждает модель по каждому пункту отдельно (не эксплуатируя перегрузку), добавляют «оппонента»: отдельный шаг, где модель ищет контраргумент против каждого «зачтено».


🔬

Схема метода

БАЗОВЫЙ ВАРИАНТ (Sharding):
ШАГ 1: Разбей чек-лист на группы по 4–32 пункта (отдельные запросы)
ШАГ 2: Каждой группе — отдельный запрос: полный текст документа + только эти пункты → вердикт "выполнено/не выполнено" + цитата-доказательство
ШАГ 3: Собери вердикты всех групп → сводный отчёт

УСИЛЕННЫЙ ВАРИАНТ (Sharding + Opposition) — для проверки материалов, где кто-то мог попытаться "продать" соответствие:
ШАГ 4: Для каждого пункта, отмеченного "выполнено" → отдельный запрос: "найди контраргумент, почему это НЕ выполнено"
ШАГ 5: Финальный запрос: сравни аргумент "за" и "против" по каждому пункту → вынеси окончательный вердикт

Шаги 1–3 требуют нескольких отдельных запросов (не один промпт). Шаги 4–5 — дополнительные запросы поверх базового шардинга.


🚀

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

Задача: Вы — предприниматель, проверяете договор поставки от подрядчика на соответствие 30 важным пунктам (сроки, штрафы, ответственность, форс-мажор, порядок оплаты). Обычно вы кидаете в ChatGPT весь договор и весь список пунктов сразу — и модель иногда пропускает риски, особенно если формулировки подрядчика звучат гладко и убедительно.

Промпт (запрос 1 из серии):

Вот полный текст договора:
{текст_договора}

Проверь ТОЛЬКО эти 5 пунктов чек-листа. Не отвлекайся на остальные, они будут проверены отдельно:

1. Указан точный срок поставки с датой
2. Прописана ответственность за просрочку (конкретная сумма/процент пени)
3. Есть пункт о порядке приёмки товара
4. Форс-мажор описан конкретно, а не общей фразой
5. Прописан порядок расторжения договора

Для каждого пункта:
— приведи точную цитату из договора, подтверждающую или опровергающую условие
— вынеси вердикт: выполнено / не выполнено / нет данных в тексте

Далее — ещё 5 таких запросов с оставшимися группами пунктов (по 5 в каждой), каждый раз с полным текстом договора.

Финальный запрос:

Собери все вердикты из предыдущих проверок в одну таблицу. Выдели красным пункты "не выполнено" и "нет данных" — это риски, требующие внимания перед подписанием.

Результат: Вместо одного общего ответа "договор в целом нормальный, пара мелочей" вы получите таблицу из 30 строк, где по каждому пункту — цитата из текста и чёткий вердикт. Пункты, где подрядчик использовал обтекаемые формулировки без конкретики, модель поймает — потому что в маленькой группе у неё физически есть внимание перебрать текст пункт за пунктом, а не бегло пробежать по всему документу разом.


🧠

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

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

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

Дробление использует эту сильную сторону: каждый запрос содержит мало пунктов — модель реально идёт по тексту и ищет цитату, а не угадывает. Рычаги управления: - Размер группы (4–32 пункта) — чем меньше группа, тем точнее, но дороже по времени/токенам. Для важных решений (юридические риски, крупные сделки) — группы поменьше (4–8). Для рутинной проверки — можно и по 20–30. - Требование цитаты перед вердиктом — заставляет модель реально искать доказательство, а не угадывать. - Шаг "оппонент" — добавляйте, когда проверяете материал от кого-то, у кого есть мотив вас убедить (отчёт подрядчика, самооценка сотрудника, коммерческое предложение). Для внутренней проверки своих же текстов он избыточен.


📋

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

Вот полный контекст/документ:
{текст_документа}

Проверь ТОЛЬКО эти пункты (остальные проверяются отдельно, не отвлекайся):
{группа_критериев}

Для каждого пункта из этой группы:
1. Приведи точную цитату из документа, подтверждающую или опровергающую условие
2. Вынеси вердикт: выполнено / не выполнено / нет данных в тексте

--- (повторить для каждой группы критериев) ---

Финальный запрос:
Собери вердикты всех групп в одну таблицу. Отдельно выделены пункты "не выполнено" и "нет данных".

--- (опционально, для проверки материалов с мотивом убедить вас) ---

Для каждого пункта, который отмечен "выполнено": найди контраргумент — почему на самом деле условие может быть НЕ выполнено. Сравни аргумент "за" и "против" с текстом документа и вынеси финальный вердикт.

Что подставлять: {текст_документа} — весь документ целиком (одинаковый в каждом запросе группы), {группа_критериев} — 4–10 пунктов чек-листа на один запрос.

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

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

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

LLM спросит, сколько всего пунктов в вашем чек-листе и насколько важна точность (чтобы предложить размер группы), а также нужен ли шаг с "оппонентом" — потому что от этого зависит, сколько отдельных запросов нужно и стоит ли добавлять защиту от убеждающей подачи.


⚠️

Ограничения

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

⚠️ Не помогает, если хватает бюджета: если чек-лист короткий (условно, до 15–20 пунктов) и модель достаточно мощная — она справляется и без дробления. Дробление в этом случае просто увеличивает стоимость проверки без прироста точности.

⚠️ Дробление не защищает от точечного убеждения: если кто-то приводит убедительный отдельный аргумент по каждому пункту (не эксплуатируя перегрузку внимания) — дробление само по себе не спасает. Нужен дополнительный шаг с "оппонентом".

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


🔍

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

Команда из Карнеги-Меллона взяла три набора данных с реальными экспертными оценками: проверка научных отчётов (сотни критериев на документ), проверка юридических документов профессиональными юристами (контракты до 183 тысяч токенов), и оценка клинических испытаний по стандартным медицинским опросникам. Сравнивали четыре варианта: обычная проверка всех критериев за раз, та же проверка с увеличенным бюджетом (больше шагов размышления/токенов), проверка тем же бюджетом, но раздутая дублированием, и — дробление на маленькие группы.

Главный сюрприз: увеличение бюджета в одном запросе почти не помогало — точность оставалась на месте, а дробление на группы поднимало согласие с экспертами существенно, при том же суммарном бюджете. Слабый по капризности judge (модель) после дробления обгонял более мощную модель, работающую по старинке.

Отдельно проверили атаку: заставили одну модель генерировать несколько версий "презентации" одной и той же работы (аргументируя, что все критерии выполнены), и выбирали версию, которая лучше всего обманывала проверяющего. Против цельной проверки атака резко повышала долю ложно принятых нарушений (в разы). Дробление почти полностью закрывало эту дыру — кроме случая, когда атакующий убеждал по каждому пункту отдельно (а не эксплуатировал перегрузку). Против такой адаптивной атаки помог только дополнительный шаг с "оппонентом" — моделью, которая ищет контраргумент против каждого положительного вердикта.


🔗

Ресурсы

Sharding Prevents LLM Oversight Failures and Adversarial Exploitation. Victor Akinwande, J. Zico Kolter, Aran Nayebi — Carnegie Mellon University (preprint). Датасеты: PaperBench (JudgeEval), JudgmentBench, ROBoto2 (Cochrane RoB2).


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

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

Обнаружено: если дать LLM чек-лист из 100 пунктов и попросить проверить всё за один запрос, модель реально проверяет только 15-30% — остальные 70-85% она угадывает и ставит «соответствует» по умолчанию. Больше токенов и шагов рассуждения это не чинит — дело не в вычислениях, а в количестве решений, которые модель держит в фокусе за один заход. Метод sharding позволяет проверять документ по любому числу критериев без потери точности. Чек-лист режут на группы по 4-32 пункта — каждая группа получает отдельный запрос с полным текстом документа, и модель реально ищет цитату-доказательство, а не гадает.

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

Правило простое: не один запрос на всё, а много маленьких запросов с одинаковым контекстом. Каждая группа критериев — как отдельный экзаменационный билет: документ тот же, а вопросов всего 5-10, и модель обязана процитировать текст перед вердиктом. Внимание модели — не бесконечный ресурс, а лимит на один заход. Если проверяешь материал от того, у кого есть мотив тебя убедить — отчёт подрядчика, самооценка сотрудника — добавь шаг «оппонент»: отдельный запрос, который ищет контраргумент против каждого «зачтено».

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

Причина не в лени модели, а в устройстве внимания за один проход. Когда пунктов много, LLM переключается с реальной проверки на общее впечатление: если текст выглядит гладким и убедительным, ставится «выполнено» без факт-чека. Это не случайный шум, а системный перекос в одну сторону — модель чаще пропускает нарушения, чем находит их там, где их нет. На маленькой группе из 5-10 пунктов модель реально ищет цитату в тексте, а не угадывает — точность растёт именно от размера группы, а не от объёма вычислений.

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

Проверка документов по чек-листу → договоры, отчёты подрядчиков, заявки, резюме против списка требований, особенно когда пунктов больше 20-30 и кто-то заинтересован представить материал выгодно. Не подходит для коротких чек-листов (до 15-20 пунктов) с мощной моделью — там точность и без дробления достаточна, а дробление просто увеличит счёт за токены.

Мини-рецепт

1. Разбей чек-лист: группы по 4-32 пункта (для важных решений — 4-8, для рутины — 20-30)
2. Проверь каждую группу отдельно: полный текст документа + только эти пункты, требуй цитату перед вердиктом
3. Собери вердикты: все группы в одну таблицу, отдельно отмечены «не выполнено» и «нет данных»
4. Добавь оппонента (если есть мотив тебя убедить): отдельный запрос ищет контраргумент против каждого «выполнено»
5. Сведи итог: сравни аргумент «за» и «против» по каждому пункту → финальный вердикт

Примеры

[ПЛОХО] : Вот договор на 20 страниц и список из 40 пунктов — проверь всё соответствие и скажи что не так
[ХОРОШО] : Вот полный текст договора: {текст}. Проверь ТОЛЬКО эти 5 пунктов: 1) срок поставки с датой, 2) пени за просрочку, 3) порядок приёмки, 4) форс-мажор описан конкретно, 5) порядок расторжения. Для каждого пункта: точная цитата из текста + вердикт выполнено/не выполнено/нет данных
Источник: Sharding Prevents LLM Oversight Failures and Adversarial Exploitation
ArXiv ID: 2608.06422 | Сгенерировано: 2026-08-10 05:37

Проблемы LLM

ПроблемаСутьКак обойти
Большой чек-лист отключает реальную проверкуПросишь модель сверить документ с 50–100 пунктами за один раз. Модель не проверяет каждый пункт — физически не может держать в фокусе сотню условий одновременно. Начинает угадывать. Признаётся, что не проверила 70–85% пунктов, но всё равно ставит «соответствует»Разбей чек-лист на группы по 4–32 пункта. Каждую группу проверяй отдельным запросом с полным текстом документа. Требуй цитату-доказательство перед вердиктом

Методы

МетодСуть
Дробление чек-листа (sharding) — точная проверка вместо угадыванияРаздели критерии на маленькие группы (4–32 пункта). На каждую группу — отдельный запрос: полный текст документа + только эти пункты + требование цитаты перед вердиктом. Собери все вердикты в один отчёт. Работает потому что маленький набор пунктов помещается во внимание модели целиком — она реально ищет доказательство в тексте, а не оценивает документ «на глаз». Размер группы — рычаг точности: меньше группа — выше точность, но дороже по числу запросов. Для рискованных решений (юридические, финансовые) — группы по 4–8. Для рутины — можно по 20–30. Не работает: если чек-лист короткий (до 15–20 пунктов) — дробление просто увеличивает стоимость без выигрыша в точности
Шаг «оппонент» — защита от убедительной подачиПосле базового дробления для каждого пункта с вердиктом «выполнено» делай отдельный запрос: найди контраргумент, почему условие НЕ выполнено. Потом сравни аргумент «за» и «против» и вынеси финальный вердикт. Работает потому что дробление спасает от перегрузки внимания, но не от точечного убеждения — если кто-то грамотно обосновал каждый пункт по отдельности, модель всё равно может поверить. Отдельный шаг-скептик заставляет модель искать слабые места, а не соглашаться с первой убедительной формулировкой. Применяй когда проверяешь материал от того, у кого есть мотив тебя убедить: отчёт подрядчика, самооценка сотрудника, коммерческое предложение. Для проверки своих же текстов — избыточно

Тезисы

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

Sharding PreventsLLMOversight Failures and Adversarial Exploitation

arXiv: 2608.06422

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

Это как если бы ты пришел в ресторан и попросил официанта проверить блюдо на наличие тридцати разных аллергенов одновременно. Бедолага просто кивнет, заглянет на кухню, увидит, что повар вроде чистый, и скажет, что всё в порядке. Но если ты заставишь его сначала проверить только на орехи, потом вернуться и проверить только на лактозу, а потом — на глютен, шансы выжить у тебя резко возрастают. Sharding (дробление) делает именно это: разбивает одну сложную проверку на пачку мелких и конкретных запросов.

Механика простая: вместо одного мега-промпта мы делаем серию точечных ударов. Мы берем весь документ и скармливаем его модели несколько раз, но каждый раз просим проверить только 2-3 критерия из списка. В таком режиме у LLM нет шанса «уплыть» в общие рассуждения. Она вынуждена фокусироваться на деталях, и вся магия адвокатской убедительности текста перестает работать. Исследование показывает, что когда критериев мало, модель перестает доверять «вайбу» документа и начинает реально искать несоответствия.

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

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

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

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

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