Gemini 4 Argon adalah model termutakhir Google yang unggul dalam pekerjaan mendalam pada tugas-tugas kompleks di dunia nyata di berbagai domain, termasuk coding, keuangan, hukum, pengamanan cyber, dan sains. Model ini adalah model pertama dalam rangkaian Gemini 4.
Dokumen ini membahas hal-hal baru di 4 Argon, konvensi API yang diterapkan, cara bermigrasi ke versi ini, dan panduan memulai. Untuk ringkasan keluarga Gemini 4, lihat Mulai menggunakan Gemini 4.
Apa yang baru di Gemini 4 Argon?
- Batas token input dan output terpadu: 4 Argon memiliki batas 1.048.576 token terpadu yang mencakup token input dan output (dengan output mencakup penalaran, panggilan fungsi, dan respons akhir).
- Dekode panjang hingga 1.048.576 token: Memperluas pembuatan di luar batas output permintaan tunggal (65.536 token, atau 32.768 token untuk permintaan HTTP langsung non-streaming) hingga 1.048.576 token (dikurangi token input Anda) di
GenerateContent. Google Gen AI SDK menanganicontinuation_tokensecara otomatis di seluruh permintaan, atau Anda dapat mengelolacontinuation_tokendalam loop kelanjutan Anda sendiri. - Thinking levels:
LOW,MEDIUM(default digemini-4-argon), danHIGH(default digemini-4-argon-cyber-permissive). - Penyimpanan ke dalam cache implisit dengan penyimpanan ke dalam cache yang tahan lama: Penyimpanan ke dalam cache implisit berlaku secara otomatis untuk awalan perintah bersama yang berisi 6.144 token atau lebih, dengan penyimpanan ke dalam cache yang tahan lama diaktifkan secara default. Cache konteks eksplisit tidak didukung.
- Pemahaman video agentic: Ketersediaan umum, dan nonaktif secara default.
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.
Coba di Agent Studio
Untuk menguji perintah dan mengonfigurasi gemini-4-argon di UI Agent Studio:
- Buka Agent Studio
di project Cloud de Confiance by S3NS Anda, lalu pilih
gemini-4-argondi bagian grup Gemini. - Di Model settings, konfigurasikan:
- Thinking level: Pilih
Low,Medium(default), atauHigh. - Region: Pilih
Global,us, ataueu. - Output token limit: Tetapkan antara
32,768dan1,048,576(1,048,576default). Agent Studio menangani token kelanjutan secara otomatis untuk respons yang melebihi batas permintaan tunggal.
- Thinking level: Pilih
Penginstalan
Upgrade ke Google Gen AI SDK terbaru (google-genai >= 2.30.1 untuk Python,
@google/genai >= 2.29.1 untuk JavaScript, >= 1.74.0 untuk Go, >= 1.77.0 untuk
Java, >= 1.26.0 untuk .NET, atau >= 1.6.0 untuk Kotlin):
pip install --upgrade "google-genai>=2.30.1"
Permintaan dasar
Python (GenerateContent)
from google import genai
from google.genai import types
client = genai.Client(enterprise=True, project="PROJECT_ID", location="global")
response = client.models.generate_content(
model="gemini-4-argon",
contents="Design a lock-free ring buffer in Rust for multi-producer, single-consumer telemetry ingestion.",
config=types.GenerateContentConfig(
thinking_config=types.ThinkingConfig(
thinking_level="MEDIUM", # Default: "MEDIUM" (Valid: "LOW", "MEDIUM", "HIGH")
),
),
)
print(response.text)
Python (Interactions API)
from google import genai
client = genai.Client(enterprise=True, project="PROJECT_ID", location="global")
# Turn 1: Initial request (stored server-side by default)
turn1 = client.interactions.create(
model="gemini-4-argon",
input="Design a lock-free ring buffer in Rust for multi-producer, single-consumer telemetry ingestion.",
store=True,
)
print(turn1.output_text)
# Turn 2: Continue the conversation using previous_interaction_id
turn2 = client.interactions.create(
model="gemini-4-argon",
input="Add a bounded backpressure policy and unit tests for concurrent writers.",
previous_interaction_id=turn1.id,
)
print(turn2.output_text)
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-4-argon:generateContent" \
-d '{
"contents": [
{
"role": "user",
"parts": [
{
"text": "Provide an architectural review of this Go interface."
}
]
}
],
"generationConfig": {
"thinkingConfig": {
"thinkingLevel": "MEDIUM"
}
}
}'
Output terstruktur
from pydantic import BaseModel, Field
from google import genai
from google.genai import types
class ArchitectureReview(BaseModel):
component: str = Field(description="Service or module name")
bottlenecks: list[str] = Field(description="Throughput or latency bottlenecks")
recommended_changes: list[str] = Field(description="Concrete refactoring steps")
client = genai.Client(enterprise=True, project="PROJECT_ID", location="global")
response = client.models.generate_content(
model="gemini-4-argon",
contents="Review a synchronous order-processing pipeline backed by a single primary database at 15,000 writes/sec.",
config=types.GenerateContentConfig(
response_mime_type="application/json",
response_schema=ArchitectureReview,
thinking_config=types.ThinkingConfig(thinking_level="HIGH"),
),
)
print(response.text)
Dekode panjang
Secara default, satu permintaan API menghasilkan hingga 65.536 token output (atau 32.768
token untuk permintaan HTTP langsung non-streaming), dengan output yang mencakup penalaran,
panggilan fungsi, dan respons akhir. Untuk membuat penyelesaian hingga 1.048.576
token di GenerateContent (v1beta1), tetapkan max_output_tokens lebih besar dari
65.536 untuk permintaan streaming atau lebih besar dari 32.768 untuk permintaan non-streaming
(hingga 1.048.576). Google Gen AI SDK otomatis mengikuti
continuation_token di seluruh permintaan saat finish_reason adalah CONTINUATION (tetapkan
automatic_continuation=False di GenerateContentConfig untuk menonaktifkan kelanjutan
otomatis), atau Anda dapat meneruskan continuation_token dalam loop kustom.
Python (SDK - Direkomendasikan)
from google import genai
from google.genai import types
client = genai.Client(enterprise=True, project="PROJECT_ID", location="global")
# Automatic continuation is enabled by default in google-genai >= 2.30.1.
# Chunks across all continuation requests are yielded as a single stream.
for chunk in client.models.generate_content_stream(
model="gemini-4-argon",
contents="Write a complete formal proof of the prime number theorem.",
config=types.GenerateContentConfig(
max_output_tokens=256000,
thinking_config=types.ThinkingConfig(thinking_level="HIGH"),
),
):
print(chunk.text, end="")
# Set automatic_continuation=False to disable automatic continuation.
for chunk in client.models.generate_content_stream(
model="gemini-4-argon",
contents="Write a complete formal proof of the prime number theorem.",
config=types.GenerateContentConfig(
thinking_config=types.ThinkingConfig(thinking_level="HIGH"),
automatic_continuation=False,
),
):
print(chunk.text, end="")
REST (Loop lanjutan kustom)
# Request 1: Initial request with maxOutputTokens > 32,768
curl -s -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-4-argon:generateContent" \
-d '{
"contents": [{
"role": "user",
"parts": [{"text": "Write a complete formal proof of the prime number theorem."}]
}],
"generationConfig": {
"maxOutputTokens": 131072,
"thinkingConfig": {"thinkingLevel": "HIGH"}
}
}'
# Request 2: Resend the original request with top-level continuationToken
# from Request 1 (candidates[0].continuationToken)
curl -s -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-4-argon:generateContent" \
-d '{
"contents": [{
"role": "user",
"parts": [{"text": "Write a complete formal proof of the prime number theorem."}]
}],
"continuationToken": "CONTINUATION_TOKEN_FROM_REQUEST_1",
"generationConfig": {
"maxOutputTokens": 131072,
"thinkingConfig": {"thinkingLevel": "HIGH"}
}
}'
Aturan API dan konvensi perilaku wajib
Gemini 4 Argon menerapkan konvensi berikut:
Tingkat penalaran: 4 Argon mendukung tiga nilai
thinking_level(thinking_budgetdanMINIMALmenampilkan error validasi400HTTP):Tingkat penalaran Workload yang direkomendasikan HIGH(default digemini-4-argon-cyber-permissive)Rekayasa software multi-file, bukti formal, desain arsitektur, dan penemuan kerentanan. MEDIUM(default digemini-4-argon)Coding umum, penggunaan alat, tanya jawab dokumen, dan pemahaman video. LOWKlasifikasi, ringkasan, dan ekstraksi metadata. Batas token input dan output terpadu serta batas output permintaan tunggal:
1,048,576adalah batas token keseluruhan model dan mencakup token input dan output (dengan output mencakup penalaran, panggilan fungsi, dan respons akhir).max_output_tokensmengontrol batas token output untuk pembuatan (hingga1,048,576dikurangi token input Anda); menetapkanmax_output_tokenslebih besar dari1,048,576akan menampilkan error HTTP400.- Untuk menghindari penyelesaian panjang yang tidak diinginkan, batas output permintaan tunggal default (pemikiran + respons model) adalah 65.536 token (atau 32.768 token untuk permintaan HTTP langsung non-streaming).
Dekode panjang:
- Cara kerja dekode panjang: Dekode panjang membagi pembuatan hingga
1.048.576 token di beberapa inferensi
GenerateContent. Misalnya, jika suatu tugas memerlukan 256.000 token output (termasuk pemikiran, panggilan fungsi, dan respons akhir), permintaan streaming pertama akan menghasilkan hingga 65.536 token output dan memunculkanfinish_reason=CONTINUATIONdengancontinuation_tokenterenkripsi yang berisi hash dari perintah asli dan status pembuatan hingga titik tersebut. Menyertakancontinuation_tokendalam permintaan berikutnya dengan perintah asli akan melanjutkan pembuatan dari bagian terakhir yang ditinggalkan hinggacontinuation_tokentidak lagi ditampilkan danfinish_reason=STOP. (Di Agent Studio, menetapkan batas token output lebih dari 65.536 hingga 1.048.576 akan menangani token kelanjutan secara otomatis.) - Kapan menggunakan dekode panjang: Sebagian besar permintaan selesai dalam batas per permintaan (65.536 token, atau 32.768 token untuk panggilan REST non-streaming). Gunakan dekode panjang hanya jika satu respons memerlukan lebih banyak output dari itu. Dekode panjang
memberi model lebih banyak ruang untuk penalaran; hal ini tidak membuat jawaban lebih panjang
(gunakan
thinking_leveluntuk mengontrol kedalaman penalaran).
Workload Gunakan dekode panjang? Mengapa Matematika, sains, riset, dan pembuktian formal yang sulit Ya Model dapat menggunakan lebih dari 65.536 token untuk mengeksplorasi dan memeriksa penalarannya. Tugas coding dan agentic tersulit Ya Beberapa tugas memerlukan lebih dari 65.536 token penalaran dan kode dalam satu respons. Sebagian besar tugas coding dan agentic selesai dalam 65.536 token. Harness evaluasi yang berhenti pada batas output Ya Dekode panjang mencegah jawaban terpotong saat model menghabiskan seluruh permintaan 65.536 atau 32.768 token untuk penalaran. Chat, Tanya Jawab, peringkasan, klasifikasi, dan ekstraksi Tidak Tugas-tugas ini selesai jauh di bawah 32.768 token. Permintaan panjang tetap, seperti "tulis buku 700.000 kata" Tidak Model tidak mengikuti target panjang. Agen yang memanggil alat dalam banyak giliran singkat Tidak Setiap giliran berlangsung singkat. Output besar pada setiap giliran akan mengisi batas input dan output 1.048.576 token terpadu dengan cepat. Perintah yang mendekati batas input 1.048.576 token Tidak Output hanya dapat menggunakan 1.048.576 token dikurangi input Anda. Permintaan yang sensitif terhadap latensi Tidak Dekode panjang dapat berjalan selama beberapa menit. - Memilih opsi kelanjutan: Pilih salah satu dari dua opsi. Sebagian besar
developer menggunakan Opsi 1. Semua opsi mencapai batas 1.048.576 token yang sama di
gemini-4-argondangemini-4-argon-cyber-permissive.
Dimensi Opsi 1: Google Gen AI SDK (direkomendasikan) Opsi 2: Loop streaming Anda sendiri ( streamGenerateContent)Opsi 2: Loop non-streaming Anda sendiri ( generateContent)Siapa yang memulai setiap segmen Google Gen AI SDK: Python ( google-genai) 2.30.1, JavaScript (@google/genai) 2.29.1, Go 1.74.0, Java 1.77.0, .NET 1.26.0, dan Kotlin 1.6.0. Anda menetapkanmax_output_tokens.Kode Anda, di setiap titik pemeriksaan atau setelah streaming terputus Kode Anda, setiap 32.768 token Token per permintaan Hingga 65.536 per segmen 65.536 per aliran, dengan titik pemeriksaan setiap 5.000 token setelah 32.768 32.768 per permintaan Batas waktu per permintaan 20 menit 20 menit 20 menit Penyimpanan Tidak ada penyimpanan server (sesuai ZDR) Tidak ada penyimpanan server (sesuai dengan ZDR) Tidak ada penyimpanan server (sesuai ZDR) Paling cocok untuk Sebagian besar aplikasi Pemanggil REST dan harness kustom yang melakukan streaming Platform evaluasi sederhana - Aturan dan batasan penerapan:
- Persyaratan API
v1beta1(masalah umum): Dekode panjang (continuation_token) padaGenerateContent(generateContentdanstreamGenerateContent) hanya didukung di APIv1beta1(bukanv1). Google Gen AI SDK menggunakanv1beta1secara default, kecuali jikaapi_version='v1'ditentukan dalamhttp_options; untuk panggilan REST langsung, gunakan jalur endpointv1beta1. Dekode panjang tidak didukung di Interactions API. - Versi SDK dan kompatibilitas OpenAI: Upgrade ke Google Gen AI SDK terbaru (
google-genai >= 2.30.1untuk Python,@google/genai >= 2.29.1untuk JavaScript,>= 1.74.0untuk Go,>= 1.77.0untuk Java,>= 1.26.0untuk .NET, atau>= 1.6.0untuk Kotlin). Versi SDK yang lebih lama dan lapisan kompatibilitas OpenAI tidak dapat mengambil penyelesaian panjang menggunakan token kelanjutan. Untuk implementasi klien kustom, lihat implementasi referensi Google Gen AI SDK di Python dan JavaScript/TypeScript. - Kirim ulang permintaan asli dengan
continuation_token: Dalam loop kustom, tetapkanmax_output_tokenslebih besar dari 65.536 (streaming) atau 32.768 (unary) hingga 1.048.576, dan kirim ulangcontents,system_instruction, dantoolsasli pada setiap permintaan lanjutan bersama dengancontinuation_tokenterbaru (kolom tingkat teratas diGenerateContentRequestdi REST, atau diGenerateContentConfigdi Google Gen AI SDK). Jangan menambahkan output model parsial kecontentsatau mengirimkan perintah lanjutan yang meminta model untuk melanjutkan. - Lanjutkan melalui permintaan khusus penalaran: Lakukan loop saat
finish_reasonadalahCONTINUATIONdancontinuation_tokenada, meskipun permintaan menghabiskan semua 32.768 atau 65.536 token penalaran (parts: [{"text": ""}]). Jikafinish_reasonadalahMAX_TOKENSsaatcontinuation_tokenada, pembuatan mencapai batasmax_output_tokensyang diminta—naikkanmax_output_tokensdalam permintaan. Gabungkan bagian yang terakumulasi menjadi satu giliranmodeluntuk histori multi-giliran hanya setelahSTOP. - Penghitungan token, pemadatan, dan diskon cache implisit 95%:
- Di Python Google Gen AI SDK (
generate_contentdangenerate_content_stream), respons atau potongan akhirusage_metadatamengakumulasi total token yang ditagih di seluruh permintaan kelanjutan. Karena setiap permintaan kelanjutan mengisi ulang penyelesaian parsial sebelumnya sebagai token input,prompt_token_countmeningkat secara kumulatif di seluruh permintaan kelanjutan—jangan gunakanprompt_token_countuntuk memicu pemadatan konteks di infrastruktur pengelola agen. Sebagai gantinya, bacainitial_prompt_token_count(diGenerateContentResponseatauusage_metadata), dan tunggu hinggaGenerateContentselesai (tidak adacontinuation_token) sebelum melakukan pemadatan. - Dalam loop REST kustom,
usage_metadatabersifat kumulatif dalam setiap permintaan; jumlahkanprompt_token_count,cached_content_token_count,candidates_token_count, danthoughts_token_countakhir di seluruh permintaan. - Setiap permintaan kelanjutan akan mengisi ulang perintah ditambah token yang didekode sebelumnya dan secara otomatis menerima diskon cache konteks implisit 95% (minimum 6.144 token) saat permintaan dijalankan secara berurutan dalam TTL cache 15–20 menit.
streamGenerateContentdangenerateContentmenampilkanusage_metadatadi akhir setiap permintaan (65.536 streaming / 32.768 unary), dan penagihan terjadi di akhir permintaan.
- Di Python Google Gen AI SDK (
- Persyaratan API
- Cara kerja dekode panjang: Dekode panjang membagi pembuatan hingga
1.048.576 token di beberapa inferensi
Parameter sampling yang diabaikan (
temperature,top_k,top_p): Backend mengabaikan nilai kustom. Mengontrol kedalaman penalaran denganthinking_level, dan format output denganresponse_schema.Parameter yang tidak didukung (
frequency_penalty,presence_penalty,candidate_count): Parameter ini menampilkan error HTTP400. Hapus dari permintaan Anda.Cache konteks: Cache konteks eksplisit tidak didukung. Caching implisit (dengan caching tahan lama yang diaktifkan secara default) berlaku otomatis untuk awalan perintah bersama yang berisi 6.144 token atau lebih, jadi tempatkan konten statis di awal perintah Anda.
Video agentic: Video yang diupload ditetapkan secara default ke
media_processing="static". Tetapkanmedia_processing="agentic"untuk mengaktifkan pemrosesan video agentic.Penghitungan dan penagihan token: Setiap token yang diproses model akan dihitung dan ditagih, termasuk token penalaran dan instruksi sistem alat internal serta deklarasi fungsi saat menggunakan grounding. Grounding with Google Search juga tetap ditagih per kueri.
Pemanggilan fungsi:
- Simetri belokan: Setiap
FunctionResponseharus cocok denganid,name, dan urutanFunctionCallsebelumnya. - Eksekusi berurutan: Memilih giliran eksekusi alat berurutan dalam loop alat multi-langkah.
Pemformatan pra-alat: Pisahkan petunjuk inline dengan
\n\ndan hindari teks tidak terstruktur sebelum panggilan alat. Untuk mencatat status perantara sebelum panggilan alat, gunakan deklarasi fungsi khusus:{ "name": "update", "description": "Update working notes before tool execution", "parameters": { "type": "OBJECT", "properties": { "previous_step": {"type": "STRING"}, "plan": {"type": "STRING"}, "next_step": {"type": "STRING"} }, "required": ["previous_step", "plan", "next_step"] } }
- Simetri belokan: Setiap
Validasi urutan chat:
- Payload histori tidak boleh diakhiri dengan pergantian peran
model. - Respons model yang telah disiapkan tidak didukung.
- Payload histori tidak boleh diakhiri dengan pergantian peran
Bermigrasi ke 4 Argon dari 3.1 Pro
Perilaku berikut berbeda dengan gemini-3.1-pro-preview:
- 4 Argon memiliki batas 1.048.576 token terpadu di seluruh
input dan output (dengan output mencakup penalaran, panggilan fungsi, dan
respons akhir), bukan batas input dan output terpisah. Output permintaan tunggal dibatasi hingga 65.536 token (atau 32.768 token untuk permintaan HTTP langsung non-streaming), dan dapat diperluas hingga 1.048.576 token menggunakan dekode panjang di
GenerateContent(ditangani secara otomatis di Google Gen AI SDK, atau menggunakancontinuation_tokendalam loop kustom). thinking_budgetmenampilkan error HTTP400, bukan dipetakan ke tingkat pemikiran.MINIMALjuga menampilkan error.- Cache konteks eksplisit tidak didukung.
- Setiap token yang diproses model akan ditagih, termasuk petunjuk sistem alat internal dan deklarasi fungsi saat menggunakan grounding.
Untuk perbandingan berdampingan, lihat Bermigrasi dari Gemini 3.1 Pro.
client = genai.Client(
enterprise=True,
project="PROJECT_ID",
location="global", # Supports "global", "us", and "eu"
)
response = client.models.generate_content(
- model="gemini-3.1-pro-preview",
+ model="gemini-4-argon",
contents=prompt,
config=types.GenerateContentConfig(
- temperature=0.0,
- cached_content="projects/.../cachedContents/...", # Explicit caching unsupported
thinking_config=types.ThinkingConfig(
- thinking_budget=16384, # Returns HTTP 400 instead of mapping silently
- thinking_level="MINIMAL", # MINIMAL unsupported on Gemini 4 Argon
+ thinking_level="MEDIUM", # Valid: "LOW", "MEDIUM" (default), "HIGH"
),
),
)
Untuk bermigrasi dari gemini-3.1-pro-preview, lakukan hal berikut:
- Perbarui ID model menjadi
gemini-4-argon(ataugemini-4-argon-cyber-permissiveuntuk workload keamanan siber yang disetujui Fairwind). - Upgrade ke Google Gen AI SDK terbaru dan perhitungkan batas token input dan output terpadu: Lakukan upgrade ke
google-genai >= 2.30.1(Python),@google/genai >= 2.29.1(JavaScript), atau Google Gen AI SDK terbaru yang setara. Token input dan output (termasuk pemikiran dan panggilan fungsi) berbagi batas 1.048.576 token yang sama. Untuk output yang melebihi 65.536 token (hingga 1.048.576 token) diGenerateContent, tetapkanmax_output_tokenslebih besar dari 65.536 agar Google Gen AI SDK melanjutkan secara otomatis di seluruh permintaan (atau menanganicontinuation_tokendalam loop REST Anda sendiri). - Ganti parameter anggaran penalaran: Ganti
thinking_budgetdanMINIMALdenganthinking_levelyang ditetapkan keLOW,MEDIUM(default digemini-4-argon), atauHIGH(default digemini-4-argon-cyber-permissive). - Hapus caching eksplisit dan muat konten perintah statis (6.144 token atau lebih) di awal untuk caching implisit otomatis.
- Hapus parameter yang tidak berpengaruh atau tidak didukung:
- Hapus
temperature,top_p, dantop_k, yang diabaikan. - Hapus
candidate_count,frequency_penalty, danpresence_penalty. - Menghapus semua giliran model yang telah diisi otomatis dari histori percakapan.
- Hapus
Checklist ringkasan untuk developer
Masalah umum
- Dekode panjang di
GenerateContentmemerlukanv1beta1: Dekode panjang (continuation_token) diGenerateContentAPI (generateContentdanstreamGenerateContent) hanya didukung div1beta1API (bukanv1). Google Gen AI SDK menggunakanv1beta1secara default, kecuali jikaapi_version='v1'ditetapkan dihttp_options; untuk panggilan REST langsung, gunakan jalur endpointv1beta1.