Gemini 3.6 Flash adalah model andalan yang berkecepatan tinggi dan hemat biaya dalam rangkaian Gemini 3. Dirancang untuk memberikan kemampuan agen yang hampir setara dengan Pro tanpa mengorbankan performa atau nilai, model ini kini tersedia secara umum (GA) bagi developer yang menggunakan Gemini API dan untuk perusahaan yang menggunakan Gemini Enterprise Agent Platform.
Dokumen ini membahas fitur baru 3.6 Flash, cara 3.6 Flash cocok dengan rangkaian model Gemini, cara bermigrasi ke 3.6 Flash, dan memberikan panduan memulai cepat untuk menggunakan 3.6 Flash.
Bagaimana posisinya dalam keluarga Gemini?
Gemini 3.6 Flash adalah model agentik utama dalam rangkaian model Gemini 3. Model ini menjembatani kesenjangan antara model Pro dengan kemampuan penalaran mendalam dan model Flash-Lite dengan throughput tinggi. Dibandingkan dengan Gemini 3.5 Flash, 3.6 Flash memberikan kualitas yang jauh lebih tinggi dalam orkestrasi alat multi-langkah, refactoring kode full-stack, dan penalaran visual sekaligus menggunakan lebih sedikit token dan langkah penalaran. Model ini menawarkan kemampuan tingkat hampir Pro dengan kecepatan dan harga Flash.
Spesifikasi dan perbandingan model
Tabel berikut adalah perbandingan yang mencakup beberapa spesifikasi antara 3.6 Flash, 3.5 Flash, dan 3.1 Pro:
| Gemini 3.6 Flash | Gemini 3.5 Flash | Gemini 3.1 Pro | |
|---|---|---|---|
| ID Model | gemini-3.6-flash |
gemini-3.5-flash |
gemini-3.1-pro-preview |
| Tahap peluncuran | GA | GA | Pratinjau |
| Jenis input | Teks, Gambar, Audio, Video | Teks, Gambar, Audio, Video | Teks, Gambar, Audio, Video |
| Jenis output | Teks | Teks | Teks |
| Jendela konteks | 1.048.576 | 1.048.576 | 1.048.576 |
| Panjang token output maksimum | 65.536 | 65.536 | 65.536 |
| Region yang didukung | Global, Multi-region | Global, Multi-region, Amerika, Eropa, Asia Pasifik | Global |
| Tingkat penalaran yang didukung |
MINIMAL, LOW, MEDIUM, HIGH(Default: MEDIUM)
|
MINIMAL, LOW, MEDIUM, HIGH(Default: MEDIUM)
|
LOW, MEDIUM, HIGH(Default: HIGH)
|
| Fokus utama | Alur kerja agentic yang sangat efisien, orkestrasi multilangkah, dan coding full-stack | Tugas seimbang, panggilan alat, dan penalaran menengah | Tugas dengan penalaran mendalam dan kompleksitas tinggi |
Lihat halaman model Flash 3.6 untuk mengetahui daftar lengkap kemampuan, alat, dan opsi penggunaan yang didukung.
Apa yang baru di Gemini 3.6 Flash?
3.6 Flash dioptimalkan untuk orkestrasi multi-langkah, refaktorisasi kode full-stack, dan penalaran umum dengan efisiensi token yang jauh lebih baik daripada pendahulunya.
Update kemampuan dan performa
Berikut adalah daftar perubahan kemampuan dan performa untuk 3.6 Flash dari model sebelumnya:
- Pengurangan token dan giliran: Menggunakan lebih sedikit token dan menyelesaikan alur kerja multi-langkah dalam lebih sedikit langkah penalaran dan giliran percakapan dibandingkan dengan 3.5 Flash.
- Pembuatan kode yang lebih baik: Menghasilkan kode yang lebih rapi dengan tingkat kegagalan kompilasi dan revisi yang lebih rendah di seluruh lingkungan pembuatan aplikasi, pembuatan prototipe, dan agen IDE.
- Mengurangi bias tindakan: Menyelesaikan tugas diagnostik hanya baca tanpa melakukan pengeditan ruang kerja yang tidak diminta atau mengubah status sebelum waktunya.
- Penalaran multimodal dan spasial: Memberikan peningkatan performa dalam interpretasi diagram, konversi cetak biru visual, dan pembuatan tata letak web multi-elemen.
- Dukungan penggunaan komputer: Didukung sebagai alat bawaan untuk otomatisasi UI agentic.
- Preferensi gaya UI: Lebih baik dalam membuat kode fungsional, meskipun evaluator manusia mencatat preferensi untuk model sebelumnya dalam presentasi frontend dan tata letak visual. Hal ini dapat dimitigasi dengan memberikan panduan desain yang jelas.
Perubahan perilaku dan parameter API
Berikut adalah daftar perubahan perilaku dan parameter API untuk 3.6 Flash dari model sebelumnya:
- Keringkasan langkah: Menggunakan lebih sedikit langkah penalaran daripada 3.5 Flash. Meskipun mengurangi latensi dan biaya pada alur kerja alat dan refaktorisasi kode, hal ini dapat menyebabkan penghentian awal pada tindak lanjut percakapan multi-turn yang diperpanjang, yang memerlukan rantai iterasi yang lebih panjang.
- Pemeriksaan terprogram di awal: Lebih memilih menjalankan skrip kode diagnostik (
execute_code) untuk memeriksa masalah sebelum mengubah status lebih sering daripada 3.5 Flash. Meskipun meningkatkan akurasi diagnostik pada refaktorisasi backend yang kompleks, hal ini terkadang dapat menyebabkan langkah-langkah pemeriksaan eksplorasi tambahan pada tugas web dan pembuatan skrip frontend sederhana yang versi sebelumnya akan menghasilkan kode secara langsung. - Upaya default: Meneruskan tingkat upaya default sedang yang diperkenalkan di 3.5 Flash.
- Tidak ada penggantian sampling: Nilai kustom untuk parameter
temperature,top-k, atautop-ptidak lagi didukung. Menetapkan nilai kustom akan diabaikan di platform API. Sebagai gantinya, gunakanthinking_levelatau skema JSON terstruktur untuk mengontrol determinisme output. - Batasan penalti frekuensi dan kehadiran: Nilai kustom untuk parameter ini tidak lagi didukung. Menyetelnya kini akan memunculkan error API aktif.
- Permintaan API yang giliran input terakhirnya memiliki peran "Model" tidak didukung.
- Giliran kosong dalam histori percakapan akan dihapus.
- Tanda tangan pemikiran yang tidak valid kini akan menghasilkan error.
- Strict function calling:
FunctionResponseharus benar-benar cocok denganid,name, dan jumlah eksekusiFunctionCallsebelumnya. Tambahkan petunjuk inline langsung di dalam teks respons fungsi, yang dipisahkan oleh dua baris baru (\n\n).
Panduan Memulai
Sebelum memulai, Anda harus melakukan autentikasi ke Agent Platform menggunakan Kredensial Default Aplikasi (ADC) atau kunci API. Lihat Memulai Gemini Enterprise Agent Platform untuk informasi selengkapnya.
Pada blok kode berikut, ganti PROJECT_ID dengan project ID Anda.
Penginstalan
Pastikan Anda menggunakan google-genai SDK terbaru:
pip install --upgrade google-genai
Permintaan dasar
Python
from google import genai
client = genai.Client(enterprise=True, project="PROJECT_ID", location="global")
response = client.models.generate_content(
model="gemini-3.6-flash",
contents="How does AI work?",
)
print(response.text)
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-3.6-flash:generateContent \
-d '{
"contents": {
"role": "USER",
"parts": { "text": "Why is the sky blue?" },
},
}'
Bermigrasi ke 3.6 Flash dari 3.5 Flash atau 3.1 Pro
Untuk bermigrasi ke 3.6 Flash dari 3.5 Flash atau 3.1 Pro, lakukan langkah-langkah berikut:
- Perbarui ID model: Ubah string model dalam panggilan API Anda menjadi
gemini-3.6-flash. - Sesuaikan kode Anda dengan aturan API baru untuk keluarga Gemini 3:
Gemini 3.6 Flash secara ketat menerapkan aturan parameter dan konvensi API yang ditetapkan di seluruh keluarga Gemini 3:
- Menghapus suhu, top-K, dan top-P: Hapus parameter kustom ini dari payload Anda. Meskipun tidak akan menampilkan error, model akan
mengabaikannya sepenuhnya. Sebagai gantinya, gunakan parameter
thinking_levelatau output terstrukturjson_schemauntuk mengontrol determinisme output. - Hapus penalti frekuensi dan kehadiran: Hapus semua konfigurasi kustom untuk penalti frekuensi atau kehadiran agar panggilan API Anda tidak menampilkan error runtime.
- Pastikan integrasi chat Anda tidak mencoba pengisian awal model:
Tinjau array histori pesan Anda untuk memastikan payload API Anda tidak
berakhir dengan giliran pengguna atau giliran model yang kosong. Jika objek terakhir dalam
array histori Anda adalah peran "
model" (GenerateContent API) atau jenis "model_output" (Interactions API), restrukturisasi urutan untuk menghindari pemicuan error validasi yang ketat. - Gunakan
thinking_level: Hapus instance parameterthinking_budgetyang tidak digunakan lagi dan gunakanthinking_levelsebagai gantinya. - Menerapkan konvensi panggilan fungsi yang ketat:
FunctionResponseharus sama persis denganid,name, dan jumlah eksekusiFunctionCallsebelumnya. Jika Anda perlu menambahkan petunjuk inline, tempatkan petunjuk tersebut langsung di dalam teks respons fungsi yang dipisahkan oleh dua baris baru (\n\n).
- Menghapus suhu, top-K, dan top-P: Hapus parameter kustom ini dari payload Anda. Meskipun tidak akan menampilkan error, model akan
mengabaikannya sepenuhnya. Sebagai gantinya, gunakan parameter
- Memperhitungkan perubahan alur kerja:
- Jika aplikasi Anda mengandalkan loop percakapan multi-turn, uji alur kerja Anda untuk memastikan keringkasan langkah baru model tidak memicu penghentian dini.
- Jika membangun agen pembuatan skrip dasar atau frontend, pantau panggilan
execute_codeeksplorasi yang tidak perlu karena bias baru model terhadap pemeriksaan terprogram di awal.
Solusi untuk persyaratan teks sebelum alat
Jika perintah Anda mengharuskan model menghasilkan teks terstruktur (XLM, YAML, Json,
dll.) (misalnya, <UPDATE>...</UPDATE>) tepat sebelum melakukan panggilan
alat, panggilan alat terkadang dapat gagal dengan error
Malformed_Function_Call. Anda dapat menggunakan salah satu solusi berikut untuk mengatasi masalah ini:
- (Direkomendasikan) Instruksikan model untuk menempatkan catatan pra-alatnya di dalam
panggilan fungsi
update()khusus, bukan teks mentah. Lihat bagian berikutnya untuk mengetahui petunjuk penerapan yang mendetail. - Instruksikan model untuk menulis catatan sebagai header Markdown (misalnya,
# UPDATE,## PLAN) dan bukan teks terstruktur. - Jangan mewajibkan model untuk menghasilkan teks sebelum panggilan alat.
Solusi yang direkomendasikan: Gabungkan catatan kerja dalam panggilan fungsi khusus
Daripada petunjuk asli:
Before calling a tool, in every response you MUST first output a single
`<UPDATE>` part as specified, don't skip this part or any of required sub-tags
within `<UPDATE>`.
Gunakan petunjuk yang diperbarui ini:
Before calling any other tool, in every response you MUST first call `update`
with all required parameters (previous_step, plan, next_step, external).
Perbarui semua referensi ke format XML <UPDATE> lama dalam permintaan pelanggan.
Kemudian, tambahkan deklarasi fungsi yang sesuai untuk fungsi update:
{
"name": "update",
"description": "Update working notes (previous step analysis, plan, next step, external note).",
"parameters": {
"type": "OBJECT",
"properties": {
"previous_step": {
"type": "STRING",
"description": "Key findings and outcomes since the previous step."
},
"plan": {
"type": "STRING",
"description": "The current status of the plan."
},
"next_step": {
"type": "STRING",
"description": "Brief explanation of the immediate next action according to the plan."
},
"external": {
"type": "STRING",
"description": "A short, plain-language note shown to the User about what you are ABOUT TO DO next."
}
},
"required": [
"previous_step",
"plan",
"next_step",
"external"
]
}
}
Model akan melakukan dua panggilan dalam langkah yang sama: panggilan update() yang
menggantikan XML terstruktur, dan panggilan fungsi sebenarnya yang ingin dilakukan.