Каждое правило в AGENTS.md и каждый скилл когда-то появились по конкретной причине. Агент ошибся, мы разобрались, чего ему не хватило, и записали это, чтобы в следующий раз не повторилось. Это правильный цикл, на нём держится вся среда. Но у него есть побочный эффект: он работает только на добавление. Правила появляются после каждой сложной задачи, а убирать их никто не приходит.
При этом писали мы их под конкретную модель в конкретный момент. Скилл, который учит агента нормально раскладывать миграции, был ответом на то, что модель полгода назад этого не умела. С тех пор вышло одно-два поколения моделей. Возможно, она давно это умеет, а скилл продолжает лежать и подгружаться в контекст на каждой задаче.
Бесплатных правил не бывает. Каждое съедает контекст, и чем больше инструкций, тем меньше внимания достаётся каждой из них. Хуже, когда правило описывает обходной путь для старого ограничения: новая модель решила бы задачу по-своему и лучше, а мы заставляем её делать по-старому. Среда, которая полгода назад помогала, начинает тихо мешать, и заметить это изнутри почти невозможно, потому что всё вроде бы работает.
Посмотреть на правила и решить, какие лишние, не получится. Каждое по отдельности выглядит разумным, за каждым стоит реальная история. Единственный способ узнать, держит ли правило что-то на себе, это убрать его и посмотреть, что сломается. Поэтому раз в полгода я беру типовые задачи команды за последнее время и отдаю их агенту без наших скиллов, правил и AGENTS.md. Те же задачи, тот же репозиторий, голая модель.
Дальше сравниваешь не только «сделал или не сделал». Важно, сколько правок понадобилось на ревью, где он полез не туда, какие решения пришлось откатывать. Результат обычно делится на две кучи.
Первая куча: то, с чем модель теперь справляется сама. Правила под эти задачи можно убирать. Они больше не учат агента ничему новому, только занимают место и иногда спорят с тем, как модель сделала бы сама. Это как старые фича-флаги: когда-то были нужны, теперь просто усложняют систему.
Вторая куча: то, где голый агент всё ещё разваливается. И вот здесь самое интересное. Обычно это не про общие навыки программирования, а про знание, которого у модели нет и не будет: как устроен ваш продукт, какие инварианты в домене нельзя нарушать, какие решения в архитектуре приняли и почему, где проходят границы безопасности. Это и есть настоящая ценность вашей среды. Никакое следующее поколение модели это за вас не выучит, потому что этого нет в интернете, это есть только у вас.
Получается, что прогон без скиллов отвечает сразу на два вопроса. Что можно выкинуть, чтобы среда стала легче и быстрее. И куда стоит вкладываться дальше, потому что именно там модель без вас бессильна. Заодно это проверка самой среды: если голый агент справляется не хуже, чем с вашими скиллами, значит, скиллы не работают, и это тоже стоит знать.
Полгода выбраны не случайно. Примерно с такой скоростью сейчас меняются модели, и примерно за это время среда успевает обрасти правилами, которые уже никто не помнит, зачем добавлял. Чаще проверять дорого и бессмысленно, реже уже накапливается балласт.
Среда для агентов должна не только расти, но и худеть. Цикл, где после каждой задачи что-то добавляется, нужен, но без регулярной проверки он превращается в слой осадка, в котором полезное уже не отличить от устаревшего.