Gemini düşünüyor
Gemini 3 ve 2.5 serisi modeller, akıl yürütme ve çok adımlı planlama yeteneklerini önemli ölçüde geliştiren dahili bir "düşünme süreci" kullanır. Bu sayede kodlama, ileri matematik ve veri analizi gibi karmaşık görevlerde oldukça etkili olurlar.
Bu kılavuzda, Gemini API'yi kullanarak Gemini'ın düşünme özellikleriyle nasıl çalışacağınız gösterilmektedir.
Düşünerek içerik üretme
Düşünme modeliyle istek başlatmak, diğer içerik oluşturma isteklerine benzer. Temel fark, model alanında düşünme desteği olan modellerden birini belirtmektir:
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."
}'
Düşünce özetleri
Düşünce özetleri, modelin dahili akıl yürütme süreci hakkında bilgi verir.
Varsayılan olarak yalnızca son çıktı döndürülür. thinking_summaries ile düşünce özetlerini etkinleştirebilirsiniz:
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"
}
}'
Düşünerek izleme
Oluşturma sırasında artımlı düşünce özetleri almak için akışı kullanın. Bu işlem, oluşturuldukça artımlı özetler döndürür:
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;
}
}
}
Kontrollü düşünme
Gemini modelleri, varsayılan olarak dinamik düşünme özelliğini kullanır ve isteğin karmaşıklığına göre akıl yürütme çabasını otomatik olarak ayarlar. Ancak bu davranışı yapılandırma parametrelerini kullanarak kontrol edebilirsiniz.
Düşünme düzeyleri (Gemini 3)
Gemini 3 modelleri ve sonraki sürümler için önerilen thinking_level parametresi, akıl yürütme davranışını kontrol etmenizi sağlar.
| Düşünme Düzeyi | Gemini 3.1 Pro | Gemini 3 Pro (Kullanımdan kaldırıldı) | Gemini 3 Flash | Açıklama |
|---|---|---|---|---|
minimal |
Desteklenmiyor | Desteklenmiyor | Destekleniyor | Çoğu sorgu için "düşünme" ayarıyla eşleşir. Model, karmaşık kodlama görevlerinde çok az düşünebilir. Sohbet veya yüksek gönderim hacmine sahip uygulamalarda gecikmeyi en aza indirir. minimal, düşünme özelliğinin kapalı olduğunu garanti etmez. |
low |
Destekleniyor | Destekleniyor | Destekleniyor | Gecikmeyi ve maliyeti en aza indirir. Talimatları uygulama, sohbet veya yüksek işleme hızlı uygulamalar için en iyisidir. |
medium |
Destekleniyor | Desteklenmiyor | Destekleniyor | Çoğu görev için dengeli düşünme |
high |
Destekleniyor (Varsayılan, Dinamik) | Destekleniyor (Varsayılan, Dinamik) | Destekleniyor (Varsayılan, Dinamik) | Akıl yürütme derinliğini en üst düzeye çıkarır. Modelin ilk (düşünme içermeyen) çıkış jetonuna ulaşması önemli ölçüde daha uzun sürebilir ancak çıkış daha dikkatli bir şekilde gerekçelendirilir. |
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"
}
}'
Gemini 3 Pro'da düşünme özelliğini devre dışı bırakamazsınız. Gemini 3 Flash da tam düşünme kapatma özelliğini desteklemez ancak minimal ayarı, modelin düşünmeyeceği anlamına gelir (ancak yine de düşünebilir).
Düşünce imzaları
Gemini API durum bilgisi içermez. Bu nedenle model, her API isteğini bağımsız olarak ele alır ve çok adımlı etkileşimlerde önceki adımlardaki düşünce bağlamına erişemez.
Çok turlu etkileşimlerde düşünce bağlamının korunmasını sağlamak için Gemini, modelin dahili düşünce sürecinin şifrelenmiş temsilleri olan düşünce imzalarını döndürür.
- Gemini 2.5 modelleri, düşünme etkinleştirildiğinde ve istek işlev çağrısı, özellikle de işlev bildirimleri içerdiğinde düşünce imzaları döndürür.
- Gemini 3 modelleri, her tür parça için düşünce imzaları döndürebilir. Tüm imzaları her zaman alındığı şekilde geri geçirmenizi öneririz ancak bu, işlev çağrısı imzaları için zorunludur. Daha fazla bilgi için Düşünce İmzaları sayfasını inceleyin.
- İmzalar, yanıttaki diğer bölümlerle birlikte modelden döndürülür. Örneğin, işlev çağrısı veya metin bölümleri. Yanıtın tamamını sonraki dönüşlerde tüm parçalarıyla birlikte modele geri gönderin.
- İmzalı bölümleri birleştirmeyin.
- Bir bölümü imzalı, diğer bölümü imzasız olarak birleştirmeyin.
Fiyatlandırma
Düşünme özelliği etkinleştirildiğinde yanıt fiyatlandırması, çıkış jetonlarının ve düşünme jetonlarının toplamıdır. Oluşturulan düşünce jetonlarının toplam sayısını total_thought_tokens alanından alabilirsiniz.
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}`);
Düşünme modelleri, nihai yanıtın kalitesini artırmak için tam düşünceler üretir ve ardından düşünce süreci hakkında bilgi vermek için özetler oluşturur. Fiyatlandırma, API'den yalnızca özet çıkışı yapılmasına rağmen modelin oluşturması gereken tam düşünce jetonlarına göre belirlenir.
Jetonlar hakkında daha fazla bilgiyi Jeton sayımı kılavuzunda bulabilirsiniz.
En iyi uygulamalar
Bu bölümde, düşünce modellerini verimli bir şekilde kullanmayla ilgili yönergeler yer almaktadır.
Hata ayıklama ve yönlendirme
Akıl yürütmeyi inceleme: Düşünme modellerinden beklediğiniz yanıtı alamadığınızda Gemini'ın düşünce özetlerini dikkatlice analiz etmek faydalı olabilir. Görevi nasıl parçaladığını ve sonuca nasıl ulaştığını görebilir, bu bilgileri kullanarak doğru sonuçlara ulaşmak için düzeltmeler yapabilirsiniz.
Gerekçelendirme konusunda rehberlik etme: Özellikle uzun bir çıktı almak istiyorsanız isteminizde rehberlik sağlayarak modelin düşünme miktarını sınırlayabilirsiniz. Bu sayede, yanıtınız için daha fazla jeton çıktısı ayırabilirsiniz.
Görevin karmaşıklığı
- Kolay görevler (Düşünme devre dışı olabilir): Karmaşık akıl yürütme gerektirmeyen basit isteklerde düşünme gerekli değildir. Örnekler:
- "DeepMind nerede kuruldu?"
- "Bu e-postada toplantı mı isteniyor yoksa sadece bilgi mi veriliyor?"
- Orta zorluktaki görevler (Varsayılan/Biraz düşünme): Birçok yaygın istek, adım adım işleme veya daha derin bir anlayıştan yararlanır. Örnekler:
- Fotosentez ve büyüme arasındaki benzerlikleri açıklayın.
- Elektrikli arabalar ile hibrit arabaları karşılaştırın ve aralarındaki farkları belirtin.
- Zor görevler (Maksimum düşünme kapasitesi): Gerçekten karmaşık zorluklar için yüksek bir düşünme bütçesi ayarlamanızı öneririz. Bu tür görevler, modelin tüm muhakeme ve planlama yeteneklerini kullanmasını gerektirir. Örnekler:
- AIME 2025'teki 1. problemi çözün: Tüm tam sayı tabanlarının toplamını bulun. b > 9...
- Kullanıcı kimlik doğrulaması da dahil olmak üzere gerçek zamanlı borsa verilerini görselleştiren bir web uygulaması için Python kodu yazın. Mümkün olduğunca verimli hale getirin.
Desteklenen modeller
| Model | Varsayılan Düşünme | Desteklenen Seviyeler |
|---|---|---|
| gemini-3.1-pro-preview | Açık (yüksek) | düşük, orta, yüksek |
| gemini-3-flash-preview | Açık (yüksek) | en az, düşük, orta, yüksek |
| gemini-3-pro-preview | Açık (yüksek) | düşük, yüksek |
| gemini-2.5-pro | Açık | Bütçe: 128-32768 |
| gemini-2.5-flash | Açık | Bütçe: 0-24576 |
| gemini-2.5-flash-lite | Kapalı | Bütçe: 0-24576 |
Düşünen modeller, Gemini'ın tüm araçları ve özellikleriyle çalışır. Bu sayede modeller, harici sistemlerle etkileşime girebilir, kod yürütebilir veya gerçek zamanlı bilgilere erişebilir ve sonuçları muhakemelerine dahil edebilir.
Sırada ne var?
- Metin oluşturma: Temel metin yanıtları
- İşlev çağırma: Araçlara bağlanma
- Düşünce imzaları: Çok turlu görüşmelerde imzaları yönetme
- Gemini 3 rehberi: Modele özgü özellikler