Три промаха, которые повторяются у всех
- Противоречие двух чисел на одной странице. Это ровно та работа, которой занят человек при вычитке спецификации: тут написано одно, а тремя абзацами ниже другое. Модель читает оба фрагмента и не сопоставляет их между собой.
- Нижняя граница диапазона. Ограничение «не длиннее» соблюдается, «не короче» — нет. Промах устойчивый и односторонний: ни одного случая перелёта вверх, все девять — недолёт.
- Выдуманное поле, которого не было в задании. Пять моделей из пяти добавили в ответ срок выполнения, хотя в задании сроков не было вовсе. Четверо назвали конкретный срок, один честно написал «зависит от объёма» — и это единственный правильный ответ из пяти.
Общее у всех трёх — они не выглядят как ошибки. Ответ связный, оформлен по правилам, формально полный. Промах виден, только если сверить его с исходным заданием построчно — то есть сделать ровно ту работу, ради которой модель и звали.
Почему на сверку чисел мы больше не зовём модель
Вывод из первого промаха практический: если задача сводится к сравнению значений по правилу, её решает обычный код. Он не устаёт, не зависит от формулировки промпта и стоит нисколько.
| Задача | Чем решать | Почему |
|---|---|---|
| Сверить два числа между собой | детерминированный чекер | 17 промахов из 21 у моделей; правило формулируется точно |
| Проверить попадание в диапазон | детерминированный чекер | нижнюю границу модели игнорируют устойчиво |
| Понять, что текст говорит не то, что заявлено | модель | здесь правило не формулируется — и здесь модель полезна |
Граница проходит не по сложности задачи, а по формулируемости правила. Если правило можно записать — записывайте кодом. Модель нужна там, где правило записать нельзя.
Что помогает, а что нет
Мы проверяли способы вытянуть эти промахи и разделили их на работающие и бесполезные.
- Работает: критерий приёмки внутри задания. Не «сделай хорошо», а «выполненной работой считается вот такая пара». Тот же эффект, что и в замере, где разрешение отказаться меняло результат в восемнадцать раз.
- Работает: явный запрет додумывать поля. Строка «в ответе не должно быть ничего, чего нет в задании» снимает выдуманный срок — но её надо написать: сама модель такой границы не держит.
- Не работает: просьба «будь внимательнее». Мы проверяли; изменений в пределах разброса.
- Не работает: выбор модели подороже. Промах на сверке чисел встречается у всех проверенных — он про устройство задачи, а не про уровень модели.
Что забрать себе
- Сверку значений не поручайте модели. Это самое слабое её место и самое сильное место обычного кода.
- Проверяйте нижние границы отдельно. Верхние соблюдаются сами.
- Сравнивайте ответ с заданием построчно — выдуманное поле выглядит уместным и не вызывает подозрений.
- Пишите критерий приёмки внутри задания, а не держите его в голове.