Tüm Yazılar
KategoriAI
Okuma Süresi
18 dk okuma
Yayın Tarihi
...
Kelime Sayısı
2.644kelime

Kahveni hazırla - bu içerikli bir makale!

Claude Extended Thinking ile chain-of-thought reasoning, thinking budget yönetimi ve matematik performansı artışı. Derin düşünme modunu verimli kullanma.

Claude Extended Thinking: AI'ın Derin Düşünme Modu

# Claude Extended Thinking: AI'nin Derin Düşünme Modu

Bir matematik problemini çözmeye çalıştığını düşün. Basit toplama-çıkarma için hemen cevap verirsin, ama karmaşık bir diferansiyel denklem için adım adım düşünmen gerekir. Claude'un Extended Thinking modu tam olarak bu prensiple çalışıyor: karmaşık problemlerde adım adım, yapılandırilmis bir düşünme süreci izleyerek çok daha doğru sonuçlara ulaşıyor. Eger daha önce Claude Code'un otonom kodlama yeteneklerini denediysen, Extended Thinking'in bu deneyimi nasıl bir üst seviyeye taşıyabileceğini merak ediyor olabilirsin. Thinking budget'i nasıl optimize edeceğin, chain-of-thought reasoning'in matematik ve kodlamada yarattığı farkı ve gerçek dünya kullanım senaryolarını bu rehberde derinlemesine keşfedeceksin.

Not: Bu rehber Anthropic'in resmi dokümantasyonu, API referansları ve gerçek kullanım deneyimlerine dayanmaktadır. Tum kod örnekleri 2026 itibariyle günceldir.

İçindekiler


1. Extended Thinking Nedir?

Extended Thinking, Claude'un karmaşık problemleri çözme sırasında ic monolog yürütmesini sağlayan bir özelliktir. Normal modda Claude doğrudan cevap üretirken, Extended Thinking modunda önce "düşünme tokenlerini" kullanarak problemi analiz eder, hipotezler oluşturur, bunları doğrular ve ancak ondan sonra nihai cevabi verir.

Temel Çalışma Prensibi

Standart LLM çalışma şekli su sekildedir:

swift
1Input → Model → Output (tek adım)

Extended Thinking ise su adımlari izler:

swift
1Input → Düşünme Aşamasi (reasoning tokens) → Doğrulama → Output

Bu yaklaşım, özellikle su alanlarda büyük fark yaratır:

  • Matematik problemleri: Çok adımlı hesaplamalarda %40'a varan doğruluk artisi
  • Kod yazımı: Karmaşık algoritmalarda hata oranını %60 azaltma
  • Mantık yürütme: Paradokslar ve edge case'lerde tutarlı cevaplar
  • Analitik görevler: Çok değişkenli karar verme süreçlerinde daha iyi sonuçlar
💡 Pro Tip: Extended Thinking, kısa ve basit sorularda gereksiz overhead yaratır. "Türkiye'nin baskenti neresi?" gibi sorular için standart mod yeterlidir. Karmaşık analiz, kodlama ve matematik için Extended Thinking'i aktif et.

Düşünme Tokenleri (Thinking Tokens)

Extended Thinking'in temelinde "thinking tokens" kavrami yatar. Bu tokenler, kullanıcıya gösterI ama modelin iç düşünme sürecini oluşturan ara adımlardır. Claude, bu tokenler aracılığıyla:

  1. Problem ayrışması yapar — büyük problemi alt problemlere böler
  2. Hipotez oluşturur — olasi çözümleri sırala
  3. Doğrulama yapar — her hipotezi test eder
  4. Sentez gerçekleştirir — en iyi çözümu seçer ve sunar
typescript
1// Extended Thinking API çağrısı örneği
2const response = await anthropic.messages.create({
3 model: 'claude-sonnet-4-20250514',
4 max_tokens: 16000,
5 thinking: {
6 type: 'enabled',
7 budget_tokens: 10000 // düşünme için ayrılmış token bütçesi
8 },
9 messages: [{
10 role: 'user',
11 content: 'Bu recursive fonksiyonun zaman karmaşıklığını analiz et...'
12 }]
13});
14 
15// Düşünme sürecini ve sonuçu ayrı ayrı al
16const thinkingBlock = response.content.find(b => b.type === 'thinking');
17const textBlock = response.content.find(b => b.type === 'text');
18 
19console.log('Düşünme süreci:', thinkingBlock?.thinking);
20console.log('Nihai cevap:', textBlock?.text);

2. Chain-of-Thought Reasoning Mekanizması

Chain-of-Thought (CoT), Extended Thinking'in kalbindeki mekanizmadir. Bu yaklaşım, 2022'de Google Brain araştırmacıları tarafından popülerleşen bir teknik olup, LLM'lerin karmaşık görevlerde performansını önemli ölçüde artırmıştır.

CoT Adımlari

Claude'un Extended Thinking'de takip ettiği tipik CoT adımlari:

python
1# Örnek: Claude'un ic düşünme süreci (thinking tokens)
2"""
3Adım 1: Problemi anlama
4- Kullanıcı bir binary tree'de en uzun yol bulmami istiyor
5- Bu klasik "diameter of binary tree" problemi
6 
7Adım 2: Yaklaşım seçim
8- DFS ile her node'un sol ve sağ derinliğini hesaplayabilirim
9- Her node için diameter = sol_derinlik + sag_derinlik
10- Global maximum'u takip etmem gerekiyor
11 
12Adım 3: Edge case kontrolleri
13- Bos ağaç → 0
14- Tek node → 0
15- Sadece sol/sağ alt ağaç → derinlik
16 
17Adım 4: Çözümu kodlama
18- Recursive DFS fonksiyonu yaziyorum
19- Her çağırımda max_diameter güncelliyorum
20- Time: O(n), Space: O(h) - h ağaç yüksek
21 
22Adım 5: Doğrulama
23- Örnek ağaç ile test ediyorum: [1,2,3,4,5]
24- Beklenen diameter: 3 (4→2→1→3 veya 5→2→1→3)
25- Kodumun çıktısı: 3 ✓
26"""

Reasoning Tokenlerin Fiyatlandırması

Extended Thinking'de fiyatlandırma önemli bir faktör. Thinking tokenleri, standart output token fiyatiyla ücretlendirilir ancak sonuca dahil edilmez:

Özellik
Standart Mod
Extended Thinking
Input token fiyati
$3/1M
$3/1M
Output token fiyati
$15/1M
$15/1M
Thinking token fiyati
-
$15/1M (output ile aynı)
Ortalama cevap süresi
2-5 saniye
10-60 saniye
Doğruluk (matematik)
%72
%95+
Doğruluk (kodlama)
%78
%92+
💡 Pro Tip: Thinking token bütçesini görevin karmaşıklığına göre ayarla. Basit bir refactoring için 5K token yeterken, karmaşık bir sistem tasarımı için 20K+ token gerekebilir.

3. Thinking Budget Yönetimi

Thinking budget, Extended Thinking'in en kritik parametresidir. Çok düşük ayarlarsan model yeteri kadar düşünemez, çok yüksek ayarlarsan gereksiz maliyet ve gecikme oluşur.

Budget Stratejileri

typescript
1// Görev tipine göre dinamik budget ayarlama
2function getThinkingBudget(taskType: string): number {
3 const budgets: Record<string, number> = {
4 'simple_question': 0, // Extended Thinking gereksiz
5 'code_review': 5000, // Orta karmaşıklık
6 'algorithm_design': 10000, // Yüksek karmaşıklık
7 'system_architecture': 15000, // Çok yüksek karmaşıklık
8 'math_proof': 20000, // Maksimum düşünme gerekli
9 'debugging_complex': 12000, // Karmaşık hata ayıklama
10 };
11 return budgets[taskType] ?? 8000; // Varsayılan: 8K
12}
13 
14// Kullanım
15const budget = getThinkingBudget('algorithm_design');
16const response = await anthropic.messages.create({
17 model: 'claude-sonnet-4-20250514',
18 max_tokens: 16000,
19 thinking: {
20 type: 'enabled',
21 budget_tokens: budget
22 },
23 messages: [{ role: 'user', content: prompt }]
24});

Budget Asimi ve Kesme Davranisi

Budget limitine ulaşıldığında Claude düşünmeyi keser ve mevcut bilgiyle cevap üretir. Bu durum su sorunlara yol açabilir:

  • Eksik analiz: Tum edge case'ler değerlendirilmemiş olabilir
  • Yanlış sonuç: Doğrulama adım atlanmış olabilir
  • Tutarsızlik: Düşünme zinciri yarim kalmış olabilir

Bu durum kaçınmak için:

  1. Iteratif yaklaşım kullan — önce düşük budget ile dene, yetersizse artır
  2. Streaming kullan — düşünme sürecini canlı izle
  3. Fallback mekanizması kur — budget aşımında yeniden dene
typescript
1// Streaming ile düşünme sürecini izleme
2const stream = anthropic.messages.stream({
3 model: 'claude-sonnet-4-20250514',
4 max_tokens: 16000,
5 thinking: { type: 'enabled', budget_tokens: 10000 },
6 messages: [{ role: 'user', content: prompt }]
7});
8 
9for await (const event of stream) {
10 if (event.type === 'content_block_delta') {
11 if (event.delta.type === 'thinking_delta') {
12 console.log('[Düşünme]', event.delta.thinking);
13 } else if (event.delta.type === 'text_delta') {
14 console.log('[Cevap]', event.delta.text);
15 }
16 }
17}

4. Matematik ve Kodlama Performansı

Extended Thinking'in en parlak olduğu alan, çok adımlı mantık yürütme gerektiren görevlerdir. Özellikle matematik ve kodlama benchmark'larinda dramatik iyileşme görulur.

Matematik Benchmark'lari

MATH, GSM8K ve AIME gibi standart benchmark'larda Extended Thinking'in etkileri:

Benchmark
Standart
Extended Thinking
İyileşme
MATH (Level 5)
%68
%93
+25 puan
GSM8K
%92
%98
+6 puan
AIME 2024
%45
%78
+33 puan
HumanEval
%82
%95
+13 puan
SWE-bench
%35
%62
+27 puan

Kodlama Performansı Örneği

Bir iOS uygulamasında karmaşık bir cache mekanizması tasarlamak istediğini düşün. Extended Thinking bu görevi su şekilde ele alir:

swift
1// Claude Extended Thinking'in üretebildiği karmaşık cache çözümu
2// Düşünme süreci: LRU + TTL + Memory pressure + Disk persistence
3 
4actor SmartCache<Key: Hashable & Sendable, Value: Sendable> {
5 private struct CacheEntry {
6 let value: Value
7 let createdAt: Date
8 let ttl: TimeInterval
9 var lastAccessedAt: Date
10 var accessCount: Int
11 
12 var isExpired: Bool {
13 Date().timeIntervalSince(createdAt) > ttl
14 }
15 }
16 
17 private var storage: [Key: CacheEntry] = [:]
18 private let maxSize: Int
19 private let defaultTTL: TimeInterval
20 
21 init(maxSize: Int = 100, defaultTTL: TimeInterval = 300) {
22 self.maxSize = maxSize
23 self.defaultTTL = defaultTTL
24 }
25 
26 func get(_ key: Key) -> Value? {
27 guard var entry = storage[key], !entry.isExpired else {
28 storage.removeValue(forKey: key)
29 return nil
30 }
31 entry.lastAccessedAt = Date()
32 entry.accessCount += 1
33 storage[key] = entry
34 return entry.value
35 }
36 
37 func set(_ key: Key, value: Value, ttl: TimeInterval? = nil) {
38 if storage.count >= maxSize {
39 evictLeastRecentlyUsed()
40 }
41 storage[key] = CacheEntry(
42 value: value,
43 createdAt: Date(),
44 ttl: ttl ?? defaultTTL,
45 lastAccessedAt: Date(),
46 accessCount: 0
47 )
48 }
49 
50 private func evictLeastRecentlyUsed() {
51 guard let lruKey = storage.min(by: {
52 $0.value.lastAccessedAt < $1.value.lastAccessedAt
53 })?.key else { return }
54 storage.removeValue(forKey: lruKey)
55 }
56}

Bu örnekte Claude, Extended Thinking sayesinde su detayları düşünüp uygulamıştır:

  • Actor kullanımi: ile thread safety
  • TTL mekanizması: ile otomatik expire
  • LRU eviction: ile bellek yönetimi
  • Access tracking: ile akıllı önceliklendirme

Swift ile Async/Await ve iOS Security yazılarinda da benzer karmaşık çözümler için Extended Thinking kullanımını görebilirsin. Ayrıca Claude Code Hooks ile otomasyon yazımızda bu süreci CI/CD'ye entegre etmeyi anlatiyoruz.


5. API Entegrasyonu ve Kod Örnekleri

Extended Thinking'i kendi uygulamanda kullanmak için Anthropic API entegrasyonu gerekir. Istiyor bir iOS uygulamasında, istiyor bir backend servisinde kullanabilirsin.

iOS Uygulamasında Entegrasyon

swift
1// iOS'ta Claude Extended Thinking API çağrısı
2import Foundation
3 
4struct ClaudeThinkingService {
5 private let apiKey: String
6 private let baseURL = "https://api.anthropic.com/v1/messages"
7 
8 struct ThinkingRequest: Encodable {
9 let model: String
10 let max_tokens: Int
11 let thinking: ThinkingConfig
12 let messages: [Message]
13 
14 struct ThinkingConfig: Encodable {
15 let type: String
16 let budget_tokens: Int
17 }
18 
19 struct Message: Encodable {
20 let role: String
21 let content: String
22 }
23 }
24 
25 func analyzeCode(_ code: String, budget: Int = 10000) async throws -> String {
26 var request = URLRequest(url: URL(string: baseURL)!)
27 request.httpMethod = "POST"
28 request.setValue("application/json", forHTTPHeaderField: "Content-Type")
29 request.setValue(apiKey, forHTTPHeaderField: "x-api-key")
30 request.setValue("2023-06-01", forHTTPHeaderField: "anthropic-version")
31 
32 let body = ThinkingRequest(
33 model: "claude-sonnet-4-20250514",
34 max_tokens: 16000,
35 thinking: .init(type: "enabled", budget_tokens: budget),
36 messages: [.init(role: "user", content: "Bu kodu analiz et: \(code)")]
37 )
38 
39 request.httpBody = try JSONEncoder().encode(body)
40 
41 let (data, _) = try await URLSession.shared.data(for: request)
42 // Response parsing...
43 return String(data: data, encoding: .utf8) ?? ""
44 }
45}

Backend Proxy Pattern

Mobil uygulamalarda API anahtarını doğrudan kullanma. Backend proxy üzerinden çağır:

typescript
1// Express.js proxy endpoint
2import express from 'express';
3import Anthropic from '@anthropic-ai/sdk';
4 
5const router = express.Router();
6const anthropic = new Anthropic();
7 
8router.post('/api/analyze', async (req, res) => {
9 const { prompt, taskType } = req.body;
10 
11 // Rate limiting ve authentication kontrolu
12 // ...
13 
14 const budget = getThinkingBudget(taskType);
15 
16 try {
17 const response = await anthropic.messages.create({
18 model: 'claude-sonnet-4-20250514',
19 max_tokens: 16000,
20 thinking: { type: 'enabled', budget_tokens: budget },
21 messages: [{ role: 'user', content: prompt }]
22 });
23 
24 // Thinking ve text bloklarını ayir
25 const thinking = response.content
26 .filter(b => b.type === 'thinking')
27 .map(b => b.thinking)
28 .join('\n');
29 
30 const text = response.content
31 .filter(b => b.type === 'text')
32 .map(b => b.text)
33 .join('\n');
34 
35 res.json({
36 answer: text,
37 reasoning: thinking,
38 usage: response.usage
39 });
40 } catch (error) {
41 res.status(500).json({ error: 'Analiz başarısız' });
42 }
43});
💡 Pro Tip: Extended Thinking cevapları standart cevaplardan 3-10x daha uzun sürebilir. Mobil uygulamada kullanıcıya loading state göster ve opsiyonel olarak streaming kullan.

6. Standart vs Extended Thinking Karşılaştırmasi

Her görev için Extended Thinking gerekli değil. Doğru modu seçmek hem maliyet hem performans açısından kritiktir.

Ne Zaman Extended Thinking Kullan?

Senaryo
Standart Mod
Extended Thinking
Önerimiz
Basit soru-cevap
✅ Yeterli
❌ Gereksiz
Standart
Kod refactoring
✅ Çoğu durum
✅ Karmaşık refactor
Duruma göre
Algoritma tasarımı
⚠️ Hatali olabilir
✅ Çok daha iyi
Extended
Matematik ispati
❌ Yetersiz
✅ Kesinlikle
Extended
Yazı yazma
✅ Yeterli
⚠️ Over-thinking
Standart
Sistem mimarisi
⚠️ Yüzeysel
✅ Derinlemesine
Extended
Bug tespit
⚠️ Basit bug'lar
✅ Karmaşık bug'lar
Duruma göre
Güvenlik analizi
⚠️ Temel kontrol
✅ Kapsamlı audit
Extended

Maliyet-Performans Analizi

swift
1Örnek: 1000 istek/gun senaryosu
2 
3Standart Mod:
4- Ortalama input: 2K token × $3/1M = $0.006
5- Ortalama output: 1K token × $15/1M = $0.015
6- Günlük maliyet: 1000 × ($0.006 + $0.015) = $21
7 
8Extended Thinking (10K budget):
9- Ortalama input: 2K token × $3/1M = $0.006
10- Ortalama output: 1K token × $15/1M = $0.015
11- Ortalama thinking: 8K token × $15/1M = $0.12
12- Günlük maliyet: 1000 × ($0.006 + $0.015 + $0.12) = $141
13 
14Fark: $120/gun (%670 artis)

Bu nedenle, her isteği Extended Thinking'e yonlendirmek yerine, görev karmaşıklığına göre dinamik routing yap.

CI/CD Pipeline yazımızda otomatik test süreçlerinde benzer maliyet optimizasyonu stratejilerini bulabilirsin. MCP protokolu ve Claude Code IDE entegrasyonu yazılarinda da Extended Thinking'i farklı ortamlarda kullanma senaryolarını ele aldık.


7. Mobil Uygulamalarda Kullanım Senaryoları

Extended Thinking, mobil uygula geliştirme sürecinde birçok noktada hayat kurtarici olabilir.

Senaryo 1: Otomatik Kod Inceleme

typescript
1// PR review için Extended Thinking kullanımi
2async function reviewPullRequest(diff: string): Promise<ReviewResult> {
3 const response = await anthropic.messages.create({
4 model: 'claude-sonnet-4-20250514',
5 max_tokens: 16000,
6 thinking: { type: 'enabled', budget_tokens: 15000 },
7 messages: [{
8 role: 'user',
9 content: `Bu PR diff'ini iOS best practices açısından incele:
10 - Memory leak riski var mi?
11 - Thread safety ihlali var mi?
12 - Performance darboğazları var mi?
13 - SOLID prensipleri uygulanmış mi?
14 
15 Diff:
16 ${diff}`
17 }]
18 });
19 
20 return parseReviewResponse(response);
21}

Senaryo 2: Crash Log Analizi

Karmaşık crash log'larini analiz etmek için Extended Thinking mukemmeldir. Model, stack trace'i adım adım inceleyerek root cause'u tespit edebilir.

Senaryo 3: Mimari Karar Destek

Yeni bir feature eklerken mimari kararlar almak için Extended Thinking'i kullanabilirsin. Model, mevcut mimarını analiz edip en uygun yaklaşımi önerebilir.

SwiftUI Performance ve Clean Architecture yazılarinda bu tip mimari karar süreçlerini detaylı inceledik.


8. Best Practices ve Optimizasyon

Prompt Muhendisligi

Extended Thinking ile en iyi sonuçları almak için prompt'larini optimize et:

typescript
1// Kotu prompt
2const badPrompt = "Bu kodu düzelt";
3 
4// Iyi prompt (Extended Thinking için optimize)
5const goodPrompt = `
6Bu Swift kodunu aşağıdaki kriterlere göre analiz et ve iyileştir:
7 
81. Memory management: Retain cycle var mi?
92. Concurrency: Actor isolation doğru mu?
103. Performance: Gereksiz allocation var mi?
114. Error handling: Tum hata durum ele alınmış mi?
12 
13Her kriter için:
14- Mevcut durum analizi
15- Tespit edilen sorunlar
16- Çözüm önerisi ve kod örneği
17 
18Kod:
19[kod buraya]
20`;

Caching Stratejisi

Aynı veya benzer sorgular için cevapları cache'le:

typescript
1import { createHash } from 'crypto';
2 
3const responseCache = new Map<string, { response: string; timestamp: number }>();
4const CACHE_TTL = 3600000; // 1 saat
5 
6async function queryWithCache(prompt: string, budget: number) {
7 const hash = createHash('sha256').update(prompt).digest('hex');
8 
9 const cached = responseCache.get(hash);
10 if (cached && Date.now() - cached.timestamp < CACHE_TTL) {
11 return cached.response;
12 }
13 
14 const response = await callExtendedThinking(prompt, budget);
15 responseCache.set(hash, { response, timestamp: Date.now() });
16 return response;
17}
💡 Pro Tip: Extended Thinking cevaplarını Firestore'da cache'leyerek aynı sorgular için tekrar API çağrısı yapmaktan kaçın. Bu hem maliyeti dusurur hem response time'i iyileştir. Firebase Advanced Patterns yazımızda cache stratejilerini detaylı ele aldık.

Sonuç ve Öneriler

Claude Extended Thinking, AI destekli geliştirme sürecinde oyun değiştiren bir özellik. Özellikle karmaşık algoritmalar, mimari kararlar ve güvenlik analizi gibi derinlemesine düşünme gerektiren görevlerde standart moda kıyasla çok üstun sonuçlar veriyor.

Önemli çıkarımlar:

  1. Her görev için Extended Thinking kullanma — maliyet ve gecikme artar
  2. Thinking budget'i görev tipine göre ayarla — dinamik budget stratejisi uygula
  3. Streaming kullan — uzun düşünme süreçlerinde kullanıcı deneyimini iyileştir
  4. Cache mekanizması kur — tekrar eden sorgularda maliyeti dusur
  5. Backend proxy pattern uygula — API anahtarını istemcide tutma

Extended Thinking, özellikle Flutter Clean Architecture veya Structured Concurrency gibi karmaşık konularda kod yazarken inanilmaz faydali. DeepSeek R1'in açık kaynak düşünce zinciri yaklaşımıyla karşılaştırmak da ilginç bir perspektif sunuyor. Denemeni şiddetle tavsiye ederim.

Resmi Kaynaklar:


ALTIN İPUCU

Bu yazının en değerli bilgisi

Bu ipucu, yazının en önemli çıkarımını içeriyor.

Easter Egg

Gizli bir bilgi buldun!

Bu bölümde gizli bir bilgi var. Keşfetmek ister misin?

Okuyucu Ödülü

🎉 **Sonuna Kadar Okuyan Kahraman!** Tebrikler! İşte sana özel bir kaynak: Anthropic'in açık kaynakli [anthropic-cookbook](https://github.com/anthropics/anthropic-cookbook) reposu. Burada Extended Thinking dahil tum Claude özelliklerinin canlı, çalışır örneklerini bulabilirsin. Özellikle "extended-thinking" klasorundeki Jupyter notebook'lari bire bir uygula öğrenebilirsin.

Etiketler

#Claude#Extended Thinking#AI#Chain-of-Thought#Reasoning#LLM#Anthropic
Muhittin Çamdalı

Muhittin Çamdalı

Senior iOS Developer

12+ yıllık deneyime sahip iOS Developer. Swift, SwiftUI ve modern iOS mimarileri konusunda uzman. Apple platformlarında performanslı ve kullanıcı dostu uygulamalar geliştiriyorum.

iOS Geliştirme Haberleri

Haftalık Swift tips, SwiftUI tricks ve iOS best practices. Spam yok, sadece değerli içerik.

Gizliliğinize saygı duyuyoruz. İstediğiniz zaman abonelikten çıkabilirsiniz.

Paylaş

İlgili İçerik