AI Качество
Пять столпов AI-разработки — декомпозиция, TDD, сначала архитектура, фокусная работа, контекст. Лимиты методов, DoD, заглушки.
Обзор
AI Quality определяет пять столпов, которыми руководствуется каждая задача AI-разработки в Datarim. Последовательное применение этих принципов повышает качество кода на 30-50% и снижает количество багов на 40-50%. Навык загружается как справочник агентами developer, planner и reviewer на каждом этапе пайплайна.
Пять столпов
- Декомпозиция — разбивайте сложные задачи на мелкие, фокусные единицы. Максимум 50 строк на метод, 7-9 объектов в рабочей памяти, одна ответственность на функцию.
- Сначала тесты — тесты фильтруют галлюцинации. Пишите тесты до кода, явно определяйте критерии готовности, покрывайте граничные случаи заранее. Моки только на границах, никогда не подгоняйте данные под тесты.
- Сначала архитектура — утвердите структуру до написания кода. Создайте скелет с заглушками, проведите ревью архитектуры, затем реализуйте по одному методу.
- Фокусная работа — узкий контекст повышает качество. Ревьюйте по одному методу, определяйте границы (что НЕ делаем), проверяйте, что AI способен решить задачу.
- Управление контекстом — нужная информация в нужное время. Соберите требования до кода, документируйте уровни изоляции транзакций, структурируйте знания иерархически.
Когда используется
Правила AI Quality привязаны к конкретным этапам пайплайна. На этапе /dr-plan действуют правила декомпозиции и границ. На /dr-do — TDD и размер методов. На /dr-qa — проверка критериев готовности и фокусное ревью. Каждый агент, который пишет или проверяет код, загружает этот навык автоматически.
Чеклист качества
- Задача декомпозирована на мелкие единицы?
- Есть тесты и Definition of Done?
- Архитектура утверждена?
- Я сфокусирован на одной вещи?
- У меня правильный контекст?
Если на любой вопрос ответ «нет» — остановитесь и решите это до написания кода.
Продвинутые паттерны
- Нарратив инцидента в защитных контролях — при добавлении защитных механизмов (промпты подтверждения, guard-флаги) цитируйте ID инцидента-основателя и количественно оцените ущерб. Две строки: что произойдёт при продолжении и почему guard существует.
- Атрибуция «сначала оператор» — при сбое фреймворка или вендора по умолчанию виноват оператор, пока минимальный репро через API не подтвердит обратное.
- Изоляция зависимостей — используйте venv (Python) или Docker для любого сервиса с ML-библиотеками, systemd-сервиса или при совместном использовании сервера. Никогда не ставьте через system pip для продакшена.
- Решение о скоупе для неотслеживаемых файлов — при затрагивании нетрекаемых, но критичных файлов, решайте «продвинуть сейчас» или «отложить» до стейджинга, а не во время.