LLM 에이전트 실행 중 토큰 소비를 실시간으로 예측하는 TokenCast

TokenCast: Forecasting Token Consumption During LLM Agent Execution

arXiv2609.35760v1

Chaoqian Ouyang2026-09-28조회 3

무엇인가

LLM 에이전트가 코드 수정이나 딥리서치 같은 작업을 수행할 때, 같은 작업을 같은 모델로 다시 돌려도 토큰 소비는 30배까지 차이가 난다. 에이전트는 도구 피드백과 중간 결과에 따라 다음 행동을 정하고, 매 호출마다 누적된 컨텍스트가 입력으로 다시 청구되므로 뒤로 갈수록 비용이 증폭된다. 그래서 실행 전에 총량을 알기 어렵고, 실행이 진행되는 동안 계속 수정해야 한다. 논문은 예측 범위(단일 응답 대 전체 작업)와 관측 시점(실행 전 대 실행 중)을 축으로 네 가지 설정을 정의한다. Task Start는 실행 전 총 소비 T를, Call Start는 요청이 조립된 뒤 출력 생성 전에 현재 호출 C_k를, In-call Update는 생성 중 접두부가 나오는 동안 C_k를 갱신해 예측한다. Task Update는 호출 k가 끝난 뒤 남은 소비 R_k를 예측해 T̂_k = S_k + R̂_k로 전체 전망을 다시 제시한다.

어떻게 동작하나

방법의 핵심은 실행 구간을 조합 가능한 비용 표현으로 바꾸는 것이다. 연속된 하나 이상의 호출을 하나의 세그먼트로 묶고 φ_A = (n_A, g_A, b_A)로 나타내는데, n_A는 호출 수, g_A는 세그먼트 동안의 입력 길이 순변화, b_A = C_A − n_A·L_A는 시작 입력 베이스라인을 뺀 잔차로 생성 토큰과 세그먼트 내부의 컨텍스트 증가를 담는다. 다음 세그먼트는 L_A + g_A에서 시작한다. 인접 세그먼트를 합치면 φ_A∘B = (n_A+n_B, g_A+g_B, b_A+b_B+n_B·g_A)라는 정확한 항등식이 성립한다. 마지막 항 n_B·g_A가 이 논문의 요점이다. B의 잔차는 B의 실제 시작점 L_A+g_A 기준으로 정의되지만 결합 잔차는 L_A 기준이므로 호출당 g_A만큼, n_B개 호출에 걸쳐 차이가 누적된다. 이 항이 바로 앞선 세그먼트의 컨텍스트를 이후 모든 호출이 다시 읽으면서 발생하는 추가 입력 비용이다. 제공자가 청구하는 추론 토큰은 b_A에 들어가지만 대화 컨텍스트에 남지 않으면 g_A에는 기여하지 않는다.

무엇과 다른가

예측기는 LightGBM 모델들로 구성된다. 직접 경로는 남은 총비용을 단일 타깃으로 예측하고, 합성 경로는 접두 세그먼트 표현 (n̂_A, ĝ_A, b̂_A)과 그 종료 경계 상태, 그리고 접미 세그먼트 표현을 따로 예측한 뒤 위 항등식으로 결합한다. 예측된 컨텍스트 변화가 접미의 입력 베이스라인을 결정한다. 단계적 학습에서는 ℓ_g = n_B·|ĝ_A − g_A|, ℓ_n = L_B·|n̂_B − n_B|라는 가중을 걸어 컨텍스트 변화와 호출 수 오차가 하류 비용에 미치는 영향을 반영한다. 크로스 피팅에서는 작업을 F개 폴드로 나눠 각 폴드의 접두 예측을 나머지 폴드로 학습한 모델이 만들게 하고, 접미 잔차 라벨을 b_B^train = C_B − n_B·L̂_B (L̂_B = L_A + ĝ_A^oof)로 재계산한다. 세 모델을 고정한 뒤에는 out-of-fold 출력 위에 보정 모델 h_ψ를 학습해 최종 예측을 Ĉ_comp + h_ψ(q)로 낸다. 0.05와 0.95 분위 LightGBM으로 예측 구간을 만들고, 캘리브레이션 작업의 구간 잔차 분위로 대칭 확장하며, 이미 확정된 소비를 하한으로 둔다. 모든 갱신은 추가 LLM 호출 없이 실행 중 관측된 정보만으로 이뤄진다.

어떻게 쓰나

실험은 SWE-bench Verified, Search-R1, MMLU-Pro, LongBench-v2 네 벤치마크에서 GPT-5.4, Claude Opus 4.6, Gemini 3.1 Pro, DeepSeek-V4-Pro, Qwen3.8-27B, Llama-3.2-3B-Instruct 여섯 에이전트 LLM을 대상으로 했다. DeepSeek Harness와 OpenHands로 240개 작업에서 11,712개 실행 트레이스를 수집했다. 비교 대상은 출력 길이 예측기 TRAIL, EGTP, TIE와 에이전트 수준 소비 추정기 Self-Prediction이다. SWE-bench Verified + GPT-5.4에서 In-call Update MAE를 EGTP의 74.6토큰에서 38.9토큰으로 47.9% 줄였고, Task Update는 TRAIL의 115k에서 80k로 30.4%, Task Start는 Self-Prediction의 152k에서 144k로 5.3% 줄였다. 96개 벤치마크·모델·예측 지점 조합에서 최강 비교 대상 대비 MAE 감소는 평균 14.5%이며, 지점별 평균은 Task Start −2.2%, Call Start 1.9%, In-call Update 30.4%, Task Update 27.8%다. 최강 비교 대상에 뒤진 조합은 24개인데 15개가 Task Start, 9개가 Call Start이고 In-call Update와 Task Update에서는 하나도 없다. WAPE로 보면 GPT-5.4 Task Start에서 LongBench-v2의 MAE 32.2k는 평균 소비 771.2k 대비 4.2%, MMLU-Pro의 MAE 8.0k는 평균 소비 50.6k 대비 15.8%다.

전제와 한계

신뢰도와 예산 제어 결과도 구체적이다. 앵커 작업에서 90% 예측 구간의 MIS를 Self-Prediction의 자체 구간 대비 평균 32.0% 줄였고, Task Start 커버리지는 82.0%로 Self-Prediction의 52.7%보다 명목 수준에 가깝다. SWE-bench Verified 144개 작업의 GPT-5.4 실행 288개에 대한 오프라인 예산 제어 리플레이에서, 일곱 개 예산 모두 고정 예산 정책과 같은 trace 완료율을 유지하면서 평균 21.3% 토큰을 덜 썼다(이 리플레이는 작업 해결 여부를 측정하지 않는다). LiveClawBench에서 제로샷 leave-one-domain-out 전이의 MAE 비율은 Call Start 1.31, Task Update 1.47이었고 대상 도메인 작업 20개로 적응하면 0.82와 0.85로 떨어졌다. 미학습 에이전트 LLM 전이는 Call Start에서 대상 history-median MAE의 1.02배, 대상 작업 20개면 0.95배였고, 3~10개 작업만 있어도 대상 전용 학습보다 나았다. 절제 실험에서 세그먼트 삼중항을 총 토큰 수·입력 길이·출력 길이로 바꾸면 정규화 MAE가 0.71에서 0.88로, 0.68에서 0.82로 나빠졌고, 합성을 빼면 평균 0.78·호출 수준 0.74가 됐다. 삼중항에서 컨텍스트 증가를 빼면 0.76, 잔차를 빼면 0.73이다. 실행 전에는 직접 회귀(0.82)가 합성(0.87)보다 낫지만 호출이 끝난 뒤에는 합성 0.66 대 직접 0.72로 역전되고, 둘을 평균하면 0.64, 보정 모델까지 쓰면 0.62가 되면서 구간 커버리지가 88.1%에서 90.6%로 올라간다. 크로스 피팅과 비용 가중을 모두 제거하면 0.69가 0.78로 나빠지고 커버리지는 90.6%에서 87.4%로 떨어진다. 특징 중요도는 Task Start와 Call Start에서 요청 길이가 0.24와 0.30으로 앞서고, 생성 중에는 커밋된 접두 길이가 0.58로 지배적이며, 호출 완료 후에는 마지막 호출 입력 토큰 0.28, 남은 계획 항목 0.25, 진전 없는 호출 0.23이 비슷하게 기여한다.

오버헤드는 작다. 매 호출마다 갱신하면 실행당 평균 누적 예측 시간이 32.8ms이고 실행당 19.7회 예측한다. 3회마다 갱신하면 11.9ms와 6.9회로 줄고, Task Start 단일 예측은 2.1ms다. 이 시간에는 특징 추출과 모델 추론이 모두 포함되며, GPT-5.4 실행의 중위 wall time 129초에 더해지는 비율은 0.03% 미만이다. 실무에서는 에이전트 실행 전 비용 견적, 실행 중 예산 초과 감지와 중단 규칙, 요청 스케줄링이나 배치 결정에 붙일 수 있는 경량 계층으로 볼 수 있다. 다만 예측기가 기록된 트레이스에서 학습되므로 새 도메인이나 새 모델로 옮길 때는 소량의 대상 작업으로 적응이 필요하고, Task Start 구간 커버리지가 명목 90%에 못 미치는 82.0%라는 점, Task Start와 Call Start에서는 최강 베이스라인에 뒤지는 조합이 각각 15개와 9개 있다는 점을 감안해야 한다.

저자들이 밝힌 한계는 분명하다. 예측기가 기록된 트레이스에서 학습되기 때문에 새 작업 도메인이나 새 에이전트 LLM으로의 전이는 소량의 대상 작업으로 개선되며, 이 예측을 실제 런타임 의사결정 프레임워크에 통합해 예산 제약 아래에서 실행을 능동적으로 관리하는 일은 향후 과제로 남겨 두었다. 예산 제어 실험은 오프라인 리플레이라 trace 완료율만 측정하고 작업 해결 여부는 측정하지 않는다. 또한 실행 전 예측 지점에서는 정확도 이점이 제한적이고 구간 신뢰도도 명목 수준에 미달하므로, 이 방법의 강점은 실행 증거가 쌓이는 In-call Update와 Task Update 구간에 있다는 것이 실험 결과의 일관된 메시지다.