반응형
Flash 시리즈가 Pro를 넘었습니다. Google I/O 2026에서 오늘 출시된 Gemini 3.5 Flash는 코딩·에이전트 벤치마크에서 Gemini 3.1 Pro를 앞서면서 속도는 4배 빠릅니다. 가격은 3.1 Pro보다 40% 저렴합니다. 다만 가격 관련 한 가지 주의할 것이 있습니다.
[핵심 요약 — 오늘자 정확한 정보]
→ 출시: 2026년 5월 19일 GA — 지금 바로 사용 가능, 대기 없음
→ 모델 ID: gemini-3.5-flash (preview 접미사 없음)
→ 내부 버전: 3.5-flash-05-2026
→ API 가격: $1.50/M 입력, $9.00/M 출력 (캐시된 입력 $0.15/M)
→ 주의: 기존 Gemini 3 Flash($0.50/$3.00) 대비 3배 비쌈 — "소폭 인상"은 오보
→ 컨텍스트: 1M 토큰 입력 / 65,536 토큰 출력
→ 속도: 284 tok/s (Artificial Analysis 실측) — 유사 가격대 중앙값 63 tok/s의 4.5배
→ Thinking: 기본값 medium — 구버전 preview에서 넘어올 때 주의 필요
→ 지식 컷오프: 2026년 1월
→ Gemini 3.5 Pro: 내부 사용 중, 다음 달(6월) 출시 예정
가격 — 정확한 수치
[Gemini 3.5 Flash API 가격 — 글로벌/비글로벌 구분]
글로벌 리전:
→ 입력: $1.50 / 1M 토큰
→ 출력: $9.00 / 1M 토큰
→ 캐시된 입력: $0.15 / 1M 토큰 (90% 절감)
비글로벌 리전 (한국 포함):
→ 입력: $1.65 / 1M 토큰
→ 출력: $9.90 / 1M 토큰
Gemini 앱·Search AI Mode:
→ 무료 (일반 사용자)
→ AI Pro/Ultra 구독자: 무제한
[모델 간 가격 비교]
모델 입력 출력
──────────────────────────────────────────
Gemini 3 Flash $0.50 $3.00 ← 기존
Gemini 3.5 Flash $1.50 $9.00 ← 오늘 출시 (3배↑)
Gemini 3.1 Pro $2.50 $15.00
Claude Sonnet 4.6 $3.00 $15.00
GPT-5.4 $2.00 $8.00
Claude Opus 4.7 $5.00 $25.00
→ Gemini 3.5 Flash는 3.1 Pro보다 40% 저렴
→ 그러나 기존 3 Flash 대비 3배 인상 — "소폭 인상"이라는 일부 보도는 오보
→ 성능 대비 가격 스위트스폿은 GPT-5.4 대비 입력 비슷, 출력은 비쌈
벤치마크 — Google 공식 발표 수치 (검증된 것만)
[Google 공식 발표 벤치마크]
Terminal-Bench 2.1 (터미널 태스크):
→ Gemini 3.5 Flash: 76.2%
→ Gemini 3.1 Pro: 70.3% ← 3.5 Flash 승
MCP Atlas (MCP 툴 사용 에이전트):
→ Gemini 3.5 Flash: 83.6%
→ Gemini 3.1 Pro: 78.2% ← 3.5 Flash 승
GDPval-AA (경제적 가치 있는 작업):
→ Gemini 3.5 Flash: 1,656 Elo
→ Gemini 3.1 Pro: 1,317 Elo ← 339점 차이
Toolathlon (툴 사용 능력):
→ Gemini 3.5 Flash: 56.5% (리포트된 최고)
Finance Agent v2:
→ Gemini 3.5 Flash: 57.9%
CharXiv Reasoning (과학 추론):
→ Gemini 3.5 Flash: 84.2%
MMMU-Pro (멀티모달 이해):
→ Gemini 3.5 Flash: 83.6% ← Artificial Analysis 역대 최고 기록
[3.1 Pro가 여전히 앞서는 영역]
MRCR v2 at 128k (장문 컨텍스트 검색):
→ Gemini 3.1 Pro: 84.9%
→ Gemini 3.5 Flash: 77.3% ← 3.1 Pro 승
결론:
→ 코딩·에이전트·멀티모달: 3.5 Flash 승
→ 매우 긴 컨텍스트 검색·최고 난이도 순수 추론: 3.1 Pro 여전히 우세
→ "모든 벤치마크에서 앞선다"는 마케팅은 약간 과장
[Artificial Analysis 독립 평가 (사전 접근)]
Intelligence Index: 55점 (유사 가격대 중앙값: 36점)
출력 속도: 284 tok/s (유사 가격대 중앙값: 63 tok/s)
TTFT: 17.75초 (유사 가격대 중앙값 2.72초보다 높음 — Thinking 모드 때문)
→ 속도: 압도적 (동급 대비 4.5배)
→ Intelligence: 동급 대비 크게 우세
→ TTFT: Thinking 기본 활성화로 첫 토큰까지 시간 김 — 스트리밍 UX 고려 필요
참고: Sundar Pichai 키노트에서 "300 tok/s" 언급 → 실측은 284 tok/s
실전 1 — 지금 바로 쓰는 법
Gemini API
# pip install google-generativeai
import google.generativeai as genai
import os
genai.configure(api_key=os.environ["GEMINI_API_KEY"])
# 기본 사용
model = genai.GenerativeModel("gemini-3.5-flash")
response = model.generate_content("파이썬 asyncio 패턴 설명해줘")
print(response.text)
OpenAI SDK 호환
from openai import OpenAI
client = OpenAI(
api_key=os.environ["GEMINI_API_KEY"],
base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)
response = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[{"role": "user", "content": "FastAPI 에러 핸들링 패턴 알려줘"}]
)
print(response.choices[0].message.content)
OpenRouter 경유
from openai import OpenAI
client = OpenAI(
api_key=os.environ["OPENROUTER_API_KEY"],
base_url="https://openrouter.ai/api/v1"
)
response = client.chat.completions.create(
model="google/gemini-3.5-flash",
messages=[{"role": "user", "content": "안녕"}]
)
Firebase AI Logic (모바일·웹)
// Android — 오늘부터 사용 가능
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel("gemini-3.5-flash")
// Web
const model = getGenerativeModel(ai, { model: "gemini-3.5-flash" });
실전 2 — Thinking 레벨 제어 (핵심 변경사항)
Gemini 3.5 Flash의 가장 중요한 API 변경입니다. 기존 gemini-3-flash-preview에서 넘어올 때 반드시 확인해야 합니다.
# ⚠️ 핵심 변경사항: thinking_budget → thinking_level
# 기존 Gemini 3 Flash Preview (정수)
# model.generate_content(prompt, thinking_budget=1024) # 이제 안 됨
# Gemini 3.5 Flash (문자열 enum)
import google.generativeai as genai
model = genai.GenerativeModel("gemini-3.5-flash")
# thinking_level 옵션: "minimal" / "low" / "medium" / "high"
# 기본값: "medium"
# ── minimal: 추론 최소화 — 가장 빠름, 가장 저렴 ──────
response = model.generate_content(
"파이썬 리스트 컴프리헨션 예시 보여줘",
generation_config={
"thinking_config": {"thinking_level": "minimal"}
}
)
# ── low: 코딩·에이전트 태스크 튜닝 ───────────────────
# 주의: "low"는 더 이상 "추론 건너뜀"이 아님
# Gemini 3.5에서 low는 코딩·에이전트에 최적화된 설정으로 재조정됨
response = model.generate_content(
"이 함수의 버그 찾아줘: def add(a,b): return a-b",
generation_config={
"thinking_config": {"thinking_level": "low"}
}
)
# ── medium: 기본값 — 균형 (비용과 품질) ──────────────
response = model.generate_content(
"REST API 설계 리뷰해줘",
generation_config={
"thinking_config": {"thinking_level": "medium"}
}
)
# ── high: 최고 추론 — 복잡한 문제 ─────────────────────
response = model.generate_content(
"이 분산 시스템의 데드락 가능성 분석해줘",
generation_config={
"thinking_config": {"thinking_level": "high"}
}
)
[⚠️ Preview → 3.5 Flash 마이그레이션 주의]
기존 gemini-3-flash-preview 기본값: high (최대 추론)
Gemini 3.5 Flash 기본값: medium (중간 추론)
→ 모델만 교체하면 기존보다 추론량 줄어듦
→ 의도적으로 설계한 변경 — 비용 효율 우선
→ 기존과 동일한 추론 깊이가 필요하면:
thinking_level: "high" 명시 필요
[thinking_level별 비용·속도 영향]
minimal: 가장 빠름, 가장 저렴 (추론 토큰 최소)
low: 코딩 최적화, 중간 속도·비용
medium: 기본값, 균형
high: 가장 느림, 가장 비쌈 (추론 토큰 최대)
TTFT 기준: 최대 수십 초 (복잡한 문제)
실전 3 — 멀티모달 입력
import google.generativeai as genai
from pathlib import Path
import base64
genai.configure(api_key=os.environ["GEMINI_API_KEY"])
model = genai.GenerativeModel("gemini-3.5-flash")
# ── 이미지 분석 ───────────────────────────────────────
image_path = Path("screenshot.png")
image_data = base64.b64encode(image_path.read_bytes()).decode()
response = model.generate_content([
{
"mime_type": "image/png",
"data": image_data
},
"이 스크린샷의 UI 문제점을 찾아줘"
])
print(response.text)
# ── PDF 분석 ──────────────────────────────────────────
pdf_data = base64.b64encode(Path("contract.pdf").read_bytes()).decode()
response = model.generate_content([
{
"mime_type": "application/pdf",
"data": pdf_data
},
"이 계약서의 핵심 조항을 요약해줘",
])
# ── 오디오 분석 ───────────────────────────────────────
audio_data = base64.b64encode(Path("meeting.mp3").read_bytes()).decode()
response = model.generate_content([
{
"mime_type": "audio/mp3",
"data": audio_data
},
"이 회의 녹음을 텍스트로 변환하고 액션 아이템 추출해줘"
])
# ── 영상 분석 ─────────────────────────────────────────
video_data = base64.b64encode(Path("demo.mp4").read_bytes()).decode()
response = model.generate_content([
{
"mime_type": "video/mp4",
"data": video_data
},
"이 데모 영상에서 버그가 발생하는 시점을 찾아줘"
])
[지원 입력 형식 — Gemini 3.5 Flash]
텍스트: 기본
이미지: image/jpeg, image/png, image/gif, image/webp
오디오: audio/mp3, audio/wav, audio/aiff, audio/aac
영상: video/mp4, video/mpeg, video/mov, video/webm
문서: application/pdf, text/plain, text/html, text/csv
출력: 텍스트 전용 (Gemini Omni Flash가 영상 출력 담당)
실전 4 — 구조화 출력 + 툴 콜링
from pydantic import BaseModel
from typing import Literal
import json
# ── 구조화 출력 ───────────────────────────────────────
class BugReport(BaseModel):
severity: Literal["critical", "high", "medium", "low"]
description: str
affected_lines: list[int]
fix_suggestion: str
response = model.generate_content(
f"""다음 코드를 분석해서 버그 리포트를 JSON으로 작성해줘:
def divide(a, b):
return a / b
""",
generation_config={
"response_mime_type": "application/json",
"response_schema": BugReport,
}
)
bug = json.loads(response.text)
print(f"심각도: {bug['severity']}")
print(f"설명: {bug['description']}")
# ── 툴 콜링 (Function Calling) ────────────────────────
tools = [
genai.protos.Tool(
function_declarations=[
genai.protos.FunctionDeclaration(
name="get_weather",
description="특정 도시의 날씨 조회",
parameters=genai.protos.Schema(
type=genai.protos.Type.OBJECT,
properties={
"city": genai.protos.Schema(
type=genai.protos.Type.STRING,
description="도시 이름"
)
},
required=["city"]
)
)
]
)
]
model_with_tools = genai.GenerativeModel(
"gemini-3.5-flash",
tools=tools
)
response = model_with_tools.generate_content("서울 날씨 알려줘")
# 툴 콜 감지
if response.candidates[0].content.parts[0].function_call:
fc = response.candidates[0].content.parts[0].function_call
print(f"툴 호출: {fc.name}({dict(fc.args)})")
# → 툴 호출: get_weather({'city': '서울'})
실전 5 — 비용 최적화 패턴
# ── 패턴 1: 프롬프트 캐싱으로 90% 절감 ───────────────
# 캐시된 입력: $0.15/M (일반 $1.50/M 대비 90% 절감)
import google.generativeai as genai
from google.generativeai import caching
import datetime
# 긴 시스템 프롬프트나 문서를 캐시
cache = caching.CachedContent.create(
model="gemini-3.5-flash",
contents=[
{
"role": "user",
"parts": [{
"text": "이 문서를 기반으로 질문에 답해줘:\n\n" + long_document
}]
}
],
ttl=datetime.timedelta(hours=1),
)
# 캐시 사용
model = genai.GenerativeModel.from_cached_content(cached_content=cache)
response = model.generate_content("이 문서의 핵심 주장은?")
# → 문서 토큰: $0.15/M 적용 (90% 절감)
# ── 패턴 2: thinking_level로 비용 제어 ───────────────
def smart_generate(prompt: str, task_type: str) -> str:
"""태스크 유형에 따라 thinking_level 자동 선택"""
level_map = {
"simple_qa": "minimal", # 간단한 질문
"code": "low", # 코딩 (low가 코딩 최적화됨)
"analysis": "medium", # 분석
"complex_reasoning": "high", # 복잡한 추론
}
thinking_level = level_map.get(task_type, "medium")
response = model.generate_content(
prompt,
generation_config={
"thinking_config": {"thinking_level": thinking_level}
}
)
return response.text
# 사용
result = smart_generate("파이썬 리스트가 뭐야?", "simple_qa") # minimal
result = smart_generate("이 코드의 버그 찾아줘", "code") # low
result = smart_generate("이 아키텍처 리뷰해줘", "analysis") # medium
result = smart_generate("분산 시스템 설계 최적화 방법", "complex_reasoning") # high
# ── 패턴 3: LiteLLM으로 Gemini 3.5 Flash 폴백 체인 ──
import litellm
response = litellm.completion(
model="gemini/gemini-3.5-flash", # 1순위 — 빠름, 코딩 강점
messages=[{"role": "user", "content": "코드 리뷰해줘"}],
fallbacks=[
"anthropic/claude-sonnet-4-6", # 2순위 — 순수 추론 강점
"openai/gpt-5.4", # 3순위
],
api_key=os.environ["GEMINI_API_KEY"],
)
Gemini 3.5 Flash vs 경쟁 모델 — 언제 뭘 쓰나
[실전 선택 가이드 — 2026년 5월 기준]
Gemini 3.5 Flash ($1.50/$9.00) 선택:
→ 코딩·에이전트 태스크 (MCP Atlas 83.6%, Terminal-Bench 76.2% 1위)
→ 멀티모달 이해 (MMMU-Pro 83.6% 역대 최고)
→ 속도가 최우선 (284 tok/s — 압도적 1위)
→ Antigravity·Firebase AI Logic 기본 모델로 쓸 때
→ 1M 토큰 컨텍스트가 필요할 때
Claude Sonnet 4.6 ($3.00/$15.00) 선택:
→ 뉘앙스 있는 글쓰기·번역
→ 복잡한 다단계 추론 (MRCR 장문 컨텍스트)
→ Anthropic 생태계 (Claude Code, 기존 워크플로우)
GPT-5.4 ($2.00/$8.00) 선택:
→ OpenAI 에코시스템 강한 통합 필요
→ 출력 가격 효율 (Gemini 3.5 Flash보다 저렴)
→ 코딩·추론 균형
Gemini 3 Flash ($0.50/$3.00) 계속 선택:
→ 비용이 절대 최우선 + 3.5의 높은 추론 불필요
→ 단순 분류·태깅·요약 대량 처리
Claude Opus 4.7 ($5.00/$25.00) 선택:
→ 최고 난이도 추론·에이전트 장기 태스크
→ 2576px 고해상도 이미지 분석 (유일)
→ 품질이 비용보다 훨씬 중요한 경우
[비용 예시 — 1만 건 요청, 평균 2,000 input + 500 output 토큰]
Gemini 3 Flash: $1.50 (입력) + $1.50 (출력) = $3.00
Gemini 3.5 Flash: $3.00 + $4.50 = $7.50
Claude Sonnet 4.6: $6.00 + $7.50 = $13.50
Claude Opus 4.7: $10.00 + $12.50 = $22.50
gemini-3-flash-preview 마이그레이션 가이드
# ── 마이그레이션 체크리스트 ─────────────────────────
# 1. 모델 ID 변경
# 기존: "gemini-3-flash-preview"
# 신규: "gemini-3.5-flash"
# 2. thinking_budget → thinking_level (필수 변경)
# 기존 (동작 안 함):
# generation_config={"thinking_budget": 1024}
# 신규:
# generation_config={"thinking_config": {"thinking_level": "medium"}}
# 3. 기본 thinking_level 변화 주의
# 기존 preview 기본값: high
# 3.5 Flash 기본값: medium
# → 기존과 동일한 추론 원하면 thinking_level: "high" 명시
# 4. low thinking_level 동작 변화
# 기존: low ≈ 추론 건너뜀
# 신규: low = 코딩·에이전트 최적화 설정
# 마이그레이션 예시 코드
old_config = {
"model": "gemini-3-flash-preview",
# "thinking_budget": 2048 # 이제 안 됨
}
new_config = {
"model": "gemini-3.5-flash",
"generation_config": {
"thinking_config": {
"thinking_level": "high" # 기존 high thinking 유지하려면 명시
}
}
}
마무리
✅ Gemini 3.5 Flash가 빛나는 경우
→ 코딩·에이전트·멀티모달 — 동급 최강 벤치마크
→ 속도가 중요한 실시간 앱 (284 tok/s)
→ 긴 컨텍스트 (1M 토큰) 필요한 문서 처리
→ Antigravity·Firebase AI Logic 기본 모델
→ 비용과 성능 균형 (3.1 Pro보다 40% 저렴하면서 코딩은 앞섬)
❌ 주의해야 할 것
→ 가격: 기존 Gemini 3 Flash 대비 3배 — 비용 예산 재검토 필요
→ TTFT: Thinking 모드 기본 활성화 → 첫 토큰까지 최대 수십 초
→ 스트리밍 UI에서 로딩 인디케이터 반드시 구현
→ thinking_level 기본값 변경 (high → medium) — preview에서 넘어올 때 주의
→ 장문 컨텍스트 검색 (128K+): 아직 3.1 Pro가 우세
→ 순수 최고난이도 추론: Claude Opus 4.7 여전히 강점
관련 글
반응형