Gemini sedang berpikir
Model seri Gemini 3 dan 2.5 menggunakan "proses berpikir" internal yang secara signifikan meningkatkan kemampuan penalaran dan perencanaan multi-langkahnya, sehingga sangat efektif untuk tugas-tugas kompleks seperti coding, matematika tingkat lanjut, dan analisis data.
Panduan ini menunjukkan cara menggunakan kemampuan berpikir Gemini menggunakan Gemini API.
Membuat konten dengan pemikiran
Memulai permintaan dengan model pemikiran serupa dengan permintaan pembuatan konten lainnya. Perbedaan utamanya terletak pada penentuan salah satu
model dengan dukungan pemikiran di kolom model:
Python
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3-flash-preview",
input="Explain the concept of Occam's Razor and provide a simple, everyday example."
)
print(interaction.steps[-1].content[0].text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
const interaction = await client.interactions.create({
model: "gemini-3-flash-preview",
input: "Explain the concept of Occam's Razor and provide a simple, everyday example."
});
console.log(interaction.steps.at(-1).content[0].text);
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "gemini-3-flash-preview",
"input": "Explain the concept of Occam'\''s Razor and provide a simple example."
}'
Ringkasan pemikiran
Ringkasan pemikiran memberikan insight tentang proses penalaran internal model.
Secara default, hanya output akhir yang ditampilkan. Anda dapat mengaktifkan ringkasan pemikiran
dengan thinking_summaries:
Python
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3-flash-preview",
input="What is the sum of the first 50 prime numbers?",
generation_config={
"thinking_summaries": "auto"
}
)
for step in interaction.steps:
if step.type == "thought":
print("Thought summary:")
for content_block in step.summary:
if content_block.type == "text":
print(content_block.text)
print()
elif step.type == "model_output":
for content_block in step.content:
if content_block.type == "text":
print("Answer:")
print(content_block.text)
print()
JavaScript
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
const interaction = await client.interactions.create({
model: "gemini-3-flash-preview",
input: "What is the sum of the first 50 prime numbers?",
generationConfig: {
thinkingSummaries: "auto"
}
});
for (const step of interaction.steps) {
if (step.type === "thought") {
console.log("Thought summary:");
for (const contentBlock of step.summary) {
if (contentBlock.type === "text") console.log(contentBlock.text);
}
} else if (step.type === "model_output") {
for (const contentBlock of step.content) {
if (contentBlock.type === "text") {
console.log("Answer:");
console.log(contentBlock.text);
}
}
}
}
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "gemini-3-flash-preview",
"input": "What is the sum of the first 50 prime numbers?",
"generationConfig": {
"thinkingSummaries": "auto"
}
}'
Streaming dengan pemikiran
Gunakan streaming untuk menerima ringkasan pemikiran inkremental selama pembuatan. Tindakan ini akan menampilkan ringkasan inkremental bergulir saat ringkasan tersebut dibuat:
Python
from google import genai
client = genai.Client()
prompt = """
Alice, Bob, and Carol each live in a different house on the same street: red, green, and blue.
Alice does not live in the red house.
Bob does not live in the green house.
Carol does not live in the red or green house.
Which house does each person live in?
"""
thoughts = ""
answer = ""
stream = client.interactions.create(
model="gemini-3-flash-preview",
input=prompt,
generation_config={
"thinking_summaries": "auto"
},
stream=True
)
thoughts = ""
answer = ""
for event in stream:
if event.event_type == "step.delta":
if event.delta.type == "thought":
if not thoughts:
print("Thinking...")
summary_text = getattr(event.delta, 'text', '')
print(f"[Thought] {summary_text}", end="")
thoughts += summary_text
elif event.delta.type == "text" and event.delta.text:
if not answer:
print("\nAnswer:")
print(event.delta.text, end="")
answer += event.delta.text
JavaScript
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
const prompt = `Alice, Bob, and Carol each live in a different house on the same
street: red, green, and blue. Alice does not live in the red house.
Bob does not live in the green house.
Carol does not live in the red or green house.
Which house does each person live in?`;
let thoughts = "";
let answer = "";
const stream = await client.interactions.create({
model: "gemini-3-flash-preview",
input: prompt,
generationConfig: {
thinkingSummaries: "auto"
},
stream: true
});
for await (const event of stream) {
if (event.type === "step.delta") {
if (event.delta.type === "thought") {
if (!thoughts) console.log("Thinking...");
process.stdout.write(`[Thought] ${event.delta.text || ""}`);
thoughts += event.delta.text || "";
} else if (event.delta.type === "text" && event.delta.text) {
if (!answer) console.log("\nAnswer:");
process.stdout.write(event.delta.text);
answer += event.delta.text;
}
}
}
Pemikiran kontrol
Model Gemini terlibat dalam pemikiran dinamis secara default, dengan otomatis menyesuaikan jumlah upaya penalaran berdasarkan kompleksitas permintaan. Namun, Anda dapat mengontrol perilaku ini menggunakan parameter konfigurasi.
Tingkat penalaran (Gemini 3)
Parameter thinking_level, yang direkomendasikan untuk model Gemini 3 dan yang lebih baru,
memungkinkan Anda mengontrol perilaku penalaran.
| Tingkat Penalaran | Gemini 3.1 Pro | Gemini 3 Pro (Tidak digunakan lagi) | Gemini 3 Flash | Deskripsi |
|---|---|---|---|---|
minimal |
Tidak didukung | Tidak didukung | Didukung | 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. Perhatikan, minimal tidak menjamin bahwa pemikiran tidak aktif. |
low |
Didukung | Didukung | Didukung | Meminimalkan latensi dan biaya. Paling cocok untuk mengikuti petunjuk, chat, atau aplikasi dengan throughput tinggi. |
medium |
Didukung | Tidak didukung | Didukung | Pemikiran yang seimbang untuk sebagian besar tugas. |
high |
Didukung (Default, Dinamis) | Didukung (Default, Dinamis) | Didukung (Default, Dinamis) | Memaksimalkan kedalaman penalaran. Model mungkin memerlukan waktu yang jauh lebih lama untuk mencapai token output pertama (non-pemikiran), tetapi outputnya akan lebih beralasan. |
Python
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3-flash-preview",
input="Provide a list of 3 famous physicists and their key contributions",
generation_config={
"thinking_level": "low"
}
)
print(interaction.steps[-1].content[0].text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
const interaction = await client.interactions.create({
model: "gemini-3-flash-preview",
input: "Provide a list of 3 famous physicists and their key contributions",
generationConfig: {
thinkingLevel: "low"
}
});
console.log(interaction.steps.at(-1).content[0].text);
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "gemini-3-flash-preview",
"input": "Provide a list of 3 famous physicists and their key contributions",
"generation_config": {
"thinking_level": "low"
}
}'
Anda tidak dapat menonaktifkan penalaran untuk Gemini 3 Pro. Gemini 3 Flash juga tidak mendukung
penonaktifan pemikiran penuh, tetapi setelan minimal berarti model kemungkinan tidak akan
berpikir (meskipun masih berpotensi bisa).
Tanda tangan pikiran
Gemini API bersifat stateless, sehingga model memperlakukan setiap permintaan API secara independen dan tidak memiliki akses ke konteks pemikiran dari giliran sebelumnya dalam interaksi multi-giliran.
Untuk memungkinkan pemeliharaan konteks pemikiran di seluruh interaksi multi-giliran, Gemini menampilkan tanda tangan pemikiran, yang merupakan representasi terenkripsi dari proses pemikiran internal model.
- Model Gemini 2.5 menampilkan tanda tangan pemikiran saat fitur penalaran diaktifkan dan permintaan mencakup panggilan fungsi, khususnya deklarasi fungsi.
- Model Gemini 3 dapat menampilkan tanda tangan pemikiran untuk semua jenis bagian. Sebaiknya Anda selalu meneruskan semua tanda tangan yang diterima, tetapi hal ini diperlukan untuk tanda tangan panggilan fungsi. Baca halaman Tanda Tangan Pikiran untuk mempelajari lebih lanjut.
- Tanda tangan ditampilkan dari model dalam bagian lain dalam respons, misalnya panggilan fungsi atau bagian teks. Kembalikan seluruh respons dengan semua bagiannya ke model pada giliran berikutnya.
- Jangan menggabungkan bagian dengan tanda tangan.
- Jangan menggabungkan satu bagian dengan tanda tangan dengan bagian lain tanpa tanda tangan.
Harga
Jika penalaran diaktifkan, harga respons adalah jumlah token output dan token penalaran. Anda bisa mendapatkan total jumlah token pemikiran yang dihasilkan dari kolom total_thought_tokens.
Python
# ...
print("Thoughts tokens:", interaction.usage.total_thought_tokens)
print("Output tokens:", interaction.usage.total_output_tokens)
JavaScript
// ...
console.log(`Thoughts tokens: ${interaction.usage.totalThoughtTokens}`);
console.log(`Output tokens: ${interaction.usage.totalOutputTokens}`);
Model pemikiran menghasilkan pemikiran lengkap untuk meningkatkan kualitas respons akhir, lalu menghasilkan ringkasan untuk memberikan insight tentang proses pemikiran. Harga didasarkan pada token pemikiran penuh yang dibutuhkan model untuk dibuat, meskipun hanya ringkasan yang dihasilkan dari API.
Anda dapat mempelajari lebih lanjut token dalam panduan Penghitungan token.
Praktik terbaik
Bagian ini mencakup panduan untuk menggunakan model berpikir secara efisien.
Debug dan arahkan
Tinjau penalaran: Jika Anda tidak mendapatkan respons yang diharapkan dari model pemikiran, Anda dapat menganalisis ringkasan pemikiran Gemini dengan cermat. Anda dapat melihat cara model memecah tugas dan mencapai kesimpulannya, serta menggunakan informasi tersebut untuk mengoreksi hasil yang benar.
Memberikan panduan dalam penalaran: Jika Anda menginginkan output yang sangat panjang, Anda dapat memberikan panduan dalam perintah untuk membatasi jumlah pemikiran yang digunakan model. Dengan begitu, Anda dapat mencadangkan lebih banyak output token untuk respons Anda.
Kompleksitas tugas
- Tugas mudah (Pemikiran dapat DINONAKTIFKAN): Untuk permintaan langsung yang tidak memerlukan penalaran yang kompleks, pemikiran tidak diperlukan. Contoh:
- "Di mana DeepMind didirikan?"
- "Apakah email ini meminta rapat atau hanya memberikan informasi?"
- Tugas sedang (Default/Beberapa pemikiran): Banyak permintaan umum yang diuntungkan dari
pemrosesan langkah demi langkah atau pemahaman yang lebih mendalam. Contoh:
- Menganalogikan fotosintesis dan tumbuh dewasa.
- Bandingkan dan bedakan mobil listrik dan mobil hibrida.
- Tugas sulit (Kemampuan berpikir maksimum): Untuk tantangan yang benar-benar kompleks,
sebaiknya tetapkan anggaran penalaran yang tinggi. Jenis tugas ini mengharuskan model menggunakan kemampuan penalaran dan perencanaannya secara penuh. Contoh:
- Selesaikan soal 1 di AIME 2025: Temukan jumlah semua basis bilangan bulat b > 9...
- Tulis kode Python untuk aplikasi web yang memvisualisasikan data pasar saham real-time, termasuk autentikasi pengguna. Buat seefisien mungkin.
Model yang didukung
| Model | Pemikiran Default | Level yang Didukung |
|---|---|---|
| gemini-3.1-pro-preview | Aktif (tinggi) | rendah, sedang, tinggi |
| gemini-3-flash-preview | Aktif (tinggi) | minimal, rendah, sedang, tinggi |
| gemini-3-pro-preview | Aktif (tinggi) | rendah, tinggi |
| gemini-2.5-pro | Aktif | Anggaran: 128-32768 |
| gemini-2.5-flash | Aktif | Anggaran: 0-24576 |
| gemini-2.5-flash-lite | Nonaktif | Anggaran: 0-24576 |
Model Penalaran berfungsi dengan semua alat dan kemampuan Gemini. Hal ini memungkinkan model berinteraksi dengan sistem eksternal, menjalankan kode, atau mengakses informasi real-time, dengan menggabungkan hasilnya ke dalam penalaran mereka.
Langkah berikutnya
- Pembuatan teks: Respons teks dasar
- Panggilan fungsi: Terhubung ke alat
- Tanda tangan pemikiran: Mengelola tanda tangan dalam multi-turn
- Panduan Gemini 3: Fitur khusus model