Kimi K3가 출시되었습니다Kimi K3 살펴보기
명시적 요청 오류와 조용히 무시되는 파라미터를 구분하는 Gemini 3.6 Flash API 마이그레이션 게이트웨이
지도 시간

Gemini 3.6 Flash 마이그레이션: 5가지 API 변경과 1가지 조용한 실패

Jacey
Jacey
Founder
2026년 7월 21일
39분 소요
핵심 요약 gemini-3.6-flash 또는 gemini-3.5-flash-lite로 마이그레이션하면 요청 변경이 다섯 가지 생깁니다. 그중 넷은 HTTP 400을 반환하므로 바로 알아차립니다. 나머지 하나는 그렇지 않습니다. temperature, top_p, top_k는 이제 받아들여진 뒤 무시됩니다. 파이프라인이 안정적인 출력을 위해 temperature=0에 의존하고 있었다면, 믿고 있던 그 보장이 사라진 뒤에도 계속 200 OK를 반환합니다. 이것부터 먼저 고치고, 그다음에 시끄러운 넷을 고치십시오.
Last verified: 2026-07-21
Google은 2026년 7월 21일 Gemini 3.6 Flash와 Gemini 3.5 Flash-Lite를 출시했습니다. 출시 당일 보도는 대부분 벤치마크와 가격에 관한 것이었습니다. 이 페이지가 다루는 것은 더 좁고 더 급한 사안입니다. 요청 형식이 바뀌었고, Google은 이 새 규칙이 이 두 모델과 이후 출시되는 모든 모델에 적용된다고 밝혔습니다.

설정 파일에서 모델 ID 하나만 바꾸고 나머지는 그대로 동작하리라 기대한다면, 배포하기 전에 첫 번째 섹션을 읽으십시오.

다섯 가지 변경, '언제 알아차리는가' 순으로

변경새 모델에서 벌어지는 일어떻게 알아차리는가
temperature, top_p, top_k받아들인 뒤 무시아무것도 없음. 오류도, 경고도 없음.
thinking_budgetthinking_level과 함께 전송요청 거부HTTP 400
요청의 마지막 턴 역할이 model요청 거부HTTP 400
call_idname이 없는 FunctionResponse요청 거부HTTP 400
candidate_countGemini 3.x에서 미지원요청 실패, 또는 해당 필드가 폐기됨

이 다섯 중 넷은 스스로 신호를 보냅니다. 통합 테스트가 잡아내고, 오류 추적기가 알림을 보내며, 오후 한나절이면 고칩니다. 프로덕션까지 흘러들어가는 것은 첫 번째입니다.

위험한 하나: temperature, top_p, top_k는 이제 무시됩니다

Google의 표현은 모호하지 않습니다. 이 파라미터들은 "폐기되어 무시되며", "향후 모델 세대에서는 이 파라미터를 전달하면 HTTP 400 오류를 반환한다"라고 되어 있습니다. 지침은 모든 요청에서 이들을 제거하라는 것입니다.
이 순서를 잘 읽어야 합니다. 순서가 당신에게 중요하기 때문입니다. 오늘 이 파라미터는 아무 일도 하지 않는 no-op입니다. 나중에야 오류가 됩니다. 즉, 당신이 자기 시스템에 대해 가장 잘못 판단하기 쉬운 시점이 바로 지금입니다. 모든 것이 여전히 200을 반환하고 있으니까요.
Gemini 3.6 Flash 샘플링 파라미터는 활성처럼 보이지만 그 신호는 프로덕션 추론 경로에 닿기 전에 사라진다
Gemini 3.6 Flash 샘플링 파라미터는 활성처럼 보이지만 그 신호는 프로덕션 추론 경로에 닿기 전에 사라진다
샘플링 제어는 요청 경로에서 여전히 받아들여지지만, Gemini 3.6 Flash 출력에는 아무런 영향을 주지 않습니다.

어떤 파이프라인이 오류 없이 망가지는가

조용한 no-op은 그 파라미터에 의존하고 있던 경우에만 위험합니다. 흔한 구성이 네 가지 있었습니다:

  • 결정성(determinism) 파이프라인. 반복 호출 결과를 서로 일치시키려고 temperature=0을 설정하는 모든 것: 모델 출력으로 만든 캐시 키, 중복 제거 패스, 결과를 하류 상태 머신에 넣는 분류 작업. 이 설정은 이제 무력해졌으므로, 그것이 사 주던 출력 안정성은 더 이상 사지지 않습니다.
  • golden file / 스냅샷 테스트. temperature=0을 고정해 두고 모델 출력을 저장된 기대 문자열과 diff하는 테스트 스위트. 모델을 바꾼 뒤 이들은 흔들리기 시작하는데, 그 흔들림이 설정 문제가 아니라 모델 품질 저하처럼 보여서 엉뚱한 방향으로 디버깅하게 만듭니다.
  • 낮은 온도로 지탱하던 구조화 출력. 구조화 출력을 도입하지 않고 대신 temperature를 0 근처로, top_p를 좁게 유지해 모델이 파싱 가능한 JSON을 안정적으로 뱉게 하던 팀. 이제 두 손잡이가 동시에 무력해집니다.
  • 경로별로 튜닝한 설정. '창의성' 슬라이더를 노출하거나, '요약'은 한 온도로 '브레인스토밍'은 다른 온도로 라우팅하는 제품. 슬라이더는 UI에서 여전히 움직입니다. 하지만 모델에서는 아무것도 움직이지 못합니다.

이들 중 무엇도 스택 트레이스를 만들지 않습니다. 대신 스스로 건강하다고 보고하는 시스템에서, 당신이 검증했던 것과 미묘하게 다른 출력을 만들어냅니다.

게이트웨이도 경고하지 않습니다

이 지점에서 신중한 팀조차 걸려 넘어집니다. 모델 게이트웨이는 각 모델이 어떤 파라미터를 지원하는지 설명하는 기계 판독 가능한 메타데이터를 게시하고, 상위 도구는 그 메타데이터를 읽어 무엇을 보낼지 결정합니다.

2026년 7월 21일 기준, OpenRouter의 models 엔드포인트google/gemini-3.6-flashgoogle/gemini-3.5-flash-lite 양쪽 모두에 대해 supported_parameters에 여전히 temperature, top_p, seed를 나열하고 있습니다. 게이트웨이는 그 필드들을 받아 전달합니다. 반대편 모델은 그것들을 무시합니다. 이 사슬에서 오류를 내는 것은 하나도 없고, 그 필드가 죽었다고 알려 주는 메타데이터도 없습니다.
Google 자신의 화면에도 같은 지연이 있습니다. Gemini 3.6 Flash의 엔터프라이즈 플랫폼 페이지는 사용자 지정 값이 무시된다고 명시한 바로 그 페이지에서 여전히 temperature, topP, topK의 기본값(1.0, 0.95, 64)을 표시합니다.
실질적 결론은 직설적입니다: 오늘 이 모델들에서 출력 품질을 개선하려고 temperature를 튜닝하는 사람은 no-op을 튜닝하고 있는 것입니다. 팀에 "요약기의 적절한 temperature를 찾자"라는 티켓이 열려 있다면, 닫으십시오.

무엇이 temperature를 대체하는가

Google이 밝힌 대체는 또 다른 파라미터가 아닙니다. system instruction입니다. 원하는 동작을 샘플링 상수가 아니라 모델이 읽는 규칙으로 적으십시오.

이는 의도를 표현하는 방식의 실질적 변화이므로, 삭제가 아니라 '번역'을 하십시오:

예전에 숫자로 인코딩하던 것이제 어디에 들어가는가
간결하고 재현 가능한 답을 위한 temperature=0요구되는 형식, 길이, 어조를 명시하고 서두 없이 답하라는 규칙을 담은 system instruction
JSON을 파싱 가능하게 유지하는 낮은 temperature구조화 출력. gemini-3.6-flashgemini-3.5-flash-lite 모두 지원
다양성을 위한 높은 temperature한 응답에서 서로 다른 N개의 선택지를 요구하는 지시. candidate_count도 함께 사라졌기 때문
세 번째 행은 잠깐 멈춰 볼 만합니다. 같은 마이그레이션에서 temperaturecandidate_count를 함께 삭제하면, 팀이 출력 다양성을 위해 쓰던 두 가지 메커니즘이 모두 사라집니다. 어떤 기능이 다양성에 의존하고 있었다면, 설정 수정이 아니라 실제 재설계가 필요합니다.

배포 전에 모든 호출 지점을 찾는 법

설정 계층을 믿지 말고 코드베이스에서 파라미터 이름을 직접 검색하십시오. 이 값들은 보통 여러 곳에서 서로 다른 사람이 서로 다른 시점에 설정해 두기 때문입니다:

# Gemini 네이티브 및 OpenAI 호환 표기법, 그리고 이들을 담는 설정 객체
grep -rn "temperature\|top_p\|topP\|top_k\|topK\|candidate_count\|candidateCount" \
  --include="*.py" --include="*.ts" --include="*.js" --include="*.go" --include="*.java" .

# 이들을 감싸는 래퍼
grep -rn "generation_config\|generationConfig\|GenerateContentConfig\|thinking_budget\|thinkingBudget" .
애플리케이션 코드 바깥의 결과도 확인하십시오: YAML·JSON 설정, 프롬프트 관리 도구, 노트북, 평가 하네스, 그리고 모델 설정을 저장하는 모든 Terraform이나 관리 콘솔. 6개월 전 대시보드에서 돌려 놓은 손잡이야말로 코드 리뷰를 뚫고 오늘까지 살아남는 딱 그런 것입니다.

시끄럽게 실패하는 넷

이들은 더 간단합니다. API가 알려 주기 때문입니다. 테스트 스위트가 드러내는 순서대로 고치면 됩니다.

thinking_budget과 thinking_level은 동시에 존재할 수 없습니다

Gemini 3.x는 숫자형 thinking_budget을 문자열 열거형 thinking_level로 대체했으며, 값은 minimal, low, medium, high입니다. 한 요청에 둘 다 보내면 400을 반환합니다. Google의 마이그레이션 지침은 호환을 위해 둘 다 남기는 것이 아니라 thinking_budgetthinking_level로 교체하라는 것입니다.

값을 고를 때 알아 둘 만한 기본값이 두 가지 있습니다. 두 모델 사이에서 다르기 때문입니다:

  • gemini-3.6-flash의 기본값은 medium입니다.
  • gemini-3.5-flash-lite의 기본값은 minimal이며, 처리량에 맞춰 튜닝되어 있습니다.
Google은 Flash-Lite의 minimal 기본값이 자율 서브 에이전트로 쓰기에 적합하지 않으며, 다단계 작업에서 도구 호출을 조기에 종료한다고 분명히 밝힙니다. Flash-Lite가 당신을 대신해 코드를 작성하거나, 터미널 명령을 실행하거나, 외부 API를 호출할 것이라면, 의도적으로 medium이나 high로 올리십시오. 이는 기본값을 받아들이는 것이 형식적 절차가 아니라 실제 제품 결정이 되는, 이 마이그레이션에서 유일한 편집입니다.
이 경고는 재현되며, 그 실패가 어떻게 생겼는지 알아 둘 가치가 있습니다. 실패처럼 보이지 않기 때문입니다. 우리는 출시 당일 8개의 모델·thinking 레벨 조합에 걸쳐 216번 호출했고, 9개 작업을 각각 3번씩 반복했습니다. 정확히 한 건이 오답을 냈습니다. Flash-Lite를 minimal 기본값으로 돌린 경우로, 3단계 알림 체인 작업에서 세 번 모두 실패했습니다. 형태는 매번 동일했습니다. 처음 두 도구는 올바르게 호출한 뒤 멈추고, 최종 알림은 보내지 않은 채 성공을 보고했습니다. 오류도 예외도 없이, 하류 서비스가 그대로 받아들일 잘 구성된 응답이었습니다. 같은 모델을 high로 올리자 매번 작업을 통과했습니다.
마이그레이션 교훈은 좁지만 날카롭습니다. 다단계 워크플로를 Flash-Lite로 옮기면서 thinking_level을 설정하지 않으면, 요청은 실패하지 않습니다. 끝내지 못한 일에 대해 자신만만한 답을 돌려줍니다. 레벨을 명시적으로 설정한 뒤, 돌려받은 응답이 아니라 워크플로가 만들어냈어야 할 효과를 검증(assert)하십시오.

더 이상 모델 턴을 프리필할 수 없습니다

요청에서 마지막 비어 있지 않은 턴의 역할이 model이면 API는 400을 반환합니다. 프리필은 흔한 기법이었습니다. {"role": "model", "parts": [{"text": "{"}]} 같은 절반짜리 어시스턴트 턴을 덧붙여 모델이 JSON 여는 중괄호로 시작하게 강제하거나, 수다스러운 서두를 억제했습니다.
이 두 목적 모두 나머지 전부와 같은 두 곳으로 옮겨 갑니다. 규칙을 명시하는 system instruction, 또는 기계 파싱이 필요할 때의 구조화 출력입니다. 마지막에 어시스턴트나 모델 메시지를 덧붙이는 모든 요청 빌더를 코드에서 검색하되, 특히 재시도와 이어쓰기 로직을 보십시오. 프리필은 리터럴로 적히기보다 그곳에서 동적으로 생성되는 경향이 있습니다.

모든 FunctionResponse에는 call_id와 name이 필요합니다

generateContent API를 사용할 때, 각 FunctionResponse는 대응하는 call_id와 함수의 name을 모두 지녀야 합니다. 여기서 흔히 당하는 것은 손으로 짠 도구 루프입니다. 상당수가 '결과만 돌려주면 충분하던' 시절에 작성되어, 모델이 보낸 것을 그대로 되돌려주는 대신 응답 객체를 처음부터 재구성하기 때문입니다.
수정은 기계적입니다. 모델의 function call에서 온 call_id를 보관해 두었다가, 돌려주는 응답에 다시 실으십시오. 도구 루프를 프레임워크 위에 지었다면, 우회 패치를 하지 말고 프레임워크를 업데이트하십시오.

candidate_count는 사라졌습니다

candidate_count는 Gemini 3.x에서 지원되지 않습니다. 제거하십시오. 여러 답을 샘플링해 가장 좋은 것을 고르는 데 쓰고 있었다면, 그 로직을 이제 명시적으로 짜야 합니다. 한 응답 안에서 여러 선택지를 요구하거나, 여러 요청을 보내 각각 비용을 지불하십시오.

전과 후: 깔끔하게 마이그레이션되는 요청

아래는 폐기된 필드를 모두 담은 Gemini 네이티브 호출과, 이 이동에서 살아남는 버전입니다.

# 이전: 2.5 세대 모델에서는 동작하지만, 3.6 Flash에서는 깨지거나 조용히 오작동한다
config = {
    "temperature": 0,          # 이제 무시됨, 오류 없음
    "top_p": 0.95,             # 이제 무시됨, 오류 없음
    "top_k": 40,               # 이제 무시됨, 오류 없음
    "candidate_count": 1,      # Gemini 3.x에서 미지원
    "thinking_budget": 8192,   # thinking_level과 함께 오면 400
}

# 이후: 의도를 샘플링 상수에서 지시문으로 옮김
config = {
    "system_instruction": (
        "최대 세 문장으로 답하세요. 평이한 서술문을 쓰세요. "
        "서두를 붙이거나, 질문을 되풀이하거나, 후속 제안을 하지 마세요. "
        "답이 불확실하면 한 문장으로 그렇다고 말하세요."
    ),
    "thinking_level": "medium",
}
'이후' 블록의 요점은 더 짧다는 데 있지 않습니다. 원하는 동작이 이제 모델이 실제로 읽는 문장으로 적혀 있다는 것, 그리고 그 덕분에 다음 엔지니어도 당신의 의도를 볼 수 있다는 데 있습니다. 설정 파일에 홀로 놓인 temperature=0은 결코 스스로를 설명하지 못했습니다.
OpenAI 호환 게이트웨이를 통해 이 모델들에 접근한다면 같은 삭제가 적용됩니다. 게이트웨이는 필드를 전달하고 모델은 그것을 버리기 때문입니다. EvoLink에서 이 호출은 base URL만 바꾼 표준 OpenAI SDK입니다:
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["EVOLINK_API_KEY"],
    base_url="https://api.evolink.ai/v1"
)

response = client.chat.completions.create(
    model="gemini-3.6-flash",
    messages=[
        {"role": "system", "content": "최대 세 문장으로 답하세요. 서두 없이."},
        {"role": "user", "content": "이 장애 보고서를 요약하세요."}
    ]
    # temperature, top_p 없음: 넣어도 받아들여진 뒤 하류에서 무시됨
)

print(response.choices[0].message.content)
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env["EVOLINK_API_KEY"],
  baseURL: "https://api.evolink.ai/v1",
});

const response = await client.chat.completions.create({
  model: "gemini-3.6-flash",
  messages: [
    { role: "system", content: "최대 세 문장으로 답하세요. 서두 없이." },
    { role: "user", content: "이 장애 보고서를 요약하세요." },
  ],
  // temperature, top_p 없음
});

console.log(response.choices[0].message.content);
혼란 한 바퀴를 아껴 주는 세부 하나: 모델 ID는 정확히 gemini-3.6-flash입니다. preview 접미사도, 날짜 표기도 없으므로 고정할 날짜 별칭이 없습니다. 배포 프로세스가 -preview-001 변형이 존재한다고 가정한다면, 그 가정은 요청 시점에 실패합니다.
이 페이지는 변경된 필드만 다룹니다. 전체 요청 레퍼런스, 능력 매트릭스, 그리고 첫 호출에서 마주치기 쉬운 오류 메시지는 Gemini 3.6 Flash 가이드를 참고하십시오.

조용한 실패를 잡아내는 마이그레이션 순서

순서가 중요합니다. 시끄러운 오류는 쉽고 조용한 것은 그렇지 않기 때문입니다. 이 순서로 진행하십시오:

요청 인벤토리에서 검증, 카나리 롤아웃, 롤백까지 이어지는 Gemini 3.6 Flash 프로덕션 마이그레이션 워크플로
요청 인벤토리에서 검증, 카나리 롤아웃, 롤백까지 이어지는 Gemini 3.6 Flash 프로덕션 마이그레이션 워크플로
안전한 Gemini 3.6 Flash 롤아웃은 먼저 숨은 제어 항목을 인벤토리하고, 동작을 검증한 뒤, 롤백 경로를 갖춘 카나리로 프로덕션 트래픽을 전환합니다.
  1. 먼저 인벤토리. 위 grep을 돌려 샘플링 파라미터가 설정된 모든 곳을 설정 저장소와 대시보드까지 포함해 나열하십시오. 각각이 어떤 동작을 보호하고 있었는지 적어 두십시오.
  2. 삭제만 하지 말고 의도를 번역. 발견한 모든 temperature에 대해 그것이 무엇을 위한 것이었는지 정한 뒤, 그에 상응하는 system instruction을 작성하십시오. 번역 없이 삭제하는 것이 곧 품질 저하를 출시하는 방법입니다.
  3. 400들을 고친다. thinking_budgetthinking_level로 교체하고, candidate_count를 제거하고, 프리필된 모델 턴을 제거하고, 모든 FunctionResponsecall_idname을 추가하십시오.
  4. 의도적으로 thinking 레벨을 선택, 특히 Flash-Lite에서 그렇습니다. minimal 기본값은 자율 다단계 작업에 부적합합니다. 이는 마이그레이션에서 가장 큰 비용 레버이기도 합니다: 우리 작업 세트에서 3.6 Flash를 minimal로 돌렸을 때 같은 모델을 기본 medium으로 돌릴 때보다 패스당 73.6% 저렴했고, medium에서는 thinking 토큰이 청구 출력의 85%를 차지했습니다. 시험해야 할 것은 절감이 실제인지가 아니라, 당신의 워크로드가 그 하락을 견디는지입니다.
  5. 무엇이든 비교하기 전에 스냅샷 테스트를 새 모델 기준으로 다시 잡으십시오. 옛 golden file은 더 이상 적용되지 않는 파라미터 아래에서 생성되었으므로, 유효한 기준점이 아닙니다.
  6. 같은 작업 세트에서 두 모델 모두에 평가를 돌리고, 통과율만이 아니라 출력 분포를 비교하십시오. 조용한 동작 변화는 오답으로 드러나기 전에 형식·길이·장황함의 드리프트로 먼저 드러납니다.
  7. 실제 트래픽으로 카나리하며 하류 파서를 주시하십시오. API 오류율만 보지 마십시오. 무언가 조용히 깨진다면, 그것은 호출 자체가 아니라 모델 출력을 소비하는 코드에서 깨집니다.
5단계가 팀들이 건너뛰는 단계입니다. temperature=0이 아직 무언가 하던 시절에 생성된 golden file과 새 출력을 diff하면, 모든 diff가 모델 문제처럼 보이지만 그중 어느 것도 그렇지 않습니다.

Google의 마이그레이션 skill로 첫 패스를 돌려라

Google은 이 마이그레이션을 위한 agent skill을 게시했습니다. 한 번 설치한 뒤 프로젝트를 가리키게 하면 됩니다.
npx skills add google-gemini/gemini-skills --skill gemini-interactions-api --global

그다음, 코딩 에이전트에서 프로젝트를 가리키게 하십시오:

/gemini-interactions-api migrate my app to Gemini 3.6 Flash

돌려 볼 가치가 있습니다. 기계적인 일을 처리합니다. 폐기된 필드 찾기, 요청 구성 재작성, 호출 지점 갱신인데, 위 3단계의 대부분을 포괄합니다.

할 수 없는 것은 2단계입니다. 도구는 temperature=0을 제거해야 한다는 것은 알아볼 수 있습니다. 하지만 그 값이 하류 서비스가 '같은 입력에는 같은 출력'을 가정했기 때문에 거기 있었다는 것은 알 수 없고, 그 의도를 보존하는 system instruction을 써 낼 수도 없습니다. 이 skill은 코드 훑기 패스로 취급하고, 의도 번역은 직접 하십시오.

은퇴 일정: 선택이 당신의 것이 아니게 되는 때

마이그레이션은 그것이 더 이상 선택이 아니게 되기 직전까지는 선택입니다. Google의 폐기 페이지가 날짜를 나열합니다:
모델종료 날짜권장 대체 모델
gemini-2.5-flash2026-10-16gemini-3.6-flash
gemini-2.5-flash-lite2026-10-16gemini-3.1-flash-lite
gemini-3.1-flash-lite2027-05-07gemini-3.5-flash-lite
gemini-3-flash-preview종료 날짜 미공지gemini-3.6-flash
gemini-3.6-flash, gemini-3.5-flash-lite종료 날짜 미공지해당 없음
두 번째 행에 주목하십시오. 이 페이지에서 가장 틀리기 쉬운 부분이기 때문입니다. Google이 gemini-2.5-flash-lite에 지정한 대체 모델은 갓 출시된 gemini-3.5-flash-lite가 아니라 gemini-3.1-flash-lite입니다. 가장 최신 Lite 모델로 곧장 건너뛰는 것은 방어 가능한 선택이지만, 그것은 문서화된 업그레이드 경로가 아니라 당신의 선택이며, 한 세대가 아니라 두 세대를 건너뛰는 것입니다. 그에 맞게 계획하고 시험하십시오.
여기서 두 개의 날짜가 실제로 일을 하고 있습니다. 2.5 계열 Flash 모델 중 하나를 쓰고 있다면, 2026년 10월 16일까지, 즉 이 글 발행 시점으로부터 대략 세 달이 남았습니다. gemini-3-flash-preview를 쓰고 있다면 공지된 종료일은 없지만, preview 모델은 애초에 로드맵을 세울 대상이 아닙니다.

Computer Use: 공식 문서 넷, 답 둘

지금은 문서만으로 결론 낼 수 없는 능력 관련 질문이 하나 있습니다. 이 모델들이 Computer Use를 지원하는지가 Google 자신의 자료 전반에서 일관되지 않게 서술되어 있습니다:

공식 페이지 넷, 서로 모순되는 답 둘, 읽어서는 해결할 방법이 없습니다. Computer Use가 당신의 크리티컬 패스에 있다면, 방안을 확정하기 전에 자신의 계정과 엔드포인트로 직접 찔러 보고, 전환 가능한 폴백 모델을 배선해 두십시오. 이 섹션은 실측 결과와 관측 날짜가 나오면 갱신됩니다. 이 가이드의 다른 모든 변경은 일관되게 문서화되어 있지만, 이것 하나만은 그렇지 않습니다.

이번 주에 공급자를 다시 고르고 있다면 이것이 뜻하는 바

예정에 없던 마이그레이션이 스프린트에 떨어졌고, 그 작업은 주말을 통째로 쓰는 재작성이 아니라 하루이틀의 세심한 편집입니다. 이미 모든 호출 지점을 건드리고 있으니, 애초에 모델이 어떻게 당신에게 닿는지를 한 번 살펴볼 자연스러운 시점입니다.

들어간 김에 확인할 만한 것이 두 가지 있습니다:

  • 전환 기간에 옛 모델과 새 모델을 나란히 돌릴 수 있습니까? 위 6단계가 이를 요구합니다. 현재 구성 때문에 gemini-3.5-flashgemini-3.6-flash를 같은 작업 세트로 돌리는 일이 번거롭다면, 그 번거로움은 다음 마이그레이션에도 그대로 남습니다. 그리고 다음은 반드시 옵니다. Google은 이 규칙이 이후 출시되는 모든 모델에 적용된다고 밝혔습니다.
  • 새 모델이 당신에게 호출 가능해지기까지 얼마나 걸립니까? gemini-3.6-flash는 출시 첫날 preview 접미사 없이 정식 출시(GA)에 도달했습니다. 모델이 출시되는 시점과 당신 코드가 그것을 호출할 수 있는 시점 사이의 간극은, 출시가 있을 때마다 당신이 치르는 비용입니다.
EvoLink는 이 두 가지를 중심으로 만들어졌습니다. 하나의 OpenAI 호환 엔드포인트가 Gemini, Claude, GPT 등에 닿으므로, 두 모델 사이의 A/B는 두 번째 SDK와 두 번째 자격 증명 세트가 아니라 model 문자열을 바꾸는 일이며, 새 모델은 이미 쓰고 있는 그 엔드포인트를 통해 제공됩니다. 이 특정 모델 자체의 현재 상태부터 보고 싶다면, Gemini 3.6 Flash 출시 추적기에 가용성과 모델 ID 세부가 있고, 3.6 Flash 대 3.5 Flash 비교는 이 업그레이드를 애초에 할 가치가 있는지를 다룹니다. 그것은 안전하게 하는 방법과는 별개의 질문입니다.
올해 Gemini 마이그레이션이 이번이 처음이 아니라면, 각자의 모델 쌍을 다루는 이전 가이드가 둘 있습니다. Flash 라인의 Gemini 3 Flash Preview에서 Gemini 3.5 Flash로 이전, 그리고 Pro 라인의 Gemini 3 Pro 폐기 마이그레이션 가이드입니다. 이 쌍이 아니라 각자가 명시한 쌍에 맞춰 읽으십시오. 이 페이지의 파라미터 폐기는 3.6 세대부터 시작되므로, 더 이른 쌍을 위해 쓰인 가이드는 샘플링 파라미터가 아직 동작한다고 알려 줄 텐데, gemini-3.6-flash에서는 더 이상 그렇지 않습니다.

FAQ

Gemini 3.6 Flash에 temperature를 보내면 오류를 반환하나요? 아니요. 현재 temperature, top_p, top_k는 받아들여진 뒤 무시되며, 오류도 경고도 없습니다. Google은 향후 모델 세대가 이 파라미터들에 대해 HTTP 400을 반환할 것이라고 밝혔으므로 이 침묵은 일시적이지만, 지금으로서는 이들을 담은 요청이 완전히 건강해 보입니다.
결정론적 출력을 위해 무엇이 temperature=0을 대체하나요? Google이 문서화한 대체는 system instruction입니다. 요구되는 형식, 길이, 어조를 모델이 읽는 규칙으로 명시하십시오. 기계 파싱이 가능한 출력에는 구조화 출력을 쓰십시오. 두 신규 모델 모두 지원합니다. temperature의 자리를 대신하는 숫자 파라미터는 없습니다.
gemini-3.6-flash에서 thinking_budget을 계속 쓸 수 있나요? 아니요. Gemini 3.x는 값이 minimal, low, medium, high인 문자열 열거형 thinking_level을 사용합니다. 한 요청에 thinking_budgetthinking_level을 함께 보내면 HTTP 400을 반환합니다. 기본값은 3.6 Flash에서 medium, 3.5 Flash-Lite에서 minimal입니다.
gemini-2.5-flash-lite의 공식 대체 모델은 무엇인가요? Google의 폐기 페이지는 gemini-3.5-flash-lite가 아니라 gemini-3.1-flash-lite를 지목하며, 종료 날짜로 2026년 10월 16일을 제시합니다. 대신 3.5 Flash-Lite로 옮길 수도 있지만, 그것은 두 세대를 건너뛰는 것이자 문서화된 경로가 아닌 당신 자신의 결정입니다.
이 변경들이 Gemini 3.5 Flash-Lite에도 적용되나요? 네. 폐기된 샘플링 파라미터, thinking_level 전환, 프리필 제한, FunctionResponse 요구사항, candidate_count 제거는 모두 gemini-3.5-flash-lite에도 똑같이 적용되며, Google은 이 두 모델 이후에 출시되는 모든 모델에도 적용된다고 밝혔습니다. 코드 변경은 어느 쪽이든 동일하므로, 둘 중 어느 것으로 옮길지 확정하기 전에 마이그레이션을 시작할 수 있습니다. 그 선택은 별개의 질문이며, Gemini 3.6 Flash 대 3.5 Flash-Lite 비교에서 다룹니다.
고정해야 할, 날짜가 붙거나 preview가 붙은 모델 ID 버전이 있나요? 아니요. 모델 ID는 gemini-3.6-flash이며, preview 접미사도 날짜 표기도 없습니다. 배포 도구가 날짜 별칭을 기대한다면, 요청 시점에 실패합니다.

출처

AI 비용을 89% 절감할 준비가 되셨나요?

오늘 EvoLink를 시작하고 지능형 API 라우팅의 힘을 경험해보세요.