Гид SENAR: Философия

Ценности SENAR и шесть столпов, на которых строится методология.

Ценности SENAR

  1. Контекст важнее кода — Качество вывода AI определяется качеством входного контекста. Инвестируйте в требования, а не в скорость кодирования.

  2. Верификация важнее скорости — AI генерирует с машинной скоростью. Ограничивающий фактор — корректность, а не скорость.

  3. Знания важнее опыта — У AI нет памяти между сессиями. Что не задокументировано — не существует для AI.

  4. Принуждение важнее договорённости — Шлюзы качества как автоматизированный код, а не совещания, которые можно пропустить.

  5. Суждение важнее нажатий клавиш — Внимание человека направлено на решения (что строить, корректно ли это), а не на набор кода.


Столп 1: Контекст прежде всего (качество на входе)

Качество вывода AI — прямая функция качества входного контекста.

Принцип каскада: Качество закладывается на входе, а не проверяется на выходе. Дефект в бизнес-требовании расползается на все системные требования, требования к задачам и в итоге на код. Когда дефектное требование доходит до AI, оно порождает правдоподобный код, который проходит автоматические проверки, но решает не ту задачу. Никакие тесты на выходе (QG-2, QG-3) не поймают требование, которое было ошибочным с самого начала.

Поэтому SENAR вкладывается в качество требований (QG-0, QG-1) до начала реализации — не как бюрократию, а как самую окупаемую инвестицию в качество.

Требования и есть контекст. Хорошо определённое бизнес-требование, разбитое на чёткие системные требования и требования к задачам, — главный вход для качества AI-генерируемого кода. Иерархия требований (BR → SR → TR) — не бумажная работа, а структурированный контекст, от которого зависит, выдаст ли AI корректный результат.

Компоненты контекста:

  • Цель задачи и критерии приёмки (= требования к задаче)
  • Связь требований с родительской историей/БТ/СТ (= прослеживаемость)
  • Архитектурные ограничения и конвенции
  • Релевантные знания (решения, тупиковые подходы, подводные камни)
  • Примеры и антипаттерны
  • Границы области изменений (что НЕ менять)

Типичные ошибки:

  • Вайб-промптинг — размытые инструкции без структуры. Допустимо для тривиальных задач, опасно для сложной работы.
  • Свалка контекста — заваливание AI неструктурированной информацией. Критические ограничения тонут в потоке.
  • Неявное допущение — ожидание, что AI знает конвенции без документации.
  • Неоднозначные требования — то, что человек уточнил бы в разговоре, AI интерпретирует буквально или галлюцинирует ответ. В отличие от живой команды, AI не спрашивает «вы имели в виду X или Y?» — он молча выбирает один вариант.

Столп 2: AI-First, но не AI-Only

Основной режим работы Супервайзера — AI-направляемая разработка. Ручное кодирование — обоснованное исключение, а не запрет.

Когда ручное вмешательство оправдано:

  • Микрофиксы (1–3 строки), подготовка контекста для которых дороже самого исправления
  • AI застрял в цикле на неверном подходе
  • Инфраструктурная конфигурация, где AI галлюцинирует
  • Срочные хотфиксы
  • AI сделал 90% верно — проще поправить 3 строки, чем заново объяснять

Типичные ошибки:

  • Теневое кодирование — написание кода и его сокрытие от системы прослеживаемости
  • Микроменеджмент — переписывание >30% вывода вместо улучшения контекста
  • Штамповка — принятие результата без проверки

Столп 3: Принуждение вместо церемоний

Качество обеспечивается автоматизированными шлюзами, а не совещаниями.

AI-агенты не ходят на совещания, не чувствуют ответственности и не учатся на ретроспективах. Единственный надёжный механизм качества — автоматизированное принуждение.

НазначениеМеханизм
Решить, что строитьЦеремония
Проверить качество кодаШлюз
Обзор со заинтересованной сторонойЦеремония
Проверить выполнение требованияШлюз

Столп 4: Сохранение знаний

Что не задокументировано — не существует для AI.

Документация кода — контекст, а не формальность. В AI-нативной разработке документация кода служит двум целям: помогает Супервайзерам-людям понять систему и сокращает объём контекста для каждой задачи. Хорошо задокументированный модуль (назначение, контракты публичного API, архитектурные границы) избавляет Супервайзера от необходимости заново объяснять всё это в каждой задаче. AI читает документацию, понимает роль модуля и генерирует код, который вписывается в архитектуру.

Незадокументированный код вынуждает Супервайзера компенсировать: длиннее описания задач, больше явных ограничений, больше границ области. Это дорогой контекст, которому место в самом коде. Документация вроде «обрабатывает OAuth для Google и GitHub, хранит токены зашифрованными в таблице сессий, обновляет автоматически» — экономит 5 строк контекста задачи при каждой работе с авторизацией.

Правило 9.11 (Документация кода как контекст) делает это обязательным требованием (ОБЯЗАТЕЛЬНО): документация кода, достаточная для того, чтобы AI понял назначение модуля, контракты API и границы без чтения всей реализации.

Что фиксировать: решения (с обоснованием), паттерны, подводные камни, тупиковые подходы (наибольшая ценность повторного использования), наблюдения.

Доставка знаний в AI: статические файлы контекста, поисковые API, MCP-интеграции или RAG. Выбирайте осознанно.

Жизненный цикл знаний: currentneeds_review (помечено как потенциально устаревшее) → deprecated. Устаревшие записи активно вредят качеству — они дают AI неверный контекст.


Столп 5: Паттерны взаимодействия

Управление AI — это диалог, а не одноразовая команда.

ПаттернКогда использовать
Планирование-затем-исполнениеСложные задачи: запросить у AI план → проверить → утвердить → выполнить
Итеративное уточнениеБольшинство задач: сгенерировать → проверить → скорректировать → улучшить
На основе примераUI/паттерны: «сделай как здесь, но с изменением X»
Негативный примерИзвестные ловушки: «не делай X, потому что Y»
Контрольная точка и проверкаМногошаговые задачи: AI делает шаг 1 → проверка → шаг 2
Ограждение областиКонтроль объёма: «измени ТОЛЬКО файлы X, Y. НЕ трогай A, B»
Откат и повторНеверное направление: откат через git, перезапуск с другим контекстом
ИсследованиеНеизвестная территория: исследовать прежде, чем выбрать подход

Управление контекстным окном

  • Контекст AI деградирует по мере роста беседы (насыщение)
  • Прогрессивное раскрытие: предоставляйте информацию по мере необходимости, а не сразу всю
  • Стратегические контрольные точки очищают контекст и начинают с чистого листа
  • Для больших кодовых баз: адресное чтение файлов вместо массовых дампов
  • Передачи (handoff) сериализуют ключевой контекст для новых сессий
  • Если AI начинает путать — дело не в модели, контекст переполнен

Управление галлюцинациями

Распространённые типы: несуществующие API/методы/флаги CLI, несуществующие файлы, правдоподобный код с тонкими ошибками на крайних случаях, уверенные, но ошибочные утверждения.

Эвристики обнаружения:

  • Чрезмерная уверенность в новаторских решениях (красный флаг)
  • «Подозрительно идеальный» код, обрабатывающий все крайние случаи
  • Ссылки на пути/API, которые вы не узнаёте
  • Всегда запускайте код — не доверяйте утверждениям AI о том, что он делает

Столп 6: Эмпирическая калибровка

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

SENAR даёт формулы, а не целевые показатели. Организации устанавливают базовые значения, измеряя их на протяжении 3+ инкрементов, а затем задают цели на основе собственной реальности.

Типичные ошибки:

  • Карго-культ — копирование целевых показателей другой организации
  • Преждевременная оптимизация — агрессивные цели до понимания базовых показателей
  • Зацикленность на метриках — оптимизация ради метрики, а не ради результата