Prompt Harness

프롬프트와 캐시의 미묘한 관계

KV Cache의 규칙은 매우 단순합니다: 접두사가 완전히 같으면 히트, 한 글자라도 다르면 전부 재계산합니다. 따라서 System Prompt에 동적 콘텐츠를 삽입하면 캐시가 영원히 히트되지 않을 수 있습니다.

지문 변경 = 캐시 무효화

모든 요청마다 시스템은 System Prompt의 지문(hash)을 계산합니다

System: 당신은 어시스턴트입니다. 현재 시간: 14:35:22
a3f7c2
MISS
System: 당신은 어시스턴트입니다. 현재 시간: 14:35:23
b8e1d9
MISS
System: 당신은 어시스턴트입니다. 현재 시간: 14:35:24
c4a2f6
MISS

매 초 시간이 달라짐 → 지문이 달라짐 → 캐시가 영원히 히트되지 않음 → 매번 처음부터 계산 → 비용 두 배.
이것은 타임스탬프만의 문제가 아닙니다: System Prompt에 삽입된 모든 동적 콘텐츠가 동일한 효과를 가져옵니다.

Skill 주입 방식도 캐시에 영향을 미칩니다
Skill을 System에 삽입
[System] AI 어시스턴트입니다... [현재 Skill: 콘텐츠 창작] 트리거: 글 써줘... 단계: 1. 요구 사항 확인... --- [User] 글 한 편 써줘

Skill 전환 시 System 변경 → 캐시 무효화

~20%
Skill을 독립 메시지로 추가
[System] AI 어시스턴트입니다... --- [Assistant/Skill 메시지] 현재 Skill: 콘텐츠 창작 단계: 1. 요구 사항 확인... --- [User] 글 한 편 써줘

System은 절대 변하지 않음 → 접두사 캐시 항상 히트

~90%
시뮬레이션: 10회 요청에 대한 캐시 성능

캐시 히트 시뮬레이터

10회 요청 중 3번 다른 Skill로 전환한다고 가정합니다. 두 가지 주입 방식의 캐시 차이를 관찰해 보세요:

히트율:
KV Cache의 규칙은 단순합니다: 접두사가 같으면 히트. 따라서 접두사를 건드리지 마세요. 변할 수 있는 모든 콘텐츠(Skill, 컨텍스트, 시간)를 System Prompt 뒤에 배치하여 접두사를 항상 안정적으로 유지하세요.