· 컨텍스트 부패
슬라이드 12 · Chapter 2 — 챕터 질문
어제까지 멀쩡하던 코드는 왜 오늘 무너지는가?
Stateless · Lost in the Middle · 그리고 3개월의 벽
부패(Rot)는 오염(Contamination)과 다르다. 오염은 처음부터 망가진 것이고, 부패는 처음에는 멀쩡하지만 시간이 지나며 망가지는 것이다. 대화 초반의 멀쩡한 코드 결정이 한 시간 뒤 무너지는 그 현상을 과학적으로 설명한다.
슬라이드 13 · Chapter 2 — 시간이 만드는 망각
LLM은 Stateless다 — 이전 대화는 모델 안에 저장되지 않는다. 매번 클라이언트가 전체 대화를 다시 보낸다.
그러나 트랜스포머의 Attention은 시작과 끝에 더 주의를 기울인다. 중간에 기록된 결정들은 체계적으로 잊힌다. 이것을 Lost in the Middle 현상이라 부른다.
둘이 결합하면 — 30분 전 합의가 한 시간 뒤 사라진다.
슬라이드 14 · Chapter 2 — 부패의 4단계 메커니즘
부패는 4단계로 진행된다:
- 깨끗한 컨텍스트 — 대화 시작. 마법 같은 시간.
- 시간 누적 — 30분~1시간. 윈도우 한계가 다가온다.
- 충돌 생성 — 이전 결정과 어긋나는 새 코드가 생성된다.
- 재작성 강제 — 3개월의 벽. 작은 변경이 전체를 깨뜨린다.
새 코드는 문법적으로 정확하고 논리적으로 그럴듯하다 — 그래서 가장 위험하다. 우리는 그 위험을 알아채지 못한다.
슬라이드 15 · Chapter 2 — 누적이 시스템을 무너뜨린다
이것은 처음이 아니다.
1960~70년대 — 라운드오프 에러. 부동소수점 연산은 실수를 근사로 저장한다. 한 번은 무시할 수준이지만, 시간 적분에서 발산한다. 해결책은? Kahan summation, Lagrange 보간이라는 보정 장치.
2020년대 — 컨텍스트 부패. LLM은 토큰을 근사로 처리한다. 한 번은 무시할 수준이지만, 대화 누적에서 발산한다. 해결책도 비슷하다 — 영구 지시어, 마이크로 태스크라는 보정 장치.
한계는 받아들인다. 그 위에서 보정 장치를 설계한다.
슬라이드 16 · Chapter 2 — 부패를 차단하는 4가지 자세
① 영구 지시어 — CLAUDE.md·AGENTS.md에 결정을 기록한다. 매 세션 첫 줄에 다시 기록된다.
② 마이크로 태스크 — 한 세션의 작업을 짧게 자른다. 길어지기 전에 끊는다.
③ Worktree 격리 — 실패한 세션이 main에 침투하지 못하게 한다.
④ 서브에이전트 — 큰 에이전트가 작은 에이전트에게 격리된 컨텍스트로 위임한다.
처방은 AI를 바꾸는 것이 아니라 우리가 환경을 바꾸는 것이다.