Source
ШІнновації | ub-mode: скіл від Uncle Bob, який привчає AI-агента до інженерної дисц...
234 Views/Reach
2026-10-27 07:07
Message №127
ub-mode: скіл від Uncle Bob, який привчає AI-агента до інженерної дисципліни
Роберт Мартін (Uncle Bob), автор «Clean Code» і «Clean Architecture» та один із підписантів Agile Manifesto, виклав agent skill, що задає агенту чіткий порядок роботи з кодом: спочатку «зроби, щоб працювало», потім «зроби правильно». Якість перевіряється не на око, а детермінованими метриками.
Що змушує робити агента
• TDD: спершу тест, що падає з очікуваної причини, потім мінімальна зміна
• Виправляти причину бага, а не ховати падіння за guard-ом
• Тестувати поведінку, а не реалізацію
• Валідувати дані на межі системи, бізнес-логіку тримати в чистих функціях
• Робити операції ідемпотентними
• Вести лог дій з причинами, комітити дрібно: чому, що змінено, як перевірено
Quality gates
• crapper — CRAP-скор кожної функції < 10
• dryer — прибрати дублікати зі схожістю >= 0.8
• mutator — мутаційне тестування: покрити непокрите, вбити мутантів, що вижили, видалити мертвий код
• uml-viewer — візуалізація метрик і напрямків залежностей
crapper і mutator працюють з Clojure, Java, Go, TypeScript, Rust, Python.
Обмеження
• Тули ставляться окремо, mutator очікує crapper поруч (../crapper)
• Перший прогін mutator по всьому дереву довгий — краще починати з одного файлу
GitHub: https://github.com/unclebob/ub-mode
Роберт Мартін (Uncle Bob), автор «Clean Code» і «Clean Architecture» та один із підписантів Agile Manifesto, виклав agent skill, що задає агенту чіткий порядок роботи з кодом: спочатку «зроби, щоб працювало», потім «зроби правильно». Якість перевіряється не на око, а детермінованими метриками.
Що змушує робити агента
• TDD: спершу тест, що падає з очікуваної причини, потім мінімальна зміна
• Виправляти причину бага, а не ховати падіння за guard-ом
• Тестувати поведінку, а не реалізацію
• Валідувати дані на межі системи, бізнес-логіку тримати в чистих функціях
• Робити операції ідемпотентними
• Вести лог дій з причинами, комітити дрібно: чому, що змінено, як перевірено
Quality gates
• crapper — CRAP-скор кожної функції < 10
• dryer — прибрати дублікати зі схожістю >= 0.8
• mutator — мутаційне тестування: покрити непокрите, вбити мутантів, що вижили, видалити мертвий код
• uml-viewer — візуалізація метрик і напрямків залежностей
crapper і mutator працюють з Clojure, Java, Go, TypeScript, Rust, Python.
Обмеження
• Тули ставляться окремо, mutator очікує crapper поруч (../crapper)
• Перший прогін mutator по всьому дереву довгий — краще починати з одного файлу
GitHub: https://github.com/unclebob/ub-mode