3,583 papers
arXiv:2606.28733 73 27 июня 2026 г. FREE

Agentic Abstention + CONVOLVE: когда LLM должна остановиться вместо следующей попытки

КЛЮЧЕВАЯ СУТЬ
Лучшие модели останавливались вовремя лишь в 27% случаев — в остальных 73% продолжали искать несуществующее или выдумывали. CONVOLVE позволяет задать агенту явные условия остановки: тогда он скажет «данных нет» вместо уверенного текста из воздуха. Фишка: конкретное условие «если видишь X — стоп» работает в разы надёжнее общей установки «будь честным» — модель следует структурированным правилам значительно точнее, чем абстрактным инструкциям. Метод накапливает эти правила после каждой неудачи — список растёт, агент ошибается реже.
Адаптировать под запрос

TL;DR

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

Модели обучены давать ответы — признавать поражение им неcвойственно. Когда задача содержит противоречие или требует ресурс, которого нет, модель не скажет "это невозможно" сразу. Она продолжит пробовать: ещё один поиск, ещё одно предположение, ещё один инструмент. До тех пор пока не выдаст что-то неверное или не исчерпает все попытки. В исследовании лучшие модели останавливались вовремя только в 27% случаев, когда должны были.

CONVOLVE решает это через три шага: агент делает попытку → рефлексирующий агент анализирует траекторию и формулирует стоп-правило → куратор добавляет правило в playbook. Для обычного пользователя принцип напрямую переводится в ручную практику: сформулировать список явных "условий остановки" и добавить их в промпт перед сложным многошаговым заданием.


🔬

Схема метода

Один эпизод → полная траектория действий

ШАГ 1: РЕФЛЕКСИЯ
  Рефлексирующий агент читает траекторию → определяет:
  - когда агент должен был остановиться?
  - какие наблюдения были сигналами "прекрати"?
  - какие действия были лишними?

ШАГ 2: ОБНОВЛЕНИЕ PLAYBOOK
  Куратор преобразует рефлексию → краткие стоп-правила
  Структура: [тип задачи] → [сигнал остановки] → [что сказать]
  Playbook обновляется: старые правила уточняются, новые добавляются

ШАГ 3: ВПРЫСК КОНТЕКСТА
  При следующем эпизоде → playbook добавляется в системный промпт
  Агент видит правила до начала работы

Все шаги — в отдельных вызовах LLM, не в одном промпте.

⟳ Цикл повторяется после каждого эпизода — playbook растёт.


🚀

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

Задача: Ты заказываешь у Claude ресёрч по конкурентам — найти реальные отзывы о новом B2B-сервисе, который только вышел на рынок. Информации почти нет. Вместо того чтобы сказать "не нашёл — данных нет", Claude начинает строить предположения, цитировать несуществующие источники, обобщать из смежных ниш. Ты получаешь уверенный текст о несуществующих вещах.

Промпт:

Ты аналитик-исследователь. Твоя задача — найти конкретную информацию. 
Ты ОБЯЗАН остановиться и сообщить об этом, если столкнёшься 

с любым из условий ниже.

УСЛОВИЯ ОСТАНОВКИ (Playbook):

[Нет данных]
Сигнал: ты не нашёл реальных источников после двух попыток поиска
Действие: остановись и напиши "Достоверных данных не найдено. 
Вот что мне известно и что остаётся неизвестным: ..."

[Противоречие в задаче]
Сигнал: задача содержит взаимоисключающие требования
Действие: остановись и напиши "Задача содержит противоречие: [что именно]. 
Уточни, что важнее."

[Нет верифицируемого ответа]
Сигнал: вопрос требует информации, которой у тебя не может быть 
(свежие данные, приватная информация, прогнозы)
Действие: остановись и напиши "Это невозможно проверить. Чтобы получить 
реальный ответ, нужно: [что именно]."

[Субъективность без критериев]
Сигнал: задача требует оценки "лучшего" / "правильного" без заданных критериев
Действие: остановись и уточни критерии перед началом работы

---

ЗАДАЧА:
Найди реальные отзывы пользователей о сервисе {название_сервиса} — 
конкретные кейсы, цифры, упоминания в профессиональных сообществах.

Результат: Модель сделает одну-две попытки найти информацию. Если реальных данных нет — она остановится и чётко скажет: "Достоверных данных не найдено. Вот что известно и что остаётся белым пятном." Вместо уверенных галлюцинаций — честная карта незнания.


🧠

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

Слабость LLM. Модель генерирует текст по паттерну — и паттерн "давать ответ" доминирует над паттерном "признавать невозможность". Это не лень и не обман — просто обучение было преимущественно на задачах с правильным ответом. Задачи без ответа встречались реже, и у модели нет встроенного инстинкта "стоп, это невыполнимо".

Сильная сторона LLM. Модель очень хорошо следует явным структурированным правилам в контексте. Если написать "ЕСЛИ видишь X — делай Y" — она будет следовать этому значительно надёжнее, чем general instruction "будь честной". Конкретное условие > абстрактная установка.

Как CONVOLVE это использует. Метод превращает прошлые ошибки в конкретные правила-триггеры и добавляет их до начала работы. Модель не ждёт пока сама "поймёт" что задача невыполнима — она сверяется со списком сигналов в начале каждого шага. Чем богаче playbook, тем точнее остановка.

Рычаги управления в ручном применении:

Что менять Эффект
Добавить новое стоп-правило после реальной ошибки Playbook точнее, меньше галлюцинаций
Убрать [Субъективность без критериев] Модель будет пробовать, а не уточнять
Добавить [Превышение шагов] → "если больше 3 попыток — стоп" Ограничение глубины поиска
Указать: "запиши что тебе не хватало" при остановке Получишь карту пробелов, а не тишину

📋

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

Ты {роль}. Выполняй задачи точно, без домыслов и подмены фактов предположениями.

УСЛОВИЯ ОСТАНОВКИ — следуй им строго:

[Нет подтверждённых данных]
Сигнал: после {число_попыток} попыток нет верифицируемых источников
Действие: "Данных не найдено. Известно: [...]. Неизвестно: [...]."

[Противоречие в задаче]
Сигнал: {условие_1} и {условие_2} несовместимы
Действие: "Задача противоречива: [что]. Что важнее?"

[Нет верифицируемого ответа]
Сигнал: задача требует {тип_недоступной_информации}
Действие: "Это невозможно проверить. Чтобы узнать, нужно: [что]."

[{Дополнительное условие под вашу задачу}]
Сигнал: {когда срабатывает}
Действие: {что написать}

---

ЗАДАЧА:
{задача}

Что подставлять: - {роль} — аналитик, редактор, юрист, ресёрчер - {число_попыток} — обычно 2–3, для глубоких задач 5 - {тип_недоступной_информации} — свежие данные / внутренняя статистика / прогнозы - {Дополнительное условие} — добавляй из личного опыта: куда модель у тебя уже "уходила в галлюцинации"


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

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

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

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


⚠️

Ограничения

⚠️ Не работает "из коробки" для агентских систем: Весь эффект Agentic Abstention в полную силу раскрывается только когда агент реально использует инструменты (браузер, терминал, поиск). В обычном чате без инструментов — работает принцип явных стоп-правил, но не полный CONVOLVE-цикл с накопительным playbook.

⚠️ Масштаб модели не гарантирует лучшую остановку: Исследование показало, что более мощные модели иногда хуже знают когда остановиться — они продолжают искать решение дольше. Стоп-правила нужны даже для GPT-4 и Claude 3.5.

⚠️ Ручной playbook требует кураторства: Если вы добавляете правила вручную — следите за противоречиями. Слишком много стоп-правил могут привести к over-abstention: модель начнёт останавливаться там, где должна работать.

⚠️ Environment-based задачи сложнее: Когда невозможность задачи видна только после попыток (например, товара нет в каталоге) — даже с playbook модели труднее, чем с request-based задачами (где проблема видна сразу из текста).


🔍

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

Команда создала 28 000+ задач трёх типов: покупки в симулированном магазине, работа в терминале и вопросы с поиском по Wiki. Половина задач были нарочно невыполнимыми — либо инструкция содержала противоречие, либо нужный товар удалялся из каталога уже после начала работы агента.

Тестировали 13 моделей (включая GPT-5.4-mini, Llama-3.3-70B, Qwen-3-235B и другие) и два agentic scaffold. Метрика "своевременная остановка" (timely abstention recall) — остановился ли агент в первый момент, когда у него уже хватало информации чтобы понять: задача невыполнима.

Результаты удивили даже исследователей: лучшая baseline-модель останавливалась вовремя лишь в 26.7% случаев. При этом более крупные и умные модели иногда показывали ХУЖЕ — они упорнее продолжали искать решение там, где нужно было сдаться. Reasoning-режим улучшал своевременность, но снижал общее количество правильных остановок.

CONVOLVE с 20 обучающими примерами (!) поднял своевременную остановку Llama-3.3-70B с 26.7% до 57.4%, а общий recall — до 100%. Примечательно: правила, выученные маленькой 8B моделью, также переносились на большую 70B — playbook работает как знание, не как веса.


📄

Оригинал из исследования (CONVOLVE логика)

CONVOLVE context update cycle:

After episode k:
  trajectory τ(k) = (x(k), o1, a1, ..., oT, aT)

  reflection_agent.analyze(τ(k)):
    → Was abstention warranted? At which step?
    → Which observations were abstention signals?
    → Which actions delayed abstention?

  feedback y(k) = φ(τ(k))  // abstention-relevant signals

  curator_model.update(playbook):
    → Convert reflection → concise stopping rules
    → Organize by section: [subjective_preference] 
      [underspecified_intent] [false_premise] [missing_target] [other]
    → Add new rules; refine existing; remove contradictions

  c(k+1) = U(c(k), τ(k), y(k))  // updated context for next episode

Playbook appended to system prompt for all future episodes.

Контекст: Исследователи запускали CONVOLVE на WebShop — симулированном магазине, где агент ищет и покупает товары. Часть заданий нарочно делалась невыполнимой (товар удалён из каталога). CONVOLVE учился на 20 примерах, потом тестировался на 101 отложенном примере — без обновления весов модели.


💡

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

1. Адаптация: ежесессионный playbook для повторяющихся задач

Если вы регулярно делаете однотипные задачи (конкурентный анализ, ресёрч, написание текстов определённого формата) — ведите личный playbook остановок.

💡 Адаптация для контент-мастера/ресёрчера: Создай отдельный документ "Когда Claude должен остановиться" и обновляй его после каждой галлюцинации. Добавляй в начало каждого похожего запроса.

Прежде чем начать — прочти мои правила остановки:

[Нет актуальных данных]
Если тема касается событий после 2023 или региональной специфики 
— скажи об этом до начала, не домысливай.

[Нет реальных кейсов]
Если просишь реальные примеры компаний/кейсов — только 
верифицированные. Нет верифицированных → скажи это явно.

[Неизмеримый критерий]
Если задача содержит "хороший", "качественный", "лучший" без критериев
— уточни критерии перед началом.

Задача: {задача}

2. Техника: "карта незнания" как выход из остановки

Вместо просто "не знаю" — попроси модель структурировать пробелы.

🔧 Добавь к любому стоп-правилу: "При остановке обязательно напиши: (1) что точно известно, (2) что неизвестно, (3) что нужно, чтобы ответить."

Это превращает остановку из тупика в actionable список следующих шагов.


3. Экстраполяция: CONVOLVE-принцип для командной работы с AI

Если несколько человек в команде работают с одним AI-ассистентом (например, в Notion или общем ChatGPT-пространстве): собирайте стоп-правила коллективно. Каждый раз когда кто-то поймал галлюцинацию — добавляет правило в общий playbook. Получается командный CONVOLVE вручную.


🔗

Ресурсы

  • Работа: "Agentic Abstention: Do Agents Know When to Stop Instead of Act?"
  • Сайт с датасетом и кодом: https://lhannnn.github.io/agentic-abstention
  • Авторы: Han Luo (University of Leeds, Southwest Jiaotong University, University of Washington), Bingbing Wen, Lucy Lu Wang (University of Washington, Allen Institute for AI)
  • Связанные работы: WebShop [2], Terminal-Bench 2.0 [4], AbstentionBench [19], Agentic Context Engineering [31]

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

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

Лучшие модели останавливались вовремя лишь в 27% случаев — в остальных 73% продолжали искать несуществующее или выдумывали. CONVOLVE позволяет задать агенту явные условия остановки: тогда он скажет «данных нет» вместо уверенного текста из воздуха. Фишка: конкретное условие «если видишь X — стоп» работает в разы надёжнее общей установки «будь честным» — модель следует структурированным правилам значительно точнее, чем абстрактным инструкциям. Метод накапливает эти правила после каждой неудачи — список растёт, агент ошибается реже.

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

Стандартный агент как студент, который не может сказать «не знаю» на экзамене. Он угадывает до последнего — ведь именно так его учили: на задачах, где ответ всегда есть. CONVOLVE меняет это через явный список триггеров: «нет данных после двух попыток — стоп», «задача противоречива — уточни прежде чем делать что-то». Не «будь честным» (размыто), а «при условии X делай Y» (конкретно). После каждого провала рефлексирующий агент вытаскивает из ситуации новое правило и добавляет в список — он растёт с каждым эпизодом.

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

Модель обучалась на задачах с ответом. Паттерн «дай ответ» намного сильнее паттерна «признай невозможность» — просто потому что второй встречался реже при обучении. При этом LLM отлично следует явным «если-то» правилам в контексте. Конкретный триггер активирует нужный паттерн — вместо того чтобы ждать, пока модель «сама догадается» остановиться. Жесть — более мощные модели иногда хуже знают когда остановиться: они упорнее ищут решение и дольше не сдаются. Стоп-правила нужны даже GPT-4.

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

Всё что связано с поиском реальных данных: ресёрч по конкурентам, анализ рынка, юридическая проверка документов — когда информации может просто не существовать. Особенно важно для агентских систем с инструментами (поиск, браузер, терминал) — там цена галлюцинации выше. НЕ подходит для задач, где «нет ответа» не является допустимым исходом — например, написание кода по спецификации или генерация текста в заданном стиле.

Мини-рецепт

1. Вспомни три последние галлюцинации: когда модель выдавала уверенный ответ, а данных не было. Это твои первые стоп-правила — не надо ничего выдумывать.
2. Запиши каждое в формате блока: [Название ситуации] → Сигнал (что видишь в процессе) → Действие (что написать пользователю). Начни с двух-трёх условий — не перегружай.
3. Вставь блок в начало промпта до задачи, не после. Напиши «УСЛОВИЯ ОСТАНОВКИ — следуй строго» как заголовок.
4. После каждой новой ошибки добавляй правило: увидел галлюцинацию — сформулируй условие и пополни список. Он растёт из живого опыта, а не из теории.
5. Следи за перегибом: если модель начала останавливаться там где не надо — убери лишние условия или уточни сигналы. Слишком много правил ломает в другую сторону.

Примеры

[ПЛОХО] : Найди реальные отзывы о сервисе XYZ — кейсы, цифры, упоминания в профессиональных сообществах
[ХОРОШО] : Ты аналитик-исследователь. Ищи только подтверждённые данные. УСЛОВИЯ ОСТАНОВКИ — следуй строго: [Нет данных] Сигнал: после 2 попыток нет реальных источников Действие: напиши «Данных не найдено. Известно: [...]. Неизвестно: [...]» [Нет верифицируемого ответа] Сигнал: нужна свежая или закрытая информация Действие: напиши «Это невозможно проверить. Чтобы узнать, нужно: [...]» [Противоречие в задаче] Сигнал: два требования несовместимы Действие: напиши «Задача противоречива: [что именно]. Что важнее?» ЗАДАЧА: Найди реальные отзывы о сервисе XYZ — конкретные кейсы, цифры, упоминания в сообществах.
Источник: AgenticAbstention: Do Agents Know When to Stop Instead of Act?
ArXiv ID: 2606.28733 | Сгенерировано: 2026-06-30 04:23

Проблемы LLM

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

Методы

МетодСуть
Список условий остановки в промпте — против галлюцинацийПеред сложной задачей добавь блок с явными стоп-правилами. Каждое правило = 3 части: тип ситуации + сигнал + что написать. Пример: [Противоречие в задаче] / Сигнал: два требования несовместимы / Действие: "задача противоречива — уточни что важнее". Почему работает: модель очень хорошо следует структурированным правилам вида "если X — делай Y". Значительно хуже — абстрактным установкам ("будь честной", "не придумывай"). Конкретный триггер даёт твёрдую точку остановки. Абстрактная инструкция — нет. Развивай список: после каждой реальной ошибки добавляй новое правило. Был случай с выдуманными источниками — добавь [Нет верифицируемых данных]. Был случай с домыслами про будущее — добавь [Прогноз без данных]. Чем конкретнее правила под твои задачи, тем точнее остановка

Тезисы

ТезисКомментарий
Конкретное условие работает лучше абстрактной установкиИнструкция "будь честен" — абстракция. Модель её не нарушает намеренно, просто не знает когда именно применять. Инструкция "если после двух попыток нет источников — напиши 'данных нет'" — конкретный триггер. Модель следует ему надёжно. Это универсальный принцип: любое поведение, которое хочешь получить, лучше задавать через явное условие, а не через ценность или черту характера. Применяй: переводи абстрактные требования в триггеры. Вместо "не придумывай" — "если не нашёл реального источника — скажи об этом прямо". Вместо "будь точен" — "если уверен менее чем на 80% — укажи это явно"
📖 Простыми словами

AgenticAbstention: DoAgentsKnow When to Stop Instead of Act?

arXiv: 2606.28733

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

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

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

Хотя метод тестировали на сложных программных задачах, принцип универсален для любой автоматизации. Будь то поиск редких отзывов о B2B-сервисе, которого нет в сети, или сложный ресерч рынка — CONVOLVE превращает слепого исполнителя в адекватного помощника. Это переход от тупого перебора вариантов к осознанному отказу, что критически важно для автономных систем. SEO для агентов теперь включает не только инструкции «как делать», но и жесткие фильтры «когда остановиться».

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

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

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

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