Grok Build · 컨텍스트 용량

추정, 백분율, 엄격한 임계값

xai-token-estimation은 공유 산술 기본 요소를 제공합니다. bytes/4 기반의 로컬 추정과, 호출자가 전달한 usedtotal에 대한 사용률 및 임계값 판단을 모두 지원합니다.

학습 목표 로컬 추정과 서버 측 usage 관측을 구분하고, usage_percentage, exceeds_threshold, exceeds_threshold_with_headroom을 이해하며, 85% 경계에서 등호(≥)가 동작하는 방식을 정확히 파악합니다.
핵심 시각화 · 85% 경계
context_window = 1,000 85% = 850 01,000 used = 849false used = 850true — 등호에서 트리거
임계값은 정수 교차 곱셈을 사용합니다: used × 100 >= window × percent.
세 가지 핵심 함수
usage_percentage

total == 0이면 0을 반환하고, 그 외에는 백분율을 계산하여 결과를 100으로 제한합니다.

(used / total × 100).min(100)
exceeds_threshold

정수 포화 곱셈을 사용하여 부동소수점 반올림으로 인한 트리거 경계 이동을 방지합니다. 기본 compaction 비율은 설정에서 흔히 85로 나타납니다.

used × 100 >= window × pct
...with_headroom

백분율 임계값 이전에 고정된 Token 여유 공간을 예약합니다. 뺄셈은 saturating_sub를 사용하며, window가 0이면 false를 반환합니다.

used × 100 >= window × pct - headroom × 100
추정값과 서버 측 usage

로컬 추정

estimate_tokens(s)는 UTF-8 바이트 길이를 4로 나눕니다. 요청 전 또는 도구 출력 추가 후 빠른 예측을 제공하며, 저해상도 이미지 한 장의 고정 추정값은 765 Token입니다.

서버 측 usage 관측

서버 측 usage는 완료된 요청의 실제 계측값을 나타냅니다. 백분율 함수는 데이터 출처를 조회하거나 판단하지 않으며, 호출자가 전달한 수치만 처리합니다. 호출 체인은 단계별로 추정 총량 또는 갱신된 usage를 사용할 수 있습니다.

경계 예: exceeds_threshold(850, 1000, 85)는 true이고 849는 false입니다. window가 100,000, 임계값 85%, headroom이 4,000이면 트리거 시점이 81,000으로 앞당겨집니다.
실제 소스 코드 증거
crates/codegen/xai-token-estimation/src/lib.rs · 38~104번째 줄 발췌
pub fn usage_percentage(used: u64, total: u64) -> f64 {
    if total == 0 { 0.0 }
    else { ((used as f64) / (total as f64) * 100.0).min(100.0) }
}

pub fn exceeds_threshold(
    used: u64, context_window: u64, threshold_percent: u8
) -> bool {
    if context_window == 0 { return false; }
    used.saturating_mul(100)
        >= context_window.saturating_mul(threshold_percent as u64)
}

pub fn exceeds_threshold_with_headroom(
    used: u64, context_window: u64, threshold_percent: u8, headroom: u64,
) -> bool {
    if context_window == 0 { return false; }
    used.saturating_mul(100) >=
        context_window.saturating_mul(threshold_percent as u64)
            .saturating_sub(headroom.saturating_mul(100))
}
소스 스냅샷 안내: 로컬 저장소 grok-build-maincrates/codegen/xai-token-estimation/src/lib.rs를 기반으로 하며, compaction 호출 지점과 교차 검증했습니다. 검증 날짜: 2026-07-17. 이 페이지는 언어별 또는 코드 유형별 가상 과금 공식을 사용하지 않습니다.
수업 실습
05

두 가지 트리거 지점 손 계산

컨텍스트 창은 128,000이고 임계값은 85%입니다. 먼저 headroom 없이 가장 빠르게 트리거되는 used 값을 계산하고, 그다음 headroom이 4,000일 때의 값을 계산하세요. 두 문제 모두 등호를 포함해야 합니다.

핵심 정리: 로컬 bytes/4 추정은 적시 예측을 위한 것이고, 서버 측 usage는 완료된 요청에 대한 관측값을 제공합니다. 공유 함수가 통일된 산술을 담당합니다. 85% 경계는 >=를 사용하며, 임계값에 도달하는 즉시 true가 됩니다. headroom은 트리거 지점을 더욱 앞당깁니다.