블로그로 돌아가기

비용 최적화분석

AI 에이전트 비용을 추정하는 방법

에이전트 청구서가 입력 토큰 위주인 이유, 에이전트를 실행하기 전에 돌려볼 수 있는 공식, 30단계 계산 예시, 비용을 줄이는 일곱 가지 방법.

작성자: CheapTokens Team 게시됨읽는 시간 4분

에이전트 세션에서 입력 토큰이 단계별로 증가하는 차트와 비용 공식
이 페이지의 내용
  1. 공식
  2. 에이전트가 입력 위주인 이유
  3. 계산 예시
  4. 코드로 추정하기
  5. 추측 대신 측정하기
  6. 비용을 줄이는 일곱 가지 방법

AI 에이전트는 요청을 한 번만 보내지 않습니다. 수십 번 보내며, 매 단계마다 점점 커지는 대화를 다시 전송합니다. 그래서 에이전트 청구서는 입력 토큰이 대부분을 차지하고, 채팅 앱에서 익숙한 "답변당 가격"이라는 직관이 통하지 않습니다. 여기에서는 에이전트를 실행하기 전에 비용을 추정하는 방법과 돈이 실제로 어디로 가는지 설명합니다.

공식#

요청 하나의 비용은 입력 토큰 곱하기 입력 가격 더하기 출력 토큰 곱하기 출력 가격입니다. 가격은 백만 토큰당으로 표시됩니다:

text
request_cost = input_tokens / 1,000,000 × input_price
             + output_tokens / 1,000,000 × output_price

작업의 비용은 에이전트가 그 작업을 해결하는 동안 보내는 모든 요청에 대한 합계입니다.

에이전트가 입력 위주인 이유#

매 단계마다 에이전트는 모델에 다음을 보냅니다:

  • 시스템 프롬프트와 도구 정의;
  • 지금까지의 전체 기록 — 이전 메시지, 모델의 이전 답변과 도구 결과(파일 내용, 명령 출력, 검색 결과);
  • 새 지시.

모델은 보통 짧은 메시지나 도구 호출로 답합니다. 그런 다음 도구 결과가 기록에 추가되고 다음 단계에서 모든 내용을 다시 보냅니다. 따라서 각 단계의 입력은 커지지만 출력은 작게 유지됩니다.

계산 예시#

조건 (가정 — 자신의 에이전트에서 나온 숫자로 바꾸세요):

  • 시스템 프롬프트와 도구 정의: 6,000 토큰;
  • 각 단계는 기록에 도구 결과 1,500 토큰과 모델 출력 500 토큰을 추가합니다;
  • 작업은 30단계가 걸립니다;
  • 모델: DeepSeek-V4-Flash, 1M 입력 토큰당 $0.0221, 1M 출력 토큰당 $0.10 (현재 가격).

n단계의 입력은 6,000 + (n − 1) × 2,000 토큰입니다. 30단계에 걸쳐:

  • 총 입력: 30 × 6,000 + 2,000 × (0 + 1 + … + 29) = 180,000 + 870,000 = 1,050,000 토큰;
  • 총 출력: 30 × 500 = 15,000 토큰;
  • 비용: 1.05 × $0.0221 + 0.015 × $0.10 ≈ 작업당 $0.0247.

입력은 토큰의 98.6%이며 비용의 거의 전부입니다. 입력이 얼마나 우세한지는 시나리오에 따라 다릅니다: 긴 답변, 생성된 파일, 추론 모델은 출력 비중을 높이고, 기록을 줄이고 도구 출력이 짧으면 입력 비중을 낮춥니다.

현재 가격으로 모든 모델에서 같은 작업을 수행한 결과, 비교를 위해 OpenRouter의 참조 가격도 함께 표시합니다:

모델 비용 OpenRouter
GLM-5.3-Flash $0.0296 $0.0534
DeepSeek-V4-Flash $0.0247 $0.0264
MiniMax-M2.7 $0.0548 $0.333

총 입력 1,050,000개 및 출력 15,000개 토큰입니다. 100만 토큰당 가격은 현재 기준이며 당사 요금제에 따라 함께 변경됩니다. OpenRouter 열은 동일한 작업량에 대한 참고 가격을 보여줍니다.

코드로 추정하기#

같은 계산을 함수로 만든 것 — 가정과 가격을 바꾸세요:

python
def estimate(steps, base_tokens, tool_tokens, out_tokens, price_in, price_out):
    """Token totals and cost of one agent task. Prices: $ per 1M tokens."""
    grow = tool_tokens + out_tokens            # what each step adds to the history
    total_in = steps * base_tokens + grow * steps * (steps - 1) // 2
    total_out = steps * out_tokens
    cost = (total_in * price_in + total_out * price_out) / 1_000_000
    return total_in, total_out, round(cost, 5)

# example rates, $ per 1M tokens — put in the current ones from the pricing table below
print(estimate(30, 6_000, 1_500, 500, price_in=0.10, price_out=0.40))
# (1050000, 15000, 0.111)

이차 항에 주목하세요: 단계 수를 두 배로 늘리면 입력은 대략 네 배가 됩니다. 긴 세션이 비싸지는 것은 특정 단계 하나 때문이 아니라, 모든 단계가 전체 기록을 함께 전달하기 때문입니다.

추측 대신 측정하기#

모든 응답에는 usage.prompt_tokens(입력)과 usage.completion_tokens(출력)이 포함됩니다. 실제 작업의 각 단계마다 이를 기록하고 현재 요율을 곱하면 실제 비용을 알 수 있습니다. 대시보드에서는 모델별, 일별 사용량도 보여줍니다.

현재 요율 — 가격 페이지와 같은 데이터:

모델 컨텍스트 입력 $/1M 출력 $/1M OpenRouter 입력 OpenRouter 출력
GLM-5.3-Flash reasoning 390K $0.027 $0.08 $0.048 $0.20
DeepSeek-V4-Flash 380K $0.0221 $0.10 $0.016 $0.64
MiniMax-M2.7 200K $0.05 $0.15 $0.30 $1.20

가격은 100만 토큰당 USD 기준입니다. OpenRouter 수치는 비교를 위해 표시되었으며 변경될 수 있습니다.

비용을 줄이는 일곱 가지 방법#

  1. 관련 없는 작업에는 새 작업을 시작하세요. 새 세션은 이전 세션의 기록을 이어받지 않습니다.
  2. 에이전트에게 전체 파일이 아니라 조각을 주세요. 3,000줄 모듈 대신 함수와 그 호출자들을 주세요.
  3. 도구 출력을 줄이세요. 긴 로그와 명령 출력은 세션이 끝날 때까지 기록에 남습니다 — 예를 들어 | tail -n 50로 제한하세요.
  4. 긴 세션을 요약하세요. 많은 에이전트가 기록을 압축할 수 있습니다; 컨텍스트가 길어지기 전에 사용하세요.
  5. 긴 답변이 필요 없는 곳에서는 max_tokens로 답변 길이를 제한하세요.
  6. 단계에 맞는 모델을 사용하세요. 일상적인 단계에는 추론 모델이 필요하지 않습니다.
  7. 선불 예산을 유지하세요. 잔액은 선불입니다: 소진되면 요청이 HTTP 402로 중단되며, 끝없이 청구서가 쌓이지 않습니다.

같은 워크로드가 모델별로, 그리고 OpenRouter와 어떻게 비교되는지 보려면 홈 페이지의 비용 비교를 사용하세요.