Gemini 3.5 Flash의 새로운 기능
Gemini 3.5 Flash는 정식 버전 (GA)으로 출시되었으며 안정적이고 확장된 프로덕션 환경에서 사용할 수 있습니다. 가장 지능적인 Flash 모델인 Gemini 2.5 Flash는 에이전트형 실행, 코딩, 장기적 작업에서 지속적으로 최첨단 성능을 대규모로 제공합니다.
이 가이드에는 Gemini 3.5 Flash의 개선사항, API 변경사항, 이전 안내가 포함되어 있습니다.
새 모델
| 모델 | 모델 ID | 설명 |
|---|---|---|
| Gemini 3.5 Flash | gemini-3.5-flash |
에이전트형 및 코딩 작업에서 지속적으로 최첨단 성능을 발휘하는 가장 지능적인 모델입니다. |
Gemini 3.5 Flash는 100만 토큰 컨텍스트 윈도우, 최대 65,000개의 출력 토큰, 사고, Gemini 3 Flash와 동일한 도구 및 플랫폼 기능을 지원합니다. 컴퓨터 사용은 현재 지원되지 않습니다.
전체 사양은 모델 개요를 참고하세요. 가격은 가격 책정 페이지를 참고하세요.
빠른 시작
이 가이드의 모든 예시에서는 Interactions API를 사용합니다. GenerateContent API도 지원되며 동일한 구성 옵션과 추천이 적용됩니다.
Python
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3.5-flash",
input="Explain how parallel agentic execution works in three sentences."
)
print(interaction.output_text)
자바스크립트
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
async function main() {
const interaction = await client.interactions.create({
model: "gemini-3.5-flash",
input: "Explain how parallel agentic execution works in three sentences.",
});
console.log(interaction.output_text);
}
main();
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-H "Api-Revision: 2026-05-20" \
-d '{
"model": "gemini-3.5-flash",
"input": "Explain how parallel agentic execution works in three sentences."
}'
새로운 소식
- 지속적인 최첨단 성능: 대규모 에이전트형 및 코딩 작업에 최적화된 Google의 가장 지능적인 Flash 모델입니다.
- 에이전트 실행: 하위 에이전트 배포, 문제 해결, 대규모의 빠른 에이전트 루프
- 코딩: 대체 경로를 테스트하고 솔루션을 동적으로 탐색하기 위한 반복적인 코딩 주기, 신속한 탐색, 프로토타입 제작
- 장기: 대규모 다단계 워크플로 및 도구 사용
- 사고 보존: 모델은 멀티턴 대화에서 중간 추론을 자동으로 유지합니다. API를 변경할 필요가 없습니다.
- 새 기본 노력 수준: 기본 사고 노력이
high에서medium로 변경되었습니다. 자세한 내용은 새 기본 노력 수준을 참고하세요. low사고방식 개선: 이제low이 단계가 적게 필요한 코드 및 에이전트 작업에 대해 크게 개선되어 낮은 지연 시간과 비용으로 강력한 품질을 제공합니다.- GA 출시: 확장된 프로덕션 사용을 위한 안정 모델입니다.
동작 변경사항
새 기본 노력 수준: medium
이제 기본 사고 노력은 Gemini 3 Flash 프리뷰의 high에서 medium로 변경되었습니다. medium는 다양한 작업에서 매우 우수한 결과를 제공하면서도 더 빠르고 비용 효율적입니다. 복잡한 문제의 경우 high는 모델이 더 깊이 생각하도록 유도합니다.
| 노력 수준 | 용도 |
|---|---|
minimal |
응답 속도에 최적화되어 있습니다. 채팅과 유사한 사용 사례, 빠른 사실 기반 답변, 더 간단한 도구 호출 |
low |
지연 시간이 짧고 단계가 적은 코드 및 에이전트 작업 또한 어느 정도의 사고가 필요한 분석 및 글쓰기 작업에도 적합합니다. |
medium (기본값) |
대부분의 작업에 가장 적합한 품질입니다. 복잡한 코드 및 에이전트 사용 사례에 권장됩니다. |
high |
모델의 사고 및 도구 사용 능력을 극대화합니다. 복잡한 추론, 어려운 수학, 가장 어려운 코드 또는 에이전트 작업에 적합합니다. 확장된 생각과 함수 호출을 허용합니다. |
기본값을 재정의하려면 구성에서 thinking_level를 설정하세요.
Python
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3.5-flash",
input="Prove that the square root of 2 is irrational.",
generation_config={"thinking_level": "high"},
)
print(interaction.output_text)
자바스크립트
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
async function main() {
const interaction = await client.interactions.create({
model: "gemini-3.5-flash",
input: "Prove that the square root of 2 is irrational.",
generationConfig: { thinkingLevel: "high" },
});
console.log(interaction.output_text);
}
main();
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-H "Api-Revision: 2026-05-20" \
-d '{
"model": "gemini-3.5-flash",
"input": "Prove that the square root of 2 is irrational.",
"generation_config": {"thinking_level": "high"}
}'
생각 보존
모델은 멀티턴 대화에서 중간 추론을 자동으로 유지합니다. 추론 컨텍스트는 대화 기록에 있는 경우 전달되므로 반복적인 디버깅 및 코드 리팩터링과 같은 복잡한 다단계 작업의 성능이 향상됩니다. API 변경이 필요하지 않습니다.
- 상호작용 API: 생각이 이미 자동으로 보존됩니다. 동작이 변경되지 않습니다.
- GenerateContent API: Gemini 3.5 Flash부터 모델은 대화 기록에 생각 서명이 있는 경우 이전 모든 턴의 추론 컨텍스트를 사용합니다. 이 기능을 사용 설정하려면
contents에 수정되지 않은 전체 대화 기록 (사고 서명 포함)을 전달하세요. SDK는 이 작업을 자동으로 처리합니다.
Gemini 3.x의 파라미터 업데이트 및 권장사항
다음은 Gemini 3.5 Flash를 비롯한 모든 Gemini 3.x 모델에 적용됩니다.
temperature,top_p,top_k: 기본값을 변경하지 않는 것이 좋습니다. Gemini 3의 추론 기능은 기본 설정에 최적화되어 있습니다.thinking_budget대신thinking_level를 사용합니다.- 함수 호출 응답 일치:
id,name, 응답 수가 이전 호출과 일치해야 합니다. - 멀티모달 함수 응답: 함수 응답 외부에 아닌 내부에 멀티모달 콘텐츠를 포함합니다.
- 함수 응답의 인라인 안내: 별도의 부분이 아닌 함수 응답 텍스트에 추가합니다.
- 불필요한 도구 호출 줄이기: 낮은 사고 수준을 사용하거나 시스템 프롬프트를 실험하여 에이전트 워크플로에서 도구 호출을 줄입니다.
코드를 업데이트하는 방법은 아래 섹션을 참고하세요.
샘플링 매개변수 (더 이상 권장되지 않음)
temperature, top_p, top_k는 더 이상 모든 Gemini 3.x 모델에 권장되지 않습니다. Gemini 3의 추론 기능은 기본 설정에 최적화되어 있습니다. 모든 요청에서 이러한 매개변수를 삭제합니다.
# ⚠️ Remove these parameters (not recommended)
generation_config = {
"temperature": 0.7,
"top_p": 0.9,
"top_k": 40,
}
결정성을 보장하려면 특정 사용 사례에 대한 명시적 규칙이 포함된 시스템 명령어를 정의하는 것이 좋습니다.
thinking_budget (더 이상 권장되지 않음)
이제 모든 Gemini 3.x 모델에서 원시 숫자 thinking_budget 매개변수를 사용하는 것이 권장되지 않습니다. 대신 thinking_level 문자열 enum을 사용하세요.
# ⚠️ Before (not recommended)
generation_config = {
"thinking": {"thinking_budget": 7500},
}
# ✅ After
generation_config = {
"thinking": {"thinking_level": "medium"},
}
사용 가능한 값: minimal, low, medium (기본값), high
함수 호출: 엄격한 응답 일치
상호작용 API는 이미 불일치 함수 응답에 대해 오류를 발생시킵니다. GenerateContent API는 아직 오류를 발생시키지 않지만, 불일치하는 대답으로 인해 모델이 대부분의 경우 finish_reason: STOP이 포함된 빈 대답을 반환합니다. 항상 다음 규칙을 따르세요.
| 요구사항 | 세부정보 |
|---|---|
id 포함 |
모든 FunctionResponse에는 해당 FunctionCall의 id이 포함되어야 합니다. |
name차전 |
대답의 name은 호출의 name과 일치해야 합니다. |
| 일치 항목 수 | 수신된 각 FunctionCall에 대해 정확히 하나의 FunctionResponse 반환 |
Python
# ✅ Include matching call_id and name in the function_result
final_interaction = client.interactions.create(
model="gemini-3.5-flash",
previous_interaction_id=interaction.id,
tools=[my_tool],
input=[{
"type": "function_result",
"name": fc_step.name,
"call_id": fc_step.id,
"result": [{"type": "text", "text": json.dumps(result)}],
}],
)
자바스크립트
// ✅ Include matching call_id and name in the function_result
const finalInteraction = await client.interactions.create({
model: "gemini-3.5-flash",
previousInteractionId: interaction.id,
tools: [myTool],
input: [{
type: "function_result",
name: fcStep.name,
call_id: fcStep.id,
result: [{ type: "text", text: JSON.stringify(result) }],
}],
});
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-H "Api-Revision: 2026-05-20" \
-d '{
"model": "gemini-3.5-flash",
"previous_interaction_id": "<INTERACTION_ID>",
"tools": [...],
"input": [{
"type": "function_result",
"name": "my_function",
"call_id": "<CALL_ID>",
"result": [{"type": "text", "text": "..."}]
}]
}'
멀티모달 함수 응답
클라이언트가 함수 응답 외부에 이미지를 제공하는 경우가 많습니다. 이로 인해 예기치 않은 모델 동작 (예: 생각 누출)이 발생하고 출력 품질이 저하될 수 있습니다. 대신 멀티모달 함수 응답 API 문서의 권장사항을 따르고 모델에 전송하는 함수 응답 부분에 멀티모달 콘텐츠를 포함하세요. 모델은 다음 차례에 이 멀티모달 콘텐츠를 처리하여 더 많은 정보를 바탕으로 응답을 생성할 수 있습니다.
Python
# ✅ Include multimodal content in the function response
final_interaction = client.interactions.create(
model="gemini-3.5-flash",
previous_interaction_id=interaction.id,
input=[
{
"type": "function_result",
"name": tool_call.name,
"call_id": tool_call.id,
"result": [
{"type": "text", "text": "instrument.jpg"},
{
"type": "image",
"mime_type": "image/jpeg",
"data": base64_image_data,
},
],
}
],
)
자바스크립트
// ✅ Include multimodal content in the function response
const finalInteraction = await client.interactions.create({
model: "gemini-3.5-flash",
previousInteractionId: interaction.id,
input: [{
type: "function_result",
name: toolCall.name,
call_id: toolCall.id,
result: [
{ type: "text", text: "instrument.jpg" },
{
type: "image",
mime_type: "image/jpeg",
data: base64ImageData,
},
],
}],
});
함수 응답의 인라인 명령어
클라이언트는 함수 응답과 함께 추가 안내를 후속 Parts로 제공하는 경우가 많습니다. 이로 인해 예기치 않은 모델 동작 (예: 생각 누출)이 발생하고 출력 품질이 저하될 수 있습니다. 대신, 추가 지침을 함수 응답 텍스트 끝에 두 개의 줄바꿈으로 구분하여 추가하세요.
Python
# ✅ Append inline instructions to the end of the function response separated by two newlines
result_text = f"{json.dumps(result)}\n\n<your inline instructions>"
final_interaction = client.interactions.create(
model="gemini-3.5-flash",
previous_interaction_id=interaction.id,
tools=[my_tool],
input=[{
"type": "function_result",
"name": fc_step.name,
"call_id": fc_step.id,
"result": [{"type": "text", "text": result_text}],
}],
)
자바스크립트
// ✅ Append inline instructions to the end of the function response separated by two newlines
const resultText = `${JSON.stringify(result)}\n\n<your inline instructions>`;
const finalInteraction = await client.interactions.create({
model: "gemini-3.5-flash",
previousInteractionId: interaction.id,
tools: [myTool],
input: [{
type: "function_result",
name: fcStep.name,
call_id: fcStep.id,
result: [{ type: "text", text: resultText }],
}],
});
불필요한 도구 호출 줄이기
도구 호출이 과도하게 사용되는 경우 다음 두 가지 기법을 사용하면 도구 호출을 최소화할 수 있습니다.
사고 수준 낮추기 (
medium,low또는minimal): 사고 수준이 높을수록 모델이 더 많은 도구를 사용하여 탐색하고 검증하므로 수준을 낮추면 도구 호출을 줄일 수 있습니다.시스템 안내 추가: 사고 수준을 조정한 후에도 과도한 사용이 지속되면 도구 사용을 제한하는 프롬프트를 고려하세요. 예를 들면 다음과 같습니다.
You have a limited action budget of <n> tool calls. Use them efficiently.
마이그레이션 체크리스트
google-genai SDK v2.0.0 이상으로 업데이트하는 것이 좋습니다. 이 버전에서는 Interactions API에 브레이킹 체인지가 도입되었습니다. 자세한 내용은 호환성이 깨지는 변경사항 이전 가이드를 참고하세요.
Gemini 3 Flash 프리뷰에서 마이그레이션
- 모델 이름 업데이트:
gemini-3-flash-preview→gemini-3.5-flash - 가격 책정 검토 Gemini 3.5 Flash는 Gemini 3 Flash 프리뷰보다 가격이 비쌉니다. 자세한 내용은 가격 책정 페이지를 참고하세요.
- 구성에서
temperature,top_p,top_k를 삭제합니다 (더 이상 권장되지 않음). thinking_budget를thinking_level로 바꿉니다.- 모든
FunctionResponse파트에id및 일치하는name추가 - 프롬프트를 테스트합니다. 기본 노력이
high에서medium로 변경되었습니다. 품질, 속도, 비용을 확인하세요. - 이제 생각 보존이 기본적으로 사용 설정되어 있습니다. 추론 컨텍스트는 턴을 거치면서 전달되므로 성능이 향상되지만 토큰 사용량이 증가할 수 있습니다.
- 불필요한 도구 호출 줄이기: 사고 수준(
medium,low또는minimal)을 줄이는 것부터 시작하고, 과도한 사용이 지속되면 도구 사용을 제한하는 시스템 명령어를 추가합니다. - 현재 Gemini 3.5 Flash에서는 컴퓨터 사용이 지원되지 않습니다. 컴퓨터 사용 워크로드의 경우 Gemini 3 Flash 프리뷰를 계속 사용하세요.
Gemini 2.5에서 마이그레이션
위의 모든 항목과 다음 항목을 포함
- 프롬프트 간소화 연쇄적 사고 프롬프트 엔지니어링을 사용하여 추론을 강제한 경우 대신 더 간단한 프롬프트로
thinking_level: "medium"또는"high"를 사용해 보세요. - PDF 및 미디어 워크로드를 테스트합니다. 밀도 높은 문서 파싱을 위해 특정 동작에 의존하고 있었다면, 정확도를 유지하기 위해
media_resolution_high설정을 테스트해 보세요. Gemini 3 기본값으로 마이그레이션하면 PDF의 토큰 사용량은 증가할 수 있지만 동영상의 토큰 사용량은 감소할 수 있습니다. 요청이 컨텍스트 윈도우를 초과하는 경우media_resolution를 명시적으로 줄이세요. 자세한 내용은 미디어 해상도 문서를 참고하세요. - 결합된 도구 사용을 활용합니다. Google 검색, URL 컨텍스트, 코드 실행, 맞춤 함수는 동일한 요청에서 사용할 수 있습니다.
- 멀티모달 함수 응답을 사용하는 경우 멀티모달 콘텐츠를 함수 응답 부분 내부에 배치하세요.
- 함수 응답과 함께 인라인 명령어를 사용하는 경우 별도의 부분으로가 아닌 두 개의 줄바꿈으로 구분된 함수 응답 텍스트에 추가합니다.
- Gemini 3.x에서는 이미지 분할이 지원되지 않습니다. 분할 워크로드의 경우 사고가 사용 중지된 Gemini 2.5 Flash 또는 Gemini Robotics-ER 1.6을 계속 사용하세요.
Gemini 3 제품군 기능
Gemini 3.5 Flash는 Computer Use를 제외한 모든 Gemini 3 제품군 기능을 상속합니다. Gemini 3에서 도입되어 계속 사용되는 기능:
- 생각: API 호출 전반에 걸쳐 유지되는 암호화된 추론 컨텍스트입니다. Interactions API에서는 자동입니다. GenerateContent에서는 암시적입니다.
- 도구를 사용한 구조화된 출력: JSON 모드를 기본 제공 도구 (검색, URL 컨텍스트, 코드 실행, 함수 호출)와 결합합니다.
- 멀티모달 함수 응답: 함수 호출 결과에 이미지, 오디오, 기타 미디어를 반환합니다.
- 이미지를 사용한 코드 실행: 이미지를 처리하고 생성하는 코드를 실행합니다.
- 결합된 도구 사용: 동일한 요청에서 기본 제공 도구와 맞춤 함수 호출을 사용합니다.
다음 단계
- Gemini 3 개발자 가이드에서 Gemini 3 제품군에 대해 자세히 알아보세요.
- 프롬프트 엔지니어링 가이드에서 프롬프트 설계 전략에 대해 자세히 알아보세요.
- Gemini 3 Cookbook 시작하기
- Gemini API 최적화 및 추론 알아보기