CachyLLama: 긴 로컬 에이전트 세션을 훨씬 덜 고통스럽게 만들어주는 영구 KV 캐시 지원 llama.cpp 포크
CachyLLama’s: llama.cpp fork with persistent KV cache that makes long local-agent sessions much less painful
핵심 요약
반복적인 프롬프트 처리를 줄여 로컬 LLM의 응답 속도를 획기적으로 높여주는 CachyLLama 포크 소개.
- 영구 캐시 — SSD 기반 KV 체크포인트로 서버 재시작 후에도 상태 유지
- 프롬프트 최적화 — 반복적인 프롬프트 처리 과정을 생략하여 응답 속도 개선
- 하이브리드 아키텍처 — Qwen, Gemma 등 복잡한 모델의 상태 복구 지원
- 실제 성능 향상 — 긴 에이전트 세션에서 프롬프트 처리 시간을 획기적으로 단축
이 프로젝트랑은 아무 상관 없는데, 최근에 직접 써보고 너무 괜찮아서 공유함. 왜 여기서 별로 언급이 없는지 의아할 정도네:
https://github.com/fewtarius/CachyLLama
CachyLLama는 llama.cpp를 포크해서 만든 건데, 저사양 하드웨어에서 진짜 골치 아픈 문제인 '프롬프트 반복 처리'를 해결하는 데 집중했음. 단순히 "SSD" 기반 캐시를 새로 넣은 것뿐만 아니라, 멀티 티어 KV 캐시 같은 캐싱 관련 개선 사항들도 꽤 들어갔더라.
내 로컬 모델들은 일단 돌아가기 시작하면 속도는 봐줄 만함. 근데 진짜 짜증 나는 건 에이전트 코딩 툴 쓸 때임. 요청 보낼 때마다 거대한 시스템 프롬프트, 툴 정의, 그리고 대화 내용 대부분을 서버로 다시 쏴야 하거든. 세션 길어지면 답변 생성하는 시간보다 이미 아는 문맥 다시 처리하는 데 시간을 훨씬 더 많이 씀.
CachyLLama는 SSD 기반의 영구적인 KV 체크포인트랑 시스템 프롬프트 캐시를 추가했음. 요청 앞부분이 이전에 처리했던 문맥이랑 일치하면, 처음부터 다시 계산할 필요 없이 그 상태를 불러와서 바뀐 뒷부분만 평가하면 됨. 심지어 서버 껐다 켜도 체크포인트가 살아있음.
내 구형 듀얼 MI50 환경에서 돌려보니까, 긴 에이전트 세션에서 반복 요청 보낼 때 반응 속도가 체감될 정도로 빨라짐. 아직 제대로 된 벤치마크를 돌려본 건 아니라서 과학적인 결과라기보단 그냥 실사용 후기 정도로 봐주면 좋겠는데, 실사용 체감 차이는 확실함.
프로젝트 자체 7840U/780M 벤치마크 결과는 이럼:
- ~1,243 토큰 프롬프트: 콜드 9.3초, 웜 0.41초
- ~5,409 토큰 프롬프트: 콜드 43.3초, 웜 0.57초
- ~15,700 토큰 프롬프트: 콜드 143.1초, 웜 0.99초
중요한 건 이게 생성 속도 자체를 빠르게 해준다는 게 아님. 이미 했던 프롬프트 평가 작업을 다시 안 하게 해준다는 거지.
그리고 Qwen 3.5/3.6, Gemma 4, GLM-4.7 같은 하이브리드 아키텍처 처리도 들어가 있음. 이런 모델들은 일반적인 어텐션 전용 KV 캐시보다 순환 상태(recurrent state) 복구하는 게 훨씬 복잡하거든.
혹시 이거 써본 사람 또 있음? 나한테는 진짜 개꿀인데 다른 데서는 언급을 아예 못 봐서 물어봄.

