Gemini 3.8 Flash는 low, medium, high 세 가지 사고 레벨을 제공합니다. 이 설정은 모델이 답변하기 전에 얼마나 많은 내부 추론을 수행하는지를 제어하며, 이 모델에서는 지연 시간, 출력 토큰, 그리고 청구 요금이라는 세 가지 수치가 동시에 변동합니다. Google은 3.8 Flash가 복잡한 작업에서 “더 열심히 작동하도록” 설계했기 때문에, 선택하는 레벨이 3.7 Flash에서보다 훨씬 더 중요합니다. 이 모델이 처음이라면, Gemini 3.8 Flash 개요에서 출시 정보를 확인할 수 있습니다. 이 가이드는 오직 이 레벨 설정에 관한 것입니다.
초기 사용 시 팀들이 혼동하는 두 가지 세부 사항이 있습니다. 3.8 Flash의 기본 레벨은 high가 아닌 medium입니다 (Gemini 3 Pro는 기본값이 high이므로 여기서 혼동이 발생합니다). 또한, Gemini 3.7 Flash용으로 작성된 설정에서 여전히 전송되는 minimal은 더 이상 허용되지 않습니다. 단일 토큰이 생성되기도 전에 요청 유효성 검사가 실패합니다. Google은 이 두 가지 모두를 Gemini 3.8 Flash의 새로운 기능 페이지에 설명하고 있습니다.
아래 내용은 각 레벨의 기능, 작업당 비용, 두 가지 API 형식에서 설정하는 방법, 경로별 전략, 그리고 출시 전에 토큰 및 지연 시간 차이를 보여주는 반복 가능한 테스트에 대한 설명입니다.
사고 레벨 개요
| 레벨 | Google의 권장 사항 | 작업당 비용 (AA) | 작업당 시간 (AA) | 다음 경우에 사용 |
|---|---|---|---|---|
low |
지연 시간 및 비용 최소화; 간단한 지침 따르기, 채팅, 높은 처리량 경로 | $0.24 | 0.8분 | 사용자 대면 지연 시간이 중요할 때; 스크립트 검색; 분류 |
medium (기본값) |
복잡한 코드 및 에이전트 작업의 기본값 | $0.41 | 텍스트로 공개되지 않음 | 대부분의 경로; 일반 영상 Q&A |
high |
가장 어려운 다단계 문제에 대한 최대 추론 깊이 | $0.58 | 2.5분 | 고밀도 시각 Q&A; 60분 이상 영상; 이후의 모든 단계를 제어하는 계획 단계 |
minimal |
3.8 Flash에서 지원되지 않음 | 해당 없음 | 해당 없음 | 절대 사용하지 마세요; low로 매핑하세요 |
비용 및 시간 열은 Google의 초기 토큰당 가격으로 각 레벨에서 Intelligence Index를 실행하여 얻은 Artificial Analysis의 평균값입니다. 이 수치는 Google의 것이 아닌 독립적인 수치이며, 사용자 프롬프트가 아닌 벤치마크 워크로드를 측정합니다. 이 수치를 비율로 활용하고, 이후 사용자 자신의 경로를 측정하세요.
각 레벨의 기능
모든 3.8 Flash 응답에는 사고 토큰이 포함될 수 있습니다. 이는 모델이 보이는 답변 전에 생성하는 추론입니다. 이 토큰은 출력 토큰으로 비용이 청구되며 (초기 요금 기준으로 2026년 12월 31일까지는 백만 개당 $3.75, 2027년 1월 1일부터는 $7.50), API는 이를 usageMetadata.thoughtsTokenCount로 별도로 보고합니다. 사고 레벨은 모델이 얼마나 많은 추론을 해야 하는지를 지시합니다.
low는 사고를 짧게 유지합니다. 첫 번째 토큰이 가장 빠르게 도착하며 출력 청구 요금이 적게 유지됩니다. Google은 이를 지연 시간에 민감한 작업(간단한 지침 따르기, 채팅, 높은 처리량 엔드포인트)에 적합하다고 설명합니다.medium은 균형점이며 기본값입니다. Google은 이를 복잡한 코드 및 에이전트 작업에 대한 설정으로 언급하며, 이는 사람들이 Flash급 모델을 사용하는 대부분의 경우에 해당합니다.high는 모델이 가능한 한 깊이 추론하도록 지시합니다. Google은 이를 가장 어려운 다단계 문제를 위해 남겨둡니다.
3.8 Flash에서 달라진 점은 모델의 새로운 기본 동작입니다. 복잡한 작업에서 모델은 "추가 추론 단계를 실행하고, 도구를 반복적으로 호출하며" "그 과정에서 작업을 검증합니다". Google은 "설계상 더 오래 실행되고 복잡한 작업에 더 많은 토큰을 사용할 수 있으며" "특히 높은 노력 수준에서 성능을 극대화하기 위해 모델이 더 많은 토큰을 사용할 수 있다"고 명확히 말합니다. 사고 레벨은 이러한 동작을 제어하는 조절 장치입니다. 토큰 사용량이 증가할 때 Google이 제시하는 첫 번째 제안은 이를 낮추는 것이며, 두 번째는 여전히 완전히 지원되는 3.7 Flash를 유지하는 것입니다.
한 가지 중요한 제약 사항: thinking_level은 예산이 아니라 열거형(enum)입니다. 이전 모델의 정수 thinking_budget은 Gemini 3에서 사라졌으므로, "최대 2,000개의 사고 토큰"을 요청할 수 없습니다. 레벨을 선택한 다음 자신의 프롬프트에서 얼마나 비용이 발생하는지 확인해야 합니다. 이것이 이 가이드 끝에 있는 테스트가 중요한 이유입니다.
기본값은 medium이 아닌 high입니다
필드를 생략하면 3.8 Flash는 medium으로 실행됩니다. 이는 두 그룹에서 혼동을 야기합니다.
Gemini 3 Pro에서 프로토타입을 제작했던 팀은 기본적으로 high를 예상하지만, 눈치채지 못하고 중간 수준의 답변을 받습니다. 3.7 Flash 업그레이드 중에 thinking_budget을 제거하고 레벨로 대체하지 않은 팀은 low여야 할 채팅 경로를 포함하여 모든 곳에서 medium으로 작동하게 됩니다.
두 경우 모두 해결책은 동일합니다: 코드 대신 설정에서, 경로별로, 모든 요청에 대해 thinking_level을 명시적으로 설정하세요. 기본값은 Google이 변경할 수 있으며, Google이 변경할 때마다 사용자 비용 프로필이 변동해서는 안 됩니다.
minimal이 사라진 이유 및 오류 해결 방법
minimal은 Gemini 3.7 Flash에서 작동했습니다. 3.8 Flash에서는 지원되는 집합에 포함되지 않으며, 모델 페이지에는 사고 레벨이 low, medium, high로만 나열되어 있습니다. 이를 REST로 보내면 모델이 실행되기 전에 "Thinking level MINIMAL is not supported for this model. Please retry with other thinking level."이라는 메시지와 함께 400 INVALID_ARGUMENT 오류로 요청이 거부됩니다 (2026년 9월 3일 라이브 호출로 확인됨). SDK는 이를 자체 예외 클래스로 래핑하므로, 메시지 문자열이 아닌 400 상태 코드 또는 INVALID_ARGUMENT 코드를 기준으로 일치시켜야 합니다.
이전:
{
"model": "gemini-3.8-flash",
"input": "Classify this ticket as billing, bug, or feature.",
"generation_config": { "thinking_level": "minimal" }
}
이후:
{
"model": "gemini-3.8-flash",
"input": "Classify this ticket as billing, bug, or feature.",
"generation_config": { "thinking_level": "low" }
}
Google의 마이그레이션 가이드는 minimal이 low로 직접 매핑된다고 합니다. 해당 설정을 사용하는 동안 피해야 할 두 가지 유혹이 있습니다. 더 작은 기준값을 얻기 위해 thinking_budget을 사용하지 마세요. Gemini 3 모델에서는 지원되지 않습니다. 모델을 "진정시키기 위해" temperature를 낮추지 마세요. Google은 모든 Gemini 3 모델에서 기본값인 1.0을 유지하도록 권장합니다. 낮추면 루프에 빠지거나 출력이 저하될 수 있기 때문입니다. 사고 서명 및 함수 응답의 call_id 요구 사항을 포함한 전체 체크리스트는 3.7에서 3.8 Flash 마이그레이션 가이드에 있습니다.
오류가 유효성 검사 시점에 발생하기 때문에, 각 레벨에서 예정된 테스트 요청은 minimal로 회귀하는 설정을 무료로 잡아낼 수 있습니다.
작업당 각 레벨의 비용
토큰당 가격은 레벨에 따라 변하지 않습니다. Google의 가격 페이지에 따르면, 모든 3.8 Flash 호출은 초기 요금 기준으로 백만 토큰당 입력 $0.75, 출력 $3.75이며, 2027년 1월 1일에는 각각 $1.50 및 $7.50으로 두 배가 됩니다. 레벨 간의 차이는 순전히 토큰 개수이며, 이는 Artificial Analysis가 측정한 내용입니다.
| 모델 및 레벨 | 작업당 비용 | 작업당 시간 |
|---|---|---|
Gemini 3.8 Flash low |
$0.24 | 0.8분 |
Gemini 3.8 Flash medium |
$0.41 | 텍스트로 공개되지 않음 |
Gemini 3.8 Flash high |
$0.58 | 2.5분 |
Gemini 3.7 Flash high |
$0.40 | 2.2분 |
출처: Artificial Analysis, 초기 가격을 기준으로 한 Intelligence Index 실행 결과입니다. 표에서 세 가지 비율을 도출할 수 있습니다.
low는 high의 비용 약 41%와 실제 소요 시간의 약 3분의 1로 실행됩니다. 이는 이 모델에서 사용할 수 있는 가장 큰 단일 레버입니다.
3.8 Flash의 medium은 3.7 Flash의 high 비용과 거의 같습니다($0.41 대 $0.40). 3.7 Flash의 high에 만족했다면, 3.8 Flash의 medium이 유사한 예산 라인입니다.
3.8 Flash의 high는 3.7 Flash의 high보다 작업당 45% 더 많은 비용이 듭니다. 토큰당 가격은 동일하지만, 모델이 약 30% 더 많은 출력 토큰(인덱스 작업당 평균 48,000개)을 생성하기 때문입니다. 이것이 "더 열심히 작동하도록" 설계된 부분이 청구서에 나타나는 것입니다. 추가 토큰이 그만한 가치를 하는지는 워크로드에 따라 달라집니다. 3.8 Flash 대 3.7 Flash 비교에서는 품질 개선이 어느 지점에서 이루어졌는지 설명합니다.
품질에 대한 한 가지 주의 사항: 3.8 Flash에 대한 AA의 Intelligence Index 점수 59점은 high 레벨 실행 결과입니다. 그들은 medium 또는 low 레벨의 인덱스 점수를 텍스트로 공개하지 않았으므로, 품질 곡선이 비용과 선형적이라고 가정하지 마세요. 경로를 하향 조정하기 전에 각 레벨에서 자신만의 평가를 테스트하세요. 각 레벨에서 하루 1,000개 작업과 12월 31일 가격 절벽에 대한 자세한 예시는 Gemini 3.8 Flash 가격 책정을 참조하세요.
Interactions API에서 thinking_level 설정
Interactions API는 Google의 Gemini 3.x용 주요 인터페이스입니다. 레벨은 generation_config 내부에 snake_case 문자열로 존재합니다.
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" -H 'Content-Type: application/json' \
-d '{"model":"gemini-3.8-flash","input":"Explain HTTP caching in 3 sentences.","generation_config":{"thinking_level":"low"}}'
Python:
interaction = client.interactions.create(
model="gemini-3.8-flash",
input="Explain HTTP caching in 3 sentences.",
generation_config={"thinking_level": "low"},
)
print(interaction.output_text)
이것은 요청 수준 필드이므로, previous_interaction_id를 전달하는 후속 턴을 포함하여 모든 호출에 설정해야 합니다. 응답은 model_output으로 끝나는 실행 단계(사고, 도구 호출) 목록으로 반환되며, SDK는 최종 텍스트를 output_text로 노출합니다. 다중 턴 상태 및 스트리밍을 포함한 전체 첫 호출 워크스루는 Gemini 3.8 Flash API 사용 방법을 참조하세요.
레거시 generateContent에서 설정
대부분의 기존 Gemini 코드는 여전히 generateContent를 호출합니다. Google은 이를 레거시라고 부르지만, 서비스 종료일 없이 완전히 지원된다고 하므로 서두를 필요는 없습니다. 이 필드는 한 단계 더 깊이 중첩되어 있으며 camelCase 형식입니다.
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.8-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" -H 'Content-Type: application/json' -X POST \
-d '{"contents":[{"parts":[{"text":"Explain HTTP caching in 3 sentences."}]}],
"generationConfig":{"thinkingConfig":{"thinkingLevel":"low","includeThoughts":true}}}'
Python:
from google.genai import types
response = client.models.generate_content(
model="gemini-3.8-flash",
contents="Explain HTTP caching in 3 sentences.",
config=types.GenerateContentConfig(
thinking_config=types.ThinkingConfig(thinking_level="low")
),
)
print(response.usage_metadata.thoughts_token_count)
includeThoughts: true는 thought: true로 플래그된 부분으로 사고 요약을 응답에 추가합니다. 이는 레벨을 조정하는 동안 유용하지만, 완료되면 노이즈가 될 수 있습니다. 중요한 숫자는 usageMetadata.thoughtsTokenCount이며, 이는 출력으로 청구되는 정확한 토큰 수이자 테스트에서 주시해야 할 필드입니다.
경로별 전략
레벨을 전역 설정이 아닌 라우팅 결정으로 취급하세요. 다음과 같이 나눌 수 있습니다.
- 채팅, 자동 완성 및 사용자가 기다리는 모든 것:
low. 첫 토큰 지연 시간이 중요합니다. - 분류, 추출 및 스크립트 검색:
low, 정확도가 유지되는지 한 번 직접 평가하여 확인하세요. Google의 자체 비디오 예시에서는 스크립트 검색에low를 사용합니다. - 코딩 에이전트 및 도구 루프:
medium, 기본값입니다. 단일 계획 단계의 출력이 이후의 모든 단계를 제어하는 경우high로 상향 조정했다가 다시 낮추세요. 3.8 Flash에서는 도구 루프가 설계상 이미 더 많은 턴을 실행하므로, 전체 루프에 걸쳐high를 사용하면 비용이 빠르게 누적됩니다. - 문서 중심의 장기 워크플로우:
high, 그리고 비대화형일 때 Batch API를 통해 50% 할인된 가격으로 처리하세요. - 비디오: Google 문서에는 세 가지 예시가 있습니다. 고밀도 시각 Q&A 또는 60분 이상 비디오에는
high, 일반 비디오 Q&A에는medium, 스크립트 검색에는low입니다.
3.8 Flash의 low가 여전히 경로에 필요한 것보다 더 많은 모델이라면, Flash-Lite 라인이 해당 작업을 위해 존재합니다. 당사의 이전 Gemini 3.1 Flash-Lite 가이드에서 트레이드오프를 다루며, Gemini 3.5 Flash-Lite는 현재 입력 $0.30, 출력 $2.50의 시작점입니다.
레벨을 경로별 설정에 유지하고, gemini-3.7-flash를 플래그 뒤에 두세요. 업그레이드 후 경로의 토큰 수가 급증하면, 배포 없이 레벨 또는 모델을 낮출 수 있습니다.
Apidog에서 세 가지 레벨을 나란히 테스트하기
AA의 표를 읽으면 비율을 알 수 있습니다. 실제 숫자는 사용자 자신의 프롬프트만이 알려줄 수 있습니다. 다음은 Apidog에서 모든 레벨에 하나의 황금 프롬프트를 보내고 반환된 값을 단언하는 테스트 시나리오입니다. 이 시나리오는 두 가지 API 형식 모두에서 작동하며, usageMetadata가 최상위 필드이므로 레거시 엔드포인트가 표시됩니다.
- 키를 환경 변수로 저장합니다. Apidog 환경에
GEMINI_API_KEY를 생성하고x-goog-api-key헤더에서{{GEMINI_API_KEY}}로 참조합니다. 두 번째 변수THINKING_LEVEL을 추가하여 하나의 저장된 요청이 세 가지 단계를 모두 처리하도록 합니다. - 하나의 요청을 저장합니다.
/v1beta/models/gemini-3.8-flash:generateContent에 황금 프롬프트와"thinkingConfig": {"thinkingLevel": "{{THINKING_LEVEL}}}"를 사용하여 POST 요청을 보냅니다. - 세 단계 테스트 시나리오를 구축합니다. 동일한 요청을 세 번 가져와 각 단계에서
THINKING_LEVEL을low,medium,high로 재정의합니다. - 변동하는 필드를 단언합니다. 모든 단계에서: 상태 코드는 200이고
usageMetadata.thoughtsTokenCount가 존재합니다.low단계에서는thoughtsTokenCount와 응답 시간이 해당 경로가 허용할 수 있는 상한선 미만인지 단언합니다 (첫 실행 후 기준선을 설정). 후처리 스크립트는 각 단계의 카운트를 변수에 저장하여high단계가low만큼 추론했음을 단언할 수 있습니다. 만약 이 순서가 뒤바뀐다면, 모델이나 기본값이 변경된 것입니다. - 가드 단계를 추가합니다.
thinkingLevel: "minimal"을 보내고 응답이 200이 아님을 단언합니다. 나중에 모델 ID를 교체할 때, 이 단계는 새 모델이 여전히 이를 거부하는지 여부를 알려줍니다. - 일정을 설정합니다. 구성 회귀 또는 침묵하는 동작 변경이 예상치 못한 청구서가 아닌 빨간색 실행으로 나타나도록 매일 시나리오를 실행합니다. 방법은 Apidog에서 API 테스트를 예약하는 방법에 있습니다.
스트리밍 응답의 경우, SSE 렌더링에 동일한 시나리오가 적용됩니다. SSE를 통해 스트리밍되는 LLM API를 테스트하는 방법에서 설정을 다룹니다. 따라 하려면 Apidog를 다운로드하세요. 무료 플랜으로 이 전체 시나리오를 수행할 수 있습니다.
자주 묻는 질문
사고 레벨이 토큰당 가격을 변경합니까?
아닙니다. 3.8 Flash에서는 레벨과 상관없이 초기 요금 기준으로 백만 토큰당 입력 $0.75, 출력 $3.75입니다. 레벨은 모델이 사고 과정에서 생성하는 출력 토큰의 수를 변경하며, 이 토큰들은 출력 가격으로 청구됩니다. 가격 분석에는 캐싱, 배치 및 1월 1일 인상에 대한 내용이 포함됩니다.
대신 정확한 사고 토큰 예산을 설정할 수 있나요?
Gemini 3 모델에서는 불가능합니다. thinking_budget은 thinking_level 열거형으로 대체되었으며, 3.8 Flash는 low, medium, high만 허용합니다. 상한선이 필요한 경우, 요청에서가 아니라 테스트 및 알림에서 이를 강제 적용하세요.
Artificial Analysis의 59점 점수는 어떤 레벨을 사용하나요?
high입니다. AA는 헤드라인 점수를 위해 high 레벨에서 Intelligence Index를 실행했으며, low 및 medium에서의 비용과 시간도 공개했지만, 해당 레벨의 인덱스 점수는 공개하지 않았습니다. 자신만의 평가를 실행하기 전까지는 해당 벤치마크에서 하위 레벨은 테스트되지 않은 것으로 간주하세요.
사고를 줄이기 위해 temperature를 낮춰야 하나요?
아닙니다. Google은 모든 Gemini 3 모델에 대해 temperature를 기본값인 1.0으로 유지하도록 권장합니다. 이를 낮추면 루프에 빠지거나 출력이 저하될 수 있습니다. 추론 깊이를 제어하려면 thinking_level을 사용하세요.
low도 너무 느리거나 너무 비싸다면 어떻게 해야 하나요?
Google이 서비스 종료일 없이 완전히 지원된다고 밝힌 Gemini 3.7 Flash를 유지하거나, 경로를 Flash-Lite 모델로 전환하세요. 3.8 대 3.7 Flash 비교에서는 추가 토큰이 측정 가능한 품질 향상을 가져오는 경우와 그렇지 않은 경우를 보여줍니다.
경로별로 레벨을 선택한 다음 측정하세요
세 가지 레벨, 하나의 열거형, 그리고 기본적으로 이전 모델보다 더 많이 추론하는 모델입니다. 모든 경로에 thinking_level을 명시적으로 설정하고, 남아 있는 minimal을 low로 매핑하며, 각 레벨에서 usageMetadata.thoughtsTokenCount를 주시하세요. AA의 작업당 수치($0.24, $0.41, $0.58)는 곡선의 형태를 보여주며, Apidog의 3단계 시나리오는 12월 31일 가격 변경으로 인해 두 배 더 중요해지기 전에 사용자 자신의 숫자를 제공합니다.
