Gemini 4 Argon adalah model termutakhir Google yang unggul dalam pekerjaan mendalam dalam tugas dunia nyata yang kompleks di berbagai domain, termasuk coding, keuangan, hukum, keamanan siber, dan sains. Model ini adalah model pertama dalam keluarga Gemini 4.
Dokumen ini membahas hal baru di 4 Argon, konvensi API yang diterapkan, cara bermigrasi ke model tersebut, dan panduan memulai. Untuk mengetahui ringkasan keluarga Gemini 4, lihat Mulai menggunakan Gemini 4.
Yang baru di Gemini 4 Argon
- Jendela konteks: Jendela konteks 1.048.576 token dibagikan di seluruh token input, penalaran, dan output.
- Dekode panjang hingga 1.048.576 token: Memperluas pembuatan di luar
batas output permintaan tunggal (65.536 token untuk permintaan streaming, atau 32.768
token untuk permintaan HTTP langsung non-streaming) hingga 1.048.576 token di
GenerateContent. Google Gen AI SDK menanganicontinuation_tokensecara otomatis di seluruh permintaan, atau Anda dapat mengelolacontinuation_tokendalam loop kelanjutan Anda sendiri. - Tingkat penalaran:
LOW,MEDIUM(default digemini-4-argon), danHIGH(default digemini-4-argon-cyber-permissive). - Penyimpanan data ke dalam cache implisit dengan penyimpanan data ke dalam cache yang tahan lama: Penyimpanan data ke dalam cache implisit diterapkan secara otomatis ke awalan perintah bersama yang berisi 6.144 token atau lebih, dengan penyimpanan data ke dalam cache yang tahan lama diaktifkan secara default. Penyimpanan data ke dalam cache konteks eksplisit tidak didukung.
- Pemahaman video agentic: Tersedia secara umum, dan dinonaktifkan secara default.
Panduan memulai
Sebelum memulai, Anda harus melakukan autentikasi ke Agent Platform menggunakan Kredensial Default Aplikasi (ADC) atau kunci API. Lihat Mulai menggunakan Gemini Enterprise Agent Platform untuk mengetahui informasi selengkapnya.
Di blok kode berikut, ganti PROJECT_ID dengan project ID Anda.
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
client = genai.Client(enterprise=True, project="PROJECT_ID", location="global")
response = client.models.generate_content(
model="gemini-4-argon",
contents="How does AI work?",
)
print(response.text)
Python (Interactions API)
from google import genai
client = genai.Client(enterprise=True, project="PROJECT_ID", location="global")
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)
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 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": "Why is the sky blue?" }
}
}'
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 penalaran dan output (atau 32.768 token untuk permintaan HTTP langsung non-streaming). Untuk menghasilkan penyelesaian hingga 1.048.576 token di GenerateContent (v1beta1), tetapkan max_output_tokens lebih besar dari 65.536 (hingga 1.048.576). Google Gen AI SDK secara 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
# and stop at a single request.
single_request_response = client.models.generate_content(
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(single_request_response.text)
REST (Loop kelanjutan 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:
- Jendela konteks dan batas output permintaan tunggal:
- Jendela konteks 1.048.576 token dibagikan di seluruh token input, penalaran, dan output. Menetapkan
max_output_tokenslebih besar dari1,048,576akan menampilkan error HTTP400. - Untuk menghindari penyelesaian panjang yang tidak diinginkan, batas output permintaan tunggal default (penalaran + respons model) adalah 65.536 token (atau 32.768 token untuk permintaan HTTP langsung non-streaming).
- Jendela konteks 1.048.576 token dibagikan di seluruh token input, penalaran, dan output. Menetapkan
Dekode panjang:
- Cara kerja dekode panjang: Dekode panjang membagi pembuatan hingga
1.048.576 token di beberapa
GenerateContentinferensi. Saat permintaan mencapai batas output per permintaan sebelum selesai, API akan menampilkanfinish_reason=CONTINUATIONdancontinuation_tokenterenkripsi yang berisi hash perintah asli dan status pembuatan hingga saat itu. Sertakancontinuation_tokendalam permintaan berikutnya dengan perintah asli hinggacontinuation_tokentidak lagi ditampilkan danfinish_reason=STOP. (Di Agent Studio, menetapkan batas token output lebih besar dari 65.536 hingga 1.048.576 akan menangani token kelanjutan secara otomatis.) - Kapan harus menggunakan dekode panjang: Sebagian besar permintaan selesai dalam batas per permintaan (65.536 token, atau 32.768 token untuk panggilan REST non-streaming).
Dekode panjang memberi model lebih banyak ruang untuk penalaran; dekode panjang tidak membuat jawaban lebih panjang (gunakan
thinking_leveluntuk mengontrol kedalaman penalaran).
Workload Gunakan dekode panjang? Mengapa Matematika, sains, penelitian, dan bukti formal yang sulit Ya Model dapat menggunakan lebih dari 65.536 token untuk menjelajahi 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 di bawah 65.536 token. Harness evaluasi yang berhenti pada batas output Ya Dekode panjang mencegah jawaban terpotong saat model menggunakan seluruh permintaan 65.536 atau 32.768 token untuk penalaran. Chat, Tanya Jawab, ringkasan, klasifikasi, dan ekstraksi Tidak Tugas ini selesai jauh di bawah 32.768 token. Permintaan untuk panjang tetap, seperti "tulis buku 700.000 kata" Tidak Model tidak mengikuti target panjang. Agen yang memanggil alat dalam banyak putaran singkat Tidak Setiap putaran singkat. Output besar di setiap putaran mengisi jendela input dan output 1.048.576 token bersama dengan cepat. Perintah di dekat 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: 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 SDK ( automatic_continuation=Truesecara default). Tetapkanmax_output_tokenslebih besar dari 65.536 (hingga 1.048.576) untuk output lebih dari 65.536 token.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 streaming 32.768 per permintaan Batas waktu per permintaan 20 menit 20 menit 20 menit Penyimpanan dan ZDR Tidak ada penyimpanan server (sesuai ZDR) Tidak ada penyimpanan server (sesuai ZDR) Tidak ada penyimpanan server (sesuai ZDR) Paling cocok untuk Sebagian besar aplikasi Pemanggil REST dan harness kustom yang melakukan streaming Harness evaluasi sederhana - Aturan dan batasan penerapan:
v1beta1persyaratan API (masalah umum): Dekode panjang (continuation_token) diGenerateContent(generateContentdanstreamGenerateContent) hanya didukung div1beta1API (bukanv1). Google Gen AI SDK menggunakanv1beta1secara default, kecuali jikaapi_version='v1'ditentukan dihttp_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 lama dan lapisan kompatibilitas OpenAI tidak dapat mengambil penyelesaian panjang menggunakan token kelanjutan. Untuk penerapan klien kustom, lihat Google Gen AI SDK penerapan referensi. - 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 di setiap permintaan kelanjutan bersama dengancontinuation_tokenterbaru (kolom tingkat atas diGenerateContentRequestdi REST, atau diGenerateContentConfigdi Google Gen AI SDK). Jangan menambahkan output model parsial kecontentsatau mengirim perintah lanjutan yang meminta model untuk melanjutkan. - Lanjutkan melalui permintaan khusus penalaran: Loop saat
finish_reasonadalahCONTINUATIONdancontinuation_tokenadalah ada, meskipun permintaan menggunakan semua 32.768 atau 65.536 token untuk penalaran (parts: [{"text": ""}]). Jikafinish_reasonadalahMAX_TOKENSsaatcontinuation_tokenada, pembuatan mencapai batasmax_output_tokensyang diminta—tingkatkanmax_output_tokensdalam permintaan. Gabungkan bagian yang terakumulasi ke dalam putaranmodeltunggal untuk histori multi-putaran hanya setelahSTOP. - Penghitungan token, pemadatan, dan diskon cache implisit 95%:
- Di Python Google Gen AI SDK (
generate_contentdangenerate_content_stream),usage_metadatarespons atau bagian akhir mengakumulasi 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 memadatkan. - 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 mengisi ulang perintah ditambah token yang didekode sebelumnya dan secara otomatis menerima diskon penyimpanan data ke dalam cache konteks implisit 95% (minimum 6.144 token) saat permintaan dijalankan secara berurutan dalam TTL cache 15–20 menit.
streamGenerateContentdangenerateContentmenampilkancontinuation_tokendanusage_metadatadi akhir setiap permintaan (65.536 streaming / 32.768 unary), dan penagihan terjadi di akhir permintaan.
- Di Python Google Gen AI SDK (
- Cara kerja dekode panjang: Dekode panjang membagi pembuatan hingga
1.048.576 token di beberapa
Parameter pengambilan sampel yang diabaikan (
temperature,top_k,top_p): Backend mengabaikan nilai kustom. Kontrol 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 parameter tersebut dari permintaan Anda.Penyimpanan data ke dalam cache konteks: Penyimpanan data ke dalam cache konteks eksplisit tidak didukung. Penyimpanan data ke dalam cache implisit (dengan penyimpanan data ke dalam cache yang tahan lama diaktifkan secara default) diterapkan secara otomatis ke awalan perintah bersama yang berisi 6.144 token atau lebih, jadi tempatkan konten statis di awal perintah Anda.
Video agentik: Video yang diupload secara default ditetapkan ke
media_processing="static". Tetapkanmedia_processing="agentic"untuk mengaktifkan pemrosesan video agentic.Penghitungan dan penagihan token: Setiap token yang diproses model dihitung dan ditagih, termasuk token penalaran dan petunjuk sistem alat internal serta deklarasi fungsi saat menggunakan grounding. Grounding dengan Google Penelusuran juga tetap ditagih per kueri.
Pemanggilan fungsi:
- Simetri putaran: Setiap
FunctionResponseharus cocok denganid,name, dan urutanFunctionCallsebelumnya. - Eksekusi berurutan: Pilih putaran eksekusi alat berurutan dalam loop alat multi-langkah.
- Pemformatan pra-alat: Pisahkan petunjuk inline dengan
\n\ndan hindari teks tidak terstruktur sebelum panggilan alat.
- Simetri putaran: Setiap
Validasi urutan chat:
- Payload histori tidak boleh diakhiri dengan putaran peran
model. - Putaran model yang telah diisi sebelumnya tidak didukung.
- Payload histori tidak boleh diakhiri dengan putaran peran
Bermigrasi ke 4 Argon dari 3.1 Pro
Perilaku berikut berbeda dengan gemini-3.1-pro-preview:
- Jendela konteks adalah satu jendela 1.048.576 token yang dibagikan oleh input, penalaran, dan output, 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 diperpanjang 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 penalaran.MINIMALjuga menampilkan error.- Penyimpanan data ke dalam cache konteks eksplisit tidak didukung.
- Setiap token yang diproses model ditagih, termasuk petunjuk sistem alat internal dan deklarasi fungsi saat menggunakan grounding.
Untuk perbandingan berdampingan, lihat Bermigrasi dari Gemini 3.1 Pro.
Untuk bermigrasi dari gemini-3.1-pro-preview, lakukan hal berikut:
- Update ID model ke
gemini-4-argon(ataugemini-4-argon-cyber-permissiveuntuk workload keamanan siber yang disetujui Fairwind). - Upgrade ke Google Gen AI SDK terbaru dan pertimbangkan jendela konteks bersama: Upgrade ke
google-genai >= 2.30.1(Python) atau Google Gen AI SDK terbaru yang setara. Token input, penalaran, dan output berbagi jendela konteks 1.048.576 token. Untuk output yang melebihi 65.536 token (hingga 1.048.576 token) diGenerateContent, tetapkanmax_output_tokenslebih besar dari 65.536 sehingga Google Gen AI SDK terus berjalan secara otomatis di seluruh permintaan (atau tanganicontinuation_tokendi loop REST Anda sendiri). - Ganti parameter anggaran penalaran: Ganti
thinking_budgetdanMINIMALdenganthinking_levelyang ditetapkan ke salah satu nilai berikut:HIGH: Default digemini-4-argon-cyber-permissive. Teknik 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.LOW: Klasifikasi, ringkasan, dan ekstraksi metadata.
- Hapus penyimpanan data ke dalam cache eksplisit dan muat konten perintah statis di awal (6.144 token atau lebih) untuk penyimpanan data ke dalam cache 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. - Hapus putaran model yang telah diisi sebelumnya 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.