CONTEXT ENGINEERING · 입문
모델은 아무것도 기억하지 않는다. 기억은 다시 실리는 것이다.
이종길 · 26.10.28
context
3%
01 / 19
01 · 질문
장면 1
어제 정한 결정을 모른다
장면 2
30턴 전 이야기도 기억한다
장면 3
처음 한 지시를 다시 잊는다
“Claude may start ‘forgetting’ earlier instructions or making more mistakes.”
Claude Code 문서, Best practices
context
8%
02 / 19
02 · 원리
일어난 모든 일의 기록. 디스크에 계속 쌓인다
이번 요청에 보낼 것을 조립한다
요청 한 번에 모델이 받는 전부
읽고 답할 뿐. 요청 사이에 저장하지 않는다
대화가 이어지는 것처럼 보이는 건, 하네스가 매번 지난 대화 전체를 다시 보내기 때문이다.
응답은 다시 세션에 쌓이고, 다음 요청에 또 실린다 · Anthropic, Scaling Managed Agents (2026-04)
context
14%
03 / 19
02 · 원리
턴 1 · “README 요약해줘” 한 번 보냄
요청 1
system · tools
내 메시지
출력: Read 호출 후 멈춤
요청 2
system · tools
내 메시지
Read 호출
README 내용
출력: 요약 답변
턴 2 · 다음 메시지를 보냄
요청 3
system · tools
내 메시지
Read 호출
README 내용
답변
다음 메시지
“Read 실행해 줘”라고 출력하고 멈춘다. 하네스가 실행하고, 결과를 붙여 처음부터 다시 보낸다.
한 번 읽은 README 내용은 이후 모든 요청에 다시 실린다.
context
20%
04 / 19
02 · 원리
| 세션 | 컨텍스트 | |
|---|---|---|
| 무엇 | 일어난 모든 일의 기록 | 이번 요청 한 번에 보내는 것 |
| 크기 | 계속 늘어난다 | 창 한도 안 (최신 모델 다수 1M, 출력 포함) |
| 요약 뒤 | 원래 메시지가 그대로 남는다 | 앞부분이 요약 한 덩어리가 된다 |
| 모델이 | 직접 보지 못한다 | 이것만 본다 |
“The session is not Claude’s context window.” · Anthropic, Scaling Managed Agents (2026-04)
context
26%
05 / 19
03 · 구성
tools
system
messages
출력
도구 정의와 하네스의 규칙 · 잘 안 바뀐다
CLAUDE.md · 메모리 · 대화 · 도구 결과 · 내가 친 한 줄은 맨 끝
thinking 포함
입력이 창을 거의 채우면 답을 쓰다 한도에서 멈춘다
캐시는 값을 바꿀 뿐, 공간은 그대로 차지한다
넓어졌지만, 넓다고 다 쓰지는 않는다
context
32%
06 / 19
03 · 구성
Context usage · 365.7k / 1.0M (37%)
| System prompt | 3.4k |
| System tools | 13.4k |
| MCP server instructions | 717 |
| Custom agents | 1.5k |
| Memory files | 2.3k |
| Skills | 9.9k |
| Messages | 334.5k |
| Autocompact buffer | 33.0k |
| Free space | 601.3k |
세션 시작 · 거의 고정 · 약 30k
System prompt · System tools · Custom agents · Memory files · Skills(설명)
MCP · 717
서버 지침만 실림. 도구 정의는 쓸 때 불러온다
매 턴 늘어남 · 334.5k
Messages: 대화, 도구 결과, 호출된 스킬 본문. 지금 사용량의 91%
발표 준비 세션의 실제 /context (claude-opus-5-5, 2026-10-25)
context
38%
07 / 19
04 · 푸는 문제
제약 1
모델은 기억하지 않는다
무엇을 매번 다시 실을까? 무엇을 창 밖에 남겨 둘까?
제약 2
창은 유한하고, 출력도 같이 쓴다
무엇을 빼고, 무엇을 줄일까?
제약 3
길어질수록 흐려진다
무엇을 넣지 말아야 할까? 어디에 둘까?
세 제약 안에서 “이번 단계에 무엇을 보여줄까”를 정하는 일
context
44%
08 / 19
04 · 목표 · Anthropic, 2025-09
원하는 결과의 가능성을 최대화하는
가장 작은 고신호 토큰 집합을 찾는 것
많이 넣는 것이 아니라, 필요한 것만 정확히. LLM이 CPU라면 컨텍스트 창은 RAM이다. · Andrej Karpathy
context
50%
09 / 19
05 · 무엇을 담을까
~300
관련 부분만 준 입력 (토큰)
훨씬 잘 맞혔다
~113K
전체 대화를 다 준 입력 (토큰)
같은 질문, 정답 정보도 들어 있었다
관련은 있지만 답이 아닌 방해물 하나만 있어도 정확도가 떨어진다 · Chroma, 모델 18개
정보가 중간에 있으면 처음이나 끝에 있을 때보다 덜 쓴다 · Lost in the Middle
“curating what’s in context just as important as how much space is available” · Claude 문서 · Chroma, Context Rot (2025-07, LongMemEval)
context
57%
10 / 19
06 · 잊는 방식
A · 없어서 못 봄
새 세션은 어제 정한 결정을 모른다. 밖에 적어 두지 않았다.
B · 없어서 못 봄
창이 차서 요약된 뒤 세부 지시가 사라졌다. 요약은 무엇을 버릴지 고르는 일이다.
C · 있는데 못 씀
CLAUDE.md 규칙이 실려 있는데 지키지 않는다. 길고, 관련 없는 내용에 묻혔다.
D · 있는데 못 씀
틀린 정보나 실패한 시도가 남아 계속 근거로 쓰인다.
AI가 규칙을 어기면 먼저 묻는다: 지금 실려 있나? 최신인가? · 분류는 이 발표의 정리
context
64%
11 / 19
06 · 잊는 방식
| 장면 | 무슨 일이 생기나 | 처방 |
|---|---|---|
| 주제 섞기 | 관련 없는 내용이 창을 채운다 | /clear |
| 정정 반복 | 실패한 시도가 컨텍스트를 오염시킨다 | 두 번 넘으면 /clear 후 새로 |
| 긴 CLAUDE.md | 중요한 규칙이 묻힌다 | 줄이고, 꼭 지킬 건 hook |
긴 컨텍스트가 망가지는 네 방식 · Drew Breunig
poisoning
환각이 들어가 남는다
distraction
긴 기록이 판단을 압도한다
confusion
불필요한 내용이 답을 비튼다
clash
컨텍스트끼리 모순된다
context
71%
12 / 19
07 · 해결
WRITE
CLAUDE.md · 메모리 · plan 파일 · 커밋
대가: 틀리게 적으면 다음 세션에도 실린다
SELECT
스킬 · @파일 참조 · grep · 필요할 때 가져오기
대가: 설명이 부실하면 안 불러온다
COMPRESS
자동 요약 · /compact · /rewind 요약
대가: 요약은 세부를 버릴 수 있다
ISOLATE
서브에이전트가 따로 읽고 요약만 돌려준다
대가: 조사 과정이 메인에 보이지 않는다
프레임: LangChain, Context Engineering for Agents (2025-07) · 기법: Anthropic (2025-09) · Claude Code 문서
context
79%
13 / 19
07 · 해결 · Write + Select
오늘
교정을 받는다
WRITE
메모 파일에 적고 목록에 한 줄
다음 세션
목록이 자동으로 실린다
SELECT
필요할 때 그 파일을 읽는다
Write만 있으면: 목록에서 빠진 파일은 있어도 모른다. 서랍 속 일기장이다.
Select만 있으면: 적어 둔 게 없으니 꺼낼 것도 없다. 오늘 교정은 세션과 함께 사라진다.
장기 기억 = Write + Select. 기억은 모델 안이 아니라 파일에 있다.
context
88%
14 / 19
07 · 해결 · Compress
요약 전
고정
대화
도구 결과
요약 후
고정
요약
최근
system prompt · 루트 CLAUDE.md · auto memory · 최근 읽은 파일 최대 5개
대화 기록 · 하위 폴더 CLAUDE.md와 path rules (필요할 때 다시 로드)
원래 메시지가 그대로 남는다. 줄어드는 건 컨텍스트뿐
context
요약 12% · 전체 30%
15 / 19
08 · 비용과 속도 · 선택
캐시 없음
앞부분 전체를 다시 계산
새 턴
캐시 있음
지난번 계산 재사용
새 턴
두 막대의 길이는 같다. 보내는 토큰 수도, 창에서 차지하는 공간도 같다. 달라지는 건 색, 즉 다시 계산하느냐뿐이다.
캐시된 토큰도 1M 한도에 그대로 포함된다
캐시에서 읽은 토큰은 기본 입력 가격의 0.1배. 다시 계산하지 않아 빠르다
매번 다시 보내야 맞는다. 앞부분이 하나라도 바뀌면 그 뒤는 다시 계산
context
요약 12% · 전체 36%
16 / 19
09 · 적용
| 이럴 때 | 이렇게 |
|---|---|
| CLAUDE.md를 쓸 때 | 줄마다 “지우면 실수할까?” 묻고, 아니면 지운다 |
| 예외 없이 지킬 규칙 | 지시문 대신 hook으로 막는다 |
| 다른 작업으로 넘어갈 때 | /clear |
| 같은 정정을 두 번 넘게 | /clear 후 더 나은 첫 프롬프트로 |
| 넓게 조사해야 할 때 | 서브에이전트에게 맡긴다 |
| 잘못 간 방향 | /rewind로 되돌린다 |
Claude Code 문서, Best practices · Checkpointing
context
요약 12% · 전체 43%
17 / 19
10 · 마무리
장면 1 · 새 세션
아무도 다시 보내지 않아서 모른다
장면 2 · 같은 세션
하네스가 다시 보내서 기억한다
장면 3 · 아주 긴 세션
실려 있어도 묻히거나, 요약되어 잊는다
context
요약 12% · 전체 48%
18 / 19
참고
Anthropic · Effective context engineering for AI agents (2025-09)
Anthropic · Scaling Managed Agents (2026-04)
LangChain · Context Engineering for Agents (2025-07)
Simon Willison · Context engineering (2025-06)
Chroma · Context Rot (2025-07)
Liu et al. · Lost in the Middle (2023)
Claude 문서 · Context windows · Prompt caching
Claude Code 문서 · Explore the context window
Claude Code 문서 · Best practices · Checkpointing
Drew Breunig · How Long Contexts Fail (2025-06)
근거 확인일 2026-10-25 · Claude Code 문서는 최신 버전 기준
context
요약 12% · 전체 52%
19 / 19