3,583 papers
arXiv:2610.04699 75 3 окт. 2026 г. FREE

Self-decidability и COVER: почему LLM нельзя доверять выбор «проверить скриптом или отдать судье»

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

TL;DR

Модель не умеет сама определить, какое правило можно проверить простым кодом, а какое требует суждения. На очевидных случаях разные модели отвечают почти одинаково. Стоит дать им отдельные условия из регуляторного текста, и ответы разъезжаются. COVER (corroborate-then-verify, «подтверди, потом проверь») — способ обойти эту слабость. Несколько независимых моделей лишь выдвигают кандидатов на проверку кодом. Правило пропускают дальше, только если реально написанная проверка прошла тест на вмешательство.

Болезнь устроена так. Одни модели склонны объявлять «это проверяется кодом» слишком часто, другие слишком редко. «Самой осторожной» модели не существует: та, что осторожна на тексте закона, становится самой беспечной на правилах агента. Хуже всего то, что на правилах агента ошибаются все вместе, в опасную сторону. Поля вроде customer_consent_logged звучат механически, и модели записывают их в «проверяемое кодом». Но что именно значит «согласие получено», код не решит. Такое условие не уйдёт на проверку судье, и нарушение пройдёт молча.

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

🔬

Схема метода

ШАГ 1: Каждая модель из панели (3–4 разных) слепо размечает условие:
        «проверяется кодом» / «нужно суждение» → таблица ответов
ШАГ 2: Оставить только единогласное «кодом» → кандидаты (это ещё не вердикт)
ШАГ 3: Для кандидата написать проверку и устроить ей вмешательство:
        (а) читает поля, которые агент не может записать
        (б) меняет вывод, если поменять эти поля
        (в) держится при детерминированной переформулировке записи
ШАГ 4: Прошла все три → отдать скрипту. Не прошла → судье/человеку

Шаги 1–2 выполняются в нескольких отдельных чатах. Шаг 3 — отдельный запрос на каждого кандидата.

🚀

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

Задача: Маркетплейс запускает агента, который проверяет рекламные посты блогеров перед публикацией. Правила пришли извне: закон о рекламе и требования площадки. Юрист разбил их на отдельные условия. Нужно решить, что отдать регулярке или скрипту, а где обязательно нужен судья (LLM или человек).

Промпт (шаг 1, запускается в 3–4 разных моделях — Claude, ChatGPT, Gemini, DeepSeek):

Ты классифицируешь условие правила. Отвечай строго одним из двух слов, без оговорок.

DECIDABLE = фиксированная процедура над явно указанными фактами возвращает
точный ответ без толкования, оценки степени или ценностного суждения.
Иначе — JUDGMENT.

Условия:
1. В тексте поста есть идентификатор erid.
2. Пост не вводит аудиторию в заблуждение о свойствах товара.
3. Метка «реклама» стоит в первых двух строках поста.
4. Условия рассрочки изложены достаточно понятно.
5. Пост опубликован не позже трёх рабочих дней после согласования.
6. В карточке записано поле partner_consent_logged = true (согласие партнёра получено).

Формат ответа: номер — DECIDABLE/JUDGMENT.

Результат: Каждая модель выдаст таблицу из шести строк. Очевидные пункты (1, 3, 5, а также 2 и 4 с обратным знаком) скорее всего совпадут у всех. Расхождения ждите на пунктах вроде 6: название поля звучит механически, но нужно ещё понять, кто и как это поле заполняет. В кандидаты идут только единогласные DECIDABLE. Дальше по каждому кандидату запускается шаг 2 (см. шаблон ниже): модель пишет проверку и называет поля, которые она читает. Если агент может их изменить сам, пункт возвращается судье.

🧠

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

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

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

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

Рычаги: - Размер панели. Больше моделей даёт больше расхождений и более строгий набор кандидатов. Платите охватом. - Строгость рубрики. Подробная инструкция с процедурой и примерами даёт согласие, но не правильность. Не усиливайте рубрику ради «стабильности». - Условие допуска. Единогласие можно заменить на «все, кроме одной» ради охвата. Точность упадёт. - Правило по умолчанию. Сомнение уходит судье. Это дороже, но безопасно: ошибка в эту сторону стоит лишь лишнего вызова.

📋

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

Шаг 1 — классификатор (рубрика из статьи, запускать в нескольких разных моделях):

Ты классифицируешь условия правила. Отвечай без оговорок и объяснений.

DECIDABLE = фиксированная процедура над явно указанными фактами возвращает
точный ответ, без толкования, оценки степени и ценностного суждения.
Всё остальное = JUDGMENT.

Условия:
{список_условий}

Формат: номер — DECIDABLE или JUDGMENT.

Шаг 2 — испытание кандидата (только для единогласных DECIDABLE, по одному условию):

Условие: {условие}
Данные, которые видит проверка: {список_полей_и_кто_их_заполняет}

1. Напиши точную проверку (формулу, регулярное выражение или псевдокод).
2. Перечисли поля, которые она читает.
3. Для каждого поля ответь: может ли агент, который проверяется, изменить
   его сам? Если да — проверка не годится.
4. Придумай изменение входных данных, после которого вывод проверки обязан
   измениться. Покажи, меняется ли он.
5. Перепиши запись детерминированно (другой порядок полей, другой формат
   даты, те же факты). Даст ли проверка тот же результат?

Вердикт: ПРОХОДИТ (все три теста) или ВОЗВРАЩАЕТСЯ СУДЬЕ (с указанием, какой тест не пройден).

Что подставлять: {список_условий} — отдельные условия правил, разбитые по одному; {условие} — единогласный кандидат из шага 1; {список_полей_и_кто_их_заполняет} — реальные поля вашего агента или CRM и кто их пишет (человек, система или сам агент).

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

Вот шаблон двухшаговой проверки «что можно отдать скрипту, а что — судье».
Адаптируй под мою задачу: {твоя_задача}. Задавай вопросы, чтобы заполнить поля.

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

LLM спросит, из каких правил состоит задача, какие поля видит проверка и кто их заполняет. Это нужно потому, что весь шаг 2 держится на вопросе «может ли агент подделать вход». Без этих сведений тест не провести.

⚠️

Ограничения

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

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

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

⚠️ «Правда» — приближённая: эталонные метки на реальных корпусах проставлены LLM. Человеческая разметка сделана лишь на небольшой выборке (53 правила FINRA), хотя картина там та же.

⚠️ Модели не новейшие: панель — Claude Sonnet и Opus, GPT-4o, Llama-3.1-70B. Добавленная позже модель с рассуждением только усилила разброс, но сегодняшние версии могут вести себя иначе.

⚠️ Полная схема требует кода: в статье гейт описан для автоматического прогона. Выше показана ручная версия, которую автор не проверял в таком виде. Текст исследования также обрывается на разделе про корроборацию, часть деталей проверки (§8.2 и далее) здесь не видна.

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

🔍

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

Автор собрал 832 отдельных условия из шести источников. Крайние точки шкалы — IFEval (чисто проверяемые кодом инструкции) и MT-Bench (чистые суждения). Между ними — «серая зона»: тексты EU AI Act и FINRA, правила реального кредитного агента и синтетический контрольный набор. Четыре модели трёх лабораторий размечали каждое условие под четырьмя вариантами рубрики и двумя видами «встряски» (переформулировки). Итого около 22 000 вызовов.

На краях шкалы модели почти не расходятся (согласие 0.92–0.99). На регуляторном тексте согласие падает до 0.20–0.50, и спорной оказывается середина, а не хвост: 65% условий EU AI Act, 52% FINRA. Затем автор проверил самую очевидную отговорку: «может, это просто двусмысленная формулировка, а не слабость моделей». Он заранее зафиксировал порог (падение спорности больше чем на 5 п.п. подтвердит возражение) и перепроверил с подробной рубрикой. Порог перешагнули: спорность упала на 31 п.п. на EU AI Act. Но согласие, которое «купила» инструкция, верно лишь в 58% случаев, против 89% у согласия, возникшего само. Константа «всегда проверяемо» набрала бы около 75%. Разные восемь примеров в рубрике открыли другую треть условий: подробность инструкции оказалась лотереей.

Больше всего удивил итог про «судью». Сверка с эталонным судьёй поднимала показатель с 30% до 77%, а доля реально проверяемого кодом не менялась. Судья из той же популяции моделей подтверждает общие слепые зоны. Практический вывод: доказательством служит исполненная проверка, а не чьё-то мнение, пусть и модели.

💡

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

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

Это достроено мной по результатам статьи, сама статья этого правила не проверяла. В инструкцию агента-проверяющего или в CLAUDE.md можно добавить:

Прежде чем отнести условие к «проверяемому скриптом», назови поле,
которое читает проверка, и укажи, кто его записывает. Если поле может
записать проверяемый агент или оно описывает «согласие», «адекватность»,
«понятность» — классифицируй как JUDGMENT.

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

🔗

Ресурсы

  • Anthony Rhodes, Not Self-Decidable: LLMs Cannot Draw the Boundary of What an Agent Verifier Can Check, Confidential Core AI. Принято на воркшоп NeurIPS 2026 «Who Verifies the Agents?».
  • Корпуса: IFEval, MT-Bench, EU AI Act, FINRA, RegData (подсчёт обязательных требований в US CFR).
  • Связанная работа: Zhou & Shbita, Evaluating Ill-Defined Tasks in LLMs; Kaplow о правилах и стандартах.

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

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

Обнаружено: LLM не умеет сама решать, какое правило проверяется кодом, а какое требует суждения. На правилах агента ошибаются все модели сразу, и в опасную сторону. Метод COVER позволяет отделить условия, которые честно можно отдать скрипту, от тех, где нужен судья (другая LLM или человек). Фишка: поле вроде customer_consent_logged звучит как флажок, и модели хором записывают его в «проверяемое кодом». Но что значит «согласие получено», код не решит. COVER считает ответ модели лишь предположением. Несколько разных моделей выдвигают кандидатов. Дальше проверку пишут и испытывают вмешательством. Скрипту уходит только то, что прошло все три теста.

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

Работает как процесс из четырёх шагов. 1. Панель из 3–4 разных моделей слепо размечает каждое условие: «кодом» или «суждение». 2. Берём только единогласное «кодом». Это кандидаты, а не вердикт. 3. На каждого кандидата пишем конкретную проверку и ломаем её тремя способами: читает ли она поля, которые агент не может записать сам. Меняется ли вывод, если эти поля поменять. Держится ли результат, если запись переформулировать механически. 4. Прошла все три теста: отдаём скрипту. Не прошла: отдаём судье. Решает не мнение модели, а проверка, которую реально написали и испытали. Это как допуск к работе. Резюме кандидата ещё ничего не значит, пока он не прошёл пробное задание. Если сомневаешься, отдавай судье. Лишний вызов стоит дешевле пропущенного нарушения.

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

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

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

Автоматизация проверок → правила приходят из закона или регламента, и нужно решить, что отдать регулярке или скрипту, а что судье. Особенно когда в правилах есть поля, которые заполняет сам проверяемый агент: согласия, подтверждения, статусы. Хорошо для модерации рекламы, проверки договоров, комплаенса (соблюдения регуляторных требований) и контроля действий ИИ-агентов. Не подходит, если нужен максимальный охват. Единогласный набор отдаёт судье большую часть того, что на самом деле проверяется кодом. Безопасность покупается ростом стоимости. Не рассчитан на злонамеренного автора правил: агент может ошибаться, но не обманывает проверку специально. На реальных правилах агента точность единогласия падает заметно ниже, чем на тексте законов.

Мини-рецепт

1. Нарежь правила: одно условие на строку. Никаких «и», «или» внутри условия.
2. Собери панель: 3–4 модели из разных лабораторий, каждая в отдельном чате. Не в одном диалоге.
3. Слепая разметка: вставь промпт-классификатор в каждую модель. Ответы друг другу не показывай.
4. Выбери единогласных: только условия, где все сказали «ПРОВЕРЯЕМО». Остальное сразу судье.
5. Испытай каждого кандидата: отдельный запрос на условие. Укажи реальные поля и кто их заполняет: человек, система или сам агент.
6. Читай вердикт строго: если проверка читает поле, которое агент может записать сам, пункт возвращается судье.
7. Не знаешь поля своей системы? Вставь шаблон в чат и попроси задавать вопросы. Без ответа «кто пишет это поле» тест не провести.

Шаг 1, промпт-классификатор:
Ты классифицируешь условия правила. Отвечай без оговорок и объяснений.
ПРОВЕРЯЕМО = фиксированная процедура над явно указанными фактами возвращает точный ответ, без толкования, оценки степени и ценностного суждения. Всё остальное = СУЖДЕНИЕ.
Условия:
{список_условий}
Формат: номер — ПРОВЕРЯЕМО или СУЖДЕНИЕ.


Шаг 5, испытание кандидата:
Условие: {условие}
Данные, которые видит проверка: {поля_и_кто_их_заполняет}
1. Напиши точную проверку (формулу, регулярное выражение или псевдокод).
2. Перечисли поля, которые она читает.
3. Для каждого поля ответь: может ли проверяемый агент изменить его сам? Если да — проверка не годится.
4. Придумай изменение входных данных, после которого вывод обязан измениться. Покажи, меняется ли он.
5. Перепиши запись детерминированно (другой порядок полей, другой формат даты, те же факты). Даст ли проверка тот же результат?
Вердикт: ПРОХОДИТ (все три теста) или ВОЗВРАЩАЕТСЯ СУДЬЕ (с указанием, какой тест не пройден).

Примеры

[ПЛОХО] : Какие из этих правил для проверки рекламных постов можно проверить скриптом, а какие надо отдавать на суждение? Один чат, одна модель, верим ответу. Поле partner_consent_logged = true уедет в «скрипт»: название звучит как флажок. Кто его заполняет, никто не спросил.
[ХОРОШО] : Те же шесть условий идут в Claude, ChatGPT, Gemini и DeepSeek по отдельности. В кандидаты попадают только единогласные «ПРОВЕРЯЕМО»: наличие идентификатора erid, метка «реклама» в первых двух строках, срок публикации. Для каждого кандидата запускается второй промпт. Ему передают реальные поля: поле partner_consent_logged заполняет менеджер маркетплейса вручную; сам агент его изменить не может. Если же это поле пишет сам агент, проверка не проходит третий вопрос про подделку. Условие уходит судье. А «пост не вводит аудиторию в заблуждение» и «условия рассрочки изложены достаточно понятно» судье отправляются сразу.
Источник: Not Self-Decidable: LLMs Cannot Draw the Boundary of What an Agent Verifier Can Check
ArXiv ID: 2610.04699 | Сгенерировано: 2026-10-06 05:00

Проблемы LLM

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

Методы

МетодСуть
Единогласие разных моделей — фильтр кандидатовЗадай одно и то же условие 3–4 моделям из разных лабораторий. Каждая отвечает в отдельном чате, вслепую: DECIDABLE или JUDGMENT. Оставь только то, где все сказали DECIDABLE. Это кандидаты, а не вердикт. Остальное идёт судье. Почему работает: модели из разных семей ошибаются в разные стороны. Перегибы одной вычёркивает другая. Когда да: много правил, ошибка «слишком смело» дорога. Цена: часть реально проверяемого кодом уйдёт судье. Это лишние расходы, но безопасно. Чем больше моделей, тем строже отбор. Когда нет: если все модели из одной семьи или условие про поведение агента. Там ошибки у всех общие
Испытание проверки вмешательством — отсев поддельных проверокДля каждого кандидата попроси модель написать конкретную проверку (формулу, регулярку, псевдокод). Затем задай три теста. 1) Какие поля читает проверка? Может ли агент записать их сам? Если да, не годится. 2) Придумай изменение входа, после которого вывод обязан измениться. Меняется ли он? 3) Перепиши запись другим порядком полей и форматом даты, с теми же фактами. Результат тот же? Прошла все три — отдай скрипту. Нет — судье. Почему работает: проверка конкретнее суждения «звучит механически». Её можно сломать и увидеть поломку. Модель плохо чувствует границу в общем, но хорошо пишет код и называет его входы. Запрос: Условие: {…}. Поля, которые видит проверка: {поле — кто заполняет}. 1. Напиши проверку. 2. Перечисли поля. 3. Может ли агент изменить поле сам? 4. Покажи изменение, меняющее вывод. 5. Перепиши запись без смены фактов. Вердикт: ПРОХОДИТ или ВОЗВРАЩАЕТСЯ СУДЬЕ (какой тест провален). Нужно: реальные данные о полях и о том, кто их пишет. Без них тест не провести

Тезисы

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

Not Self-Decidable:LLMsCannot Draw the Boundary of What anAgentVerifier Can Check

arXiv: 2610.04699

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

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

Решает эту проблему архитектура COVER — подход corroborate-then-verify. Вместо слепого доверия одной сетке ты берёшь несколько независимых моделей, которые лишь выдвигают кандидатов на автоматизацию. Дальше пишется реальный код проверки и прогоняется через жесткий тест на вмешательство. Только если скрипт на практике доказал, что железно ловит ошибки, правило отдают коду, а остальное отправляют судье-человеку.

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

Главный вывод: модель органически не видит границ собственной применимости. Хватит наивно ждать, что AI сам соберёт под себя надёжный пайплайн. Внедряй проверку кандидатов через COVER и тестируй реальный код на прочность, иначе твоя автоматизация начнёт пропускать тонны нарушений, а разгребать штрафы придётся в ручном режиме.

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

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

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