Сепаратор для логов: как logzip сжимает логи для контекста LLM без потери читаемости
Типовой кейс — сервис падает, а лог разрастается до десятков тысяч строк: например, около 48 тыс. строк, 10 МБ сырого текста или 2–3 млн токенов для Claude. Если 90% лога занимают однообразные INFO 200 OK, модель может пропустить критичную ошибку в середине из-за эффекта Lost in the Middle, а пользователь платит за токены, которые не несут полезной нагрузки.
Logzip отличается от gzip и grep: gzip хорошо сжимает файл, но дает бинарные данные, которые LLM не прочитает, а grep слишком радикально вырезает только строки с ошибками и лишает модель контекста. Библиотека ищет повторяющиеся фрагменты вроде INFO, адресов и GET-запросов, заменяет их короткими токенами, хранит расшифровку в LEGEND, а аномалии оставляет видимыми в BODY.
Реализация сделана на Rust с PyO3 и доступна как Python-пакет через pip install logzip. На реальном логе около 8 МБ режим balanced+BPEх2 дал сжатие до 3,4 МБ за 418 мс, а второй проход Recursive BPE добавил еще 5–10% экономии за 18 мс; автор также собрал MCP-сервер для Claude и Cursor, чтобы агент мог сам сжать лог перед анализом. В расчетном сценарии 10 анализов в день по 7,96 МБ стоимость падает с $600 до $255 в месяц, то есть экономия оценивается в $345 в месяц.
Коротко
- Logzip сжимает логи не в бинарный архив, а в человекочитаемый текст, пригодный для подачи в LLM-контекст.
- Повторяющиеся строки заменяются токенами, их расшифровка хранится в LEGEND, а уникальные ошибки остаются видимыми в BODY.
- На 8 МБ логе режим balanced+BPEх2 сократил размер до 3,4 МБ за 418 мс, показав около 58% текстового сжатия.
- Библиотека написана на Rust с PyO3, ставится через pip install logzip и имеет MCP-сервер для Claude и Cursor.
- В расчетном примере 10 анализов логов в день экономия на LLM-токенах составляет $345 в месяц.
FAQ
Зачем нужен logzip, если для логов уже есть gzip, grep и другие привычные инструменты?
Gzip делает бинарный архив, который LLM не может читать напрямую, а grep вырезает слишком много контекста. Logzip оставляет текст читаемым и убирает именно повторяющийся шум.
Как logzip помогает модели не пропустить важную ошибку внутри большого лога?
Он заменяет массовые одинаковые фрагменты короткими токенами и оставляет аномалии в исходном виде. Поэтому ошибка не тонет среди тысяч строк INFO 200 OK.
Какой режим автор считает оптимальным для сжатия логов перед анализом в LLM?
По приведенному бенчмарку оптимальным оказался balanced --bpe-passes 2: он дал около 58% сжатия за 418 мс. Режим max оказался медленнее и не дал лучшего результата.
Читайте также
- Текстовое сжатие логов перед анализом в LLM: Для анализа больших логов в LLM полезно не архивировать файл, а сжимать его в читаемый текст. Повторяющиеся технические фрагменты можно заменять короткими токенами, сохраняя расшифровку отдельно и оставляя ошибки, аномалии и уникальные строки видимыми для модели.
[LLM-инструменты и обработка логов]
Зарегистрированные пользователи видят только два тезиса.
Зарегистрироваться

Logzip — библиотека для текстового сжатия логов перед анализом в LLM: она убирает повторяющийся шум, но оставляет ошибки, аномалии и читаемый контекст. Идея не в архивировании, а в подготовке больших логов так, чтобы модель не тратила контекст и деньги на тысячи одинаковых строк.