피드로 돌아가기
Dev.toAI/ML
원문 읽기
시스템 프로그래밍 원칙을 통한 LLM Context Window 최적화 설계
Agent Skills Are Just Header Files (And Virtual Memory, And Unix Pipes)
AI 요약
Context
LLM Agent에 다수의 Capability를 부여할 때 모든 도구 설명을 System Prompt에 포함하는 Naive Approach 사용. 이로 인해 Context Window 비대화, 추론 지연 시간 증가, 비용 상승 및 모델의 Hallucination 발생이라는 한계에 직면함.
Technical Solution
- Interface와 Implementation의 분리를 위해 C 언어의 Header File 구조를 모사한 Skill Metadata 정의
- 전체 Skill 중 필요한 일부만 Context에 로드하는 Virtual Memory Paging 기법을 적용한 Dynamic Loading 구현
- 개별 Skill을 최소 단위로 설계하고 Output-Input 타입을 일치시켜 Unix Pipes 방식으로 체이닝하는 Composition 구조 채택
- Skill의 진화와 하위 호환성 유지를 위해 Semantic Versioning 기반의 명시적 Contract 관리 적용
- LLM Context Window를 RAM으로 정의하고 Relevance 기반의 Selection 알고리즘을 통한 최적의 Working Set 유지
실천 포인트
- System Prompt 내 툴 설명이 5,000 토큰을 초과하는지 확인하고 Lazy Loading 도입 검토 - '검색-요약-저장'과 같은 Monolithic Skill을 개별 Atomic Skill로 분리하여 재사용성 확보 - Skill 호출 시 Metadata(Contract)만 전달하고 실제 로직은 Runtime에서 Resolve 하는 구조인지 점검 - 빈번하게 사용되는 Hot Skill에 대한 Caching 및 관련 Skill Prefetching 전략 수립