Просишь ChatGPT «проверь на ошибки» — получаешь «всё отлично». Ошибки при этом остаются
Знакомая ситуация: скидываешь ChatGPT договор или текст, просишь «проверь на ошибки» — он хвалит структуру, цепляет пару мелочей, ты выдыхаешь. А главная дыра всплывает потом, когда документ уже отправлен. Amin Haeri и Mahdi Ghelichi из TD Bank (июль 2026) нашли причину: без явного списка требований модель находит примерно половину реальных проблем, а треть её замечаний — ложные тревоги. Стоит дать ей список и попросить проверить каждый пункт по очереди — и в их эксперименте она поймала все проблемы до одной, 30 из 30. Разница — один блок текста в промпте.
В чём проблема: без списка модель проверяет то, что сама считает важным
Когда ты пишешь «найди проблемы», модель не знает, что именно ты забыл, — твоих требований она не видела и угадать их не может. Из-за этого она проверяет то, что сама считает важным: типовые вещи, которые «обычно ломаются». Очевидное находит, а промахивается ровно там, где ты сам что-то упустил, — эти случаи никто явно не сформулировал, поэтому для неё их просто нет. Второй эффект — ложные тревоги: без правил модель судит «на глаз», и в исследовании треть её замечаний указывала на проблемы, которых не было. Количеством это не лечится: удвоение числа проверок дало почти ноль (+4 процентных пункта), а восемь независимых прогонов «проверь граничные случаи» вместе не дотянули до одного прохода по списку. Это как принимать квартиру у застройщика без чек-листа: посмотришь на ровные обои, скажешь «всё отлично» — а что розетки не работают, узнаешь через неделю.
Решение: список требований и проверка каждого по очереди
Не проси «проверить» — проси «проверить против списка». Составь 5–10 конкретных требований и попроси модель пройти по каждому отдельно: статус, что именно не так, цитата из материала. Если критериев под рукой нет, сначала попроси их составить: «Составь список из 7–10 конкретных, проверяемых критериев качества для [тип материала]. Каждый критерий должен быть объективным: можно ответить ДА или НЕТ» — и потом запускай проверку по этому списку. Формат вторичен: даже требования сплошным абзацем подняли результат с 2 до 27 пойманных проблем из 30, а нумерованный список добил до 30 из 30.
→ Что делать: проверяй по явному списку требований:
Проверь {что проверяем} против следующего списка требований.
Требования:
1. {требование_1}
2. {требование_2}
3. {требование_3}
[... все требования]
Для каждого требования по очереди:
- Статус: ✅ выполнено / ⚠️ частично / ❌ нарушено
- Конкретное объяснение: что именно не так (если не выполнено)
- Цитата из материала, которая демонстрирует проблему (если применимо)
В конце — краткий список правок: что именно переписать и как.
Вот материал для проверки:
{текст / план / документ}Почему это работает
Без списка модель проверяет по собственному представлению о «важном». Она не знает, что именно ты пропустил, поэтому промахивается в тех самых неочевидных местах — и заодно выносит субъективные замечания «здесь слабовато», треть из которых оказывается ложной тревогой (33% против 0% при проверке по списку). Явный список превращает каждое требование в отдельное задание. Модель больше не выбирает, что проверять, — она обязана пройти всё по очереди, поэтому неочевидный случай перестаёт быть догадкой и становится пунктом, который нельзя пропустить. А формулировка «нарушено правило 4» даёт якорь: либо нарушено, либо нет — субъективность исчезает. Оптимум — 5–10 правил: больше 15 — внимание модели к каждому падает. Честная граница приёма: он работает там, где критерии в принципе существуют. Для творческих задач — «придумай, как лучше» — списка правил нет, и эффекта не будет.
Пример
Снимаешь квартиру, собственник прислал договор на четыре страницы. «Проверь, всё ли ок» вернёт «в целом стандартный договор». Вместо этого:
Проверь договор аренды квартиры против следующего списка требований. Требования: 1. Указан размер депозита и условия его возврата 2. Прописано, кто платит за коммуналку, интернет и мелкий ремонт 3. Есть условия досрочного расторжения и срок предупреждения — для обеих сторон 4. Зафиксировано, что плата не меняется в течение срока договора 5. Есть акт приёма-передачи с состоянием квартиры и мебели 6. Прописаны условия визитов собственника — только по договорённости Для каждого требования по очереди: - Статус: ✅ выполнено / ⚠️ частично / ❌ нарушено - Конкретное объяснение: что именно не так - Цитата из договора, которая демонстрирует проблему В конце — краткий список: что попросить изменить до подписи. Вот договор: [текст договора]
Вместо «в целом нормально» получишь построчный разбор: «правило 1 частично: депозит указан, но не написано, когда и как он возвращается» — и готовый список правок для разговора с собственником. Тот же шаблон работает для статьи перед публикацией, лендинга и важного письма — меняются только требования.
Где пригодится
- Договоры и документы перед подписью — аренда, подряд, оферта: список условий вместо «глянь, всё ли ок»
- Тексты перед отправкой — статья, лендинг, письмо клиенту: явные требования вместо «свежего взгляда»
- КП и питчи — в роли списка возьми типичные возражения клиента или инвестора и проверь, закрыто ли каждое
- Правило: нет списка — нет проверки; сначала попроси модель составить критерии, потом проверяй по ним
Если хочешь такие находки из свежих исследований каждый день — их присылает бот @NovaPaperAlert_bot.
Опирался на исследование «Specification Grounding Drives Test Effectiveness for LLM Code» (arXiv 2607.06636).