Gemini 3.8 Flash의 새로운 기능(What's new in Gemini 3.8 Flash)
Gemini 3.8 Flash의 새로운 기능(What's new in Gemini 3.8 Flash)
Gemini 3.8 Flash(gemini-3.8-flash)는 일반 사용 가능(GA) 상태이며 프로덕션에 사용할 준비가 됐어요. 장기 소프트웨어 엔지니어링, 자율 에이전트, 복잡한 엔터프라이즈 워크플로를 위해 설계된 가장 지능적인 Flash 모델이에요.
이 가이드는 Gemini 3.8 Flash의 새로운 기능, API 변경 사항, 코드 예시, 마이그레이션 지침을 설명해요.
출처: 원문
본문
새 모델(New model)
| 모델 | 모델 ID | 기본 thinking 수준 | 가격 | 설명 |
|---|---|---|---|---|
| Gemini 3.8 Flash | gemini-3.8-flash |
medium |
3.8 Flash는 연말까지 1M 입력 토큰당 $0.75, 1M 출력 토큰당 $3.75의 도입 가격으로 제공되며, 자세한 내용은 pricing을 참고하세요. | 가장 지능적인 Flash 모델로, 장기 소프트웨어 엔지니어링, 자율 에이전트, 복잡한 엔터프라이즈 워크플로를 위해 설계됐어요. |
Gemini 3.8 Flash는 1M 토큰 컨텍스트 창, 64k 최대 출력 토큰, 조정 가능한 thinking 수준(low, medium, high), 동일한 포괄적인 내장 도구 세트를 지원해요.
전체 사양은 Gemini 3.8 Flash 모델 페이지를 참고하세요. 도입 가격 자세한 내용은 아래 pricing 섹션 또는 가격 페이지를 참고하세요.
빠른 시작(Quickstart)
Python
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3.8-flash",
input="Write a three.js script that renders a realistic 3D black hole."
)
print(interaction.output_text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
const interaction = await client.interactions.create({
model: "gemini-3.8-flash",
input: "Write a three.js script that renders a realistic 3D black hole.",
});
console.log(interaction.output_text);
Java
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
Client client = new Client();
CreateModelInteraction params =
CreateModelInteraction.builder()
.model(Model.of("gemini-3.8-flash"))
.input(
InteractionsInput.of(
"Write a three.js script that renders a realistic 3D black hole."))
.build();
Interaction interaction =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println(interaction.outputText().orElse(""));
Go
package main
import (
"context"
"fmt"
"log"
"google.golang.org/genai"
"google.golang.org/genai/interactions/models/interactions"
"google.golang.org/genai/interactions/models/operations"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
res, err := client.Interactions.Create(ctx, operations.CreateInteractionRequest{
Body: operations.NewCreateInteractionRequestBody(interactions.CreateModelInteraction{
Model: interactions.Model("gemini-3.8-flash"),
Input: interactions.NewInteractionsInput("Write a three.js script that renders a realistic 3D black hole."),
}),
})
if err != nil {
log.Fatal(err)
}
if res.Interaction.OutputText != nil {
fmt.Println(*res.Interaction.OutputText)
}
}
REST
curl "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: *** \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"model": "gemini-3.8-flash",
"input": "Write a three.js script that renders a realistic 3D black hole."
}'
Gemini 3.8 Flash의 새로운 기능
- 장기 소프트웨어 엔지니어링: 실제 코딩 벤치마크, 복잡한 다중 파일 리팩터링, 결정적 도구 실행에서 강력한 결과를 제공해요. 평가 방법론 참고.
- 자율 에이전트: 실패 루프와 오류를 크게 줄여주는 탄력적인 다단계 계획 및 도구 오케스트레이션 워크플로를 구축할 수 있어요.
- 복잡한 엔터프라이즈 워크플로: 까다로운 도메인 작업과 대규모 데이터 파이프라인에서 우수한 정확도, 깊은 추론, 높은 사실적 엄밀성을 제공해요.
- Managed Agents의 기본 모델: 관리형 에이전트의 기본 에이전트인 Antigravity agent가 이제 Gemini 3.8 Flash를 사용해요. Antigravity SDK도 기본적으로 Gemini 3.8 Flash를 사용해요.
- 도입 가격: Gemini 3.8 Flash는 2026년 12월 31일까지 1M 입력 토큰당 $0.75, 1M 출력 토큰당 $3.75의 도입 요금으로 제공돼요. 표준 가격(1M 입력 토큰당 $1.50, 1M 출력 토큰당 $7.50)은 2027년 1월 1일부터 적용돼요.
Gemini 3.8 Flash는 설계상 더 길고 복잡한 작업에서 더 많은 토큰을 사용할 수 있어요. 까다로운 다단계 목표에서 더 높은 품질 결과를 제공하기 위해 모델은 더 작은 추론 단계를 수행하고, 도구를 반복적으로 호출하며, 진행하면서 작업을 검증해요. 모든 워크플로에 이 수준의 검증이 필요한 것은 아니에요. 일상적인 작업에는 reasoning 노력을 낮춰 토큰 소비를 줄일 수 있어요. 또는 Gemini 3.7 Flash가 계속 완전히 지원돼요.
reasoning 수준 이해하기
Gemini 3.8 Flash는 모델의 thinking 수준을 조정해 지연 시간과 지능을 유연하게 제어할 수 있어요:
- 낮은 thinking 노력: 인시던트 응답 파이프라인, 실시간 채팅, 초안 작성, 빠른 데이터 분석 같은 지연 시간이 중요한 작업의 응답 시간을 줄여요.
- 중간(기본값): 대부분 작업에 최상의 품질. 복잡한 코드와 에이전틱 사용 사례에 권장되며 더 높은 일차 통과 정확도를 제공해요.
- 높은 thinking 노력: 모델의 추론과 도구 오케스트레이션 능력을 극대화해요. 깊은 추론, 수학, 어려운 다단계 작업에 가장 적합해요.
참고: minimal thinking 수준은 Gemini 3.8 Flash에서 지원되지 않으며 오류를 반환해요.
다음 예시는 복잡한 코드 분석 요청에 thinking_level을 medium으로 설정해요:
Python
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3.8-flash",
input="Analyze this payment processing pipeline for race conditions during retry attempts and rewrite the transaction locks safely.",
generation_config={
"thinking_level": "medium" # Balanced reasoning effort for complex tasks
}
)
print(interaction.output_text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
const interaction = await client.interactions.create({
model: "gemini-3.8-flash",
input: "Analyze this payment processing pipeline for race conditions during retry attempts and rewrite the transaction locks safely.",
generation_config: {
thinking_level: "medium"
}
});
console.log(interaction.output_text);
Java
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.GenerationConfig;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.ThinkingLevel;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
Client client = new Client();
CreateModelInteraction params =
CreateModelInteraction.builder()
.model(Model.of("gemini-3.8-flash"))
.input(
InteractionsInput.of(
"Analyze this payment processing pipeline for race conditions during retry attempts and rewrite the transaction locks safely."))
.generationConfig(
GenerationConfig.builder()
.thinkingLevel(ThinkingLevel.MEDIUM) // Balanced reasoning effort for complex tasks
.build())
.build();
Interaction interaction =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println(interaction.outputText().orElse(""));
Go
package main
import (
"context"
"fmt"
"log"
"google.golang.org/genai"
"google.golang.org/genai/interactions/models/interactions"
"google.golang.org/genai/interactions/models/operations"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
res, err := client.Interactions.Create(ctx, operations.CreateInteractionRequest{
Body: operations.NewCreateInteractionRequestBody(interactions.CreateModelInteraction{
Model: interactions.Model("gemini-3.8-flash"),
Input: interactions.NewInteractionsInput("Analyze this payment processing pipeline for race conditions during retry attempts and rewrite the transaction locks safely."),
GenerationConfig: &interactions.GenerationConfig{
ThinkingLevel: interactions.ThinkingLevelMedium.ToPointer(), // Balanced reasoning effort for complex tasks
},
}),
})
if err != nil {
log.Fatal(err)
}
if res.Interaction.OutputText != nil {
fmt.Println(*res.Interaction.OutputText)
}
}
REST
curl "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: *** \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"model": "gemini-3.8-flash",
"input": "Analyze this payment processing pipeline for race conditions during retry attempts and rewrite the transaction locks safely.",
"generation_config": {
"thinking_level": "medium"
}
}'
업데이트된 Antigravity agent
개선된 성능과 추론 덕분에 Gemini Managed Agents의 Antigravity agent는 이제 기본적으로 Gemini 3.8 Flash로 구축됐어요.
Python
from google import genai
client = genai.Client()
interaction = client.interactions.create(
agent="antigravity-preview-09-2026",
input=(
"Audit https://web.dev for performance, Core Web Vitals, and SEO. "
"Query Google's PageSpeed Insights API for both Mobile and Desktop strategies. "
"Check search indexing with Google Search for site:web.dev. "
"Format the output as a side-by-side scorecard table with prioritized fixes."
),
environment="remote",
)
print(interaction.output_text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
const interaction = await client.interactions.create({
agent: "antigravity-preview-09-2026",
input: "Audit https://web.dev for performance, Core Web Vitals, and SEO. Query Google's PageSpeed Insights API for both Mobile and Desktop strategies. Check search indexing with Google Search for site:web.dev. Format the output as a side-by-side scorecard table with prioritized fixes.",
environment: "remote",
}, { timeout: 300000 });
console.log(interaction.output_text);
Java
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.AgentOption;
import com.google.genai.gaos.models.interactions.CreateAgentInteraction;
import com.google.genai.gaos.models.interactions.CreateAgentInteractionEnvironment;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
Client client = new Client();
CreateAgentInteraction params =
CreateAgentInteraction.builder()
.agent(AgentOption.of("antigravity-preview-09-2026"))
.input(
InteractionsInput.of(
"Audit https://web.dev for performance, Core Web Vitals, and SEO. "
+ "Query Google's PageSpeed Insights API for both Mobile and Desktop strategies. "
+ "Check search indexing with Google Search for site:web.dev. "
+ "Format the output as a side-by-side scorecard table with prioritized fixes."))
.environment(CreateAgentInteractionEnvironment.of("remote"))
.build();
Interaction interaction =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println(interaction.outputText().orElse(""));
Go
package main
import (
"context"
"fmt"
"log"
"google.golang.org/genai"
"google.golang.org/genai/interactions/models/interactions"
"google.golang.org/genai/interactions/models/operations"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
res, err := client.Interactions.Create(ctx, operations.CreateInteractionRequest{
Body: operations.NewCreateInteractionRequestBody(interactions.CreateAgentInteraction{
Agent: interactions.AgentOption("antigravity-preview-09-2026"),
Input: interactions.NewInteractionsInput(
"Audit https://web.dev for performance, Core Web Vitals, and SEO. " +
"Query Google's PageSpeed Insights API for both Mobile and Desktop strategies. " +
"Check search indexing with Google Search for site:web.dev. " +
"Format the output as a side-by-side scorecard table with prioritized fixes.",
),
Environment: genai.Ptr(interactions.NewCreateAgentInteractionEnvironment("remote")),
}),
})
if err != nil {
log.Fatal(err)
}
if res.Interaction.OutputText != nil {
fmt.Println(*res.Interaction.OutputText)
}
}
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: *** \
-d '{
"agent": "antigravity-preview-09-2026",
"input": "Audit https://web.dev for performance, Core Web Vitals, and SEO. Query Google'\''s PageSpeed Insights API for both Mobile and Desktop strategies. Check search indexing with Google Search for site:web.dev. Format the output as a side-by-side scorecard table with prioritized fixes.",
"environment": "remote"
}'
기본 Gemini 모델은 agent_config를 사용해 구성할 수 있어요.
마이그레이션 체크리스트
참고: 코딩 에이전트로 이 마이그레이션을 자동화하세요. 스킬을 지원하는 코딩 에이전트(예: Antigravity)를 사용한다면 gemini-api-dev 스킬을 설치하고 다음을 실행하세요:
`/gemini-api-dev migrate my app to Gemini 3.8 Flash`
gemini-3.8-flash로 마이그레이션
- 모델 ID 업데이트: 대상 모델 문자열을
gemini-3.8-flash로 변경해요. - 단종된 샘플링 파라미터 제거:
생성 구성에서 temperature, top_p, top_k를 제거해요. thinking_budget을 문자열 enum thinking_level로 교체해요. minimal은 3.8 Flash에서 지원되지 않는 점에 유의하세요. candidate_count를 제거해요(Gemini 3 이상에서 미지원).
- 턴 검증 규칙 적용:
다중 턴 대화를 서버 측 previous_interaction_id로 표준화해요. 미리 채워진 모델 턴을 제거해요.
- 함수 호출 감사:
멀티모달 자산을 응답 페이로드 안에 배치해요. 인라인 지침을 \n\n으로 서식 지정해요. 사전 도구 텍스트와 관련된 Malformed_Function_Call 오류가 보이면 pre-tool text 요구 사항에 대한 해결 방법을 참고하세요. generateContent API를 사용하는 경우에만: 모든 FunctionResponse 객체에 call_id와 name이 포함되는지 확인하세요.
- Gemini 3 기본 요건: SDK 업데이트와 사고 서명 보존에 대해서는 Gemini 3.5 마이그레이션 체크리스트를 참고하세요.
가격(Pricing)
2026년 12월 31일까지 Google AI Studio와 Gemini Enterprise Agent Platform 전반에서 Gemini 3.8 Flash, Gemini 3.7 Flash, Gemini 3.6 Flash에 도입 가격을 활용하세요. 표준 가격은 2027년 1월 1일부터 적용돼요. 완전한 가격 티어는 가격 페이지를 참고하세요.
더 알아보기 (Learn more)
- Models Overview에서 API 사양 검토
- Interactions API Overview에서 다중 에이전트 오케스트레이션 살펴보기
- Google AI Studio에서 프롬프트 테스트·다듬기