AI 에이전트의 컨텍스트 윈도우가 실제로 청구하는 비용

Sep 22, 2026에 슈테판 모라비크에 의해 게시됨.
AI Agents Context Engineering Token Optimization Prompt Caching
이 페이지의 내용 6 분 읽기
  1. 1요약
  2. 2윈도우는 서랍이 아니라 계량기다
  3. 3아무도 미리 하지 않는 계산
  4. 4캐싱은 요율을 바꾸지, 곡선을 바꾸지 않는다
  5. 5그 안에 실제로 들어 있는 것
  6. 6그것을 줄이는 세 가지 방법
  7. 7네 번째 선택지가 셋 모두보다 낫다
  8. 8임계값은 어디에 두어야 하는가
  9. 9직접 측정하세요
  10. 10다음으로 읽을 것

요약

  • 모델은 요청 사이에 기억이 없습니다. 모든 턴이 전체 대화를 다시 전송하므로, 컨텍스트 윈도우는 한 번 채워두는 장소가 아니라 호출마다 청구되는 비용입니다.
  • 그래서 세션 비용은 길이의 제곱에 비례해 커집니다. 프롬프트 캐싱은 요율을 약 10분의 1로 낮추지만 곡선의 모양은 바꾸지 않습니다.
  • 해법은 의도적으로 리셋되는 더 작은 윈도우입니다. 성장에 상한을 두고, 더 자주 비우고, 다 쓴 도구 출력은 편집으로 걷어내고, 무거운 읽기 작업은 다시 돌아오지 않는 파일과 서브에이전트에 두는 것입니다.

윈도우는 서랍이 아니라 계량기다

대부분의 사람은 컨텍스트 윈도우를 저장 공간으로 상상합니다. 물건을 넣으면 모델이 그것을 볼 수 있고, 윈도우가 클수록 더 많이 담습니다. 이 그림은 한 가지 점에서 틀렸고, 그 실수는 비쌉니다.

모델은 상태가 없습니다. 반대편에서 여러분의 대화를 들고 있는 세션이란 없습니다. 모든 요청은 전체 이력을 다시 보냅니다. 시스템 프롬프트, 모든 도구 정의, 에이전트가 읽은 모든 파일, 모든 도구 결과, 양쪽이 작성한 모든 메시지까지 전부입니다. 모델은 그 전부를 읽고, 답하고, 잊습니다. 여러분의 다음 메시지는 그 전부를, 그리고 새로 추가된 부분을 다시 보냅니다.

그래서 윈도우는 서랍이 아닙니다. 계량기이며, 각 턴에서의 눈금은 지금까지 쌓아온 모든 것의 크기입니다.

FlowHunt 로고

비즈니스 성장 준비가 되셨나요?

오늘 무료 평가판을 시작하고 며칠 내로 결과를 확인하세요.

아무도 미리 하지 않는 계산

턴마다 약 1,000토큰씩 늘어나며 300턴 동안 실행되는 세션을 가정해 봅시다. 컨텍스트는 거의 0에서 300,000토큰까지 올라가고, 평균은 150,000입니다. 총 입력 전송량은 300 곱하기 150,000, 즉 300턴의 작업을 얻기 위해 4,500만 토큰입니다.

이제 같은 세션이 세 배 빠르게 늘어나 900,000에 도달한다고 해봅시다. 평균은 450,000이고 총량은 1억 3,500만입니다. 정확히 같은 300턴에 대해 세 배의 청구서입니다.

300턴에 걸쳐 전송된 누적 입력 토큰. 300k로 상한을 둔 세션은 총 4,500만 토큰에 도달한다. 900k까지 늘어나도록 둔 세션은 1억 3,500만에 도달한다.

이것이 문제의 모양입니다. 비용은 여러분이 얻는 작업을 따라가지 않습니다. 세션을 얼마나 오래 돌리도록 두었는지의 제곱을 따라갑니다. 추가하는 모든 턴이 모든 미래의 턴을 더 비싸게 만들며, 그래서 긴 세션의 마지막 한 시간이 처음 네 시간보다 더 비쌀 수 있습니다.

돈으로 환산하면, Claude Opus 5의 정가가 입력 백만 토큰당 5달러이고 첫 턴 이후의 모든 것이 그 10분의 1 가격으로 캐시에서 제공된다고 할 때, 상한을 둔 세션은 약 22달러, 상한을 두지 않은 세션은 약 68달러입니다. 같은 작업에 대해서요. 구독제에서는 달러가 보이지 않습니다. 주간 한도가 더 빨리 바닥나는 것이 보일 뿐입니다.

캐싱은 요율을 바꾸지, 곡선을 바꾸지 않는다

프롬프트 캐싱은 긴 에이전트 세션이 애초에 가능한 이유입니다. 제공자는 여러분의 대화 접두부를 따뜻하게 유지하고, 다시 읽는 데 일부만 청구합니다.

Anthropic API에서 배수는 5분 캐시에 쓰는 경우 기본 입력 가격의 1.25배, 1시간 캐시는 2배, 읽기는 약 0.1배입니다. 5분 캐시 쓰기는 두 번째 요청에서 본전을 뽑습니다. 모든 진지한 에이전트 하네스가 이를 자동으로 수행하며, 실제로 효과가 있습니다. 제 세션 5주치를 보면 모든 입력 토큰의 98%가 캐시 읽기였습니다.

캐싱이 고친 것과 고치지 않은 것을 잘 살펴보세요. 그것은 이력 비용을 대략 10분의 1로 곱했습니다. 이력이 늘어나는 것을 막지는 않았고, 매 턴마다 다시 읽는 것도 막지 않았습니다. 900,000토큰의 10분의 1은 20토큰이면 물어볼 수 있었던 질문에 대해 청구되는 90,000토큰의 입력입니다.

캐싱은 문제를 견딜 만하게 만드는 것입니다. 동시에 그것을 보이지 않게 만드는 것이기도 합니다. 사용량 대시보드의 숫자는 실제로 움직이는 토큰 수만큼이나 놀라워 보이지 않기 때문입니다.

그 안에 실제로 들어 있는 것

세션이 커지면 사람들은 대화 때문이라고 짐작합니다. 보통은 아닙니다. 실제로 작동하는 에이전트 세션에서 무게는 네 곳에 실립니다.

도구 정의. 에이전트가 호출할 수 있는 모든 도구는 이름, 설명, 전체 파라미터 스키마를 지니고 있으며, 에이전트가 무슨 일이든 하기 전에 전부 로드됩니다. 도구 25개씩 가진 MCP 서버 여섯 개를 연결하면 첫 턴에 150개의 스키마가 윈도우에 들어가고, 그중 대부분은 결코 호출되지 않습니다.

파일 읽기. 2,000줄짜리 소스 파일을 읽은 에이전트는 그 세션의 이후 모든 턴에 약 25,000토큰을 방금 추가한 것입니다. 그 파일은 한 번 필요했을 뿐입니다. 그런데 영원히 지니고 다닙니다.

도구 출력. 결과 200개를 반환하는 검색, 전체 로그를 출력하는 테스트 실행, 전체 문서를 반환하는 API 호출. 에이전트는 보통 그중 한 줄만 필요했습니다. 전부 남습니다.

대화 자체. 에이전트가 막다른 길을 탐색하고, 스스로 바로잡고, 넘어간 부분까지 포함해서요. 그 토큰들은 여전히 윈도우에 있고, 여전히 다시 읽히며, 여전히 다음 답변을 형성합니다.

마지막 항목은 비용을 넘어서 중요합니다. 버려진 시도와 낡은 파일 내용으로 가득한 윈도우는 관련 세부 정보를 찾기 더 어려운 윈도우이기도 합니다. 컨텍스트는 예산 문제이면서 동시에 주의력 문제입니다.

그것을 줄이는 세 가지 방법

비우기. 새 세션을 시작합니다. 다른 곳에 적어둔 것은 모두 살아남고, 나머지는 사라집니다. 가장 투박한 도구이며 종종 옳은 선택입니다. “프로젝트를 알고 있다"는 이유로 하루 종일 세션 하나를 살려두는 것이 가장 많은 비용을 부르는 습관입니다.

컨텍스트 편집. 특정 자료를 제거하고 나머지는 단어 하나까지 그대로 유지합니다. 보통 사용이 끝난 오래된 도구 결과를 대상으로 합니다. Anthropic API는 이를 컨텍스트 관리 전략으로 직접 노출합니다. 정밀하고 남은 내용을 왜곡하지 않으므로, 무게의 정체가 긴 대화가 아니라 부피 큰 도구 출력일 때 가장 먼저 손을 뻗을 도구입니다.

압축. 이력을 요약하고 그 요약에서 이어갑니다. 대부분의 코딩 에이전트가 윈도우가 가득 차면 자동으로 하는 일이며, 세션을 끝내지 않고도 그 성장을 제한하는 유일한 방법입니다. 다만 상당히 많은 것을 버립니다.

자동 압축 직전과 직후의 중앙값 컨텍스트, 세 가지 임계값에서. 250k에서는 중앙값 압축이 218k 토큰을 22k로 줄인다. 300k에서는 267k를 24k로. 350k에서는 318k를 24k로.

이 수치는 제 세션에서 실제로 일어난 67건의 압축에 대한 중앙값입니다. 각각 약 3분이 걸렸고, 그 후 에이전트는 이미 본 파일들을 이전의 거의 두 배 비율로 다시 읽으며 요약이 잃어버린 것을 재구축했습니다. 이 맞바꿈은 가치가 있습니다. 그래도 맞바꿈입니다.

네 번째 선택지가 셋 모두보다 낫다

애초에 윈도우에 넣지 마세요.

지속되는 상태는 대화가 아니라 에이전트가 필요할 때 다시 읽을 수 있는 파일에 두세요. 읽기가 많은 작업은 자체적인 짧게 사라지는 컨텍스트를 가진 서브에이전트로 보내서, 그것이 읽는 20개 파일이 메인 세션에 전혀 닿지 않게 하세요. 도구는 처음에 전부 올리지 말고 필요할 때 로드하세요.

추가되지 않은 토큰은 결코 다시 읽지 않는 토큰입니다. 이 페이지의 나머지 모든 내용은 이미 추가된 토큰을 위한 피해 통제입니다.

임계값은 어디에 두어야 하는가

에이전트가 자동으로 압축한다면 그것에는 임계값이 있고, 기본값은 보통 모델의 전체 윈도우에 가깝습니다. 그 기본값이 비싼 설정입니다. 세션이 가장 생산적인 시간을 가능한 한 가장 큰 이력을 지닌 채로 보내도록 허용하기 때문입니다.

더 낮게 설정하면 도움이 되지만 하한이 있습니다. 너무 성급하게 압축하면 3분의 대기와 재작업을 거듭 치르게 됩니다. 100만 컨텍스트 모델에서 250,000 임계값은 제 긴 세션의 36%에서 압축을 강제했습니다. 350,000은 12%에서만 압축을 유발했고 거의 같은 절감을 확보했습니다. 5주간의 세션에서 그 결과는 같은 수의 프롬프트에 대해 캐시 가중 토큰이 17% 적었고, 상한이 실제로 작동한 긴 세션에서는 비용이 약 절반이었습니다. 전체 데이터는 동반 게시물 에 있습니다.

실용적인 규칙 하나: 상한을 모델 윈도우의 대략 3분의 1로 두고 거기서부터 조정하세요. 어떤 세션도 천장 근처에서 몇 시간을 보내지 않을 만큼 낮게, 평범한 작업이 요약 때문에 중단되지 않고 끝날 만큼 높게요.

직접 측정하세요

이 중 어느 것도 새로운 계측이 필요하지 않습니다. 모든 API 응답은 네 개의 필드를 가진 usage 객체를 지닙니다. input_tokens, cache_creation_input_tokens, cache_read_input_tokens, output_tokens입니다. 대부분의 에이전트 하네스는 이미 이것을 디스크의 세션 로그에 기록합니다.

두 개의 숫자가 거의 모든 것을 말해줍니다.

호출당 캐시 가중 입력. 필드에 비용만큼 가중치를 주세요. 새 입력은 1, 캐시 쓰기는 1.25 또는 2, 캐시 읽기는 0.1입니다. 워크로드는 그대로인데 이 값이 주마다 올라간다면, 세션이 커지고 있고 여러분이 그 비용을 내고 있는 것입니다.

세션당 최대 컨텍스트. 각 세션에서 가장 큰 단일 호출입니다. 최대값들이 모델 윈도우 근처에 머문다면, 여러분의 청구서를 찾은 것입니다.

주간 원시 합계는 오해를 부릅니다. 무엇을 바꾸든 바쁜 주가 한산한 주를 이기기 때문입니다. 항상 작업을 대표하는 무언가로 나누세요. 완료된 작업, 프롬프트, API 호출 같은 것으로요.

다음으로 읽을 것

컨텍스트 윈도우는 여러분이 그 안에 넣은 모든 것에 대해 매 턴 부과되는 반복 청구입니다. 캐싱은 요율을 약 90% 낮추고 추세를 가립니다. 해법은 의도적으로 리셋되는 더 작은 윈도우입니다.

측정된 버전, 즉 5주간의 세션 데이터와 대부분의 절감을 만들어낸 단 하나의 설정을 보려면 에이전트 토큰 사용량 17% 줄이기 에 대한 동반 글을 읽어보세요.

자주 묻는 질문

슈테판은 FlowHunt를 구축하는 AI 및 소프트웨어 엔지니어입니다. 제품 자체를 넘어, 개발자를 위한 에이전트 소프트웨어 엔지니어링 워크플로우를 설계하여 개발 비용을 절감하면서 코드 품질을 향상시킵니다.

슈테판 모라비크
슈테판 모라비크
AI 및 소프트웨어 엔지니어

필요한 것만 지니고 다니는 에이전트를 설계하세요

FlowHunt는 에이전트 워크플로의 각 단계가 무엇을 보는지 제어할 수 있게 해줍니다. 그래서 컨텍스트는 작게 유지되고, 실행은 저렴하게 유지되며, 결과는 예측 가능하게 유지됩니다.