Fedkin is thinking
12.07.2026 18:23 · 👁 2.6K
Как чуть меньше страдать от нейрослопа
Или небольшой полезный тех, который ты можешь сделать за пару дней
Давеча я писал, что агенты без должного контекста о системе склонны к локально оптимальным решениям. Это часто приводят к:
• нарушению направления зависимостей в коде
• смешиванию доменной логики и инфраструктурной
• странному неймингу и расположению классов
Хорошая новость — многое из этого можно ловить детерминированными тестами
Есть прекрасные инструменты, как например ArchUnit для Java (если знаете похожие инструменты для других языков, пишите в комменты), которые позволяют писать декларативные тесты на архитектуру приложения:
Домен не должен зависеть от инфры:
noClasses()
.that().resideInAPackage("..domain..")
.should().dependOnClassesThat()
.resideInAPackage("..infrastructure..");
In-порты называются ...UseCase
classes()
.that().resideInAPackage("..port.in..")
.should().haveSimpleNameEndingWith("UseCase");
Все порты должны быть интерфейсами:
classes()
.that().resideInAnyPackage("..port.in..", "..port.out..")
.should().beInterfaces();
Потратив пару дней на обдумывание и написание таких правил в паре с агентом, можно заметно увеличить качество летящих в тебя пулреквестов, потому что они будут корректны как минимум по структуре. По ходу движения список правил может дополняться
Как уже многие писали, разработка с агентами не привносит каких-то кардинально новых принципов, а только усиливает значимость старых добрых бест-практисов
p.s.: зачем эти детерминированные проверки, если я могу дать агенту правила в виде текста:
• промпты не дают гарантий
• не проверяют уже написанный код