Codex 1M 컨텍스트 켜는 법과 272K 요금 구간

긴 작업을 이어 가다 보면 Codex가 앞부분을 요약해 버리고, 조금 전에 설명한 파일 구조를 다시 묻습니다. 컨텍스트 창이 차면 옛 기록을 요약하고 원본을 버리기 때문입니다.
GPT-5.6 Sol은 1,050,000 토큰 창을 지원하지만 Codex가 기본으로 잡는 창은 그보다 훨씬 작습니다. 설정 세 줄이면 100만 토큰까지 열 수 있습니다. 다만 켜기 전에 알아야 할 것이 하나 있습니다. 입력이 272K를 넘으면 넘은 만큼이 아니라 그 요청 전체에 배수가 붙습니다. 입력은 두 배, 출력은 1.5배입니다.
요약이 도는 시점을 뒤로 미루는 설정입니다
~/.codex/config.toml을 열고 [section] 헤더가 나오기 전, 파일 최상위에 세 줄을 넣습니다. 섹션 안에 넣으면 그 프로필에서만 걸립니다.
model = "gpt-5.6-sol"
model_context_window = 1000000
model_auto_compact_token_limit = 900000
첫 줄은 모델을 고릅니다. 둘째 줄은 컨텍스트 예산을 100만 토큰으로 잡습니다. 셋째 줄이 실제로 체감을 바꾸는 부분인데, 자동 요약이 시작되는 지점을 90만 토큰으로 올립니다. 창만 키우고 이 값을 그대로 두면 창을 다 쓰기도 전에 요약이 돌아 설정한 보람이 없습니다.
저장한 뒤에는 Codex 클라이언트를 다시 켜고 새 세션을 시작해야 반영됩니다. 돌고 있던 세션에는 적용되지 않습니다.
이 방법은 Codex를 맡고 있는 Thibault Sottiaux가 공개한 것입니다. 성능과 비용을 보고 기본값을 정해 두었지만 요청이 많아 문서로 남긴다는 설명이 함께 붙었습니다. 기본값을 벗어나는 설정이라는 뜻이고, 그래서 무엇을 감수하는지는 뒤에서 따로 봅니다.
컨텍스트가 차면 Codex가 하는 일
설정을 이해하려면 자동 요약이 무엇을 하는지 알아야 합니다. 대화가 길어져 정해진 선에 닿으면 Codex는 그때까지의 기록을 요약본으로 바꾸고 원본을 버립니다. 요약은 모델이 만들기 때문에 무엇이 남고 무엇이 사라질지 미리 알 수 없습니다.
코드를 다루는 세션에서 이게 특히 아픕니다. 파일 내용과 도구 출력이 통째로 쌓이는데, 앞에서 읽은 파일이 요약으로 접히면 같은 파일을 다시 읽는 일이 생깁니다. 컨텍스트를 키우는 이유가 여기 있습니다. 요약을 없애는 것이 아니라 요약이 도는 시점을 뒤로 미루는 것입니다.
바꿔 말하면 세션이 아주 길어지면 1M을 켜도 결국 요약이 돕니다. 이 설정으로 사라지는 문제가 아니라 늦춰지는 문제입니다.
기본 설정을 건드리지 않고 한 세션만 시험할 수 있습니다
config.toml을 고치기 전에 한 세션만 켜 보는 쪽이 안전합니다. -c 옵션은 그 세션에만 적용되고 설정 파일은 그대로 남습니다.
codex -m gpt-5.6-sol \
-c model_context_window=1000000 \
-c model_auto_compact_token_limit=900000
며칠 이렇게 써 보면 요약 때문에 실제로 막히는 작업이 있는지, 아니면 기본값으로 충분한지 알게 됩니다.
-c로 넘긴 값은 config.toml보다 우선합니다. 설정 파일에 이미 다른 값이 들어 있어도 그 세션에서는 명령줄 쪽이 이깁니다. 반대로 세션을 닫으면 아무것도 남지 않습니다.
272K를 넘으면 그 요청 전체에 배수가 붙습니다
기본값이 100만이 아닌 데는 이유가 있습니다. OpenAI 가격 정책상 입력이 272K를 넘는 요청은 입력 두 배, 출력 1.5배로 계산됩니다. 넘은 만큼만이 아니라 그 요청 전부입니다.
1M으로 올리면 긴 세션은 이 구간에서 돌아갑니다. 구독 사용량이든 API 요금이든 같은 작업에 더 빨리 닳습니다. 컨텍스트를 키운 대가가 여기서 나옵니다.
기본값에서도 이미 그 선을 넘는다는 보고가 Codex 저장소 이슈에 올라와 있습니다. 기본 메타데이터에는 컨텍스트 창이 372,000 토큰, 실효 사용률이 95%로 잡혀 있어서 옵션을 건드리지 않아도 실효 창이 약 353,400 토큰까지 열립니다. 272K보다 8만 토큰가량 위입니다. 서브 에이전트가 자기 작업을 점검하는 구간에서 특히 쉽게 닿습니다. 이 이슈는 아직 열려 있습니다.
창을 키운다고 답이 정확해지지도 않습니다. 컨텍스트가 길어지면 가운데 놓인 내용의 정확도가 떨어지는 경향이 알려져 있어서, 넣을 수 있는 양과 실제로 쓰이는 양은 다릅니다.
한 가지 더 있습니다. 컨텍스트 창은 사용자가 쓰는 부분만으로 채워지지 않습니다. 시스템 프롬프트와 도구 정의, 저장소에 둔 AGENTS.md 같은 파일이 매 턴 먼저 들어갑니다. MCP 서버를 여러 개 붙여 두었다면 그 도구 정의만으로도 상당한 자리를 씁니다. 첫 질문을 던지기 전에 이미 채워져 있는 몫이 있다는 뜻입니다.
언제 켜고 언제 그대로 두나
켤 만한 자리는 분명합니다. 큰 저장소를 한 세션에서 훑어야 하고, 요약 때문에 같은 설명을 반복하고 있다면 배수를 물고도 남습니다. 설명을 다시 붙이는 시간이 그보다 비싸기 때문입니다.
파일 몇 개를 고치는 보통 작업이라면 그대로 두는 편이 낫습니다. 이런 작업은 272K 안에서 끝나고, 굳이 배수 구간에 들어갈 이유가 없습니다.
순서는 이렇습니다. -c 옵션으로 한 세션만 켜서 요약 때문에 막히는 일이 실제로 생기는지 봅니다. 막히지 않으면 기본값이 맞고, 막힌다면 그때 config.toml에 세 줄을 넣으면 됩니다.