에그코드 개발 이야기 · AI 컨텍스트
컨텍스트 윈도우가 100만 토큰까지 넓어졌습니다.
이제 자료를 다 넣고 계속 이어서 물어보면 될 것 같습니다.
그런데 실제로는 대화가 길어질수록 답이 나빠집니다.
할루시네이션 원인을 찾을 때 대부분 질문을 의심합니다. 정작 원인은 그 질문 앞에 쌓인 대화에 있는 경우가 많습니다.
저희 에그코드도 자체 서비스를 만들고 운영하면서 이 문제를 매일 마주합니다.
왜 그런지, 그래서 무엇을 바꿔야 하는지 정리해봤습니다.
먼저, AI는 기억하지 않습니다
"아까 말했잖아"가 통하는 건 AI가 기억해서가 아닙니다.
매 요청마다 이전 대화 전체를 처음부터 다시 읽기 때문입니다.
10번째 질문에는 앞선 9번의 내용이 통째로 함께 들어갑니다.
대화가 길어진다 = 매번 읽어야 할 분량이 늘어난다
컨텍스트 윈도우는 그 분량을 담는 그릇이고, 토큰은 글자를 세는 단위입니다.
여기서 문제 3가지가 시작됩니다.

1. 중요한 지시가 중간에서 묻힙니다
AI는 맨 앞과 맨 뒤는 잘 봅니다.
가운데 있는 내용은 상대적으로 놓칩니다.
연구에서 Lost in the Middle, 즉 중간이 흐려지는 현상이라 부릅니다.
그래서 초반에 정한 규칙이 뒤로 갈수록 덜 지켜집니다.
나중에 준 지시와 충돌하면, 대개 최근 지시 쪽으로 기웁니다.
당신이 챙길 것은 하나입니다.
꼭 지켜야 할 조건은 대화 초반이 아니라 지금 이 요청 안에 다시 넣는 것입니다.

2. 느려지고, 비용이 붙습니다
입력을 읽는 단계는 길이에 거의 제곱으로 반응합니다.
대화가 2배 길어지면 첫 글자가 나오는 시간은 그보다 더 밀립니다.
비용도 같은 구조입니다.
턴마다 전체 이력을 다시 보내니, 같은 질문이라도 뒤로 갈수록 비쌉니다.
| 구간 | 누적으로 다시 보내는 분량 |
|---|---|
| 3턴까지 | 6개분 |
| 5턴까지 | 15개분 |
| 10턴까지 | 55개분 |
| 15턴까지 | 120개분 |
프롬프트 캐싱, 즉 앞부분을 재사용하는 기능을 쓰면 상당 부분 줄어듭니다.
다만 앞 내용이 계속 바뀌는 구간에서는 캐시가 잘 걸리지 않습니다.

3. 할루시네이션이 늘고, 말투가 굳습니다
여기가 핵심입니다.
중간에 폐기한 오답도 맥락 안에는 그대로 남아 있습니다.
AI는 그걸 이미 확정된 사실처럼 다시 끌어다 씁니다.
할루시네이션이 유독 대화 후반에 몰리는 이유입니다.
말투도 마찬가지입니다.
AI가 앞서 내놓은 답도 다음 요청 때 입력에 함께 실립니다.
즉 자기가 방금 쓴 답을 보면서 다음 답을 만듭니다.
"다른 안으로 다시 줘"라고 해도, 앞 답을 살짝 바꾼 것만 돌아옵니다.

그래서 저희는 대화를 끊습니다
에그코드가 쓰는 방법은 단순합니다.
한 세션에서 끝까지 밀지 않습니다.
먼저 메타프롬프트로 계획서를 만듭니다.
계획서를 뽑는 순서는 앞서 정리한 메타프롬프트 3단 글에서 다뤘습니다.
그다음 새 세션을 열어 그 계획서만 넣고 실행합니다.
탐색하며 나온 시행착오와 폐기안은 넘기지 않습니다.
결론만 넘어가니 깨끗한 컨텍스트 윈도우에서 시작합니다.
요즘은 이걸 컨텍스트 엔지니어링이라고 부릅니다.
좋은 문장을 찾는 일이 아니라, 무엇을 넣지 않을지 정하는 일에 가깝습니다.

이건 알고 쓰세요
짧은 대화까지 매번 끊을 필요는 없습니다.
계획서가 틀리면 틀린 계획이 그대로 실행됩니다.
넘기기 전에 사람이 한 번 읽어야 합니다.
모델마다 긴 맥락을 버티는 정도도 다릅니다.
마치며
컨텍스트 윈도우가 커진 건 담을 수 있는 양이 늘었다는 뜻입니다.
넣을수록 좋아진다는 뜻은 아닙니다.
답이 자꾸 어긋난다면 질문을 고치기 전에, 대화가 얼마나 길어졌는지 먼저 보세요.
함께 읽어보세요 — 결과가 흔들리지 않는 바이브코딩 실무 순서 8단계 · 읽은 것을 파일로 남기는 AI 지식 구조 LLM Wiki · AI 헛소리를 스스로 걸러내는 Corrective RAG · 에그코드 MVP 개발 서비스
AI 기능을 붙인 웹사이트나 SaaS, MVP 개발을 고민 중이시라면 편하게 문의 주세요.
AI 도입 문의하기