Compaction neyi tutar, neyi kaybeder
Compaction geçmişinizi bir özetle değiştirir, sonra birkaç şeyi kurala göre geri koyar. Hangilerini bilirseniz onu yönlendirebilir, /clear, /compact ve rewind arasında seçim yapabilirsiniz.
Geçmişin yerini bir özet alır
Pencere sınıra yaklaşınca Claude Code compact eder. Uzun geçmiş yapılandırılmış bir özetle değiştirilir ve iş oradan devam eder. Aynısını /compact ile kendiniz de yapabilirsiniz.
Takas basit. Yer geri kazanırsınız, ayrıntıyı kaybedersiniz. Özet bir kararın verildiğini hatırlar. Tam hata mesajını ya da bir diff'in üçüncü satırını hatırlamayabilir.
Önemli olan, compaction'ın boş sayfa olmaması. Birkaç şey kurala göre geri konuyor, birkaçı konmuyor.
Neler geri gelir
Compaction'dan sonra Claude Code şunları yapar:
- Yakın zamanda dokunulmuş en fazla beş dosyayı yeniden okur. 5.000 token'ı aşan dosya yalnızca yol referansı olarak gelir, yani Claude var olduğunu bilir ama içeriği için yeniden okumalıdır.
- Çağırdığınız skill'lerin gövdelerini yeniden enjekte eder: her biri en fazla 5.000, toplamda 25.000 token. Önce en eskiler düşer, kesme dosyanın üst kısmını tutar.
- Eşleyicisi
compactolan SessionStart hook'larını yeniden çalıştırır ve çıktılarını compact edilmiş bağlama ekler. - Arka plandaki komutları ve arka plan alt ajanlarını çalışır halde tutar, Claude'a da var olduklarını hatırlatır.
Kökteki CLAUDE.md de yerinde durur, çünkü geçmişin değil proje bağlamının parçası. Özetin içine alabileceği şey, konuşma yoluyla gelen metin, örneğin path kapsamlı kurallar.
Compaction'dan önce 9.000 token'lık bir dosya açıktı. Sonrasında Claude'da ondan ne kalır?
Yönlendirmek
Genel bir özeti kabul etmek zorunda değilsiniz. Neyin tutulacağını iki kol belirliyor.
$ /compact keep the failing test names and the decision to avoid the new cache✻ Şimdi, bu odakla özetler# Görevin ortasında değil, doğal bir molada çalıştırın.
Birincisi, /compact sonrasına yazılan odak. Rehber, auto-compaction'ın bir işin ortasında devreye girmesini beklemek yerine doğal molalarda odakla compact etmeyi öneriyor.
İkincisi, CLAUDE.md içinde "Compact instructions" başlıklı bir bölüm. Oraya yazdığınız şey, her compaction için neyin hayatta kalması gerektiğini söyler, her seferinde yeniden yazmanız gerekmez.
/clear, /compact ya da rewind
Üçü benzer görünür ama değildir.
/clear yeni, ilgisiz bir iş içindir. Bedava ve eski geçmişi kaldırır. /clear name ile ad verirseniz eski oturum /resume için etiketlenir. /clear'dan hemen sonra, siz çıkana kadar rewind menüsü bile bir /resume <session-id> (previous session) girişi sunar.
/compact, sadece büyümüş aynı iş içindir.
Rewind türce farklıdır. Bir turu başlatan her prompt önce dosya durumunu yakalar. /rewind (ya da /checkpoint, /undo, boş prompt'ta Esc Esc) bir menü açar: kod ve konuşmayı geri yükle, yalnızca konuşma, yalnızca kod, buradan itibaren özetle ya da buraya kadar özetle. Özetleme seçenekleri "add context" satırına yazılan yönlendirmeyi kabul eder.
Rewind'ın sınırları var
Düzenleme araçlarının değiştirdiğini geri yükler. Üç şey dışarıda kalır:
- Yalnızca Bash ile yapılan değişiklikler izlenmez, Claude o dosyayı oturumda zaten düzenleme araçlarıyla düzenlemediyse.
- Alt ajan düzenlemeleri genellikle geri yüklenmez. Onlar için git kullanın.
- Symlink'li ve hard link'li yollar kod geri yüklemesinde uyarıyla atlanır.
Checkpoint'ler en son 100 tanesini kapsar ve son kayıttan yaklaşık 30 gün sonra temizlenir. cleanupPeriodDays bunu uzatır.
Bir yaklaşımı yirmi dakika denediniz ve öncesindeki işi kaybetmeden vazgeçmek istiyorsunuz. Hangi araç en uygun?
Bölüm tamamlandı
Bağlam ve hafıza kursunun 6 bölümünden 4. bölümü bitirdiniz.
Claude Code uzun oturumlarda hızlı ve makul fiyatlı çünkü her isteğin değişmeyen başı cache'leniyor. Birkaç sıradan eylem bu cache'i bozuyor, ve onları bilmek maliyet kontrolünün büyük kısmı.
Sonraki bölüm