토큰 예산은 Claude의 확장 사고나 OpenAI o 시리즈 같은 추론 모델이 답하기 전에 속으로 생각하는 데 쓸 수 있는 토큰의 최대치를 정하는 설정이다. 크게 잡을수록 어려운 문제를 더 정확히 풀지만 느리고 비싸지므로, 어려운 문제에는 크게, 단순한 작업에는 작게 잡아 답의 품질과 비용·속도를 맞출 때 쓴다.
| 설정 | 정하는 것 | 형태 |
|---|---|---|
| 토큰 예산 | 생각에 쓸 토큰의 상한 | 숫자 (예: 10000) |
| 추론 강도 | 생각을 얼마나 깊게 할지 | 단계 (낮음·중간·높음) |
| 최대 출력 토큰 | 생각과 답을 합친 전체 출력의 상한 | 숫자 |
모델이 속으로 생각한 내용은 화면에 다 보이지 않아도 출력 토큰으로 계산돼 요금이 붙는다. 그래서 간단한 질문에도 큰 예산을 주면, 답은 똑같은데 비용과 대기 시간만 늘어날 수 있다. 예산은 이 낭비를 막는 장치다.
Claude API에서는 thinking: {type: "enabled", budget_tokens: 10000}처럼 숫자로 직접 정한다. 이 값은 최소 1,024 이상이어야 하고, 전체 출력 상한인 max_tokens보다 작아야 한다. OpenAI 추론 모델은 숫자 대신 reasoning_effort를 단계로 고르는 방식이라 개념은 같고 조절하는 단위만 다르다.
| 서비스 | 조절 방식 |
|---|---|
| Claude API | budget_tokens에 숫자를 넣는다 |
| OpenAI API | reasoning_effort로 단계를 고른다 |
모든 요청에 같은 예산을 줄 필요는 없다. 요청이 얼마나 어려운지 먼저 분류해서 예산을 자동으로 정하는 라우터를 두면, 같은 모델로도 비용을 꽤 줄일 수 있다.
| 작업 | 예산 | 이유 |
|---|---|---|
| 수학 증명, 복잡한 디버깅 | 크게 | 여러 단계를 따져 봐야 틀리지 않는다 |
| 코드 수정, 보고서 작성 | 중간 | 품질과 속도의 균형 |
| 요약, 번역, 분류 | 작게 또는 끄기 | 깊이 생각할 필요가 거의 없다 |
예산은 상한일 뿐이라, 쉬운 문제라면 모델이 예산을 다 쓰지 않고 일찍 답한다. 그리고 예산을 계속 키운다고 정확도가 끝없이 오르지는 않아서, 어느 선을 넘으면 비용만 늘어난다. 또 생각과 답을 합친 길이가 전체 출력 상한을 넘으면 답이 중간에 잘릴 수 있으니, 답에 쓸 여유를 남겨 두고 내 작업으로 직접 시험해 적당한 값을 찾는 게 좋다.
가장 흔한 방식은 단계별로 예산을 다르게 주는 것이다. 판단이 어려운 단계에만 예산을 크게 주고, 나머지 단계는 작게 두거나 생각을 꺼서 전체 비용과 대기 시간을 줄인다.
| 어디서 | 어떻게 쓰나 |
|---|---|
| 코딩 에이전트 | 설계나 꼬인 버그 추적은 예산을 크게, 파일 수정이나 테스트 결과 요약은 작게 |
| API 자동화 | 요청 난이도를 먼저 분류해 예산을 자동으로 배정하고, 분류·번역은 생각을 끈다 |
| 수학·데이터 분석 질문 | 여러 단계 풀이가 필요하면 예산을 크게 잡되, max_tokens에 답 쓸 여유를 남긴다 |