• 05-06-2026, 00:40:29
    #1
    Son zamanlarda Claude Code (Claude'un kodlama arayüzü) yoğun kullanıyorum. Özellikle büyük projelerde kontekst (sohbet geçmişi) 1M token seviyesine çıkınca sistem otomatik compression yapıyor ama bu işlem çok uzun sürüyor (16+ dakika) ve bazen takılıyor.
    Bu yüzden 1M token yerine 200K token civarında tutmanın daha iyi olup olmadığını merak ettim. Sonuçta büyük proje her resette %10 kota yiyor.


    Konuyla ilgili bulduklarım:
    • Maliyet açısından çok daha avantajlı
    • Daha stabil çalışıyor
    • Compression sorunu büyük oranda azalıyor
    • 200K çoğu proje için hala oldukça yeterli
    Peki Nasıl Yapılır?
    Öncelikle dosya ortam değişkeninden bunu yazarsanız kota 200.000 oluyor ama hata veriyor
    CLAUDE_CODE_DISABLE_1M_CONTEXT=1

    Grafikten de görebileceğiniz gibi, üst sınır zaten 200.000'e ulaşmış durumda, ancak gerçek bağlam 302.900'e ulaşmış. Bu açıkça aşılmış bir durum ve mantıksız!
    Tahminimce daha varmadan kendiliğinden sıkışmaya başlayacak!
    Ama durum aslında böyle değil ve nedenini bilmiyorum.
    Opus 4.8 ile iletişime geçtim ve bana yapılandırma dosyasını doğrudan değiştirmemi önerdiler:

    ~/.claude/settings.json
    Yapılan değişiklikler aşağıdaki gibidir:




    {
      "env": {
        "CLAUDE_CODE_DISABLE_1M_CONTEXT": "1"
      },
      "autoCompactEnabled": true,
      "autoCompactWindow": 200000
    }
    Özet: Auto-compact özelliğinin, alt seviyedeki 1M yerine, 200 binlik bir aralık üzerinden yüzde cinsinden tetiklenmesini sağlayın. Böylece sıkıştırma eşiği gerçek anlamda 200K seviyesine düşer.

    Yani, sadece 1M bağlamını kapatmak yeterli değil; aynı zamanda sıkıştırma penceresinin 200000 olarak ayarlanması gerekiyor. Ayrıca, otomatik sıkıştırmanın etkin olduğundan emin olunmalıdır. Genellikle bu özellik varsayılan olarak etkindir.
    • Claude’u tamamen yeniden başlatın (süreci kapatıp tekrar başlatın; Ctrl+R veya arayüzü yenilemek yeterli değildir). Ortam değişkenleri yalnızca yeni oturumlar için geçerlidir.
    • /status kullanarak veya durum satırından, pencerenin boyutunun 200K olduğundan emin olun.
    • Normalde, 200 bin seviyesine yaklaşıldığında, ~64–75% aralığında (yaklaşık 130–150 bin) otomatik olarak sıkıştırılmalıdır. Böylece 200 bin seviyesinin üzerine çıkılmamış olur.

    Sonunda, bu sefer Opus4.8 kendi belgelerini kendisi okuyor ve ayarlamaları da kendisi yapıyor. Artık hiçbir sorun olmamalı.
    Ancak, yine yeni sorunlar ortaya çıktı:

    Bu sefer gerçekten 200K sınırını aşılmadı. %85 seviyesinde, yani 170K olduğunda otomatik sıkıştırma işlemi başladı. Ancak 16 dakika geçmesine rağmen sıkıştırma işlemi tamamlanamadı. Adeta sistem donmuş durumdaydı.


    : Ayrıca şu durum da ortaya çıktı:

    Doğrudan durup hiçbir şey yapmamak istiyorum; sadece “bağlamın çok uzun olduğunu” söylüyor. Benim bunu sıkıştırmamı veya yeni bir oturum açmamı istiyor. Eğer sıkıştırırsam, sistem tamamen donuyor.
    Terminal de aynı şekildedir:

    Terminal biraz daha iyi; sıkıştırma oranını görebiliyorsunuz. Temel olarak, bağlamsal verilerin %83’ü kullanıldığında sıkıştırma işlemi otomatik olarak başlıyor. Daha sonra ilerleme çubuğu %0’dan %95’e ulaştığında hareketsiz kalıyor.
    Yine her şey berbat oldu. Birçok görevin yarısında kaldı; çünkü bağlamsal sınırlar aşıldı ve veriler sıkıştırılamadı.
    Bu durumda ya 1M bağlantı seçeneğini tekrar kullanmak gerekiyor, ya da oturumu yeniden başlatmak gerekiyor. Hiçbiri benim hoşuma gitmiyor!
    Bu yerde bir BUG olduğundan şüpheleniyorum!
    Grok’a sordum; o da başkalarının da aynı sorunu yaşadığını söyledi.
    Ve bana üç farklı çözüm önerdi:

    1. Hemen Kesme (Interrupt):
    • Esc tuşuna iki kez basarak birkaç mesaj geriye dönmeyi dene, sonra /compact komutunu gir.
    • Eğer takılı kaldıysa Ctrl + C ile mevcut işlemi kes, ardından manuel olarak /compact komutunu dene.
    2. Oturumu Yeniden Başlatma (En etkili yöntem):
    • Terminali tamamen kapat.
    • Yeniden aç ve claude --resume komutuyla ilgili oturumu seç.
    • Hemen modeli değiştir (/model yazıp Sonnet 4.5 veya başka bir modele geç).
    • Basit bir mesaj gönder, örneğin: “What happened?”
    • Compression başarılı olduktan sonra tekrar istediğin modele dönebilirsin. Birçok kullanıcı bu yöntemin compression’ı zorla başlattığını söylüyor.
    3. Önlem Almak (En çok tavsiye edilen):
    • Context %60-70 seviyesine geldiğinde hemen manuel /compact yap. %90+’ı bekleme.
    • Projenin temel kurallarını ve önemli bilgilerini CLAUDE.md dosyasında tut. Compression sırasında bu dosya öncelikli korunur.
    • Düzenli olarak /clear yapıp önemli noktaları özetle veya sohbet geçmişini dışarı aktarıp yeni bir oturum aç.
    • Claude’un çok büyük loglar çıkarmasına izin verme. Gerektiğinde araçlarla çıktıyı filtrele.
    İlk “Esc” tuşunu kullanmaktan çekindim; çünkü kodu bozabileceğinden korktum. Denemedim.
    Daha sonra yaptığım araştırmalara göre, mesajlar geri alınabiliyormuş, ancak kodlar geri alınamıyormuş.
    İkinci yöntemi seçtim.
    Çünkü parantez içinde bunun en etkili çözüm yolu olduğu belirtilmiş. Yani en etkili “hileli yöntem”.




    Tekrar geri dönülürse, diyalog devam edebilir. Görünüşe göre kota da %2 oranında azalmış olacak. Bu durum kesinlikle kabul edilebilir!
    Ayrıca Grok, dosyaların manuel olarak da sıkıştırılabileceğini söyledi. Otomatik sıkıştırmayı beklemeyin!




    Sizin düşünceleriniz neler?
    • ertunc23
    ertunc23 bunu beğendi.
    1 kişi bunu beğendi.
  • 05-06-2026, 06:55:20
    #2
    Context'i küçük tutmak mantıklı ama 1M context'te sorun yaşayacaksınız manasına gelmiyor.

    Sorun bence sizin Claude Codu çalıştırdığınız ortamda.

    Eğer bu şekilde sorun yaşamıyorsanız böyle devam edebilirsiniz.

    1M context özellikle Claude tercih sebebidir. Çünkü gördüğüm kadarıyla Windows bir ortamda claudecode kullanıyorsunuz anti virüs veya defender tarzı güvenlik uygulamalarında Claude dosyalarını ve proje dizinini izinli ve taramasız alana alın bu sayede context sıkılaştırma işleminde daha sorunsuz bir süreç sağlarsınız.