본문 바로가기
C.W.K.
Stream
Lesson 02 of 10 · published

캐시 전략 — 무엇을 저장할 가치가 있을까

~12 min · production, caching

Level 0수련생
0 XP0/100 lessons0/14 achievements
0/120 XP to next level120 XP to go0% complete

세 가지 캐시는 쓰임이 달라

  • 프롬프트 캐시 — 제공업체가 시스템 프롬프트, 큰 고정 문서, 도구 정의를 저장해 입력 비용을 크게 줄여.
  • 응답 캐시 — 같은 입력과 결정적인 프롬프트의 결과를 애플리케이션이 저장해. 채팅보다는 추출과 분류에 흔해.
  • 의미 캐시 — 새 질문을 최근의 비슷한 질문과 비교해 유사도가 높으면 옛 답을 돌려줘. FAQ 형태의 요청에 잘 맞아.

얻는 것과 위험

  • 프롬프트 캐시는 싸고 품질 위험이 거의 없어 안정적인 머리말에는 기본으로 켜도 돼.
  • 응답 캐시는 온도 0 같은 결정성과 안정적인 입력 해시가 필요해.
  • 의미 캐시는 강력하지만 비슷해 보이는 다른 질문에 틀린 답을 자신 있게 줄 수 있어. 높은 문턱과 새 호출 대체 경로를 둬.

언제 무효화할지도 함께 정해

프롬프트 캐시의 TTL은 제공업체가 관리하고, 응답 캐시는 원자료가 바뀌면 지우며, 의미 캐시는 정책이 달라질 때 지워야 해. 변경을 만드는 같은 차이에 무효화 규칙도 넣어.

Code

유사도 문턱을 둔 의미 캐시·python
def semantic_cache_lookup(query: str, threshold: float = 0.95):
    emb = embed(query)
    hit = vector_db.search(emb, k=1)
    if hit and hit[0].score >= threshold:
        return hit[0].cached_response
    return None

result = semantic_cache_lookup(query)
if result is None:
    result = call_model(query)
    vector_db.upsert(embed(query), cached_response=result)

External links

Exercise

운영 끝점 하나에 프롬프트 캐시를 넣고 천 번 호출했을 때 비용 변화를 재봐. 그 위에 의미 캐시를 시험할 가치가 있는지도 판단해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.