Сделал CLI-утилиту, которая уже круто показала себя в проектах, называется katana.
Проблема многих проектов — крупные файлы на несколько тысяч строк. Они мешают агентам: их долго читать, и забивается контекст. А агенту тяжело их разрезать — нужно долго читать, а потом долго писать куски нарезки, и т.к. это проходит через LLM, привносится недетерминированность.
katana позволяет агенту архитектурно красиво разбивать файл без его чтения и записи. CLI даёт агенту сигнатуры всего содержимого файла, это работает через AST. Агент проектирует красивое разбиение, возвращает katana JSON с проектом разбиения, katana детерминированно разрезает файл, импорты фиксятся линтером. Профит. Т.е. агенту не пришлось ни читать, ни писать. И работает быстро. И ещё CLI умеет считать lines of code по проекту, чтобы задать приоритеты.
В проектах обычно ставлю максимальную длину файла 700 строк + до 10% превышения, при котором разрезание ещё не срабатывает. Без такой гигиены не будет никакого AI-agent-first.
Можно быстро привести к норме легаси-проект или не запустить новый.
katana пару месяцев жила во внутреннем репозитории и показала эффективность, теперь переехала на GitHub — могут быть баги.
https://github.com/vgmakeev/katana
Post #116
3.41K