피드로 돌아가기
How I built a Go proxy that keeps your LLM conversation alive when cloud quota runs out
Dev.toDev.to
AI/ML

3단계 Context Compaction 기반 LLM Fallback Proxy 구현

How I built a Go proxy that keeps your LLM conversation alive when cloud quota runs out

Shouvik Palit2026년 5월 3일2intermediate

Context

Cloud LLM의 Quota 제한 발생 시 Local 모델로 전환하는 과정에서 발생하는 Context 손실 문제 분석. 단순 메시지 전달은 Local 모델의 Context Window 초과를 유발하며, 단순 절삭은 대화의 연속성을 저해하는 한계 존재.

Technical Solution

  • Go 언어 기반의 Single Binary 구조 설계를 통한 런타임 의존성 제거 및 배포 효율성 확보
  • 429, 402, 529 에러 감지 시 Ollama 인스턴스로 자동 전환하는 Fallback 메커니즘 구현
  • 원본 의도 및 톤 유지를 위해 대화 초기 2턴을 상시 보존하는 Anchor 전략 채택
  • 중간 대화 내역을 의도, 엔티티, 미결 사항 중심으로 압축하는 SITREP 구조의 Summary 생성
  • 설정 가능한 Token Budget 내에서 최신 대화 내역을 유지하는 Tail 보존 방식 적용
  • API Key 보안 감사 가능성을 고려한 850라인 내외의 Lightweight Codebase 유지

1. Fallback 대상 모델의 Context Window 크기를 고려한 Token Budget 설정

2. 대화의 시작(Anchor)과 끝(Tail)을 분리하여 보존하는 계층적 컨텍스트 관리 전략 검토

3. Proxy 계층의 코드 복잡도를 최소화하여 API Key 처리 과정의 투명성 및 보안성 확보

원문 읽기