Обновить

Как я передаю структуру проекта при работе с AI-агентами

Если вы работаете с AI-агентами для написания или ревью кода, то знаете эту боль: агент не знает ваш проект. Каждый новый чат — с нуля. Агент начинает читать, читать, читать... И часто читает то что вообще не нужно. Чтобы он хоть что-то понял, нужно дать контекст.

Агент видит список файлов, но не понимает, что в них без прочтения всего файла.
Это не всегда требуется - для мелких задач часто нужно работать с несколькими файлами и в целов читать нужно срез проекта а не проверять все

Я написал небольшую CLI-утилиту для саммаризации файлов в проекте через LLM.

Запускаешь sumr в корне проекта — и получаешь дерево файлов, где у каждого файла есть однострочное описание от LLM:

src/
├── cli.ts          Entry point, Commander.js commands and orchestration
├── scanner.ts      Recursive file walker with regex include/exclude filters
├── summarizer.ts   OpenAI-compatible API pool with concurrency control
└── renderer.ts     Terminal tree output with chalk coloring

Добавляешь агенту инструкцию начинать задачи с этой команды.

Внутри утилита рекурсивно обходит директорию, фильтрует файлы по настраиваемым regex-паттернам, потом отправляет каждый файл в LLM с просьбой дать однострочное описание. Запросы идут параллельно, результаты кэшируются в комментарии в файле — при повторном запуске уже обработанные файлы пропускаются.

Инструмент совместим с любым OpenAI-совместимым API. Можно подключить LM Studio или Ollama - справляются мелкие вроде новых Qwen 3.5 0.5b, 1.5b, 3b.

Ещё начал делать режим паттернов без LLM — извлечение комментариев и сигнатур по regex. Пока не уверен, нужно ли это кому-то.

Первый запуск:

npm i summariser -g
sumr config init

Далее в папке проекта:

sumr

Если добавили новые файлы sumr обработает их а кэш не тронет

Для очистки кэша:

sumr clear

Для обновления кэша:

sumr rescan

Я добавил такую инструкцию в CLAUDE.MD и он буквально сразу начинает с тех файлов которые нужны.

* Всегда начинай ЛЮБУЮ задачу с команды 'sumr' для получения общей структуры проекта и понимания, где что находится.

Хотя вопрос экономии конечно открытый - тут по разному бывает экономит прям нормально не читая весь проект ради вычленения 1-го модуля, а бывает работает на уровне обычного regex-поиска. Но результат лично мной ощущается!

Для саммари использую новый qwen 3.5 0.8b - мелкая моделька в lm studio

Если этот подход будет интересен и имеет смысл - могу поразвивать утилиту или принять любого кому интересно развить. Возможно что то можно доработать чтобы это было удобнее

Много времени на это не тратил любую обратную связь приму по возможности )

Репозиторий: https://github.com/BuddaArt/Summariser

Теги:
-2
Комментарии0

Публикации