콜드 캐시 히트 처리 최적화 방법 — '계속'이라고 입력하면 토큰 비용 5배 낭비함
Best way to handle Cold Cache hits - You overpay 5x for typing "Continue"
핵심 요약
AI 워크스페이스에서 콜드 캐시로 인한 토큰 낭비를 줄이기 위한 최적의 세션 관리 및 트리밍 전략을 논의합니다.
- 콜드 캐시 문제 — 세션이 1시간 이상 방치되면 토큰 비용이 5배 증가함
- 트리밍 전략 — 동일 제공자 환경에서는 트리밍이, 교차 제공자 환경에서는 압축이 유리함
- 비용 효율성 논쟁 — 결정론적 트리밍과 모델 기반 요약 방식의 효율성을 두고 의견이 갈림
- UX 개선 — 사용자가 수동으로 세션을 관리하지 않도록 GUI를 통한 자동화가 핵심임
난 메타 하네스(meta-harness) 개발자야. 몇 달 전부터 현존하는 가장 토큰 효율적인 AI 워크스페이스를 만드는 중이지. 내 벤치마크(Opus 5.5 XHigh로 돌려봄) 결과에 따르면, 콜드 캐시 세션을 그냥 "Continue"라고 쳐서 재개하는 건 그 턴에 토큰 비용을 5배나 더 내고 있는 꼴이야.
당연히 애초에 콜드 캐시가 안 생기게 하는 게 최고지. 좋은 UX(세션이 곧 콜드 캐시로 넘어간다는 알림이나 UI)를 넣거나, 자동으로 캐시를 워밍업하는 식으로 말이야. 근데 가끔은 콜드 캐시를 피할 수 없을 때가 있어서, 그걸 처리할 최선의 방법을 연구해 봤어.
지금까지는 엄청나게 공격적인 트리밍 메커니즘을 썼거든. 모델 호출을 따로 안 해서 비용도 안 들고, 순수하게 결정론적인 알고리즘으로 대화 내용을 잘라내서 군더더기 없이 이어가게 만드는 방식이었지.
근데 Haiku 5.5가 훨씬 싼 가격으로 나오길래, 이 주제를 다시 한번 파보기로 했어.
벤치마크랑 테스트를 돌려보니까 150k 컨텍스트가 짧은 세션이랑 긴 세션을 나누는 의미 있는 분기점이더라고. 150k 미만이면 "Continue"를 써도 전혀 문제없어. 근데 150k가 넘어가면 상황이 복잡해져.
트리밍(오래된 툴 결과값을 한 줄짜리 스텁으로 바꾸거나, 생각 블록을 날려버리는 등 모델 호출 없이 처리하는 거)이 사실 제일 좋아. 근데 이건 교차 공급자(cross-provider) 환경에선 안 먹혀. 공급자마다 세션 기록 형식이 다 달라서 호환이 안 되거든.
그래서 결론은 이거야:
-
같은 공급자끼리는 트리밍을 우선해. 트리밍된 Claude 세션을 다시 이어가면 메모리 측면에서 시드(seed)나 압축(compact) 방식보다 훨씬 나으니까.
-
공급자가 다를 땐 압축(compact)을 우선해. 트리밍은 사용할 수 없으니까.
하네스나 CLI 툴 만드는 애들한테 도움 됐으면 좋겠네.


