Skip to content

Bağlam Yönetimi

Sıkıştırma stratejileri, cache ekonomisi ve düşünme token'ları

12 dk okuma

50 turlu oturumunuz aniden anlamsız çıktılar üretmeye başlıyor. Claude bozulmadı — bağlam penceresi sınırına ulaştı ve yeni mesajlara yer açmak için eski mesajları sıkıştırmaya başladı. Kalıcı olduğunu düşündüğünüz bağlam, birkaç cümleye özetlendi.

Opus 4.6 ve Sonnet 4.6, 1M token’lık bağlam penceresine sahiptir. Bu devasa görünüyor — ta ki sistem isteminizin, CLAUDE.md dosyalarınızın, MCP araç tanımlarınızın, konuşma geçmişinizin ve genişletilmiş düşünmenin aynı pencere için yarıştığını fark edene kadar. Bağlam yönetimi, neyin kalacağına, neyin sıkıştırılacağına ve her turda ne kadar ödeyeceğinize karar vermekle ilgilidir.

Context window: 1M token allocation1M Context Windowtoken budget per sessionSystem Prompt~5%CLAUDE.md~5%MCP Tools~8%Conversation~40%Thinking~15%Tool Results~10%Free~17%

Efor Seviyeleri

--effort bayrağı, Claude’un yanıt vermeden önce ne kadar derinlemesine düşüneceğini kontrol eder. Düşük efor, daha az düşünme token’ı ve daha hızlı yanıtlar anlamına gelir, ancak karmaşık görevler için daha az kapsamlı analiz yapılır.

Her efor seviyesinin gerçekte ne yaptığı:

Efor Seviyeleri

SeviyeDavranışEn Uygun KullanımToken Etkisi
lowMinimal düşünme, en hızlı yanıtlarBasit aramalar, evet/hayır soruları, sınıflandırmaNeredeyse sıfır düşünme token’ı
mediumDengeli düşünmeOrta karmaşıklık, kod biçimlendirme, özetlerMütevazı düşünme bütçesi
highTam düşünme (varsayılan)Çoğu geliştirme görevi, kod üretimi, hata ayıklama10K+ düşünme token’ı mümkün
maxMaksimum düşünme derinliğiKarmaşık mimari, çoklu dosya yeniden yapılandırma, ince hatalar20K+ düşünme token’ı mümkün

Çoğu iş için eforu high (varsayılan) olarak bırakın. Hızlı aramalar için low’a düşürün. İnce bir hatayı ayıklarken ve Claude’un daha fazla düşünmesini istediğinizde max’a yükseltin. low ile high arasındaki fark basit sorular için önemsizdir, ancak karmaşık muhakeme için belirgindir.

Eforu CLI bayrağı, ortam değişkeni veya CLAUDE.md dosyanız aracılığıyla ayarlayabilirsiniz:

Terminal window
# CLI bayrağı
claude -p "Refactor auth.py" --effort medium
# Ortam değişkeni
export CLAUDE_EFFORT=medium
# Veya CLAUDE.md içinde
# Settings
effort: medium

Maliyet duyarlı CI pipeline’ları için, eforu MAX_THINKING_TOKENS ile birleştirerek sert bir tavan içinde tam kalitede muhakeme elde edin:

Terminal window
MAX_THINKING_TOKENS=8000 claude -p "Refactor auth.py" --effort high

Bu, yüksek kaliteli muhakeme sağlar ancak aşırı düşünme token’ı harcamasını önler. Opus fiyatlandırmasında ($75/M çıktı token’ı), sınırsız karmaşık bir istem 20K+ düşünme token’ı harcayabilir — sadece düşünme için tek bir yanıtta $1.50.

Try This

Aynı istem üzerinde efor seviyelerini karşılaştırın:

claude -p “Explain what a monad is” —effort low —output-format json | jq ‘{effort: “low”, tokens: .usage.output_tokens, cost: .total_cost_usd}‘

claude -p “Explain what a monad is” —effort high —output-format json | jq ‘{effort: “high”, tokens: .usage.output_tokens, cost: .total_cost_usd}‘

Çıktı token’ları ve maliyet ne kadar farklı? Yüksek eforlu yanıt bu soru için gerçekten daha mı iyi?

Bağlam Tüketicileri

Claude’un bağlam penceresindeki her bilgi parçası token maliyeti taşır. Canlı bir dökümü görmek için etkileşimli bir oturum içinde /context komutunu kullanın.

Bağlam Penceresini Ne Doldurur

TüketiciTipik BoyutNotlar
Sistem istemi5K-10K tokenHer zaman mevcut, otomatik olarak cache’lenir
CLAUDE.md dosyaları1K-10K tokenHiyerarşideki tüm .claude.md dosyaları yüklenir
MCP araç tanımları10K-50K+ tokenSessiz bağlam katili — 20+ MCP sunucu etkin bağlamı ~150K’ya düşürebilir
Konuşma geçmişiHer turda büyürUzun oturumlarda en büyük tüketici
Genişletilmiş düşünmeYanıt başına 10K+Çıktı token’ları, Opus fiyatlarında pahalı ($75/M)
Araç sonuçlarıBüyük ölçüde değişirBüyük dosya okumaları her biri 5K+ tüketebilir
Context Budget Simulator

Where Do Your Tokens Go?

Used: 103,000 / 1,000,000 (10.3%)Healthy
System Prompt
fixed
10K
CLAUDE.md
3K
MCP Tools
15K
Conversation
60K
Thinking
10K
Tool Results
5K

MCP araç tanımları özel dikkat gerektirir. Her araç tanımı 200-500 token tüketir. Birden fazla MCP sunucusu arasında 80+ araç olduğunda, çalışmaya başlamadan önce 40K-50K token kaybedebilirsiniz. /context ile denetleyin, kullanılmayan sunucuları .claude/settings.json içinde devre dışı bırakın ve araç şemalarını başlangıçta değil talep üzerine yüklemek için ToolSearch ertelenmiş yüklemeyi kullanın:

Terminal window
# MCP araçları bağlamın %5'ini aştığında ertelenmiş yüklemeyi tetikle
ENABLE_TOOL_SEARCH=auto:5 claude

/compact Komutu

Bağlamınız doluyorken, /compact komutu konuşmayı özetler ve tam geçmişi sıkıştırılmış bir versiyonla değiştirir. Otomatik sıkıştırmayı beklemeye göre temel avantajı kontroldür: neyin korunacağını siz belirlersiniz.

Proaktif Sıkıştırma
$ /compact Focus on the database schema changes and migration decisions
Compacting conversation with focus: database schema changes and migration decisions...
Conversation compacted. Preserved:
- Schema v3 migration: added users.org_id column (non-nullable, FK to orgs)
- Decided against soft deletes in favor of audit_log table
- Migration rollback strategy: down migration drops column after data copy
Context usage: 18% (was 62%)

Ayrıca, manuel veya otomatik her sıkıştırma gerçekleştiğinde otomatik olarak uygulanmaları için sıkıştırma talimatlarını doğrudan CLAUDE.md dosyanıza gömebilirsiniz:

# Compact instructions
When you are using compact, please focus on test output and code changes

Bağlam şişkinliğini yönetmenin üç yolu, her biri farklı bir durum için:

/compact vs /clear vs --resume

KomutNe OlurNe Zaman Kullanılır
/compactKonuşmayı özetler, çalışma durumunu korurBağlam doluyor, hala aynı görev üzerinde çalışıyorsunuz
/compact [odak]Belirtilen konulara vurgu yaparak özetlerHangi detayların en önemli olduğunu biliyorsunuz
/clearKonuşmayı tamamen siler, CLAUDE.md’yi yeniden okurAynı oturumda tamamen yeni bir göreve başlıyorsunuz
—resumeDiskten önceki bir oturumu yüklerTerminal oturumları arasında çalışmaya devam ediyorsunuz

Otomatik Sıkıştırma

Otomatik sıkıştırma, bağlam penceresi kullanımının yaklaşık %80-90’ına ulaşıldığında tetiklenir. Tetiklendiğinde, Claude tüm konuşmayı özetler, tam geçmişi o özetle değiştirir, CLAUDE.md’yi diskten yeniden okur ve araç sonuçlarını temel unsurlarına yoğunlaştırır. Neyin önceliklendirildiğini siz kontrol etmezsiniz — model karar verir.

Otomatik sıkıştırmanın sorunu, reaktif olmasıdır. Tetiklendiğinde, incelikli erken detaylar zaten kurtarılamayacak şekilde sıkıştırılmış olabilir. 3. turdan bir tasarım kararı gerekçesi, 40. tura kadar tek bir cümle haline gelebilir. Proaktif strateji, otomatik tetikleyiciye bırakmak yerine neyin hayatta kalacağına siz karar vermeniz için yaklaşık %60 kullanımda açık odak talimatlarıyla /compact komutunu manuel olarak çalıştırmaktır.

Birçok dosya okumayı veya ayrıntılı çıktı üretmeyi gerektiren görevler için, Task aracını kullanarak bir alt ajana devredin. Alt ajanlar kendi bağlam pencerelerinde çalışır, kapsamlı analiz yaparken ana konuşmayı yalın tutar.

Oturumlar Ne Zaman Ölür

Oturumlar, karmaşıklığa bağlı olarak ~10 tur veya ~100K kümülatif token’dan sonra bozulmaya başlar. Belirtiler: tekrarlayan yanıtlar, unutulan bağlam, daha yavaş gecikme. Bunları gördüğünüzde, temel kararları korumak ve çalışma durumunu sıfırlamak için /compact çalıştırın veya yalnızca temel bağlamı taşımanız gerekiyorsa claude --resume ile yeni bir oturum başlatın.

Cache Ekonomisi

Claude Code, sistem istemlerini ve CLAUDE.md içeriğini otomatik olarak cache’ler. Tam maliyet analizi için Bölüm 4’e bakın. Cache’lemenin uzun oturumlara nasıl uygulandığı:

Cache Katmanları

Cache TürüSüreMaliyet ÇarpanıNotlar
Geçici cache yazma5 dakikaTemel girdi fiyatının 1.25 katıOtomatik süresi dolar, her çağrıda oluşturulur
Uzun ömürlü cache yazma1 saatTemel girdi fiyatının 2.0 katıSistem istemleri gibi kararlı içerik için
Cache okumaN/ATemel girdi fiyatının 0.1 katıTekrarlanan içerikte %90 tasarruf

Bir oturumdaki ilk çağrı, sistem istemini (~14K token) temel fiyatın 1.25-2.0 katına cache’e yazar. 5 dakika içindeki her sonraki çağrı, cache’lenmiş içeriği temel fiyatın 0.1 katına okur. 5 dakika hareketsizlikten sonra, geçici cache süresi dolar ve bir sonraki çağrı tam yazma maliyetini tekrar öder.

100 turlu bir Opus oturumu için tasarruflar çarpıcıdır: cache’siz, $15/M’de 15K girdi token’lık 100 tur yaklaşık $22.50’a mal olur. Cache’li, 1 yazma artı 99 okuma yaklaşık $2.51’e gelir — girdi token’larında %89 azalma. Gerçek dünya toplam oturum maliyetleri $50-100’dan $10-19’a düşer.

effort low -- Soğuk Cacheartifacts/06/effort_low.json
1{
2 "type": "result",
3 "subtype": "success",
4 "is_error": false,
5 "duration_ms": 3673,
6 "num_turns": 1,
7 "result": "4",C
8 "session_id": "b1489c73-aa97-4f05-9f70-287a76a336db",
9 "total_cost_usd": 0.060306,A
10 "usage": {B
11 "input_tokens": 3,
12 "cache_creation_input_tokens": 9104,
13 "cache_read_input_tokens": 6532,
14 "output_tokens": 5
15 }
16}
ACache kaçırma: 9104 token 1.25x oranında cache'e yazıldı
BKısmi isabet: 6532 token mevcut cache'den 0.1x oranında okundu
C$0.060 -- soğuk cache yüzünden şişik, efor seviyesi yüzünden değil
effort high -- Sıcak Cacheartifacts/06/effort_high.json
1{
2 "type": "result",
3 "subtype": "success",
4 "is_error": false,
5 "duration_ms": 2952,
6 "num_turns": 1,
7 "result": "4",C
8 "session_id": "28f7bd3a-4f86-4cfa-bb09-de29eda70d97",
9 "total_cost_usd": 0.01591,A
10 "usage": {B
11 "input_tokens": 3,
12 "cache_creation_input_tokens": 1383,
13 "cache_read_input_tokens": 14253,
14 "output_tokens": 5
15 }
16}
ASıcak cache: yalnızca 1383 yeni token yazıldı
B14253 token cache'den okundu -- 0.1x oran, büyük tasarruf
C$0.016 -- 3.8x daha ucuz, tamamen cache isabetlerinden, efor seviyesinden değil

Bu iki yük, 30 saniye arayla çalıştırılan aynı istemlerdi (“What is 2+2?”). effort low çalıştırması effort high’dan 3.8 kat daha pahalıya mal oldu — ancak efor seviyesi yüzünden değil. Tüm maliyet farkı cache durumundan kaynaklanıyor. İlk çağrıda cache kaçırma (9104 oluşturma token’ı) yaşanırken, ikincisi sıcak bir cache’e isabet etti (14253 okuma token’ı). Sıcak cache’li sonraki çalıştırmalarda, efor ne olursa olsun maliyetler yakınsar. Basit istemler için, efor seviyesi ne yanıtı ne de maliyeti değiştirir.

Gotcha

Otomatik sıkıştırma, bağlam kullanımının %80-90’ında tetiklenir ve neyin tutulacağına kendi başına karar verir. Konuşmanın erken dönemlerindeki ince detaylar — tasarım gerekçeleri, reddedilen yaklaşımlar, uç durum tartışmaları — tek bir cümleye sıkıştırılabilir veya tamamen kaybolabilir. Neyin hayatta kalacağını kontrol etmek için ~%60 kullanımda açık odak talimatlarıyla /compact komutunu proaktif olarak çalıştırın.

Tip

CLAUDE.md her zaman sıkıştırmadan sağ çıkar. Otomatik sıkıştırma veya /compact çalıştığında, CLAUDE.md özetlenmek yerine diskten yeniden okunur. Bu, proje talimatlarınızın, stil kılavuzlarınızın ve özel sıkıştırma talimatlarınızın her sıkıştırma döngüsünde kalıcı olduğu anlamına gelir. En kritik bağlamınızı, konuşma geçmişinin korumasına güvenmek yerine oraya koyun.

Gotcha

—effort low bayrağı daha ucuz çağrıları garanti etmez. Yukarıdaki yük karşılaştırmasının gösterdiği gibi, basit istemler için cache durumu, maliyet üzerinde efor seviyesinden çok daha büyük bir etkiye sahiptir. Efor, öncelikle karmaşık görevlerdeki muhakeme derinliğini ve düşünme token’larını etkiler. Maliyeti en aza indirmek istiyorsanız, cache isabet oranlarına odaklanın: ilgili çağrıları gruplandırın ve aralarında 5 dakikadan fazla duraklama yapmaktan kaçının.

Bağlam Yönetimi Kılavuzu

Uzun oturumlarda bağlamı sağlıklı tutmak için pratik bir tempo:

%60 kullanımda proaktif /compact. %80-90’daki otomatik sıkıştırmayı beklemeyin. O noktada, incelikli erken bağlam (tasarım gerekçeleri, reddedilen yaklaşımlar, değişken adlandırma kararları) zaten bozulmuş olabilir. Açık odak talimatlarıyla /compact çalıştırın: /compact Focus on the API contract changes and migration decisions.

MCP ek yük denetimi. Her MCP sunucusu, boşta olsa bile her tura 200-500 token’lık araç tanımı ekler. 20 sunucu ile bu, tur başına 4.000-10.000 token’lık ek yük demektir ve etkin bağlamınızı sessizce küçültür. Kontrol etmek için periyodik olarak /context çalıştırın. Aktif olarak kullanmadığınız sunucuları devre dışı bırakın.

Monorepo CLAUDE.md bölme. Tek bir 47K kelimelik CLAUDE.md, performansı önemli ölçüde düşürür. Alt dizine özgü dosyalara bölün — 47K’dan çoklu dosyalar arasında 9K kelimeye bölme, yanıt kalitesini artırır ve başlangıç ek yükünü azaltır.

Alt ajanlara devret. Birçok dosya okumayı veya ayrıntılı çıktı üretmeyi gerektiren görevler için Agent aracını kullanın. Alt ajanlar kendi bağlam pencerelerinde çalışır, kapsamlı analiz yaparken ana konuşmayı yalın tutar. Ana bağlama tam çalışma durumu değil, sonuç özeti döner.

/clear uyarısı. /clear komutu, tüm oturum geçmişini kurtarma mekanizması olmadan kalıcı olarak siler. Bir özet koruyan /compact’ın aksine, /clear her şeyi siler ve yalnızca CLAUDE.md’yi yeniden okur. Yalnızca tamamen yeni bir göreve başlarken kullanın.

/clear Kalıcıdır

/clear, tüm konuşma geçmişini geri alma imkanı olmadan kalıcı olarak siler. Bir özetini koruyan /compact’ın aksine, /clear her şeyi siler. Hayatta kalan tek şeyler CLAUDE.md dosyaları (diskten yeniden okunur) ve Claude’un dosya sistemine yazdığı dosyalardır. Temel kararları korurken bağlamı boşaltmak için /compact kullanın.

Bunu Uygulamada Görün

Oturumları çatallama (—fork-session) ile bağlamın nasıl verimli yönetildiğini görün — her tartışma çatalı, incelemenin tam bağlamını yeniden göndermeden miras alır — MR İnceleyici Oluşturun, Bölüm 4: Tartışmalar İçin Oturumları Çatallayın.

Now Do This

Basit bir soru için —effort low ile bir çağrı çalıştırın: claude -p “What is 2+2?” —effort low —output-format json | jq ‘.usage’. output_tokens değerini bayrak olmadan yapılan aynı çağrıyla karşılaştırın. Basit görevler için düşük efor, kalite kaybı olmadan token ve para tasarrufu sağlar.