Второй уровень: приёмка. В заранее описанном сценарии система показывает наблюдаемый результат. Повторный запрос не создаёт второй платёж. Пользователь видит понятный статус. Состояние можно проверить через интерфейс или API.

Третий уровень: решение. Команда подтверждает, что выбрала правильный сценарий, допустила приемлемые компромиссы и не спрятала важный риск за зелёным тестом.

Без предварительного критерия проверяющий смешивает эти уровни. Исполнитель показывает результат, а проверяющий оценивает то, что уже лежит перед ним. Если решение выглядит аккуратно, проверяющий незаметно подстраивает критерий под реализацию.

С AI-агентом этот эффект сильнее. Агент быстро создаёт убедительный результат: документ, код, тесты и логи. Чем полнее пакет, тем труднее вернуться к исходному вопросу и спросить, решена ли нужная задача.

Поэтому хороший критерий приёмки описывает не внутреннее устройство решения, а наблюдаемое поведение в конкретном сценарии. Его можно сформулировать одной строкой до реализации:

«Если клиент повторяет запрос после таймаута с тем же ключом идемпотентности, система возвращает тот же платёж и не создаёт дубль».

Такая строка не диктует архитектуру. Она оставляет исполнителю свободу, но не позволяет заменить исходную задачу удобным результатом.