로컬 모델의 압축 성능을 개선하는 Pi 확장 프로그램을 만들었습니다
I made a Pi extension that improves compaction with local models
핵심 요약
기존 대화 캐시를 재사용하여 로컬 모델의 대화 압축 속도를 획기적으로 높이는 'Better Compaction' 도구를 개발했습니다.
- 캐시 재사용 — 대화 압축 시 프롬프트 캐시를 버리지 않고 기존 대화에 명령을 추가하여 재연산 방지함
- 속도 개선 — Qwen3.8-27B 모델 기준 압축 시간을 13~15분에서 6.5분으로 단축함
- 오픈소스 공개 — GitHub를 통해 도구를 공개하고 다양한 GPU 환경에서의 피드백을 요청함
Pi가 긴 대화를 압축할 때, 보통 방식대로 하면 프롬프트 캐시를 다 날려버리고 이전 컨텍스트 전체를 포함한 새로운 요약 요청을 처음부터 다시 시작하게 됨.
로컬 모델에서 100k~160k 토큰 컨텍스트를 돌릴 때, 이건 llama.cpp가 이미 처리했던 토큰들을 다시 채워 넣느라 몇 분씩 잡아먹는다는 소리임.
그래서 내가 Better Compaction을 만들었음.
따로 요약 채팅을 시작하는 대신, 이미 캐시된 대화 뒤에 압축 지시사항만 덧붙이는 방식임. 기존 접두사는 바이트 단위로 똑같이 유지되니까, 백엔드에서 KV/프롬프트 캐시를 그대로 재사용하고 새로 추가된 짧은 접미사만 채워 넣으면 됨.
내 Qwen3.8-27B + llama.cpp 환경에서 돌려본 결과:
~13–15분 → ~6.5분
생각(thinking) 기능을 껐을 때는:
~2분
압축 요청 한 번에 94.4k 토큰을 캐시에서 불러왔음.
GitHub:
https://github.com/NotSoSeriouss/BetterCompaction
로컬 모델이랑 llama.cpp 쓰는 다른 Pi 유저들 의견이 특히 궁금함. 다양한 GPU, 양자화, 컨텍스트 사이즈에서 나오는 실제 데이터들을 좀 모아보고 싶음.


