AI 개발의 진짜 병목 — 컨텍스트가 뒤섞인다
기각했던 대안이 채택된 결정처럼 되살아나는 순간 — 그게 제일 큰 병목이었어요. 그래서 기억을 세션 밖 정리본에 둡니다.

AI가 몇 시간 전에 제가 기각한 대안을, 채택된 결정인 것처럼 자신 있게 다시 꺼낸 적이 있어요.
1년 넘게 AI로 개발하면서 도구도 모델도 계속 바뀌었는데, 병목은 늘 같은 자리에서 생겼어요. 모델이 멍청해서가 아닙니다. 긴 세션에서 컨텍스트를 정리할 때, 기존 기억이 뒤섞여서요.
기억이 뒤섞이는 순간
왜곡은 조용히 일어나요
세션이 길어지면 어떤 도구든 컨텍스트를 압축·요약해서 이어가요. 문제는 이 정리 과정에서 미묘한 왜곡이 생긴다는 거예요. 기각한 대안이 채택된 결정처럼 되살아나고, 서로 다른 작업의 제약조건이 하나로 합쳐지고, "하지 말라"고 했던 것의 부정이 사라집니다.
무서운 건 이게 조용히 일어난다는 점이에요. AI는 뒤섞인 기억을 원래 기억만큼 확신을 갖고 말해요. 그리고 코드에도 그 확신대로 반영합니다.
(제일 무서운 버그는 소리 없이 확신에 차 있는 버그예요.)
버티기로는 안 됐어요
처음에는 프롬프트를 더 자세히 쓰고, 세션을 더 자주 새로 여는 걸로 버텼어요. 그런데 그건 병목을 옮기는 거지 없애는 게 아니더라고요. 세션을 새로 열면 이번엔 제가 지난 세션의 결정을 전부 다시 설명해야 했고, 그 설명이 부정확하면 같은 문제가 반복됐습니다.

결론 — 기억은 세션 밖에 둡니다
정리본이 원본, 세션은 캐시
그래서 내린 결론이 중앙 정리본이에요. 요구사항, 제약조건, 확정된 결정, 기각한 대안과 그 이유를 세션 바깥의 문서로 유지하고, 이걸 유일한 원본으로 삼아요. AI의 세션 기억은 휘발성 캐시로 취급합니다. 캐시는 언제든 오염될 수 있으니까, 중요한 판단이 필요한 시점마다 원본에서 다시 읽어 주입해요.
달라진 두 가지
첫째, 세션 끊는 게 두렵지 않게 됐어요. 새 세션은 정리본 하나로 몇 분 안에 이전 맥락을 복원합니다.
둘째, AI 출력에서 이상한 방향 전환을 감지하기 쉬워졌어요. 정리본과 어긋나는 제안이 나오면 논거 있는 반론이거나 오염된 기억이거나 둘 중 하나인데, 문서와 대조하면 몇 초 만에 구분됩니다.
정리본은 사람을 위한 것이기도 해요
부수 효과도 컸어요. 몇 주 뒤의 나는 사실상 타인이거든요. AI의 컨텍스트가 뒤섞이는 것처럼 사람의 기억도 뒤섞여요. 결정과 기각 이유를 적어둔 정리본은 AI에게 재주입하는 원본인 동시에, 미래의 저에게 재주입하는 원본이었습니다.
(arcaC에서 용어집 CONTEXT.md와 ADR을 계속 유지하는 것도 같은 원리예요. 용어가 흔들리면 코드가 흔들리고, 기억이 흔들리면 설계가 흔들리니까요.)
정리하면 — AI 개발의 생산성은 모델의 지능이 아니라 컨텍스트의 무결성에서 갈려요. 무결성은 세션 안에서 지킬 수 없어요. 정리본은 세션 밖에 두고, 세션은 소모품으로 씁니다. 이 원칙 위에서 실제 작업을 어떻게 굴리는지는 다음 글에서 정리할게요.
이 기억 문제를 프로세스로 어떻게 눌렀는지 — 다음 편에서 아홉 단계를 보여드릴게요. 아홉 단계라고 하면 관료적으로 들리겠지만, 실제론 반대예요.


