컨텍스트 엔지니어링
모델에 무엇을 보여 줄지 설계하는 컨텍스트 엔지니어링의 개념과 컨텍스트 실패 유형 4가지, 관리 기법 6가지를 정리한다.
- 컨텍스트 엔지니어링(context engineering): 모델이 이번 호출에서 볼 정보를 고르고 배치하는 설계.
- 모델의 출력 = f(가중치, 컨텍스트). 사용자가 바꿀 수 있는 것은 대부분 컨텍스트.
- 결과를 좋게 만드는 방법: 더 큰 모델(비쌈), 더 오래 추론(느림), 더 나은 컨텍스트(싸고 빠름).
- 출처: Drew Breunig(2026), The State of Context Engineering. 한국어 요약: GeekNews.
프롬프트 → 컨텍스트 → 하네스
| 시기 | 이름 | 질문 | 설계 대상 |
|---|---|---|---|
| 2023 | 프롬프트 엔지니어링 | 무엇을 말할까 | 한 번의 호출에 넣을 단어와 예시 |
| 2025 | 컨텍스트 엔지니어링 | 무엇을 보여 줄까 | 호출마다 컨텍스트 창을 채울 정보 |
| 2026 | 하네스 엔지니어링 | 어떤 환경과 규칙으로 일하게 할까 | 도구·권한·검증·로그를 갖춘 실행 구조 |
- 세 층은 포함 관계: 하네스 안에 컨텍스트 관리가, 컨텍스트 안에 프롬프트가 있음.
- 흐름: 작업이 확률적인 모델 호출에서 결정론적인 코드로 옮겨 감(Breunig).
컨텍스트 실패 유형 4가지
- 창이 100만 토큰으로 커져도 들어간다고 잘 쓰는 것은 아님(긴 컨텍스트와 웹 검색). 긴 컨텍스트에는 더 많은 오류도 들어감.
| 실패 유형 | 무슨 일이 생기나 |
|---|---|
| 오염(context poisoning) | 잘못된 사실이 컨텍스트에 들어간 뒤 모델이 계속 참조 |
| 주의 분산(context distraction) | 컨텍스트에 쌓인 내용(특히 과거 행동)에 끌려감 |
| 혼동(context confusion) | 불필요한 정보가 답을 엉뚱하게 바꿈 |
| 충돌(context clash) | 도구 설명·지침 등이 서로 모순 |
출처: Breunig(2025), How Long Contexts Fail.
- 오염의 예: Gemini 2.5 Pro가 1996년판 포켓몬 레드를 하면서, 리메이크판 지식대로 "차를 구해야 한다"는 목표를 할 일 목록에 적고 오래 헤맴. 잘못된 목표가 매 호출에 다시 입력됨(Gemini 2.5 기술 보고서).
- 주의 분산의 예: Camassa·Shiller(2026), Do as I Say, Not as I Do.
- "러시아어로 답하라"는 지시와 프랑스어로 답해 온 이력. 13개 모델의 지시 준수율이 1%-99%로 갈림.
- 작은 모델은 어긋난 턴 몇 개만으로 준수율이 절반 아래. 큰 모델도 같은 경향.
컨텍스트 관리 기법 6가지
| 기법 | 하는 일 | 이 강의에서 |
|---|---|---|
| 보강(augmentation) | RAG·스킬로 필요한 정보를 가져옴 | 검색 증강 생성 |
| 도구 선별(tool loadout) | 이번 작업에 필요한 도구만 보여 줌 | 도구 검색, 판단 모델 Jev |
| 격리(quarantine) | 하위 작업을 빈 이력의 하위 에이전트에 맡김 | 오케스트레이션 |
| 가지치기(pruning) | 필요 없는 이력·도구 결과를 지움 | 컨텍스트 설계와 관리 |
| 외부 저장(offloading) | 파일·DB에 두었다가 필요할 때 읽음 | 기억과 망각 |
| 요약(summarization, compaction) | 긴 이력을 짧은 브리핑으로 압축 | 컨텍스트 설계와 관리 |
출처: Breunig(2025), How to Fix Your Context.
- 도구 선별의 사례: 성능이 나빴던 한 기업의 에이전트는 600개의 스킬을 불러오고 있었음.
- 가지치기·요약의 비용: 이력의 앞부분을 바꾸면 프롬프트 캐싱이 깨질 수 있음.
- 핵심 질문: 이 정보가 지금 이 호출에 필요한가? 이 판단을 코드(규칙)로 할지, 작은 판단 모델에 맡길지가 설계.
- Breunig의 예제:
while루프에 작은 모델의 도구 선별·가지치기·요약과delegate(격리) 도구를 넣어도 바뀌는 코드는 십여 줄.
Mermaid 다이어그램 원문
flowchart LR
U[작업] --> L{{while 루프}}
L --> S[도구 선별<br/>작은 모델]
S --> P[가지치기·요약<br/>작은 모델]
P --> M[큰 모델 호출]
M --> T[도구 실행 / 하위 에이전트]
T --> L
M --> A[최종 답변]대화형 다이어그램을 불러오기 전에는 원문으로 표시됩니다.
장기 실행에서 생기는 새 실패
- 가중치와의 싸움: 학습 때 익힌 습관과 다른 방식은 잘 따르지 않음 → 하네스 엔지니어링.
- 컨텍스트 관성: 쌓인 가설·하위 목표에 집착해 멈춰야 할 때도 계속함 → 기억과 망각.
- 다음 과제(Breunig의 예측): 쌓인 장기 기억끼리 충돌. 무엇을 잊을지 정하는 전략적 망각.
퀴즈
Breunig가 정리한 결과 개선 방법 중 컨텍스트 개선의 장점은?
퀴즈를 풀려면 대화형 기능을 불러와야 합니다.