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 yonetimi ve matematik performansi artisi. Derin dusunme modunu verimli kullanma.

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

# Claude Extended Thinking: AI'nin Derin Dusunme Modu

Bir matematik problemini cozmeye calistigini dusun. Basit toplama-cikarma icin hemen cevap verirsin, ama karmasik bir diferansiyel denklem icin adim adim dusunmen gerekir. Claude'un Extended Thinking modu tam olarak bu prensiple calisiyor: karmasik problemlerde adim adim, yapilandirilmis bir dusunme sureci izleyerek cok daha dogru sonuclara ulasiyor. Eger daha once Claude Code'un otonom kodlama yeteneklerini denediysen, Extended Thinking'in bu deneyimi nasil bir ust seviyeye tasiyabilecegini merak ediyor olabilirsin. Thinking budget'i nasil optimize edecegin, chain-of-thought reasoning'in matematik ve kodlamada yarattigi farki ve gercek dunya kullanim senaryolarini bu rehberde derinlemesine kesfedeceksin.

Not: Bu rehber Anthropic'in resmi dokumantasyonu, API referanslari ve gercek kullanim deneyimlerine dayanmaktadir. Tum kod ornekleri 2026 itibariyle gunceldir.

Icindekiler


1. Extended Thinking Nedir?

Extended Thinking, Claude'un karmasik problemleri cozme sirasinda ic monolog yurutmesini saglayan bir ozelliktir. Normal modda Claude dogrudan cevap uretirken, Extended Thinking modunda once "dusunme tokenlerini" kullanarak problemi analiz eder, hipotezler olusturur, bunlari dogrular ve ancak ondan sonra nihai cevabi verir.

Temel Calisma Prensibi

Standart LLM calisma sekli su sekildedir:

swift
1Input → Model → Output(tek adim)

Extended Thinking ise su adimlari izler:

swift
1Input → Dusunme Asamasi(reasoning tokens) → Dogrulama → Output

Bu yaklasim, ozellikle su alanlarda buyuk fark yaratir:

  • Matematik problemleri: Cok adimli hesaplamalarda %40'a varan dogruluk artisi
  • Kod yazimi: Karmasik algoritmalarda hata oranini %60 azaltma
  • Mantik yurutme: Paradokslar ve edge case'lerde tutarli cevaplar
  • Analitik gorevler: Cok degiskenli karar verme sureclerinde daha iyi sonuclar
💡 Pro Tip: Extended Thinking, kisa ve basit sorularda gereksiz overhead yaratir. "Turkiye'nin baskenti neresi?" gibi sorular icin standart mod yeterlidir. Karmasik analiz, kodlama ve matematik icin Extended Thinking'i aktif et.

Dusunme Tokenleri (Thinking Tokens)

Extended Thinking'in temelinde "thinking tokens" kavrami yatar. Bu tokenler, kullaniciya gosterilmeyen ama modelin iç dusunme surecini olusturan ara adimlardir. Claude, bu tokenler araciligiyla:

  1. Problem ayrismasi yapar — buyuk problemi alt problemlere boler
  2. Hipotez olusturur — olasi cozumleri siralar
  3. Dogrulama yapar — her hipotezi test eder
  4. Sentez gerceklestirir — en iyi cozumu secer ve sunar
typescript
1// Extended Thinking API cagirisi ornegi
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 // dusunme icin ayrilmis token butcesi
8 },
9 messages: [{
10 role: 'user',
11 content: 'Bu recursive fonksiyonun zaman karmasikligini analiz et...'
12 }]
13});
14 
15// Dusunme surecini ve sonucu ayri ayri al
16const thinkingBlock = response.content.find(b => b.type === 'thinking');
17const textBlock = response.content.find(b => b.type === 'text');
18 
19console.log('Dusunme sureci:', thinkingBlock?.thinking);
20console.log('Nihai cevap:', textBlock?.text);

2. Chain-of-Thought Reasoning Mekanizmasi

Chain-of-Thought (CoT), Extended Thinking'in kalbindeki mekanizmadir. Bu yaklasim, 2022'de Google Brain arastirmacilari tarafindan populerlesen bir teknik olup, LLM'lerin karmasik gorevlerde performansini onemli olcude artirmistir.

CoT Adimlari

Claude'un Extended Thinking'de takip ettigi tipik CoT adimlari:

python
1# Ornek: Claude'un ic dusunme sureci (thinking tokens)
2"""
3Adim 1: Problemi anlama
4- Kullanici bir binary tree'de en uzun yol bulmami istiyor
5- Bu klasik "diameter of binary tree" problemi
6 
7Adim 2: Yaklasim secimi
8- DFS ile her node'un sol ve sag derinligini hesaplayabilirim
9- Her node icin diameter = sol_derinlik + sag_derinlik
10- Global maximum'u takip etmem gerekiyor
11 
12Adim 3: Edge case kontrolleri
13- Bos agac → 0
14- Tek node → 0
15- Sadece sol/sag alt agac → derinlik
16 
17Adim 4: Cozumu kodlama
18- Recursive DFS fonksiyonu yaziyorum
19- Her cagirimda max_diameter guncelliyorum
20- Time: O(n), Space: O(h) - h agac yuksekligi
21 
22Adim 5: Dogrulama
23- Ornek agac ile test ediyorum: [1,2,3,4,5]
24- Beklenen diameter: 3 (4→2→1→3 veya 5→2→1→3)
25- Kodumun ciktisi: 3 ✓
26"""

Reasoning Tokenlerin Fiyatlandirmasi

Extended Thinking'de fiyatlandirma onemli bir faktor. Thinking tokenleri, standart output token fiyatiyla ucretlendirilir ancak sonuca dahil edilmez:

Ozellik
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 ayni)
Ortalama cevap suresi
2-5 saniye
10-60 saniye
Dogruluk (matematik)
%72
%95+
Dogruluk (kodlama)
%78
%92+
💡 Pro Tip: Thinking token butcesini gorevin karmasikligina gore ayarla. Basit bir refactoring icin 5K token yeterken, karmasik bir sistem tasarimi icin 20K+ token gerekebilir.

3. Thinking Budget Yonetimi

Thinking budget, Extended Thinking'in en kritik parametresidir. Cok dusuk ayarlarsan model yeteri kadar dusunemez, cok yuksek ayarlarsan gereksiz maliyet ve gecikme olusur.

Budget Stratejileri

typescript
1// Gorev tipine gore dinamik budget ayarlama
2function getThinkingBudget(taskType: string): number {
3 const budgets: Record = {
4 'simple_question': 0, // Extended Thinking gereksiz
5 'code_review': 5000, // Orta karmasiklik
6 'algorithm_design': 10000, // Yuksek karmasiklik
7 'system_architecture': 15000, // Cok yuksek karmasiklik
8 'math_proof': 20000, // Maksimum dusunme gerekli
9 'debugging_complex': 12000, // Karmasik hata ayiklama
10 };
11 return budgets[taskType] ?? 8000; // Varsayilan: 8K
12}
13 
14// Kullanim
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 ulasildiginda Claude dusunmeyi keser ve mevcut bilgiyle cevap uretir. Bu durum su sorunlara yol acabilir:

  • Eksik analiz: Tum edge case'ler degerlendirilmemis olabilir
  • Yanlis sonuc: Dogrulama adimi atlanmis olabilir
  • Tutarsizlik: Dusunme zinciri yarim kalmis olabilir

Bu durumdan kacinmak icin:

  1. Iteratif yaklasim kullan — once dusuk budget ile dene, yetersizse artir
  2. Streaming kullan — dusunme surecini canli izle
  3. Fallback mekanizmasi kur — budget asiminda yeniden dene
typescript
1// Streaming ile dusunme surecini 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('[Dusunme]', 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 Performansi

Extended Thinking'in en parlak oldugu alan, cok adimli mantik yurutme gerektiren gorevlerdir. Ozellikle matematik ve kodlama benchmark'larinda dramatik iyilesmeler gorulur.

Matematik Benchmark'lari

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

Benchmark
Standart
Extended Thinking
Iyilesme
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 Performansi Ornegi

Bir iOS uygulamasinda karmasik bir cache mekanizmasi tasarlamak istedigini dusun. Extended Thinking bu gorevi su sekilde ele alir:

swift
1// Claude Extended Thinking'in uretebildigi karmasik cache cozumu
2// Dusunme sureci: 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 ornekte Claude, Extended Thinking sayesinde su detaylari dusunup uygulamistir:

  • Actor kullanimi: ile thread safety
  • TTL mekanizmasi: ile otomatik expire
  • LRU eviction: ile bellek yonetimi
  • Access tracking: ile akilli onceliklendirme

Swift ile Async/Await ve iOS Security yazilarinda da benzer karmasik cozumler icin Extended Thinking kullanimini gorebilirsin. Ayrica Claude Code Hooks ile otomasyon yazimizda bu sureci CI/CD'ye entegre etmeyi anlatiyoruz.


5. API Entegrasyonu ve Kod Ornekleri

Extended Thinking'i kendi uygulamanda kullanmak icin Anthropic API entegrasyonu gerekir. Istiyor bir iOS uygulamasinda, istiyor bir backend servisinde kullanabilirsin.

iOS Uygulamasinda Entegrasyon

swift
1// iOS'ta Claude Extended Thinking API cagirisi
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 anahtarini dogrudan kullanma. Backend proxy uzerinden cagir:

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 bloklarini 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 basarisiz' });
42 }
43});
💡 Pro Tip: Extended Thinking cevaplari standart cevaplardan 3-10x daha uzun surebilir. Mobil uygulamada kullaniciya loading state goster ve opsiyonel olarak streaming kullan.

6. Standart vs Extended Thinking Karsilastirmasi

Her gorev icin Extended Thinking gerekli degil. Dogru modu secmek hem maliyet hem performans acisinden kritiktir.

Ne Zaman Extended Thinking Kullan?

Senaryo
Standart Mod
Extended Thinking
Onerimiz
Basit soru-cevap
✅ Yeterli
❌ Gereksiz
Standart
Kod refactoring
✅ Cogu durumda
✅ Karmasik refactor
Duruma gore
Algoritma tasarimi
⚠️ Hatali olabilir
✅ Cok daha iyi
Extended
Matematik ispati
❌ Yetersiz
✅ Kesinlikle
Extended
Yazi yazma
✅ Yeterli
⚠️ Over-thinking
Standart
Sistem mimarisi
⚠️ Yuzeysel
✅ Derinlemesine
Extended
Bug tespit
⚠️ Basit bug'lar
✅ Karmasik bug'lar
Duruma gore
Guvenlik analizi
⚠️ Temel kontrol
✅ Kapsamli audit
Extended

Maliyet-Performans Analizi

swift
1Ornek: 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- Gunluk 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- Gunluk maliyet: 1000 × ($0.006 + $0.015 + $0.12) = $141
13 
14Fark: $120/gun(%670 artis)

Bu nedenle, her istegi Extended Thinking'e yonlendirmek yerine, gorev karmasikligina gore dinamik routing yap.

CI/CD Pipeline yazimizda otomatik test sureclerinde benzer maliyet optimizasyonu stratejilerini bulabilirsin. MCP protokolu ve Claude Code IDE entegrasyonu yazilarinda da Extended Thinking'i farkli ortamlarda kullanma senaryolarini ele aldik.


7. Mobil Uygulamalarda Kullanim Senaryolari

Extended Thinking, mobil uygulama gelistirme surecinde bircok noktada hayat kurtarici olabilir.

Senaryo 1: Otomatik Kod Inceleme

typescript
1// PR review icin Extended Thinking kullanimi
2async function reviewPullRequest(diff: string): Promise {
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 acisindan incele:
10 - Memory leak riski var mi?
11 - Thread safety ihlali var mi?
12 - Performance darbogazlari var mi?
13 - SOLID prensipleri uygulanmis mi?
14 
15 Diff:
16 ${diff}`
17 }]
18 });
19 
20 return parseReviewResponse(response);
21}

Senaryo 2: Crash Log Analizi

Karmasik crash log'larini analiz etmek icin Extended Thinking mukemmeldir. Model, stack trace'i adim adim inceleyerek root cause'u tespit edebilir.

Senaryo 3: Mimari Karar Destek

Yeni bir feature eklerken mimari kararlar almak icin Extended Thinking'i kullanabilirsin. Model, mevcut mimarini analiz edip en uygun yaklasimi onerebilir.

SwiftUI Performance ve Clean Architecture yazilarinda bu tip mimari karar sureclerini detayli inceledik.


8. Best Practices ve Optimizasyon

Prompt Muhendisligi

Extended Thinking ile en iyi sonuclari almak icin prompt'larini optimize et:

typescript
1// Kotu prompt
2const badPrompt = "Bu kodu duzelt";
3 
4// Iyi prompt (Extended Thinking icin optimize)
5const goodPrompt = `
6Bu Swift kodunu asagidaki kriterlere gore analiz et ve iyilestir:
7 
81. Memory management: Retain cycle var mi?
92. Concurrency: Actor isolation dogru mu?
103. Performance: Gereksiz allocation var mi?
114. Error handling: Tum hata durumlari ele alinmis mi?
12 
13Her kriter icin:
14- Mevcut durum analizi
15- Tespit edilen sorunlar
16- Cozum onerisi ve kod ornegi
17 
18Kod:
19[kod buraya]
20`;

Caching Stratejisi

Ayni veya benzer sorgular icin cevaplari cache'le:

typescript
1import { createHash } from 'crypto';
2 
3const responseCache = new Map();
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 cevaplarini Firestore'da cache'leyerek ayni sorgular icin tekrar API cagirisi yapmaktan kacin. Bu hem maliyeti dusurur hem response time'i iyilestirir. Firebase Advanced Patterns yazimizda cache stratejilerini detayli ele aldik.

Sonuc ve Oneriler

Claude Extended Thinking, AI destekli gelistirme surecinde oyun degistiren bir ozellik. Ozellikle karmasik algoritmalar, mimari kararlar ve guvenlik analizi gibi derinlemesine dusunme gerektiren gorevlerde standart moda kiyasla cok ustun sonuclar veriyor.

Onemli cikarimlari:

  1. Her gorev icin Extended Thinking kullanma — maliyet ve gecikme artar
  2. Thinking budget'i gorev tipine gore ayarla — dinamik budget stratejisi uygula
  3. Streaming kullan — uzun dusunme sureclerinde kullanici deneyimini iyilestir
  4. Cache mekanizmasi kur — tekrar eden sorgularda maliyeti dusur
  5. Backend proxy pattern uygula — API anahtarini istemcide tutma

Extended Thinking, ozellikle Flutter Clean Architecture veya Structured Concurrency gibi karmasik konularda kod yazarken inanilmaz faydali. DeepSeek R1'in acik kaynak dusunce zinciri yaklasimiyla karsilastirmak da ilginc bir perspektif sunuyor. Denemeni siddetle 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! Iste sana ozel bir kaynak: Anthropic'in acik kaynakli [anthropic-cookbook](https://github.com/anthropics/anthropic-cookbook) reposu. Burada Extended Thinking dahil tum Claude ozelliklerinin canli, calisir orneklerini bulabilirsin. Ozellikle "extended-thinking" klasorundeki Jupyter notebook'lari bire bir uygulayarak ogrenebilirsin.

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ş

Bunu da begenebilirsiniz