September 3

Просишь 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).