아키텍처 계층: KV Cache 주의사항
상용화 제품의 비용 엔지니어링에서 KV Cache는 가장 과소평가된 기술 포인트 중 하나예요. 캐시 히트와 미스의 비용 차이는 최대 90%—하지만 안에 숨은 함정이 몇 개 있어요. 누가 말해주기 전엔 모를 수 있어요.
LLM의 본질은 「Token이 Token을 민다」예요: 무슨 질문인지는 신경 쓰지 않고, 앞 문맥만 봐요. 곧—두 요청의 접두사가 같으면, 모델은 사실 같은 내용을 반복 계산하는 셈이에요. KV Cache는 계산한 중간 결과를 저장했다가, 다음에 같은 접두사를 만나면 바로 재사용해요: 값싼 저장으로 비싼 실시간 연산을 사는 「공간으로 시간을 사다」.
예를 들어 「2 + 4 = ?」를 물으면 6이 나와요. 「3 + 4 = ?」는 접두사가 바뀌어 처음부터예요. 하지만 「2 + 4 + 1 = ?」—접두사 「2 + 4」는 그대로라 6에서 시작해 7을 내요. 접두사가 안 바뀌면 캐시가 히트해요. DeepSeek, Qwen, Zhipu 모두 이 능력을 지원해요(3절 요금표 다시 보기: 캐시 요금은 표준 요금의 1/5). 저자가 LLM API를 고를 때 꼭 보는 항목이에요.
이전 요청이 이미 전체 접두사를 캐시해 두었어요. 아래 세 가지 「이번 요청」을 눌러 히트(초록)와 재계산(빨강)을 보세요.
Token을 아끼는 것 같지만, 큰 함정이에요
어떤 제품은 극한 절약을 위해 사용자 의도에 따라 도구를 동적 마운트해요: 날씨면 WeatherTool, 잡담이면 안 걸어요. 문제는 LLM 백엔드 템플릿 로직—Qwen 3을 예로, 요청에 tools 파라미터가 있으면 서버가 System Prompt 뒤에 도구 설명 블록을 삽입해요; System Prompt를 안 쓰면 템플릿이 하나 만든 뒤 또 끼워요. 도구 상태가 바뀌면(있음→없음, A→B), Prompt 머리 접두사가 바뀌고, 캐시된 수십만 Token이 순식간에 날아가요.
권장: System Prompt를 고정 + tools 필드를 쓰지 않기; 아니면 Token을 좀 낭비하더라도 전체 도구 정의를 계속 걸어 두고 캐시 히트를 지키세요. System Prompt 안정성이 그 Token을 아끼는 것보다 중요해요.
멀티턴·장문 시나리오에서 많은 제품이 「슬라이딩 윈도우」로 긴 히스토리를 처리해요—최근 N턴만 남기고 옛것은 버림. 게으른 방법이고, 문제가 나요. 슬라이딩 윈도우의 본질은 FIFO 큐: 한 번 굴릴 때마다 접두사가 바뀌고, 캐시는 영원히 히트하지 못해요.
저자의 제품 「반셰(伴写)」(앞글로 뒷글을 생성)는 초기에 고정 800자 롤링 윈도우라서 비싸고 「기억 상실」도 잦았어요. 나중에 챕터 캐시로 바꿨어요: AI 생성 중 화제 전환(장면 전환, 새 장)을 감지하면 구분 마커를 넣고, 시스템은 무엇을 요약으로 압축하고 무엇을 통째로 남길지 판단해요—AI에게 손실 압축을 맡기기보다, 접두사를 최대한 안정시켜 캐시를 히트하는 편이 나아요.
| 지표 | 구 방안 (슬라이딩 윈도우) | 신 방안 (챕터 캐시) |
|---|---|---|
| KV Cache 히트율 | ~10% (접두사가 계속 변함) | ~80% (접두사 안정성) |
| 논리 일관성 | 나쁨 (자주 기억 상실) | 좋음 (요약 + 전체 챕터) |
| Token 비용 | 높음 (반복 계산) | 낮음 (캐시 재사용) |
| 질문 | 설계 결정 |
|---|---|
| 어떤 정보는 「영구 보존」해야 하나? | Stable 구역에 넣고 캐시 접두사로 |
| 어떤 정보는 「압축 아카이브」해도 되나? | 요약으로 원문을 대체해 윈도우 크기 제어 |
| 어떤 정보는 「필요 시 로드」해야 하나? | 챕터 / 화제별 분할 후 동적 마운트 |
| 「압축 가능 경계」를 어떻게 찾을까? | 구분자 메커니즘을 설계해 AI가 화제 전환점을 표시 |
접두사가 안 바뀌면 캐시 히트, 최대 90% 절약. API를 고를 때 「컨텍스트 캐싱 지원 여부」는 필수 항목이에요.
tools를 동적으로 바꾸지 마세요: 도구 상태가 바뀌면 템플릿이 System Prompt를 다시 쓰고 캐시 전체가 무효가 돼요. 차라리 전체를 걸어 두세요.
슬라이딩 윈도우는 캐시 킬러: 「Stable 접두사 + 요약 아카이브 + 챕터 마운트」로 대체하면 히트율 10% → 80%.
출처: 저자 팀 내부 공유 《AI Token 비용 엔지니어링 전략 공유》 실전편 「03|아키텍처 계층」에서 정리했어요. DeepSeek 디스크 캐시 가격은 공식 공지를 보세요; 「Token이 Token을 민다」 원리는 LLM 기초 · 베이스 모델에서 복습하세요.