피드로 돌아가기
Your LLM prompt doesn't fit? Pack it by priority (zero dependencies)
Dev.toDev.to
AI/ML

Priority-based Packing 알고리즘을 통한 LLM Context Window 최적화

Your LLM prompt doesn't fit? Pack it by priority (zero dependencies)

Wael Rahhal2026년 6월 15일4intermediate

Context

전통적인 Truncation 방식의 무작위 데이터 손실로 인한 System Prompt 파손 및 정보 손실 문제 발생. 고정된 Token Budget 내에서 다양한 우선순위를 가진 컨텍스트를 효율적으로 배치해야 하는 설계적 한계 직면.

Technical Solution

  • Context 구성 요소를 Required, High, Medium, Low의 Priority 계층으로 분리하여 데이터 보존 우선순위 정의
  • 각 요소별로 Drop, Truncate, Trim 등 서로 다른 전략을 할당하여 Token Budget 초과 시 대응 방식의 유연성 확보
  • Model-aware Budgeting 기능을 통해 특정 모델의 Max Token 제한과 출력용 Reserve Token을 자동으로 계산하는 로직 구현
  • Fast characters-per-token Heuristic 기반의 Token 추정 방식을 채택하여 External Dependency 없는 Zero-dependency 라이브러리 설계
  • Priority-based Packing 알고리즘을 통한 가용 예산 내 최대 효율의 컨텍스트 조합 생성

1. LLM 프롬프트 설계 시 시스템 프롬프트를 'Required'로 설정하여 강제 보존하는지 확인

2. 모델 응답을 위한 충분한 Reserve Token 공간을 확보하여 응답 끊김 현상 방지

3. 채팅 히스토리에는 'Trim(Oldest first)' 전략을, 참고 문서에는 'Drop' 전략을 적용하여 정보의 최신성과 무결성 유지

원문 읽기