Panduan Developer Gemini 3

Gemini 3 adalah lini model tercerdas kami hingga saat ini, yang dibangun berdasarkan penalaran canggih. Model ini dirancang untuk mewujudkan ide apa pun dengan menguasai alur kerja agentic, coding otonom, dan tugas multimodal yang kompleks. Panduan ini membahas fitur utama rangkaian model Gemini 3 dan cara mengoptimalkannya.

Jelajahi koleksi aplikasi Gemini 3 kami untuk melihat cara model ini menangani penalaran tingkat lanjut, coding otonom, dan tugas multimodal yang kompleks.

Mulai dengan beberapa baris kode:

Python

from google import genai

client = genai.Client()

response = client.models.generate_content(
    model="gemini-3-pro-preview",
    contents="Find the race condition in this multi-threaded C++ snippet: [code here]",
)

print(response.text)

JavaScript

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({});

async function run() {
  const response = await ai.models.generateContent({
    model: "gemini-3-pro-preview",
    contents: "Find the race condition in this multi-threaded C++ snippet: [code here]",
  });

  console.log(response.text);
}

run();

REST

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-preview:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -X POST \
  -d '{
    "contents": [{
      "parts": [{"text": "Find the race condition in this multi-threaded C++ snippet: [code here]"}]
    }]
  }'

Memperkenalkan seri Gemini 3

Gemini 3 Pro, model pertama dalam seri baru ini, paling cocok untuk tugas kompleks yang memerlukan pengetahuan umum yang luas dan penalaran tingkat lanjut di berbagai modalitas.

Gemini 3 Flash adalah model seri 3 terbaru kami, dengan kecerdasan tingkat Pro pada kecepatan dan harga Flash.

Nano Banana Pro (juga dikenal sebagai Gemini 3 Pro Image) adalah model pembuatan gambar berkualitas tertinggi kami.

Semua model Gemini 3 saat ini dalam versi pratinjau.

ID Model Jendela Konteks (Masuk / Keluar) Batas Informasi Harga (Input / Output)*
gemini-3-pro-preview 1M / 64k Jan 2025 $2 / $12 (<200 ribu token)
$4 / $18 (>200 ribu token)
gemini-3-flash-preview 1M / 64k Jan 2025 $0,50 / $3
gemini-3-pro-image-preview 65 ribu / 32 ribu Jan 2025 $2 (Input Teks) / $0,134 (Output Gambar)**

* Harga adalah per 1 juta token, kecuali dinyatakan lain. ** Harga gambar bervariasi menurut resolusi. Lihat halaman harga untuk mengetahui detail selengkapnya.

Untuk mengetahui batas, harga, dan informasi tambahan yang mendetail, lihat halaman model.

Fitur API baru di Gemini 3

Gemini 3 memperkenalkan parameter baru yang dirancang untuk memberi developer kontrol lebih besar atas latensi, biaya, dan kualitas multimodal.

Tingkat pemikiran

Model seri Gemini 3 menggunakan penalaran dinamis secara default untuk memproses perintah. Anda dapat menggunakan parameter thinking_level, yang mengontrol kedalaman maksimum proses penalaran internal model sebelum menghasilkan respons. Gemini 3 memperlakukan level ini sebagai alokasi relatif untuk berpikir, bukan jaminan token yang ketat.

Jika thinking_level tidak ditentukan, Gemini 3 akan ditetapkan secara default ke high. Untuk respons yang lebih cepat dan latensi yang lebih rendah saat penalaran yang kompleks tidak diperlukan, Anda dapat membatasi tingkat pemikiran model ke low.

Tingkat pemikiran Gemini 3 Pro dan Flash:

Tingkat penalaran berikut didukung oleh Gemini 3 Pro dan Flash:

  • low: Meminimalkan latensi dan biaya. Terbaik untuk mengikuti petunjuk sederhana, chat, atau aplikasi dengan throughput tinggi
  • high (Default, dinamis): Memaksimalkan kedalaman penalaran. Model mungkin memerlukan waktu yang jauh lebih lama untuk mencapai token pertama, tetapi outputnya akan lebih beralasan.

Tingkat pemikiran Gemini 3 Flash

Selain tingkat di atas, Gemini 3 Flash juga mendukung tingkat pemikiran berikut yang saat ini tidak didukung oleh Gemini 3 Pro:

  • minimal: Cocok dengan setelan “tanpa berpikir” untuk sebagian besar kueri. Model mungkin berpikir sangat minimal untuk tugas coding yang kompleks. Meminimalkan latensi untuk aplikasi chat atau throughput tinggi.

  • medium: Pemikiran seimbang untuk sebagian besar tugas.

Python

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
    model="gemini-3-pro-preview",
    contents="How does AI work?",
    config=types.GenerateContentConfig(
        thinking_config=types.ThinkingConfig(thinking_level="low")
    ),
)

print(response.text)

JavaScript

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({});

const response = await ai.models.generateContent({
    model: "gemini-3-pro-preview",
    contents: "How does AI work?",
    config: {
      thinkingConfig: {
        thinkingLevel: "low",
      }
    },
  });

console.log(response.text);

REST

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-preview:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -X POST \
  -d '{
    "contents": [{
      "parts": [{"text": "How does AI work?"}]
    }],
    "generationConfig": {
      "thinkingConfig": {
        "thinkingLevel": "low"
      }
    }
  }'

Resolusi media

Gemini 3 memperkenalkan kontrol terperinci atas pemrosesan visi multimodal melalui parameter media_resolution. Resolusi yang lebih tinggi meningkatkan kemampuan model untuk membaca teks kecil atau mengidentifikasi detail kecil, tetapi meningkatkan penggunaan token dan latensi. Parameter media_resolution menentukan jumlah maksimum token yang dialokasikan per gambar input atau frame video.

Anda kini dapat menyetel resolusi ke media_resolution_low, media_resolution_medium, media_resolution_high, atau media_resolution_ultra_high per bagian media individual atau secara global (melalui generation_config, global tidak tersedia untuk ultra tinggi). Jika tidak ditentukan, model akan menggunakan default optimal berdasarkan jenis media.

Setelan yang direkomendasikan

Jenis Media Setelan yang Direkomendasikan Token Maksimal Panduan Penggunaan
Gambar media_resolution_high 1120 Direkomendasikan untuk sebagian besar tugas analisis gambar guna memastikan kualitas maksimum.
PDF media_resolution_medium 560 Optimal untuk pemahaman dokumen; kualitas biasanya mencapai titik jenuh pada medium. Meningkatkan ke high jarang meningkatkan hasil OCR untuk dokumen standar.
Video (Umum) media_resolution_low (atau media_resolution_medium) 70 (per frame) Catatan: Untuk video, setelan low dan medium diperlakukan sama (70 token) untuk mengoptimalkan penggunaan konteks. Langkah ini cukup untuk sebagian besar tugas pengenalan dan deskripsi tindakan.
Video (Banyak teks) media_resolution_high 280 (per frame) Diperlukan hanya jika kasus penggunaan melibatkan pembacaan teks padat (OCR) atau detail kecil dalam frame video.

Python

from google import genai
from google.genai import types
import base64

# The media_resolution parameter is currently only available in the v1alpha API version.
client = genai.Client(http_options={'api_version': 'v1alpha'})

response = client.models.generate_content(
    model="gemini-3-pro-preview",
    contents=[
        types.Content(
            parts=[
                types.Part(text="What is in this image?"),
                types.Part(
                    inline_data=types.Blob(
                        mime_type="image/jpeg",
                        data=base64.b64decode("..."),
                    ),
                    media_resolution={"level": "media_resolution_high"}
                )
            ]
        )
    ]
)

print(response.text)

JavaScript

import { GoogleGenAI } from "@google/genai";

// The media_resolution parameter is currently only available in the v1alpha API version.
const ai = new GoogleGenAI({ apiVersion: "v1alpha" });

async function run() {
  const response = await ai.models.generateContent({
    model: "gemini-3-pro-preview",
    contents: [
      {
        parts: [
          { text: "What is in this image?" },
          {
            inlineData: {
              mimeType: "image/jpeg",
              data: "...",
            },
            mediaResolution: {
              level: "media_resolution_high"
            }
          }
        ]
      }
    ]
  });

  console.log(response.text);
}

run();

REST

curl "https://generativelanguage.googleapis.com/v1alpha/models/gemini-3-pro-preview:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -X POST \
  -d '{
    "contents": [{
      "parts": [
        { "text": "What is in this image?" },
        {
          "inlineData": {
            "mimeType": "image/jpeg",
            "data": "..."
          },
          "mediaResolution": {
            "level": "media_resolution_high"
          }
        }
      ]
    }]
  }'

Suhu

Untuk Gemini 3, sebaiknya pertahankan parameter suhu pada nilai defaultnya, yaitu 1.0.

Meskipun model sebelumnya sering kali diuntungkan dari penyesuaian suhu untuk mengontrol kreativitas versus determinisme, kemampuan penalaran Gemini 3 dioptimalkan untuk setelan default. Mengubah suhu (menetapkannya di bawah 1.0) dapat menyebabkan perilaku yang tidak terduga, seperti perulangan atau penurunan performa, terutama dalam tugas matematika atau penalaran yang kompleks.

Tanda tangan pemikiran

Gemini 3 menggunakan Tanda tangan pemikiran untuk mempertahankan konteks penalaran di seluruh panggilan API. Tanda tangan ini adalah representasi terenkripsi dari proses pemikiran internal model. Untuk memastikan model mempertahankan kemampuan penalaran, Anda harus mengembalikan tanda tangan ini ke model dalam permintaan Anda persis seperti yang diterima:

  • Panggilan Fungsi (Ketat): API menerapkan validasi ketat pada "Giliran Saat Ini". Tanda tangan yang tidak ada akan menghasilkan error 400.

  • Teks/Chat: Validasi tidak diterapkan secara ketat, tetapi tidak menyertakan tanda tangan akan menurunkan kualitas penalaran dan jawaban model.

  • Pembuatan/pengeditan gambar (Ketat): API menerapkan validasi ketat pada semua bagian Model, termasuk thoughtSignature. Tanda tangan yang tidak ada akan menghasilkan error 400.

Panggilan fungsi (validasi ketat)

Saat membuat functionCall, Gemini mengandalkan thoughtSignature untuk memproses output alat dengan benar pada giliran berikutnya. "Giliran Saat Ini" mencakup semua langkah Model (functionCall) dan Pengguna (functionResponse) yang terjadi sejak pesan text Pengguna standar terakhir.

  • Panggilan Fungsi Tunggal: Bagian functionCall berisi tanda tangan. Anda harus mengembalikannya.
  • Panggilan Fungsi Paralel: Hanya bagian functionCall pertama dalam daftar yang akan berisi tanda tangan. Anda harus mengembalikan suku cadang dalam urutan yang sama persis seperti saat diterima.
  • Multi-Langkah (Berurutan): Jika model memanggil alat, menerima hasil, dan memanggil alat lain (dalam giliran yang sama), kedua panggilan fungsi memiliki tanda tangan. Anda harus menampilkan semua tanda tangan yang terkumpul dalam histori.

Teks dan streaming

Untuk pembuatan teks atau chat standar, kehadiran tanda tangan tidak dijamin.

  • Non-Streaming: Bagian konten akhir respons dapat berisi thoughtSignature, meskipun tidak selalu ada. Jika salah satunya dikembalikan, Anda harus mengirimkannya kembali untuk mempertahankan performa terbaik.
  • Streaming: Jika tanda tangan dibuat, tanda tangan tersebut dapat tiba dalam potongan akhir yang berisi bagian teks kosong. Pastikan parser streaming Anda memeriksa tanda tangan meskipun kolom teks kosong.

Pembuatan dan pengeditan gambar

Untuk gemini-3-pro-image-preview, tanda tangan pemikiran sangat penting untuk pengeditan percakapan. Saat Anda meminta model untuk mengubah gambar, model akan mengandalkan thoughtSignature dari giliran sebelumnya untuk memahami komposisi dan logika gambar asli.

  • Pengeditan: Tanda tangan dijamin ada di bagian pertama setelah pemikiran respons (text atau inlineData) dan di setiap bagian inlineData berikutnya. Anda harus menampilkan semua tanda tangan ini untuk menghindari error.

Contoh kode

Panggilan Fungsi Multi-Langkah (Berurutan)

Pengguna mengajukan pertanyaan yang memerlukan dua langkah terpisah (Cek Penerbangan -> Pesan Taksi) dalam satu giliran.

Langkah 1: Model memanggil Alat Penerbangan.
Model menampilkan tanda tangan <Sig_A>

// Model Response (Turn 1, Step 1)
  {
    "role": "model",
    "parts": [
      {
        "functionCall": { "name": "check_flight", "args": {...} },
        "thoughtSignature": "<Sig_A>" // SAVE THIS
      }
    ]
  }

Langkah 2: Pengguna mengirimkan Hasil Penerbangan
Kita harus mengirimkan kembali <Sig_A> untuk mempertahankan alur pemikiran model.

// User Request (Turn 1, Step 2)
[
  { "role": "user", "parts": [{ "text": "Check flight AA100..." }] },
  { 
    "role": "model", 
    "parts": [
      { 
        "functionCall": { "name": "check_flight", "args": {...} }, 
        "thoughtSignature": "<Sig_A>" // REQUIRED
      } 
    ]
  },
  { "role": "user", "parts": [{ "functionResponse": { "name": "check_flight", "response": {...} } }] }
]

Langkah 3: Model memanggil Alat Taksi
Model mengingat penundaan penerbangan melalui <Sig_A> dan sekarang memutuskan untuk memesan taksi. Tindakan ini akan menghasilkan tanda tangan baru <Sig_B>.

// Model Response (Turn 1, Step 3)
{
  "role": "model",
  "parts": [
    {
      "functionCall": { "name": "book_taxi", "args": {...} },
      "thoughtSignature": "<Sig_B>" // SAVE THIS
    }
  ]
}

Langkah 4: Pengguna mengirimkan Hasil Taksi
Untuk menyelesaikan giliran, Anda harus mengirim kembali seluruh rangkaian: <Sig_A> DAN <Sig_B>.

// User Request (Turn 1, Step 4)
[
  // ... previous history ...
  { 
    "role": "model", 
    "parts": [
       { "functionCall": { "name": "check_flight", ... }, "thoughtSignature": "<Sig_A>" } 
    ]
  },
  { "role": "user", "parts": [{ "functionResponse": {...} }] },
  { 
    "role": "model", 
    "parts": [
       { "functionCall": { "name": "book_taxi", ... }, "thoughtSignature": "<Sig_B>" } 
    ]
  },
  { "role": "user", "parts": [{ "functionResponse": {...} }] }
]

Panggilan Fungsi Paralel

Pengguna bertanya: "Cek cuaca di Paris dan London." Model menampilkan dua panggilan fungsi dalam satu respons.

// User Request (Sending Parallel Results)
[
  {
    "role": "user",
    "parts": [
      { "text": "Check the weather in Paris and London." }
    ]
  },
  {
    "role": "model",
    "parts": [
      // 1. First Function Call has the signature
      {
        "functionCall": { "name": "check_weather", "args": { "city": "Paris" } },
        "thoughtSignature": "<Signature_A>" 
      },
      // 2. Subsequent parallel calls DO NOT have signatures
      {
        "functionCall": { "name": "check_weather", "args": { "city": "London" } }
      } 
    ]
  },
  {
    "role": "user",
    "parts": [
      // 3. Function Responses are grouped together in the next block
      {
        "functionResponse": { "name": "check_weather", "response": { "temp": "15C" } }
      },
      {
        "functionResponse": { "name": "check_weather", "response": { "temp": "12C" } }
      }
    ]
  }
]

Penalaran Teks/Dalam Konteks (Tanpa Validasi)

Pengguna mengajukan pertanyaan yang memerlukan penalaran dalam konteks tanpa alat eksternal. Meskipun tidak divalidasi secara ketat, menyertakan tanda tangan membantu model mempertahankan rantai penalaran untuk pertanyaan lanjutan.

// User Request (Follow-up question)
[
  { 
    "role": "user", 
    "parts": [{ "text": "What are the risks of this investment?" }] 
  },
  { 
    "role": "model", 
    "parts": [
      {
        "text": "I need to calculate the risk step-by-step. First, I'll look at volatility...",
        "thoughtSignature": "<Signature_C>" // Recommended to include
      }
    ]
  },
  { 
    "role": "user", 
    "parts": [{ "text": "Summarize that in one sentence." }] 
  }
]

Pembuatan & Pengeditan Gambar

Untuk pembuatan gambar, tanda tangan divalidasi secara ketat. Iklan muncul di bagian pertama (teks atau gambar) dan semua bagian gambar berikutnya. Semua harus dikembalikan pada giliran berikutnya.

// Model Response (Turn 1)
{
  "role": "model",
  "parts": [
    // 1. First part ALWAYS has a signature (even if text)
    {
      "text": "I will generate a cyberpunk city...",
      "thoughtSignature": "<Signature_D>" 
    },
    // 2. ALL InlineData (Image) parts ALWAYS have signatures
    {
      "inlineData": { ... }, 
      "thoughtSignature": "<Signature_E>" 
    },
  ]
}

// User Request (Turn 2 - Requesting an Edit)
{
  "contents": [
    // History must include ALL signatures received
    {
      "role": "user",
      "parts": [{ "text": "Generate a cyberpunk city" }]
    },
    {
      "role": "model",
      "parts": [
         { "text": "...", "thoughtSignature": "<Signature_D>" },
         { "inlineData": "...", "thoughtSignature": "<Signature_E>" },
      ]
    },
    // New User Prompt
    {
      "role": "user",
      "parts": [{ "text": "Make it daytime." }]
    }
  ]
}

Bermigrasi dari model lain

Jika Anda mentransfer rekaman aktivitas percakapan dari model lain (misalnya, Gemini 2.5) atau menyuntikkan panggilan fungsi kustom yang tidak dibuat oleh Gemini 3, Anda tidak akan memiliki tanda tangan yang valid.

Untuk melewati validasi ketat dalam skenario tertentu ini, isi kolom dengan string dummy khusus ini: "thoughtSignature": "context_engineering_is_the_way_to_go"

Output Terstruktur dengan alat

Model Gemini 3 memungkinkan Anda menggabungkan Output Terstruktur dengan alat bawaan, termasuk Perujukan dengan Google Penelusuran, Konteks URL, dan Eksekusi Kode.

Python

from google import genai
from google.genai import types
from pydantic import BaseModel, Field
from typing import List

class MatchResult(BaseModel):
    winner: str = Field(description="The name of the winner.")
    final_match_score: str = Field(description="The final match score.")
    scorers: List[str] = Field(description="The name of the scorer.")

client = genai.Client()

response = client.models.generate_content(
    model="gemini-3-pro-preview",
    contents="Search for all details for the latest Euro.",
    config={
        "tools": [
            {"google_search": {}},
            {"url_context": {}}
        ],
        "response_mime_type": "application/json",
        "response_json_schema": MatchResult.model_json_schema(),
    },  
)

result = MatchResult.model_validate_json(response.text)
print(result)

JavaScript

import { GoogleGenAI } from "@google/genai";
import { z } from "zod";
import { zodToJsonSchema } from "zod-to-json-schema";

const ai = new GoogleGenAI({});

const matchSchema = z.object({
  winner: z.string().describe("The name of the winner."),
  final_match_score: z.string().describe("The final score."),
  scorers: z.array(z.string()).describe("The name of the scorer.")
});

async function run() {
  const response = await ai.models.generateContent({
    model: "gemini-3-pro-preview",
    contents: "Search for all details for the latest Euro.",
    config: {
      tools: [
        { googleSearch: {} },
        { urlContext: {} }
      ],
      responseMimeType: "application/json",
      responseJsonSchema: zodToJsonSchema(matchSchema),
    },
  });

  const match = matchSchema.parse(JSON.parse(response.text));
  console.log(match);
}

run();

REST

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-preview:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -X POST \
  -d '{
    "contents": [{
      "parts": [{"text": "Search for all details for the latest Euro."}]
    }],
    "tools": [
      {"googleSearch": {}},
      {"urlContext": {}}
    ],
    "generationConfig": {
        "responseMimeType": "application/json",
        "responseJsonSchema": {
            "type": "object",
            "properties": {
                "winner": {"type": "string", "description": "The name of the winner."},
                "final_match_score": {"type": "string", "description": "The final score."},
                "scorers": {
                    "type": "array",
                    "items": {"type": "string"},
                    "description": "The name of the scorer."
                }
            },
            "required": ["winner", "final_match_score", "scorers"]
        }
    }
  }'

Pembuatan gambar

Dengan Gemini 3 Pro Image, Anda dapat membuat dan mengedit gambar dari perintah teks. Model ini menggunakan penalaran untuk "memikirkan" perintah dan dapat mengambil data real-time—seperti prakiraan cuaca atau grafik saham—sebelum menggunakan perujukan Google Penelusuran sebelum membuat gambar dengan fidelitas tinggi.

Kemampuan baru & yang ditingkatkan:

  • Rendering teks & 4K: Buat teks dan diagram yang tajam dan mudah dibaca dengan resolusi hingga 2K dan 4K.
  • Pembuatan yang berdasar: Gunakan alat google_search untuk memverifikasi fakta dan membuat gambar berdasarkan informasi dunia nyata.
  • Pengeditan via percakapan: Pengeditan gambar multi-turn hanya dengan meminta perubahan (misalnya, Jadikan latar belakangnya matahari terbenam"). Alur kerja ini mengandalkan Tanda Pikiran untuk mempertahankan konteks visual di antara giliran.

Untuk mengetahui detail lengkap tentang rasio aspek, alur kerja pengeditan, dan opsi konfigurasi, lihat panduan Pembuatan Gambar.

Python

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
    model="gemini-3-pro-image-preview",
    contents="Generate an infographic of the current weather in Tokyo.",
    config=types.GenerateContentConfig(
        tools=[{"google_search": {}}],
        image_config=types.ImageConfig(
            aspect_ratio="16:9",
            image_size="4K"
        )
    )
)

image_parts = [part for part in response.parts if part.inline_data]

if image_parts:
    image = image_parts[0].as_image()
    image.save('weather_tokyo.png')
    image.show()

JavaScript

import { GoogleGenAI } from "@google/genai";
import * as fs from "node:fs";

const ai = new GoogleGenAI({});

async function run() {
  const response = await ai.models.generateContent({
    model: "gemini-3-pro-image-preview",
    contents: "Generate a visualization of the current weather in Tokyo.",
    config: {
      tools: [{ googleSearch: {} }],
      imageConfig: {
        aspectRatio: "16:9",
        imageSize: "4K"
      }
    }
  });

  for (const part of response.candidates[0].content.parts) {
    if (part.inlineData) {
      const imageData = part.inlineData.data;
      const buffer = Buffer.from(imageData, "base64");
      fs.writeFileSync("weather_tokyo.png", buffer);
    }
  }
}

run();

REST

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-image-preview:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -X POST \
  -d '{
    "contents": [{
      "parts": [{"text": "Generate a visualization of the current weather in Tokyo."}]
    }],
    "tools": [{"googleSearch": {}}],
    "generationConfig": {
        "imageConfig": {
          "aspectRatio": "16:9",
          "imageSize": "4K"
      }
    }
  }'

Contoh Respons

Cuaca Tokyo

Bermigrasi dari Gemini 2.5

Gemini 3 adalah lini model tercanggih kami hingga saat ini dan menawarkan peningkatan bertahap dibandingkan Gemini 2.5. Saat melakukan migrasi, pertimbangkan hal berikut:

  • Penalaran: Jika sebelumnya Anda menggunakan teknik pembuatan perintah yang kompleks (seperti rantai pemikiran) untuk memaksa Gemini 2.5 melakukan penalaran, coba Gemini 3 dengan thinking_level: "high" dan perintah yang disederhanakan.
  • Setelan suhu: Jika kode yang ada secara eksplisit menetapkan suhu (terutama ke nilai rendah untuk output deterministik), sebaiknya hapus parameter ini dan gunakan nilai default Gemini 3 sebesar 1.0 untuk menghindari potensi masalah perulangan atau penurunan performa pada tugas yang kompleks.
  • Pemahaman PDF & dokumen: Resolusi OCR default untuk PDF telah berubah. Jika Anda mengandalkan perilaku tertentu untuk penguraian dokumen padat, uji setelan media_resolution_high baru untuk memastikan akurasi berkelanjutan.
  • Penggunaan token: Bermigrasi ke setelan default Gemini 3 dapat meningkatkan penggunaan token untuk PDF, tetapi menurunkan penggunaan token untuk video. Jika permintaan kini melebihi jendela konteks karena resolusi default yang lebih tinggi, sebaiknya kurangi resolusi media secara eksplisit.
  • Segmentasi gambar: Kemampuan segmentasi gambar (menampilkan mask tingkat piksel untuk objek) tidak didukung di Gemini 3 Pro atau Gemini 3 Flash. Untuk workload yang memerlukan segmentasi gambar native, sebaiknya terus gunakan Gemini 2.5 Flash dengan penalaran dinonaktifkan atau Gemini Robotics-ER 1.5.
  • Dukungan alat: Alat perujukan peta dan penggunaan Komputer belum didukung untuk model Gemini 3, sehingga tidak akan dimigrasikan. Selain itu, menggabungkan alat bawaan dengan panggilan fungsi belum didukung.

Kompatibilitas OpenAI

Untuk pengguna yang memanfaatkan lapisan kompatibilitas OpenAI, parameter standar akan otomatis dipetakan ke parameter yang setara di Gemini:

  • reasoning_effort (OAI) dipetakan ke thinking_level (Gemini). Perhatikan bahwa reasoning_effort sedang setara dengan thinking_level tinggi di Gemini 3 Flash.

Praktik terbaik perintah

Gemini 3 adalah model penalaran, yang mengubah cara Anda memberikan perintah.

  • Petunjuk yang presisi: Berikan perintah input yang ringkas. Gemini 3 merespons dengan baik petunjuk yang langsung dan jelas. Model ini dapat menganalisis secara berlebihan teknik pembuatan perintah yang panjang atau terlalu rumit yang digunakan untuk model lama.
  • Panjang output: Secara default, Gemini 3 tidak terlalu panjang dan lebih memilih memberikan jawaban yang langsung dan efisien. Jika kasus penggunaan Anda memerlukan persona yang lebih komunikatif atau "ramah", Anda harus secara eksplisit mengarahkan model dalam perintah (misalnya, "Explain this as a friendly, talkative assistant" (Jelaskan ini sebagai asisten yang ramah dan banyak bicara).
  • Pengelolaan konteks: Saat bekerja dengan set data besar (misalnya, seluruh buku, codebase, atau video panjang), tempatkan petunjuk atau pertanyaan spesifik Anda di akhir perintah, setelah konteks data. Tautkan penalaran model ke data yang diberikan dengan memulai pertanyaan Anda dengan frasa seperti, "Berdasarkan informasi di atas...".

Pelajari lebih lanjut strategi desain perintah dalam panduan rekayasa perintah.

FAQ

  1. Apa batas waktu pengetahuan untuk Gemini 3? Model Gemini 3 memiliki batas pengetahuan hingga Januari 2025. Untuk informasi terbaru, gunakan alat Perujukan Penelusuran.

  2. Berapa batas jendela konteks? Model Gemini 3 mendukung jendela konteks input 1 juta token dan output hingga 64 ribu token.

  3. Apakah ada paket gratis untuk Gemini 3? Gemini 3 Flash gemini-3-flash-preview memiliki tingkat gratis di Gemini API. Anda dapat mencoba Gemini 3 Pro dan Flash secara gratis di Google AI Studio, tetapi saat ini, tidak ada tingkat gratis yang tersedia untuk gemini-3-pro-preview di Gemini API.

  4. Apakah kode thinking_budget lama saya masih berfungsi? Ya, thinking_budget masih didukung untuk kompatibilitas mundur, tetapi sebaiknya Anda bermigrasi ke thinking_level untuk performa yang lebih dapat diprediksi. Jangan gunakan keduanya dalam permintaan yang sama.

  5. Apakah Gemini 3 mendukung Batch API? Ya, Gemini 3 mendukung Batch API.

  6. Apakah Context Caching didukung? Ya, Penyimpanan dalam Cache Konteks didukung untuk Gemini 3.

  7. Alat mana yang didukung di Gemini 3? Gemini 3 mendukung Google Penelusuran, Penelusuran File, Eksekusi Kode, dan Konteks URL. Hal ini juga mendukung Panggilan Fungsi standar untuk alat kustom Anda sendiri (tetapi tidak dengan alat bawaan). Perhatikan bahwa Perujukan dengan Google Maps dan Penggunaan Komputer saat ini tidak didukung.

Langkah berikutnya