Дядюшка Боб надевает смирительную рубашку на ИИ-агентов 🪓
Роберт Мартин выкатил свой агентный скилл — ub-mode. Он упаковал практики экстремального программирования и TDD в протокол для LLM, заставив нейронки отчитываться перед детерминированными линтерами и тестами.
Логика ub-mode разбита на три фазы:
1. First Make it Work (Сначала сделай, чтобы работало) 🔵 Жесткий TDD: агент обязан написать падающий тест ДО изменения продакшн-кода. Убедиться, что он падает именно по ожидаемой причине, и только потом сделать минимальный фикс, который заставит тест позеленеть. 🔵 Laziness Protocol: одно решение живет строго в одном месте. Никаких «заодно подправлю соседний модуль». 🔵 Архитектурный каркас: нелегальные состояния данных должны быть невозможны на уровне типов, а валидация выносится на внешние границы, чтобы внутренняя бизнес-логика оставалась чистой функцией.
2. Then Make it Right (Затем приведи в порядок) Вместо субъективной оценки «код вроде нормальный» подключаются автоматические quality-gates: 🔵 CRAP score < 10: агент обязан снижать цикломатическую сложность функций и дотягивать покрытие тестами до порогового значения. 🔵 Мутационное тестирование: инструмент Mutator прогоняет мутации по коду. Агент должен закрыть тестами слепые зоны и буквально «убить выживших мутантов». 🔵 Dryer: отслеживание структурного дублирования кода. Любой кусок со схожестью выше 0.8 рефакторится. 🔵 Тестирование строго поведения, а не кишок реализации.
3. Practice (Гигиена процесса) 🔵 Guard the Context Window: агент обязан защищать контекстное окно. Основной тред должен оставаться компактным: черновая простыня расчетов выносится во внешние файлы, а в рабочем контексте остается только выжимка. Модель перестает тупеть от перегруза токенов. 🔵 Логирование каждого действия с объяснением причин и фиксация изменений серией мелких атомарных коммитов.
Можно смело объединять с правилами Андрея Карпаты. Они учат нейронку вести себя как адекватный разработчик с чувством меры, а ub-mode выстраивает вокруг нее вольер из автоматических проверок.
В этом посте были ссылки, но мы их удалили по правилам Сетки
· 30.10
Требование написать падающий тест до правки кода кажется мне самым полезным для агентов. Без него Cursor или Claude любят править код и тут же писать тест, который подтверждает то, что получилось. Мутационное тестирование звучит тяжело по времени, не замедляет ли это цикл на больших проектах?
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён