RAG 캐시 전략은 같은 질문과 같은 검색을 반복하지 않도록 경로를 나누는 일입니다. 질문이 조금만 바뀌어도 매번 검색과 생성이 다시 돌면 비용이 빠르게 늘어납니다. 반대로 캐시를 너무 넓게 잡으면 오래된 답변이 남습니다.
이 글에서는 Semantic Cache, AI Cache Strategy, Context Compression, RAG Cost Optimization, RAG Monitoring과 연결해서, RAG 캐시를 어디에 두고 어떻게 분리해야 하는지 정리합니다.
개요 #
RAG 캐시 전략은 하나의 캐시를 잘 고르는 문제가 아닙니다. 질문, 검색 결과, 프롬프트, 세션 요약, 최종 응답을 각각 다르게 다뤄야 합니다.
실무에서는 보통 아래 네 층으로 나눠 봅니다.
- exact cache
- semantic cache
- retrieval cache
- response cache
이렇게 나누면 히트율이 낮은 캐시를 무리하게 유지하지 않고, 재사용 가치가 높은 지점에만 비용을 쓰게 됩니다.
왜 중요한가 #
RAG 시스템은 검색과 생성을 둘 다 반복합니다. 캐시 전략이 없으면 다음 문제가 계속 생깁니다.
- 같은 질문이 여러 번 검색된다
- 문서 검색이 반복되어 latency가 늘어난다
- top-k 검색 결과가 매번 같아도 다시 계산한다
- 비용 절감보다 캐시 관리 비용이 더 커진다
캐시 전략은 단순한 성능 최적화가 아니라 운영 전략입니다. 특히 RAG Cost Optimization과 같이 보지 않으면, 캐시가 실제로 얼마를 아끼는지 판단하기 어렵습니다.
캐시 설계 #
캐시를 설계할 때는 “무엇을 저장할까"보다 “어느 수준의 재사용을 허용할까"를 먼저 정해야 합니다.
- exact cache는 완전히 같은 요청에만 씁니다.
- semantic cache는 의미가 비슷한 질문 재사용에 씁니다.
- retrieval cache는 검색 결과를 재사용합니다.
- response cache는 최종 답변을 잠깐 보관합니다.
Semantic Cache는 반복 질문이 많은 FAQ, 내부 지식 검색, 고객 응대 챗봇에 유리합니다. Context Compression은 길어진 세션에서 캐시 전에 넣는 압축 단계로 쓰면 효과가 좋습니다. AI Cache Strategy는 이 계층들을 한꺼번에 보는 상위 설계입니다.
설계 선택 #
다음 질문에 답할 수 있어야 합니다.
- 어떤 요청은 캐시하지 않을 것인가
- 캐시 키에 사용자 권한을 넣을 것인가
- TTL은 얼마나 둘 것인가
- 검색 결과와 최종 답변을 분리 저장할 것인가
- semantic hit와 exact hit를 구분할 것인가
캐시 적중이 많아도 정답률이 떨어지면 실패입니다. 반대로 정답률은 높아도 히트율이 너무 낮으면 비용 절감 효과가 작습니다.
아키텍처 도식 #
권장 흐름은 다음과 같습니다.
- 요청이 들어오면 exact cache를 먼저 확인합니다.
- 미스면 semantic cache를 조회합니다.
- 미스면 retrieval cache를 확인한 뒤 RAG를 실행합니다.
- 최종 응답과 검색 결과를 따로 저장합니다.
- 주기적으로 hit rate와 answer quality를 같이 봅니다.
이 구조는 RAG Monitoring과 붙일 때 더 강해집니다. 캐시 적중률만 보지 말고, 검색 품질과 응답 품질도 같이 추적해야 합니다.
체크리스트 #
- 캐시 계층을 exact, semantic, retrieval, response로 나눴는가
- 캐시 키에 권한과 세션 범위가 반영되는가
- TTL과 무효화 기준이 정의돼 있는가
- 캐시 미스 시 fallback 경로가 있는가
- hit rate와 정확도를 함께 보는가
- 캐시 비용이 절감 효과보다 커지지 않는가
결론 #
RAG 캐시 전략은 단일 캐시를 잘 고르는 문제가 아닙니다. 반복되는 계산을 어디서 끊을지, 어떤 수준까지 재사용할지를 정하는 일입니다. 계층을 나눠 설계하면 비용과 응답 속도를 동시에 다룰 수 있습니다.