데이터·DB

Semantic Caching

시맨틱 캐싱

Semantic Caching은 글자가 똑같은 질문이 아니라 의미가 비슷한 질문까지 이전 답변을 재사용하는 캐시 방식입니다. 질문을 임베딩 벡터로 바꿔 저장해 두고, 새 질문이 들어오면 벡터 거리로 가장 가까운 항목을 찾아 기준값 안에 들면 저장된 답을 그대로 돌려줍니다. LLM 호출을 건너뛰므로 토큰 비용과 응답 시간이 함께 줄어듭니다. 대신 기준값을 느슨하게 잡으면 엉뚱한 답이 나가므로, 적중률과 정확도의 균형점을 찾는 일이 핵심입니다.

쉽게 말하면?

캐시는 한 번 계산한 결과를 저장해 두고 다시 쓰는 창고입니다. 보통 캐시는 질문 글자가 한 글자만 달라도 새 질문으로 봅니다. 시맨틱 캐싱은 환불 어떻게 해요와 환불 신청 방법 알려줘를 같은 질문으로 알아봐요. 자주 묻는 질문이 몰리는 고객상담이나 사내 문의 봇에 붙이면 효과가 큽니다.

한 줄로 비유하면?

같은 질문을 말만 바꿔 물어봐도 알아듣는 콜센터 FAQ 창고입니다.

어디에 쓰이나?

케이스 1AWS — ElastiCache와 Bedrock 조합 벤치마크

AWS는 실제 챗봇 질의 63,796건으로 시맨틱 캐시를 측정했습니다. 유사도 기준값을 0.99에서 0.50까지 낮추며 적중률·정확도·비용·지연을 함께 기록했습니다. 권장값으로 0.75를 제시합니다.
도입효과: 기준값 0.75에서 적중률 90.3%, 정확도 91.2%, 일 비용 49.50달러 → 6.80달러(86.3% 절감), 평균 지연 4.35초 → 0.51초(88.3% 감소)(2025-11-26)[3][4]

케이스 2라인게임즈 — Nexus AI 응답 캐시

라인게임즈는 게임 퍼블리싱 지원 에이전트에 ElastiCache for Valkey 8.2 기반 의미 유사도 검색을 붙였습니다. 이미 답한 질문과 의미가 가까운 질의가 들어오면 LLM을 다시 부르지 않고 저장된 답을 돌려줍니다. 스트리밍 응답과 캐시를 두 단계로 씁니다.
도입효과: 캐시 적중 시 응답 시간 100~1,300밀리초(사람 응대 2~24시간, AI 직접 응답 45초 미만 대비, 2025-12-10)[5]

케이스 3월마트 — 이커머스 검색

월마트의 수석 소프트웨어 아키텍트는 검색에 시맨틱 캐싱을 적용한 경험을 인터뷰에서 설명했습니다. 글자가 정확히 같지 않아도 의미가 가까운 질의가 같은 결과를 재사용하도록 만들었습니다. 드물게 들어오는 검색어에서 효과가 더 크게 나타났습니다.
도입효과: 롱테일 질의 캐시 적중률 기대치 10~20% 대비 실제 약 50%(2024-02-09 인터뷰)[8]

케이스 4마이크로소프트 — Azure Managed Redis

마이크로소프트는 프롬프트 원문과 벡터, LLM 출력을 함께 저장해 두고 모델 호출 전에 벡터 조회를 먼저 하는 구성을 문서로 공개했습니다. 거리 기준값은 0과 1 사이에서 조정합니다. API Management 정책으로도 제공됩니다.
도입효과: 첫 질의 3초 이상 → 의미가 비슷한 두 번째 질의 200밀리초 미만(10배 이상 단축, 2025-05-13 공개 미리보기 기준)[5]

주의할 점은?

오늘 바로 해보기
1. 최근 한 달치 LLM 질의 로그에서 상위 100개 질문을 뽑습니다.
2. 의미가 겹치는 질문끼리 손으로 묶어 중복 비율을 셉니다.
3. 중복 비율이 30%를 넘으면 캐시 도입 후보로 올립니다.
4. 유사도 기준값을 엄격하게 잡아 시범 운영하고 적중률을 기록합니다.
5. 적중한 답변 30건을 사람이 직접 읽어 오답이 섞였는지 확인한 뒤 기준값을 조정합니다.

한계와 진화
기준값 튜닝이 공짜가 아닙니다. 레디스 문서는 느슨하게 잡으면 틀린 답을 내보내고 빡빡하게 잡으면 적중률이 무너진다는 점을 핵심 난제로 꼽습니다. AWS 벤치마크에서도 기준값을 0.99에서 0.50으로 낮추자 적중률은 23.5%에서 94.3%로 올랐지만 정확도는 92.1%에서 87.5%로 내려갔습니다.

맥락을 못 읽는 문제도 남습니다. GPTCache 문서는 적중 시 오탐과 미적중 시 누락이 생길 수 있다고 명시합니다. MeanCache 논문은 기존 캐시가 단독 질의에만 유효해 대화 맥락이 다른 유사 질의에서 오적중률이 높다고 지적합니다. 사용자별·세션별로 캐시를 나누거나, 캐시에서 나간 답을 표시해 사람이 확인할 수 있게 만드는 방향으로 진화하고 있습니다.

참고 자료

  1. Redis Docs, Redis semantic cache https://redis.io/docs/latest/develop/use-cases/semantic-cache/
  2. Redis Docs, Redis LangCache https://redis.io/docs/latest/develop/ai/context-engine/langcache/
  3. AWS Database Blog, Lower cost and latency for AI using Amazon ElastiCache as a semantic cache with Amazon Bedrock (2025-11-26) https://aws.amazon.com/blogs/database/lower-cost-and-latency-for-ai-using-amazon-elasticache-as-a-semantic-cache-with-amazon-bedrock/
  4. AWS Docs, Impact and benchmarks (semantic caching) https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/semantic-caching-benchmarks.html
  5. Microsoft DevBlogs, Accelerate AI Applications with Semantic Caching on Azure Managed Redis (2025-05-13) https://devblogs.microsoft.com/all-things-azure/accelerate-ai-applications-with-semantic-caching-on-azure-managed-redis/
  6. zilliztech/GPTCache https://github.com/zilliztech/gptcache
  7. Gill et al., MeanCache: User-Centric Semantic Caching for LLM Web Services, arXiv:2403.02694 https://arxiv.org/abs/2403.02694
  8. Portkey, Transforming E-Commerce Search with Generative AI — Walmart (2024-02-09) https://portkey.ai/blog/transforming-e-commerce-search-with-generative-ai-insights-from-walmarts-journey/

대표 출처

Redis Docs, Redis semantic cache