지난 몇 달 동안 저는 AI, 특히 LLM이 내부적으로 어떻게 작동하는지에 대해 글을 써왔습니다. 반응이 좋았고, 몇몇 분들은 추가 질문을 보내주셨습니다. 그중에서도 가장 많이 나오는 질문은 컨텍스트 윈도우에 관한 것입니다. 컨텍스트 윈도우란 무엇이며, 어떻게 작동하는지 이더리움 클래식(ETC) 질문입니다.
숫자들이 여기저기서 인용되는 것을 볼 수 있습니다. 10만 토큰 컨텍스트 창, 100만 토큰, 1천만 토큰. 숫자는 계속 올라가고, 마케팅은 점점 더 요란해지지만, 대부분의 사람들은 그 숫자들이 실제로 무엇을 의미하는지 제대로 이해하지 못합니다.
그래서 오늘 우리는 그 문제를 해결하겠습니다.
이 편지를 끝까지 읽으시면 컨텍스트 윈도우가 무엇인지, 숫자가 크다고 항상 더 나은 모델을 의미하는 것은 아닌 이유, 그리고 다음에 어떤 AI를 사용할지 선택할 때 이 모든 것을 어떻게 고려해야 하는지 알게 되실 겁니다. 또한 어떤 모델을 사용하든 컨텍스트 윈도우를 최적화하는 데 도움이 되는 몇 가지 팁과 요령도 공유하겠습니다.
간단한 버전
컨텍스트 윈도우는 모델의 작업 메모리입니다.
모델이 작업을 수행하는 데 필요한 모든 정보가 단일 요청 안에 포함되어야 합니다. 여기에는 사용자의 프롬프트, 시스템 지침, 업로드한 문서나 이미지, 채팅 기록, 모델이 접근할 수 있는 도구, 그리고 모델이 생성할 응답이 모두 포함됩니다.
이 모든 것은 하나의 예산을 공유하며, 예산은 토큰 단위로 측정됩니다. 토큰에 대해서는 108호 편지에서 설명했지만, 다시 한번 말씀드리자면 토큰은 대략 단어의 3/4 정도입니다. 따라서 20만 토큰 규모의 컨텍스트 창에는 약 15만 단어 분량의 내용이 동시에 저장됩니다. 백만 토큰은 약 75만 단어에 해당하는데, 참고로 이는 꽤 긴 소설 한 권의 분량입니다.
4,000개의 토큰에서 1,000만 개의 토큰으로 성장한 과정
지난 몇 년 동안 상황이 얼마나 빠르게 변화했는지 생각해 봅시다.
전반적으로 ChatGPT가 출시된 시점부터 현재까지 250배에서 2500배 정도 증가했습니다.
최근의 성과는 대부분 어텐션 작동 방식, 즉각적인 캐싱, 효율적인 메모리 관리와 관련된 영리한 엔지니어링 덕분입니다.
더 큰 것이 항상 더 좋은 걸까요?
저는 이 주제에 대해 전문가가 아니지만 (일반적으로는 그렇지 않다는 이야기가 있지만), AI 컨텍스트 창의 경우 크다고 항상 좋은 것은 아닙니다.
컨텍스트 윈도우 크기는 모델이 기술적으로 수용할 수 있는 최대 크기이지만, 모델이 효율적으로/최적으로 활용할 수 있는 양은 아닐 수 있습니다.
크로마(Chroma)의 연구원들은 작년에 '컨텍스트 로트(Context Rot)' 라는 연구 결과를 발표했습니다. 그들은 클로드(Claude), GPT, 제미니(Gemini) 를 포함한 18개의 최첨단 모델을 사용하여 다양한 입력 길이에서 간단한 정보 검색 작업을 테스트했습니다. 작업 자체는 동일했고, 입력 길이만 변경되었습니다.
입력 길이가 길어질수록 모든 모델의 성능이 저하되었습니다. 숏 입력에서는 거의 100%에 가까운 점수를 기록했던 모델들이 긴 입력에서는 동일한 작업에서 50% 미만의 점수를 기록했습니다.
해당 연구의 이름을 커뮤니티가 채택했고, "컨텍스트 부패(context rot)"라는 용어는 빠르게 AI 용어의 일부가 되었습니다. 요점은 간단합니다. 프롬프트에 더 많은 내용을 입력할수록 모델의 신뢰도가 떨어진다는 것입니다(추가된 내용이 실제로는 중요하지 않고 유용한 컨텍스트를 제공하는 경우에도 마찬가지입니다).
이러한 맥락 왜곡을 유발하는 몇 가지 근본적인 원인이 있습니다.
모델은 프롬프트의 시작과 끝 부분에 더 많은 주의를 기울이는 경향이 있습니다. 긴 문맥의 중간에 숨겨진 중요한 정보는 무시될 수 있습니다. 연구진은 이를 ' 중간에서 길을 잃다' 라고 부릅니다 ( 과학자들은 명명법에 있어서 독창성이 부족하기로 유명합니다. 칠레의 초대형 망원경을 예로 들 수 있습니다).
질문에 제시된 내용이 질문 내용과 비슷하지만 완전히 일치하지 않을 때, 모델은 혼란스러워합니다. 이러한 오답 요소 중 하나만으로도 오류가 발생할 수 있습니다.
프롬프트에서 정보가 위치하는 위치 또한 모델이 해당 정보를 얼마나 잘 활용하는지에 영향을 미칩니다. 동일한 정보가 1,000번째 위치에 있을 때와 50,000번째 위치에 있을 때의 성능은 다릅니다.
질문과 답변에서 같은 개념을 나타내는 데 서로 다른 단어를 사용할 경우, 문맥이 복잡해질수록 모델은 어려움을 겪습니다.
이것이 당신이 실제로 하고 있는 일에 어떤 의미를 갖는가
만약 한 번에 많은 정보를 처리해야 하는 작업에 AI를 사용한다면 컨텍스트 창이 중요합니다. 하지만 대부분의 사람들은 실제로 그렇게 사용하지는 않습니다.
채팅을 주고받다 보면 한두 시간 안에 20만 건의 컨텍스트 창을 달성할 수 있습니다.
코딩은 이러한 문제를 더욱 악화시킵니다. 하위 에이전트와 병렬 작업이 개입되면 코딩을 할 경우 토큰을 엄청나게 빠르게 소모할 수 있습니다.
이것이 바로 특정 업무에 있어 로컬 모델이 매우 매력적인 선택지가 될 수 있는 이유 중 하나입니다. 로컬 모델을 사용할 경우 토큰당 요금이나 사용량 제한이 없습니다. 로컬 모델에 대한 자세한 내용은 107호 편지 에서 확인하실 수 있습니다.
컨텍스트 창을 실제로 관리하는 방법
이 편지에서 여러분이 가장 기억해주셨으면 하는 부분은 바로 이것입니다. 아래에는 제가 실제로 사용하는 실용적인 전략과 이러한 모델을 구축하는 전문가들의 조언이 담겨 있습니다.
여기서 더 큰 관점은 Anthropic의 엔지니어링 팀이 '컨텍스트 엔지니어링' 이라고 부르는 것입니다. 그들은 2025년 9월에 이에 대한 심층 분석 자료를 발표했는데, 이 편지에서 다루는 내용보다 더 깊이 알고 싶다면 읽어볼 가치가 있습니다. 그들의 요약은 제가 본 것 중 가장 훌륭합니다.
"효과적인 컨텍스트 엔지니어링이란 원하는 결과가 나올 가능성을 극대화하는, 신호가 강한 토큰들의 최소한의 집합을 찾는 것을 의미합니다."
그러한 관점 덕분에 제가 일상적으로 AI를 사용하는 방식이 실제로 바뀌었습니다. 무엇을 넣어야 할지 묻는 대신, 이제는 무엇을 빼야 할지 묻게 되었습니다(다시 한번, "간결함이 미덕"이라는 말이 통했습니다).
그에 따른 전략은 다음과 같습니다.
1. 채팅당 하나의 작업만 수행하고, 자주 새롭게 시작하세요.
이건 제가 익힌 가장 유용한 습관입니다. 한 주제를 조사하다가 다른 주제로 방향을 바꾸고 싶다면 새 채팅을 시작하세요. 초안 작성을 마치고 다듬고 싶다면 새 채팅을 시작하세요. 한 가지 문제를 해결하는 데 한 시간을 쏟았는데 다음에 발생하는 문제가 전혀 관련이 없다면 새 채팅을 시작하세요.
Product Talk에서 AI 제품 개발에 대해 글을 쓰는 테레사 토레스는 다음과 같이 아주 잘 표현했습니다 . 모든 긴 대화는 노이즈를 축적하고, 그 노이즈는 다음 응답을 더욱 나쁘게 만듭니다.
2. 핸드오프 기법을 사용하세요
맥락을 유지해야 할 때는 모델에게 중요한 내용을 간략하게 요약해서 작성하게 한 다음, 새 채팅을 시작하세요. 그 요약을 복사해서 새 채팅의 첫 메시지로 붙여넣으세요.
클로드 코드(Claude Code)는 컨텍스트 제한에 도달하면 기본적으로 이와 같은 작업을 자동으로 수행합니다. 앤스로픽(Anthropic)은 이를 '압축(compaction) '이라고 부르며, 컨텍스트 엔지니어링 관련 게시물 에서 가장 먼저 활용해야 할 핵심 요소라고 설명합니다. 이 압축을 통해 아키텍처 설계, 미해결 버그, 핵심 파일은 보존하면서 중복되는 도구 출력과 오래된 메시지는 제거합니다. 이러한 작업은 어떤 AI 도구를 사용하든 수동으로 수행할 수 있습니다.
3. 50% 선을 주시하세요
AI 제품 개발자인 아서 클룬은 최근 게시물에서 매우 날카로운 지적을 했습니다. LLM(로컬 라이프사이클 관리)의 정확도는 컨텍스트 창이 약 50%를 넘어서면 눈에 띄게 떨어지기 시작한다는 것입니다. 앤트로픽 자체의 압축 기능은 95%에서 자동으로 작동하는데, 이는 해당 메시지가 표시될 때쯤이면 이미 한동안 성능이 저하된 상태로 작동하고 있었다는 것을 의미합니다.
그렇기 때문에 Claude Code가 자동으로 압축해 줄 때까지 기다리지 않는 것이 좋습니다. 자동 압축은 용량 제한에 가까워졌을 때만 발생하기 때문입니다. 원할 때마다 /compact 명령어를 입력하여 수동으로 압축할 수 있습니다.
4. AI를 활용하기 전에 먼저 콘텐츠를 선별하세요.
관련 문서 5개만 가져오는 것이 50개의 문서를 쑤셔 넣고 AI가 알아서 처리해주길 바라는 것보다 훨씬 나은 결과를 가져올 겁니다. 모델은 무엇이 중요한지 항상 알지는 못하며, 특히 당신에게 무엇이 중요한지는 더더욱 알지 못합니다. 그러니 인간으로서 가진 강점을 최대한 활용하세요.
5. 중요한 내용을 시작이나 끝에 배치하세요.
중간 부분의 정보가 묻히는 현상에 대한 연구 결과는 여러 세대의 모델을 거치면서도 여전히 유효합니다. 프롬프트의 시작과 끝 부분에 있는 정보는 중간에 묻힌 정보보다 더 많은 관심을 받습니다. 따라서 문서가 길고 특정 단락이 정말 중요하다면, 해당 단락이 문서에 이미 여러 번 언급되었더라도 프롬프트의 끝부분에 다시 한번 제시하는 것이 좋습니다.
6. 영구적인 컨텍스트를 위해 프로젝트 또는 사용자 지정 GPT를 사용하십시오.
Claude에는 프로젝트 기능이 있고, ChatGPT에는 사용자 지정 GPT 기능이 있습니다. 둘 다 영구적인 시스템 프롬프트를 설정하고 개별 채팅 컨텍스트에 영향을 주지 않는 참조 파일을 업로드할 수 있도록 해줍니다. 반복적으로 사용하는 사례가 있다면, 모든 채팅에 지침과 참조 자료를 반복해서 입력하는 대신 프로젝트 또는 사용자 지정 GPT에 넣어두세요.
7. 대규모 지식 베이스에는 RAG를 사용하세요.
RAG는 Retrieval Augmented Generation의 약자입니다. 수천 개의 문서를 프롬프트에 무작정 입력하는 대신, 벡터 데이터베이스에 문서를 색인화하고 각 질문에 가장 관련성이 높은 부분만 추출합니다. Perplexity, NotebookLM, ChatGPT의 심층 검색 기능과 같은 도구들이 내부적으로 사용하는 방식이 바로 이것입니다. RAG에 대해서는 추후 별도의 글에서 자세히 다루겠습니다.
8. 작업에 적합한 모델을 선택하세요
제미니(Gemini) 3.1 Pro는 대용량 문서 처리에 저렴한 가격으로 적합합니다. Claude Opus 4.7은 문맥을 기반으로 추론하는 능력이 가장 뛰어나며, Sonnet 4.6은 가격이 중요한 요소라면 훌륭한 중간 옵션입니다. GPT-5.5는 OpenAI의 최신 개발 도구로, 가격 면에서 이 두 도구의 중간에 위치합니다. 500페이지 분량의 PDF 파일을 처리해야 한다면 제미니(Gemini) 적합할 것입니다. 복잡한 다단계 문제를 해결해야 한다면 Opus 또는 GPT가 더 나은 선택일 수 있습니다.
9. 에이전트의 경우 읽기 작업과 사고 작업을 분리하십시오.
에이전트를 직접 구축하거나 Claude Code, Cowork, Cursor 등을 사용하는 경우, Anthropic의 장기 실행 에이전트 관련 연구는 매우 유용합니다. 핵심적인 통찰은 탐색 과정에서 컨텍스트가 빠르게 소모된다는 점입니다. 따라서 특정 읽기 작업(파일 검색, 보안 문제 검토 등)을 위해 생성되는 하위 에이전트를 사용하는 것을 권장합니다. 이러한 하위 에이전트는 요약 정보만 반환하므로 메인 에이전트의 컨텍스트는 깨끗하게 유지됩니다.
이 기능을 수동으로 적용할 수도 있습니다. 클로드에게 특정 사안을 심층적으로 조사하고 그 결과를 바탕으로 조치를 취하도록 하려면, 한 번의 채팅에서 조사를 진행하고, 간략한 요약을 받은 다음, 그 요약을 시작점으로 삼아 새로운 채팅에서 실행 작업을 진행하면 됩니다.
10. 필요 없는 이미지는 붙여넣지 마세요.
이미지는 토큰 소모 측면에서 비용이 많이 듭니다. 고해상도 스크린샷 하나에 1,000~2,000 토큰이 들어갈 수 있죠. 긴 채팅에 스크린샷 20개를 업로드하면 이미지에만 20,000~40,000 토큰이 소모되는 셈입니다. 저는 스크린샷을 찍어서 채팅에 추가하는 걸 좋아하지만, 가끔은 비트(Bit) 사용할 수도 있으니 주의해야 한다는 걸 다시 한번 깨달았습니다.
마무리 생각
이 글을 통해 컨텍스트 윈도우가 무엇이고 어떻게 작동하는지 비트(Bit) 더 이해하셨기를 바랍니다. 많은 사람들이 컨텍스트 윈도우가 크다는 헤드라인만 보고 무조건 크다고 생각하지만, 실제로는 요즘 제 작업에서 20만 토큰을 넘는 경우는 거의 없습니다. 가끔 40만~50만 토큰까지 처리한 후에 압축하는 경우도 있지만, 그렇게 자주 있는 일은 아닙니다.
어쩌면/바라건대 언젠가는 이 문제가 해결되어 데이터 손실 없이 100만 개 또는 1천만 개의 토큰 컨텍스트 창을 안정적으로 사용할 수 있게 될 것입니다.
그때까지는 맥락을 잘 살펴보세요. 새로운 작업이 생기면 정기적으로 새 채팅을 시작하고, 한 세션에서 다른 세션으로 인수인계를 하고, 더 나은 결과를 원한다면 프롬프트의 시작과 끝에 중요한 내용을 반복하세요.
늘 읽어주셔서 감사하고, 다음 주에 또 뵙겠습니다!
면책 조항: 본 뉴스레터의 내용은 투자 조언으로 간주되어서는 안 됩니다 . 저는 금융 자문가가 아니며, 이는 단지 저의 개인적인 의견과 생각일 뿐입니다. 암호화폐 관련 상품 거래 또는 투자 전에 반드시 전문 금융 자문가와 상담하시기 바랍니다. 공유된 링크 중 일부는 제휴 링크일 수 있습니다.






