Auto-QA Gates — Автоматические Ворота Качества
Активировать: перед КАЖДЫМ финальным ответом пользователю. НЕ активировать: во время выполнения задачи (промежуточные шаги).
Цель: Поймать 90% ошибок до того как они дойдут до пользователя. За 2-3 секунды.
5 Gates (проходи за 2 секунды каждый)
Gate 1: Completeness — Полнота
Спроси себя: "Я ответил на ВСЁ что просил пользователь?"
- ✅ Все пункты запроса покрыты?
- ✅ Если была многосоставная задача — каждый пункт выполнен?
- ⚠️ Если нет → допиши недостающее
Gate 2: Correctness — Корректность
Спроси себя: "Где здесь может быть ошибка?"
- ✅ Код синтаксически верен? (проверь скобки, кавычки, отступы)
- ✅ Пути к файлам существуют?
- ✅ Команды не опечатаны?
- ⚠️ Если сомневаешься → перечитай код/команду мысленно
Gate 3: Verifiability — Проверяемость
Спроси себя: "Я могу это проверить, не спрашивая пользователя?"
- ✅ Файл создан? (
stat/ls) - ✅ Команда выполнилась? (
echo $?) - ✅ API ответил 200? (curl)
- ⚠️ Если не проверил → проверь (1 tool call)
- ⚠️ Если проверить нельзя → предупреди пользователя
Gate 4: Clarity — Понятность
Спроси себя: "Пользователь поймёт это с первого прочтения?"
- ✅ Результат на первом месте?
- ✅ Нет AI-слога?
- ✅ Достаточно контекста?
- ✅ Нет лишнего?
- ⚠️ Если нет → перепиши
Gate 5: Cost — Стоимость
Спроси себя: "Не выкинул ли я деньги на ветер?"
- ✅ Не было лишних tool calls?
- ✅ Не переделывал одно и то же?
- ✅ Могло быть дешевле?
- ⚠️ Если были потери → запиши в self-improvement reflection
Fast-track (пропуск gates)
Пропусти All Gates когда:
- Простой ответ на вопрос (1-2 предложения)
- Пользователь в середине диалога и ждёт быстрый фидбек
- Это техническая команда (установка, запуск)
Если gate не прошёл
| Gate | Fail | Действие |
|---|---|---|
| Completeness | Не ответил на часть запроса | Допиши ответ |
| Correctness | Ошибка в коде/команде | patch → перечитай → проверь |
| Verifiability | Не проверил результат | terminal(stat/ls/curl) |
| Clarity | Ответ непонятен | Перепиши: результат → контекст |
| Cost | Были потери | skill patch если паттерн |
QA Checklist по типу результата
Код
- Синтаксис? (скобки, кавычки, двоеточия)
- Импорты подключены?
- Функции/переменные не перепутаны?
- Нет
print()в production? - Обработка ошибок есть?
Команда
- Путь существует?
- Нет опечаток?
- Не пейджится (pipe to cat)?
- Не требует pty?
Файл
- Записан? (write_file)
- Содержимое соответствует ожиданию? (read_file)
- Права выставлены? (если нужно)
Информация
- Источник указан?
- Дата актуальности?
- subagent не наврал?
Изображение
- Файл существует?
- Размер >0 байт?
- Путь корректен для MEDIA:?
После ответа (если была ошибка)
Если пользователь указал на ошибку:
- Извинись коротко ("Моя ошибка, исправил")
- Исправь
- Пойми почему ошибка возникла
- Обнови скилл если это системная проблема