컨텍스트 전략
Format·Write·Select·Compress·Isolate 상세
컨텍스트 전략
Format·Write·Select·Compress·Isolate 상세
무엇을 넣느냐가 성능을 결정한다
프롬프트 기법을 넘어 — 모델에 보여줄 컨텍스트를 설계하는 엔지니어링
5대 전략
Write · Select · Compress · Isolate · Optimize Format
5대 전략
컨텍스트 윈도우를 다스리는 다섯 가지 접근
Write · Select · Compress · Isolate · Optimize Format
윈도우의 서로 다른 문제를 겨냥하는 전략들 — 단일 적용이 아니라 조합이 프로덕션 표준입니다.
- Write — 명시 작성·외부 저장
- Select — 관련 정보만 선별
- Compress — 요약·오프로딩 압축
- Isolate — 서브태스크 격리
- Optimize Format — 배치·형식 최적화
전략마다 겨냥하는 문제가 다릅니다 — 가장 큰 토큰 소비원이 어디인가가 전략의 비중을 결정합니다.
5대 전략 범주
컨텍스트 윈도우의 서로 다른 문제를 겨냥하는 전략들
Write
- 모델에 명시적으로 정보를 작성하여 주입
- System Prompt, 가이드라인, 규칙 정의
- "모델이 모를 수 있는 것"을 직접 써준다
Select
- 관련 정보만 골라서 컨텍스트에 포함
- RAG 결과 필터링, 관련 기억만 추출
- 무관한 정보 = 노이즈 — 정확도 하락
Compress
- 긴 정보를 짧게 압축하여 토큰 절약
- 요약 · 핵심 추출 · 대화 기록 압축
- Strands: Summarizing + ContextOffloader
Isolate
- 독립 서브태스크를 분리해 위임
- 메인 컨텍스트 오염 방지
- 서브태스크마다 깨끗한 컨텍스트
Optimize Format
- 배치 순서와 형식을 최적화
- 중요 정보는 앞/뒤에 — 근거는 PART 4
- 마크다운 구조화, Checkpoint Injection
다섯 전략은 조합해서 씁니다 — 각 전략이 다른 레이어에 적용되어 효과가 누적됩니다.
시나리오별 1차 전략
워크로드의 최대 토큰 소비원이 어디냐에 따라 달라지는 우선 전략
| 시나리오 | 1차 전략 | 이유 |
|---|---|---|
| 고객 지원 챗봇 (다중 세션) | Write | 세션 간 상태 지속이 필수 |
| 문서 Q&A | Select | 대량 문서에서 관련 부분만 |
| 장기 실행 코딩 에이전트 | Compress | 대화 누적으로 윈도우 소진 |
| 멀티 도메인 업무 자동화 | Isolate | 도메인별 전문가 분리 |
| 반복 데이터 처리 파이프라인 | Optimize Format | 동일 구조 반복 최적화 |
1차 전략을 정한 뒤 나머지를 얹습니다 — 대화가 길면 Compress, 문서가 많으면 Select, 도메인이 넓으면 Isolate 비중을 올립니다.
Strands SDK 구현
5대 전략의 Strands Agents SDK 구현 대응
Write → System Prompt
Agent(system_prompt="...")
Skills 플러그인으로 JIT 주입
Select → Memory
AgentCoreMemorySessionManager
retrieval_config로 필터링
Compress → Context Manager
context_manager="auto"
Summarizing + ContextOffloader
Isolate → Subagent
Swarm, Graph
서브에이전트 위임
Optimize Format → 배치
정적 우선 프롬프트 구조
cachePoint 배치 (PART 5)
Write는 system_prompt, Select는 Memory 검색, Compress는 context_manager, Isolate는 서브에이전트, Optimize Format은 배치 구조 — 다섯 전략 모두 대응 구현이 있습니다.
실패 모드와 측정
Poisoning · Distraction · Confusion · Clash
실패 모드와 측정
잘못된 컨텍스트가 만드는 4가지 실패와 그 정량 측정법
Poisoning · Distraction · Confusion · Clash
컨텍스트가 잘못되면 모델이 아무리 좋아도 실패합니다 — 올바른 진단이 대응의 선행 조건입니다.
- Poisoning — 잘못된 정보의 오염
- Distraction — 무관한 정보의 산만
- Confusion — 모순 정보의 혼동
- Clash — 규칙과 컨텍스트의 충돌
- 측정 — 비용과 품질의 동시 추적
실패 모드마다 대응 전략이 다릅니다 — 증상을 보고 원인을 진단해야 올바른 방어를 고를 수 있습니다.
4대 실패 모드
컨텍스트가 잘못되면 모델이 아무리 좋아도 실패한다 — 방어해야 할 4가지
Poisoning (오염)
잘못된 정보가 컨텍스트에 포함
모델이 틀린 정보를 사실로 답변
Distraction (산만)
무관한 정보가 attention을 분산
핵심을 놓치고 엉뚱한 답변
Confusion (혼동)
비슷하지만 다른 정보가 충돌
모델이 어떤 것을 따를지 혼란
Clash (충돌)
시스템 프롬프트와 컨텍스트가 모순
규칙 위반 또는 무시
넷 다 모델이 아니라 컨텍스트의 문제입니다 — 문서 품질, 관련성 필터, 단일 소스, 우선순위 지정으로 각각 방어합니다.
Lost in the Middle — 중간 정보의 실종
4대 실패 모드와 별개의 구조적 현상 — 긴 컨텍스트 중간 정보의 attention 약화 (Stanford NLP)
현상
구조적 한계
- 긴 컨텍스트의 중간 정보에 attention 약화
- 앞과 뒤의 정보는 상대적으로 잘 활용
- 컨텍스트가 길수록 심해짐
- 모델 교체로 해결되지 않는 구조적 문제
Stanford NLP 연구에서 확인된 LLM의 구조적 한계입니다. 프롬프트를 잘 써도 배치가 잘못되면 정보가 실종됩니다.
대응
Optimize Format
- 중요 정보를 앞(System Prompt 직후)에 배치
- 또는 뒤(사용자 질문 직전)에 배치
- Checkpoint Injection — 5 액션마다 목표 재확인 주입
- 근본 대응은 컨텍스트를 짧게 — Compress + Select
배치 순서가 곧 전략입니다. 에이전트가 길게 실행될수록 목표 재확인 주입이 방향 이탈을 막습니다.
중간에 넣은 정보는 없는 것과 같아질 수 있습니다 — 중요한 것은 앞뒤로 배치하고, 나머지는 줄입니다.
측정 지표
컨텍스트 엔지니어링의 효과를 정량적으로 측정하는 방법
| 지표 | 측정 대상 | 개선 방향 |
|---|---|---|
| Task Completion Rate | 에이전트가 태스크를 성공적으로 완료하는 비율 | 컨텍스트 품질 ↑ → 완료율 ↑ |
| Correction Rounds | 사용자가 "아니, 그게 아니라"를 반복하는 횟수 | 관련 정보 Select ↑ → 교정 ↓ |
| Token Cost per Task | 태스크 1건 완료에 소비되는 평균 토큰 | Compress ↑ → 비용 ↓ |
| Context Hit Rate | 주입된 컨텍스트가 실제 답변에 사용된 비율 | Select 정밀도 ↑ → 히트율 ↑ |
토큰을 줄였는데 완료율이 떨어지면 의미 없는 최적화입니다 — 비용과 품질을 쌍으로 추적합니다.
다음은 모델을 감싸는 실행 환경 전체를 설계하는 하네스 엔지니어링.