AI 비용을 절반으로 줄이고 성능을 두 배로 높이는 방법

발행: (2026년 1월 10일 오후 02:06 GMT+9)
4 분 소요
원문: Dev.to

Source: Dev.to

전통적인 캐싱은 누군가 질문을 바꿔 말하는 순간 깨집니다. 사용자가 “What are your business hours?”라고 물으면 응답을 받습니다. 5분 뒤, 다른 사용자가 “When are you open?”이라고 물으면—의미는 동일하지만 단어가 다르기 때문에 캐시가 전혀 일치하지 않습니다. 이러한 숨은 비용은 표준 캐싱이 정확한 문자열 일치만 잡아내기 때문에 LLM 비용이 급증하게 만듭니다.

The Limitations of Exact‑Match Caching

대부분의 캐싱 시스템은 다음과 같이 동작합니다:

  1. 요청을 해시합니다.
  2. 해당 해시가 캐시 안에 존재하는지 확인합니다.
  3. 존재한다면 캐시된 응답을 제공합니다.

이 방식은 요청이 동일한 정적 자산이나 데이터베이스 쿼리에는 훌륭하게 작동합니다. 그러나 LLM 요청은 거의 동일하지 않습니다. 다음과 같은 변형을 살펴보세요:

  • “What’s the refund policy?”
  • “How do I get a refund?”
  • “Can I return this product?”
  • “What is your return policy?”

사람은 즉시 이것들이 같은 질문임을 알아차립니다. 전통적인 캐싱은 네 개의 서로 다른 요청으로 보고 네 번의 별도 API 호출을 수행하며, 각각은 모델과 토큰 수에 따라 $0.002–$0.03의 비용이 듭니다.

일일 10,000건의 문의를 처리하는 AI 기반 고객 지원 시스템이라면, 낭비는 빠르게 누적됩니다. 문의의 30 %가 의미상 중복이라고 가정하면(보수적인 추정), 매일 3,000건의 불필요한 API 호출이 발생합니다.

Semantic Caching with Bifrost

오픈소스 LLM 게이트웨이인 Bifrost는 semantic caching—텍스트를 일치시키는 것이 아니라 의미를 이해하는—을 통해 이 문제를 해결합니다. 초기 프로덕션 배포에서는 비용이 40 %–60 % 감소했으며, 일부 사례에서는 최대 85 %까지 절감되었습니다.

How It Works

요청이 들어오면 다음과 같이 처리합니다:

  1. Generate an embedding for the prompt using a small, fast model (e.g., text-embedding-3-small).
  2. Search the vector store for cached entries with high semantic similarity.
  3. If similarity exceeds the configured threshold (typically 0.8–0.95), return the cached response.
  4. If no match exists, call the LLM and cache both the response and its embedding.

핵심 통찰: 의미적으로 유사한 두 프롬프트는 정확한 단어가 달라도 유사한 임베딩 벡터를 생성합니다. 벡터 유사도 검색을 통해 이러한 근접 매치를 밀리초 단위로 찾을 수 있습니다.

Example

  • User asks: “What are your business hours?” → embedding generated, response cached.
  • Later, another user asks: “When are you open?” → embedding is mathematically similar; Bifrost serves the cached response in .
Back to Blog

관련 글

더 보기 »

안녕, 뉴비 여기요.

안녕! 나는 다시 S.T.E.M. 분야로 돌아가고 있어. 에너지 시스템, 과학, 기술, 공학, 그리고 수학을 배우는 것을 즐겨. 내가 진행하고 있는 프로젝트 중 하나는...