TL;DR
Когда AI-агент регулярно проваливает задачу, причина почти никогда в том, что модель "не поняла" суть. Чаще она понимает правильно, но забывает сделать рутинный шаг проверки перед тем как выдать финальный ответ — как человек, который знает как надо, но не перечитал письмо перед отправкой. Исследователи создали систему TRIAGE: она смотрит на неудачные попытки модели, ставит каждой попытке типизированный диагноз (не абстрактное "что пошло не так", а конкретную категорию сбоя), формулирует правило-исправление и проверяет его как гипотезу — сработало правило на следующей попытке или нет.
Главная находка: улучшения от таких "чек-листов правил" почти никогда поднимают потолок возможностей модели. Они закрывают процессные дырки — модель то редактирует не тот файл, то сдаёт результат без финальной проверки, то забывает прогнать тест перед отправкой. Причём какая именно дырка "болит" — зависит от контекста задачи: для одного языка программирования модель чаще забывает проверить компиляцию, для другого — портит тестовый файл. Один универсальный чек-лист под все случаи не работает, потому что сбои разные.
Метод устроен в 4 шага, повторяющихся раундами: (1) собрать транскрипты неудачных попыток, (2) типизировать причину провала по фиксированной схеме, (3) сформулировать правило с явным предсказанием эффекта, (4) проверить предсказание на новой попытке — сохранить правило или откатить его, если не сработало.
Схема метода
ШАГ 1: Прогнать задачу N раз → собрать транскрипты попыток + результат (прошло/не прошло)
ШАГ 2: Проанализировать неудачи → типизировать причину (ошибка проверки / ошибка локализации / неверный фикс / нехватка ресурсов)
ШАГ 3: Сформулировать правило-исправление → записать как проверяемое предсказание ("если добавить это правило, N задач станут решаться лучше")
ШАГ 4: Проверить правило на новой попытке → сохранить если предсказание подтвердилось, откатить если нет
Шаги выполняются в отдельных раундах — это не один промпт, а цикл из нескольких итераций с накоплением правил в памятке.
Пример применения
Задача: Вы регулярно просите ChatGPT готовить коммерческие предложения (КП) для клиентов. Каждый раз находятся одни и те же недочёты: то забыт срок действия предложения, то путается валюта, то нет призыва к действию в конце.
Промпт:
Вот три моих последних КП, которые ты составил, и что было не так с каждым:
КП №1: {текст КП} — Проблема: не указан срок действия предложения
КП №2: {текст КП} — Проблема: перепутана валюта (рубли/доллары)
КП №3: {текст КП} — Проблема: нет призыва к действию в конце
Для каждой проблемы определи тип ошибки:
(а) ты не понял задачу или контекст клиента — смысловая ошибка
(б) ты забыл выполнить обязательный формальный шаг перед сдачей — процессная ошибка
(в) задача была технически сложна и ты не справился — предел возможностей
Для каждой процессной ошибки сформулируй короткое, проверяемое правило.
Собери все правила в единый список — это будет моя постоянная инструкция для тебя.
Затем составь новое КП для клиента: {данные нового клиента}, и перед тем как выдать финальный текст, явно пройдись по каждому правилу из списка и подтверди, что оно выполнено.
Результат: Модель разберёт три прошлых провала, отсортирует их на "забыл сделать" против "не понял задачу", выдаст список из 2-4 конкретных правил (например: "всегда указывай срок действия в конце документа", "уточняй валюту в первом абзаце перед расчётами"). Дальше составит новое КП и покажет короткий чек-лист проверки перед финальным текстом. Этот список правил можно сохранить и вставлять в начало каждой новой сессии с моделью.
Почему это работает
Модель может правильно понимать задачу, но не выполнять рутинные шаги проверки перед тем как выдать ответ — это не проблема интеллекта, а проблема дисциплины исполнения. Она хорошо решает суть задачи, но забывает финальную самопроверку.
При этом модель отлично умеет анализировать свои прошлые ошибки постфактум, если её просят не абстрактно порефлексировать, а конкретно классифицировать причину — по заданным категориям, а не свободным текстом.
Метод соединяет эти два факта: вместо расплывчатого "подумай, что не так" — жёсткая типизация причины плюс явное правило с проверкой на практике. Так расплывчатая саморефлексия превращается в конкретные, тестируемые улучшения инструкции.
Рычаги управления: - Схема типов ошибок → сузьте или расширьте под свою задачу (для текстов: формат / тон / факты / призыв к действию) - Число раундов проверки → для простых повторяющихся задач достаточно 1-2 раунда, для сложных — повторяйте несколько сессий подряд - Место хранения правил → если правил становится много, вынесите их в отдельный документ-памятку и вставляйте в начало каждой новой сессии, не держите всё в одном промпте
Шаблон промпта
Вот несколько моих попыток решить задачу «{задача}», которые оказались неудачными:
{список неудачных попыток и в чём была проблема с каждой}
Проанализируй каждую неудачу и определи тип ошибки:
- Неправильно понял задачу (смысловая ошибка)
- Забыл выполнить обязательный шаг проверки перед сдачей (процессная ошибка)
- Не хватило возможностей технически (предел возможностей)
Для каждой процессной ошибки сформулируй короткое, проверяемое правило —
такое, чтобы можно было явно проверить, выполнено оно или нет.
Собери правила в единый список — это моя постоянная инструкция для тебя.
Теперь примени этот список к новой задаче: {новая_задача}.
Перед тем как дать финальный ответ, пройдись по каждому правилу и подтверди,
что оно выполнено.
Подставьте вместо {задача} — вашу повторяющуюся рабочую задачу (написание постов, договоров, писем), вместо {список неудачных попыток} — реальные примеры, где результат не подошёл, вместо {новая_задача} — следующую похожую задачу.
🚀 Быстрый старт — вставь в чат:
Вот шаблон системы накопления правил для повторяющейся задачи. Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит какие именно попытки были неудачными и почему — потому что без конкретных провалов система не может типизировать ошибки и написать полезные правила. Она возьмёт паттерн из шаблона и адаптирует под вашу задачу.
Ограничения
⚠️ Не лечит предел возможностей: если модель проваливает задачу не из-за забытого шага, а потому что объективно не справляется с сутью (не хватает понимания) — никакой чек-лист правил не поможет. Здесь нужна другая модель или другой подход к задаче.
⚠️ Правила плохо переносятся между контекстами: чек-лист, собранный для одной темы или формата, почти не годится для другой — большая часть правил (20-40% в исследовании) специфична именно под конкретный контекст. Для новой задачи придётся собирать новый набор правил заново.
⚠️ Нужна история провалов: метод работает через накопление опыта на реальных неудачах. С первого промпта без примеров прошлых ошибок полезных правил не получится — нужно сначала накопить несколько неудачных попыток.
Ресурсы
TRIAGE (Typed Routing and Instrumented Attribution for Guided Evolution) — Siqi Yang, Qianlan Yang, Yu-Xiong Wang (University of Illinois Urbana-Champaign), Saurabh Pujar, Martin Hirzel (IBM). Тестировалось на Multi-SWE-Bench (8 языков программирования × 3 модели: Claude Haiku 4.5, GPT-5-mini, DeepSeek-V4-Flash). Код: github.com/IIDA-Institute/triage
