Снижение потерь токенов и холостых циклов агентов Claude с помощью настроек Fallow
May 1, 2026
0
Computing/SoftwareComments (0)
Log in to leave a comment
No posts yet
Log in to leave a comment
No posts yet
При использовании ИИ-агентов в крупных монорепозиториях быстро понимаешь одну вещь: они без разбора считывают десятки тысяч файлов, опустошая ваш кошелек, а выдаваемый ими код часто оказывается мусором, лишенным контекста. Прежде чем винить интеллект агента, нужно посмотреть, чем мы его кормим. Вот конкретный способ заставить агента читать только «действительно опасный код», используя Fallow — инструмент анализа кода на базе Rust.
Давать агенту всю кодовую базу — это безответственно. Когда информации слишком много, модель сталкивается с феноменом «Lost in the Middle» (потеря в середине), забывая промежуточное содержание. Необходимо физически ограничить область поиска агента, используя функции индексации Fallow.
.fallow.json в корне проекта. Добавьте в массив exclude пути **/dist/**, **/tests/** и устаревшие пакеты. В первую очередь нужно снизить уровень шума.rules установите порог high-complexity примерно на уровне 15. Это механизм, заставляющий агента начинать обзор с модулей с высокой когнитивной сложностью.strictBoundaries. Это предотвратит катастрофу, когда агент игнорирует границы пакетов и запутывает зависимости.Только эти настройки резко сократят количество файлов, считываемых агентом. На практике блокировка чтения ненужных файлов позволяет сэкономить более 40% затрат на API.
Не заставляйте агента искать проблемы, читая код построчно. Это пустая трата денег. Гораздо быстрее и точнее передать ему сводку структурных данных, заранее вычисленных Fallow.
Выполните в терминале команду fallow audit --format json > audit_report.json, чтобы получить отчет о нарушениях архитектуры и сложности. Вставьте эти JSON-данные непосредственно в окно контекста Claude или сошлитесь на них в файле CLAUDE.md. В системном промпте достаточно указать: "Перед внесением изменений обязательно проверьте оценки verdict и complexity в отчете и начинайте работу с модулей с самыми низкими показателями".
Разработчику не нужно пускаться в долгие объяснения. Агент сам начнет «операцию» с самого гнилого кода, следуя приоритетам, расставленным на основе данных.
Статический анализ не позволяет узнать, выполняется ли код на самом деле. «Зомби-код», на который есть ссылки, но который никто не вызывает — главный бич монорепозиториев. Как доказал фреймворк SCARF от Meta, безопасное удаление возможно только при сочетании статического анализа и динамического покрытия.
Соберите данные о покрытии V8 (NODE_V8_COVERAGE), а затем запустите функцию runtime-sync в Fallow. Вы получите список функций, для которых «статическая ссылка существует, но за последний месяц не было ни одного вызова». Дайте этот список агенту и попросите его запросить подтверждение на удаление. Вы услышите от агента обоснование вроде: "Эта функция не вызывалась 6 месяцев, поэтому ее удаление безопасно".
Даже если написанный агентом код работает прямо сейчас, нельзя бездумно его мержить. Нужно проверить, не ухудшает ли он читаемость в долгосрочной перспективе. Fallow рассчитывает индекс поддерживаемости (MI), комбинируя сложность Холстеда и количество логических путей.
Добавьте в GitHub Actions этап fallow audit --base main --format json. Настройте так, чтобы билд падал, если health_score опускается ниже 70 баллов.
Этот один «гейт» экономит старшему разработчику более 2 часов времени на ревью еженедельно. Ведь вместо того чтобы разгребать ошибки за агентом, вам остается только проверять архитектуру высококачественного кода, уже верифицированного машиной. Разница в продуктивности при совместной работе с ИИ зависит от того, насколько хладнокровно вы используете подобные детерминированные инструменты.