먼저 결론부터: 2026년 9월 기준으로 GPT-5.5, Claude Opus 4.8 / Sonnet 4.6, Gemini 3.7 Flash는 모두 약 100만 토큰 윈도우를 광고합니다. 「1M 토큰」은 「한자 100만 자」가 아니고, 창을 가득 채운다고 잘 쓰는 것도 아닙니다. 공칭 한도는 비슷합니다. 유효 검색, 최대 출력, 가격 계단은 다릅니다. JSON을 다루는 사람에게 올바른 순서는 먼저 자르고, 검증한 뒤, 얼마나 넣을지 정하는 것입니다——덤프 전체를 붙여 넣는 것이 아닙니다.
이 글은 2026년 9월 5일 기준입니다. 수치는 각사 공개 문서를 따릅니다. OpenAI의 gpt-5.5 API는 총 약 1,050,000 토큰·출력 128K; Anthropic의 Opus 4.8 / Sonnet 4.6는 기본 1M·출력 128K이며 장문맥 할증이 없습니다; Google의 gemini-3.7-flash는 입력 1,048,576 / 출력 65,536입니다. 제품면(ChatGPT, Codex, claude.ai)은 더 좁은 경우가 많습니다. 마케팅 페이지를 API 한도로 쓰지 마세요.
1M 토큰이란
토큰은 모델이 세고 과금하는 최소 텍스트 덩어리이며, 글자도 단어도 아닙니다. 영어는 대략 1 토큰 ≈ 0.75단어, 약 4문자입니다. 중국어는 토크나이저와 구두점에 따라 흔히 한자 1–2자가 1토큰입니다. JSON은 더 「비쌉니다」: 중괄호, 따옴표, 반복되는 키, 들여쓰기 공백이 모두 예산을 씁니다.
1M 토큰 = 약 100만 토큰의 컨텍스트 윈도우입니다. 대충 환산하면 영어 약 75만 단어, 또는 한자 약 50–80만 자, 또는 두꺼운 책 한 권에서 중간 분량 몇 권, 또는 중형 코드 저장소와 문서입니다. 「100만 자 소설」도 「100만 줄 코드」도 아닙니다. 같은 1M라도 산문, 표, 압축된 JSON이 담는 정보량은 꽤 다릅니다.
컨텍스트 윈도우는 한 요청에서 동시에 머무를 수 있는 총량입니다: 시스템 프롬프트 + 대화 이력 + 도구 정의 + 도구 반환값 + 이번 턴 출력. GPT-5 계열은 reasoning 토큰도 넣습니다. 입력 90만 토큰에 높은 추론을 켜면 모델이 「다 읽기 전에」 context_length_exceeded를 맞습니다. 예산이 이미 바닥입니다.
| 표현 | 실제 의미 | 흔한 오해 |
|---|---|---|
| 1M 토큰 | 입력+출력(일부 모델은 추론 포함) 약 1,000,000 토큰 상한 | 한자 100만 자 / 코드 100만 줄을 읽는다 |
| 컨텍스트 윈도우 | 단일 요청의 공유 예산 | 계정 평생 기억, 또는 과거 프로젝트 자동 회상 |
| 최대 출력 | 이번 턴에서 생성할 수 있는 토큰 수 | 윈도우 자체와 같다 (Gemini 출력은 약 64K로 1M보다 훨씬 작다) |
| 유효 컨텍스트 | 멀티 니들 검색 / 장문 추론이 여전히 안정적인 길이 | 요금 페이지에 적힌 숫자와 같다 |
2023년 주류는 4K–32K였습니다. 2024년 Gemini 1.5가 1M을 광고 문구로 만들었습니다. 2025년이 되면 200K가 중급 기본값이 됐습니다. 2026년 9월 기준으로 플래그십 API의 광고 숫자는 이미 1M에 맞춰져 있습니다. 경쟁은 더 이상 「누가 더 긴가」가 아니라, 200K 이후에도 바늘을 찾아내는지, 캐시가 매일 쓸 만큼 싼지입니다.
초장 컨텍스트 윈도우의 용도
초장 윈도우가 푸는 문제는 한 번의 추론에서 많은 자료를 동시에 보는 것입니다. 데이터베이스를 대체하지 않고, 무료 무한 기억도 아닙니다. 아래 작업은 128K에서는 보통 청킹이나 RAG가 필요합니다. 1M에서는 「먼저 검색한 뒤 묻기」를 「먼저 넣은 뒤 묻기」로 줄일 수 있습니다——넣은 것을 먼저 걸렀다는 전제에서입니다.
- 전체 저장소 / 다중 파일 코딩: 관련 모듈, 테스트, 인터페이스 정의를 한 턴에 두어 모델이 파일을 놓칠 가능성을 줄입니다. Agent 코딩의 병목은 여전히 도구 루프와 테스트 피드백이지, 윈도우 광고가 아닙니다——Gemini 3.8 Flash와 AI Coding에서 다뤘습니다.
- 장문 문서 검토: 계약, 재무 공시, 규격, 여러 PDF를 나란히. 「제47절과 부록 B의 충돌을 찾아라」에 맞고, 「1년치 메일을 그대로 붙여 넣고 요약을 달라」에는 안 맞습니다.
- 멀티모달 장입력: Gemini는 동영상, 오디오, 이미지, 텍스트를 같은 창에 셉니다. 1시간 동영상은 토큰을 매우 빨리 태웁니다. 1M은 할당량이지, 무압축 업로드를 권하는 초대가 아닙니다.
- 다단계 Agent: 도구가 반환한 JSON, 에러 스택, 직전 패치를 대화에 잠시 둘 수 있습니다. 창이 커도 스택 원문을 그대로 다시 넣으면 안 됩니다——Agent JSON 데이터 흐름을 보세요.
- 대형 JSON 대조: OpenAPI / JSON Schema, 샘플 페이로드, 프로덕션 에러 로그를 한 턴에 두고 필드를 맞춥니다. 이 사이트 독자가 1M을 써야 하는 가장 중요한 지점이자, 청구서를 뚫기 가장 쉬운 지점입니다.
- RAG 한 층을 덜 쓰기: 자료가 안정적이고 부피가 통제되며 매번 원문을 인용해야 하면, 통째로 넣는 편이 벡터 스토어보다 단순합니다. 자료가 매일 바뀌거나 같은 질의가 반복되면 검색이 여전히 더 싸고 더 신선합니다.
반대로: 잡담, 단일 라벨 분류, 짧은 JSON 추출에는 1M 윈도우가 낭비입니다. 지연, 프리필, 토큰당 과금이 모두 벌입니다. 짧은 작업에는 짧은 모델이나 짧은 예산을 쓰세요.
GPT vs Claude vs Gemini
아래 표는 2026년 9월 5일에 문서에 넣을 수 있는 공개 사양입니다. 가격은 공식 백만 토큰당 정가이며, 제품면 한도는 별개입니다. Gemini 3.8 Flash는 이 글을 쓰는 시점에도 아직 GA가 아닙니다——프로덕션은 3.7을 계속 쓰세요.
| 벤더 / 모델 | 공칭 윈도우 | 최대 출력 | 입력 / 출력 가격 (1M당) | 윈도우에서 주의할 점 |
|---|---|---|---|---|
| OpenAI GPT-5.5 API | ~1,050,000 | 128,000 | $5 / $30 | reasoning이 총 창에 포함; Codex 제품면은 400K |
| OpenAI GPT-5.5 Pro | ~1,050,000 | 128,000 | $30 / $180 | 같은 창; 비싼 것은 출력과 추론 |
| OpenAI GPT-5.4 | ~1M | 128,000 | $2.50 / $15 | 같은 1M 급, 단가가 더 낮음 |
| Anthropic Claude Opus 4.8 | 1M (기본, 베타 헤더 없음) | 128,000 | $5 / $25 | 장문맥 할증 없음; prompt cache 약 90% 할인 |
| Anthropic Claude Sonnet 4.6 | 1M | 128,000 | $3 / $15 | context awareness (남은 예산을 스스로 앎) |
| Anthropic Claude Haiku 4.5 | 200K | 64,000 | $1 / $5 | 빠르고 저렴 — 1M 급이 아님 |
| Google Gemini 3.7 Flash | 1,048,576 | 65,536 | Intro $0.75 / $3.75, 2026-12-31까지 | 2027-01-01부터 표준가 $1.50 / $7.50 |
| Google Gemini 3.1 Pro | 1,048,576 | 65,536 | 약 $2 / $4 (흔히 200K 초과 시 할증) | 서드파티 페이지의 2M / 10M을 계약에 넣지 말 것 |
이 표를 읽는 법: 세 플래그십 모두 약 1M을 「넣을」 수 있습니다. 차이는 출력 여유, 추론이 창을 먹는지, 200K를 넘으면 더 비싼지, 캐시가 쓸 만한지입니다.
- 한 번에 긴 구조화 결과를 내야 할 때 (큰 JSON, 긴 패치, 다중 파일 diff): GPT-5.5와 Claude 4.6/4.8의 128K 출력이 Gemini의 약 64K보다 대략 두 배입니다. Gemini는 「많이 읽고, 표 한 장을 쓰기」에 더 맞습니다.
- 같은 시스템 프롬프트 + 도구 Schema를 매번 칠 때: Claude의 prompt cache, Gemini의 Context Caching, OpenAI의 cached input이 매번 입력 정가를 내는 것보다 낫습니다. Agent의
toolsJSON은 캐시에 두세요——Tool Calling과 JSON Schema를 보세요. - 예산이 빠듯하고, 자료는 많고, 출력은 짧을 때: Gemini 3.7 Flash의 Intro 가격이 세 집 중 가장 싼 1M 급입니다. 200K를 넘기면 자기 데이터로 멀티 니들을 재세요. 윈도우 숫자만 믿지 마세요.
- 제품면 ≠ API: ChatGPT / Codex의 GPT-5.5는 400K일 수 있고, 일부 클라우드 마켓의 Claude는 여전히 200K입니다. SLA를 쓰기 전에 배포하는 제품의 모델 카드를 여세요. 이 글의 API 열을 그대로 복사하지 마세요.
공칭 윈도우 vs 유효 윈도우
2026년의 합의는 더 이상 못 본 척하기 어렵습니다: 1M을 광고하는 것과 1M을 잘 쓰는 것은 다른 일입니다. 멀티 니들 검색(MRCR v2 계열: 초장 텍스트에서 흩어진 사실 여러 개를 찾기)에서 정확도는 보통 128K 이후부터 떨어지기 시작하고, 200K–512K에서 갈라지며, 1M에 가까워지면 「전문을 읽은」 것처럼 동작하는 모델은 소수입니다.
공개 평가와 서드파티 모음(설정이 완전히 같지는 않습니다——추세로 보고, 검수 기준으로 쓰지 마세요)은 대략 이렇습니다:
- GPT-5.5: 이전 세대 대비 512K–1M 멀티 니들 추론에서 한 단 뛰었고, 「진짜 창을 가득 채울 때」 가장 자주 거론되는 API 중 하나입니다. 원문 한 문장을 찾는 단일 니들은 128K 안에서 세 집 모두 괜찮습니다.
- Claude Opus 4.6: 1M 멀티 니들이 약 76%까지 나왔다는 보고가 있고, 곡선이 비교적 평평합니다. 4.7 / 4.8은 보정(calibration)에 더 기울입니다——위치를 지어내기보다 거절하거나 불확실하다고 표시합니다. 장문 컴플라이언스 검토는 대체로 후자를 원합니다.
- Gemini 3.x: 128K 안에서는 검색과 장문 이해가 여전히 강하고, 200K를 넘으면 멀티 니들이 더 가파르게 떨어집니다. 「두꺼운 더미를 읽고 짧은 JSON을 내기」에 맞고, 「90만 토큰 로그에서 8번째 바늘을 반드시 찾기」에는 안 맞습니다.
프로덕션에서는 요금표가 아니라 세 구간으로 쓰세요:
| 길이 대역 | 어떻게 볼 것인가 | 이렇게 하세요 |
|---|---|---|
| ≤128K | 거의 전부 쓸 수 있음 | 세 집 모두 기본 작업 공간으로 |
| 128K–256K | 샘플로 재야 함 | 자기 JSON / 저장소로 멀티 니들; Arena 점수는 베끼지 말 것 |
| 256K–500K | 쓸 수 있음; 모든 사실을 찾는다고 가정하지 말 것 | 핵심 필드는 JSONPath로 미리 추출; 반복 접두사는 캐시 |
| 500K–1M | 넣을 수는 있음; 「들어간다」≠「다 읽는다」 | 안정적이고 가치 높은 자료만; 답은 Schema로 잠그기 |
「중간 소실」(lost in the middle)은 윈도우가 1M이 됐다고 사라지지 않았습니다. 중요한 제약은 시스템 프롬프트 앞과 사용자 메시지 끝에 두고, 부록은 가운데에 두세요. 모델은 40만 번째 토큰에 묻힌 enum보다, 마지막에 한 「Schema에 맞는 JSON만 출력하라」를 더 자주 기억합니다.
JSON: 넣는 것과 검증은 다르다
1M 윈도우 덕분에 「OpenAPI 전체 + 사흘치 에러 로그 + 초안 Schema」를 처음으로 한 요청에 넣을 수 있습니다. 불법 JSON을 합법으로 만들지는 않으며, 느슨한 Schema를 자동으로 조이지도 않습니다. 윈도우는 가시 범위이고, 계약은 형태입니다. 같은 규칙을 《프롬프트에서 Structured Output까지》《OpenAI vs Gemini Structured Output》에서 이미 썼습니다: 생성 단계에서 Schema로 불법 토큰을 막고, 호출 후에 다시 한 번 검증하세요.
80만 토큰 프로덕션 덤프를 통째로 넣으면 실패 원인은 보통 「창이 부족해서」가 아닙니다: 반복 키가 예산을 낭비하고, 중간 필드가 무시되고, 초장 배열에서 길이를 잘못 세고, 출력이 64K/128K 상한에서 잘리고, 입력은 전액 청구됩니다. 순서는 자르기 → 검증 → 그다음 넣기입니다.
{
"name": "longContextPack",
"description": "1M 윈도우에 넣는 패킷: 검증·트리밍된 JSON만",
"parameters": {
"type": "object",
"additionalProperties": false,
"properties": {
"task": { "type": "string", "enum": ["align_fields", "diff_versions", "extract_errors"] },
"schemaId": { "type": "string", "description": "안정적인 Schema ID — 거대 schema 원문을 인라인으로 붙이지 말 것" },
"focusPaths": {
"type": "array",
"minItems": 1,
"maxItems": 32,
"items": { "type": "string", "description": "JSONPath, 예: $.paths./v2/orders.post" }
},
"payload": { "type": "object", "description": "이미 구문 검증과 부피 트리밍을 거친 객체 — 원본 로그 문자열이 아님" },
"tokenBudget": { "type": "integer", "minimum": 1000, "maximum": 1000000 }
},
"required": ["task", "schemaId", "focusPaths", "payload", "tokenBudget"]
}
}
이 패킷을 JSON 도구함에 넣어 로컬 구문 검증을 하고, JSONPath로 focusPaths를 뽑고, JSON Diff로 두 버전의 payload를 비교하세요. 모델이 봐야 하는 것은 자른 객체이지, 20MB .json 파일 원문이 아닙니다. GPT / Claude / Gemini를 바꿀 때는 모델 문자열만 바꾸세요. 패킷의 필드명은 바뀌면 안 됩니다.
지금 할 일
- 먼저 토큰을 세고, 그다음 넣을지 정하세요: 시스템 프롬프트, 도구 Schema, 이력, 첨부 파일을 따로 추정합니다. GPT-5.5는 추론 예약을 넣고, Gemini는 동영상 / PDF 페이지를 넣으세요. 예산을 넘으면 자르세요. 「아직 들어갈 것」에 걸지 마세요.
- 반복 접두사는 캐시로: System + tools는 거의 매번 같으므로 prompt cache / Context Caching에 두세요. 1M 창의 첫 청구는 입력이 비쌉니다. 캐시가 맞으면 장창이 일상용이 됩니다.
- 출력은 Structured Output으로 잠그고, 「JSON으로 출력해 주세요」라고 쓰지 마세요: OpenAI는
response_format.json_schema, Gemini는responseMimeType+responseJsonSchema, Claude는 도구 또는 프리필 제약. 창이 길어도 느슨한 프롬프트는 필드를 하나 더 만들고 required를 하나 빼먹습니다. - 측정한 유효 대역을 넘으면 검색하고, 억지로 넣지 마세요: 자기 멀티 니들이 256K를 못 넘겼으면 70만 로그를 전문 이해로 취급하지 마세요. 에러 코드와 타임스탬프를 JSONPath로 뽑는 편이 모델에게 바다에서 헤엄치게 하는 것보다 쌉니다.
- 출력 상한에 맞춰 답을 쪼개세요: Gemini 약 64K, GPT/Claude 약 128K. 200K JSON 보고서가 필요하면 샤드 + 샤드마다 Schema이지, 한 라운드에 다 쓰기를 기대하지 마세요.
- 로컬 픽스처를 통과한 뒤에 API를 치세요: 같은 payload를 브라우저에서 JSON 검증과 Diff로 돌리세요. 데이터는 업로드되지 않습니다. 출시 전 REST 계약을 맞추는 것과 같은 습관입니다.
자주 묻는 질문
1M 토큰은 몇 글자인가?
고정 환산은 없습니다. 영어는 약 75만 단어; 중국어는 구두점과 영문 혼용에 따라 약 50–80만 자입니다. JSON, 코드, 표는 토큰을 더 「먹습니다」. 「100만 단어」로 용량을 계획하지 마세요. 실제 샘플을 각사 토크나이저로 세세요.
GPT, Claude, Gemini 중 누구의 1M 창이 가장 쓰기 좋은가?
작업에 달립니다. 창을 가득 채운 멀티 니들 추론은 공개 평가에서 GPT-5.5가 자주 앞에 섭니다. 지어낸 인용보다 거절을 원하면 Claude 4.7/4.8이 더 안정적입니다. 싸게 많이 읽고 짧은 JSON 표를 내려면 Gemini 3.7 Flash의 Intro 가격이 세 집 중 가장 맞습니다. 「윈도우 숫자가 가장 크면 이긴다」는 없습니다.
1M 윈도우가 있으면 RAG는 필요 없나?
필요합니다. 1M은 안정적이고 범위가 있으며 매번 원문을 인용해야 하는 자료에 맞습니다. 코퍼스가 매일 바뀌거나, 같은 질의가 반복되거나, 측정한 유효 창이 1M보다 훨씬 작으면 검색이 여전히 더 싸고 갱신하기 쉽습니다. 장창과 RAG는 보완이지 대체가 아닙니다.
ChatGPT / Claude.ai 웹에서도 1M을 가득 쓸 수 있나?
꼭 그렇지는 않습니다. gpt-5.5 API는 약 1.05M이고, Codex 제품면은 흔히 400K입니다. 일부 클라우드 마켓의 Claude는 여전히 200K입니다. 지금 쓰는 그 제품의 모델 카드를 따르세요. API 문서를 채팅 제품 기대치에 복사하지 마세요.
Gemini는 이미 2M 또는 10M인가?
2026년 9월 기준, gemini-3.7-flash와 gemini-3.1-pro의 공개 문서는 입력 1,048,576입니다. 2M / 10M은 더 이른 실험 급, 서드파티 집계 페이지, 아직 GA가 아닌 변종에서 흔합니다. 계약과 할당표에는 Google의 현재 모델 카드를 쓰고, 블로그 제목을 쓰지 마세요.
JSON 전체를 1M 창에 넣어도 Schema가 필요한가?
필요합니다. 윈도우는 가시 범위만 넓히고, 출력 형태를 제약하지 않습니다. 추출, 정렬, Agent 도구 인수는 여전히 JSON Schema를 쓰고, 호출 후에 구문·구조 검증을 하세요. 모델은 GPT에서 Gemini로 바꿀 수 있습니다. 필드명과 required는 바뀌면 안 됩니다.
정리
1M 토큰은 2026년 플래그십 API의 정렬된 광고입니다: GPT-5.5, Claude 4.6/4.8, Gemini 3.7 모두 약 100만 토큰을 한도표에 쓸 수 있습니다. 쓸모는 한 번의 추론에서 저장소 전체, 장문 문서, 또는 자른 대형 JSON을 동시에 보는 것입니다. 무료 기억이 아니고, 「가득 채우면 이해한다」도 아닙니다. 유효 창은 흔히 128K–500K에 있습니다. 가득 찬 1M은 용량이지 이해력이 아닙니다. 출력 상한, 추론이 창을 먹는지, 200K 이후가 비싼지가 진짜 선정 필드입니다.
개발자의 숙제는 다음 「2M」 소문을 쫓는 것이 아닙니다. 창에 넣는 자료를 Schema를 통과하는 패킷으로 만드는 것입니다: JSONPath로 경로를 자르고, Diff로 버전을 맞추고, 검증한 뒤 API를 치세요. Structured Output과 Tool Calling은 이 사이트에 이미 있습니다. 이 글은 컨텍스트 윈도우 쪽 읽기만 보탭니다.