İçeriğe atla

Claude Code Skill'leri ve Bağlam Penceresi Şişmesi: Token Bütçesi Rehberi

Claude Code konfigürasyonlarını kopyalamak context window şişmesine, araç seçiminin bozulmasına ve uyumsuz iş akışlarına yol açar; token bütçesiyle bilinçli kurun.

Ayhan Sipahi Ayhan Sipahi

Claude Code ekosistemi artık 500’den fazla topluluk skill’i, 1.200’den fazla agent skill’i ve düzinelerce MCP sunucu dizini barındırıyor. Birinin “awesome” kurulumunu klonlamak cazip geliyor; yanlış varsayılan da tam olarak bu. Kopyalanan konfigürasyonlar üç sorunu aynı anda büyütür: context window şişmesi gerçek koda yer bırakmaz, araç kalabalığı modelin doğru aracı seçme yeteneğini düşürür ve kopyalanan iş akışları senin kod tabanınla uyuşmaz.

İşleyen kurulum bunun tersine çalışır. Sıfır MCP sunucuyla başla, yalnızca tekrar eden bir sürtünme noktası gerekçe verdiğinde bir tane ekle ve toplam konfigürasyon overhead’ini context window’un %20’sinin altında tut. Aşağıdaki token matematiği kopyalanan kurulumun maliyetini, benchmark’lar ise araç listesi uzadıkça modelin neden kötüleştiğini gösteriyor.

Kopyalanan Kurulumun Maliyeti#

Claude Code her oturumda birkaç kaynaktan konfigürasyon yükler. Bunlar arasında system prompt, araç tanımları, MCP sunucu şemaları, CLAUDE.md dosyaları, skill’ler ve bellek dosyaları yer alır. Her kaynak, paylaşılan bir context window’dan token tüketir. Matematik basit ama sıklıkla göz ardı ediliyor.

/context Altında İki Kurulum#

/context komutu, context window’u kaynak bazında döker. İki gerçek kurulumun çıktısı:

Minimal kurulum (2 MCP sunucu, odaklı CLAUDE.md):

System prompt:  2.6K token  (1.3%)
System tools:  11.6K token  (5.8%)
MCP tools:  5.7K token  (2.8%)
Custom agents:  69 token  (0.0%)
Memory files:  743 token  (0.4%)
Skills:  61 token  (0.0%)
Autocompact buffer: 33.0K token (16.5%)
Free space:  146.2K token (73.1%)

Şişirilmiş kurulum (8+ MCP sunucu, kopyalanmış konfigürasyon):

System prompt:  2.6K token  (1.3%)
System tools:  17.6K token  (8.8%)
MCP tools:  82.0K token (41.0%)
Custom agents:  1.3K token  (0.7%)
Memory files:  7.4K token  (3.7%)
Skills:  1.0K token  (0.5%)
Autocompact buffer: 33.0K token (16.5%)
Free space:  55.1K token (27.5%)

Şişirilmiş kurulum overhead’e 91K token kaybediyor. Bu, konuşma başlamadan önce tüketilen context window’un neredeyse yarısı demek. O 91K token; kod tabanın, hata logların veya dokümantasyonun olabilirdi.

İki Sunucudan Awesome List’e#

KonfigürasyonMCP Token MaliyetiÇalışma için KalanEfektif Kapasite
Sıfır MCP sunucu0 token~155K token%100
2-3 odaklı sunucu~6K token~149K token%96
8+ kopyalanmış sunucu~82K token~73K token%47
15+ “awesome list” sunucu~145K token~10K token%6

%6 efektif kapasitede modelin elinde tek bir dosyayı ve sorduğun soruyu tutacak kadar bile yer kalmıyor.

Stack Trace Bırakmayan Bozulma#

Yanlış konfigüre edilmiş bir linter hatasını açıkça söyler. Yanlış konfigüre edilmiş bir Claude Code oturumu ise derece derece bozulur: yanıtlar belirsizleşir, kopyalanmış bir skill modeli makul görünen ama yanlış önerilere sürükler, kayıtlı onlarca araç arasından yanlış olanı seçme sıklığı artar. Hiçbir şey exception fırlatmaz; pencerede oturan şema tanımlarını işaret eden bir log da yoktur. Bu yüzden teşhis çoğunlukla “modelin kötü günü” olur ve konfigürasyon hiç şüphe altına girmez.

Araç Sayısı ve Doğruluk İlişkisi#

Araç sayısı ile doğruluk arasındaki ilişkiyi iki bağımsız kaynak sayıya döküyor: akademik bir benchmark ve Anthropic’in kendi değerlendirmeleri.

TaskBench (NeurIPS 2024)#

TaskBench benchmark’ı, değişen karmaşıklıktaki araç grafikleri genelinde LLM doğruluğunu ölçtü:

  • Tek araç: %96,16 doğruluk
  • 6 araç: %39,31 doğruluk
  • 8 araç: %25,00 doğruluk

Bir not: TaskBench izole araç seçimini değil, çok adımlı araç zincirlerinin tamamını puanlıyor; bu da agentic bir kodlama oturumunun gerçekte nasıl ilerlediğine çok daha yakın.

Anthropic’in MCP Değerlendirmeleri#

Anthropic’in Opus 4 ile yaptığı MCP araç benchmark’ları benzer bir desen gösteriyor:

  • 50+ araç (Tool Search olmadan): %49 doğruluk
  • 50+ araç (Tool Search ile): %74 doğruluk

Tool Search işleri iyileştirdi, ama iyileştirme açıkken bile her dört araç seçiminden biri hâlâ yanlış.

Bu iki veri noktasının arasında, sektör yazılarının ve benchmark’ların üzerinde uzlaştığı aralık duruyor: istikrarlı ve isabetli seçim için 5-7 araç. Bu sayının ötesinde her ek araç, modelin yanlış olanı seçme olasılığını artırır.

Yüksek doğruluk 96%

Kademeli düşüş

Sert düşüş ~25-49%

Tool Search yardımı ~74%

1 Araç

İdeal Aralık 5-7 Araç

6-15 Araç

50+ Araç

Azaltılmış ama hâlâ kayıplı

Tool Search Nereye Kadar Yeter#

Anthropic, Claude Code 2.1.7 sürümüyle (Ocak 2026) MCP Tool Search’ü yayınladı. Araç tanımları context window’un %10’unu aştığında, Tool Search tüm tanımları önceden dahil etmek yerine araçları ihtiyaç anında yükler. Sonuçlar anlamlı:

  • Token overhead %46,9-85 oranında azaldı
  • Opus 4 doğruluğu MCP değerlendirmelerinde %49’dan %74’e çıktı

Tool Search faturayı düşürür ama araç listesini kısa tutma gerekçelerine dokunmaz:

  • Model, eşleşme bulmak için araç açıklamalarını taramaya devam ediyor
  • Her arama adımı token tüketir ve gecikme ekler
  • Yanlış arama eşleşmeleri bir turu boşa harcar
  • Model, doğru aracın hangi sunucuda olduğunu anlamak zorunda

Tool Search’ü çöp toplayıcı (garbage collector) gibi düşün: bellek baskısını yönetir, ama GC var diye bellek sızdıran kod yazmazsın. Pratik tavan da yerinde duruyor: odaklı araç setleriyle 10’dan az sunucu. Eşleştirme arama üzerinden yürüdüğünde, her araç açıklamasının kalitesi daha da önem kazanıyor.

Sıfırdan Kurmak#

Süreç bir döngü:

Hayır

Evet

Evet

Hayır

Sıfır MCP sunucu ile başla

Tekrar eden bir sürtünme noktası var mı?

Çalışmaya devam et

Bir MCP sunucu ekle veya bir skill yaz

/context ile denetle

Overhead %20 üzerinde mi?

En az kullanılan aracı veya sunucuyu kaldır

Her Satırını Hak Eden Bir CLAUDE.md#

Sıfır MCP sunucu ve minimal CLAUDE.md ile başla. Yalnızca şunları dahil et:

  • Projen için build, test ve lint komutları
  • Claude’un koddan çıkaramayacağı mimari kararlar
  • Takımına özgü kodlama stili kuralları
  • Dosya adlandırma kuralları

Anthropic, CLAUDE.md’yi 200 satırın altında tutmayı öneriyor, ideal olarak 100’ün altında. Her satır her oturumda okunuyor.

Sunucu Kendini Ne Zaman Amorti Eder#

MCP sunucuyu ancak aynı dış sistemi Claude’a tekrar tekrar tarif ettiğini fark ettiğinde ekle.

3 sunucu kuralı faydalı bir başlangıç noktası:

  1. Versiyon kontrol için bir tane (GitHub/GitLab)
  2. Birincil veri kaynağın için bir tane (veritabanı, API, bulut sağlayıcı)
  3. Alan bazlı bir tane (proje yönetimi, dokümantasyon, monitoring)

Skill Tekrardan Doğar#

Skill’leri yalnızca benzer prompt’larla 5+ kez yaptığın görevler için oluştur. Topluluk listesinden kopyalanmış genel bir “code review” skill’i, Claude’un zaten yapabildiklerine hiçbir şey eklemez; takımının gözden geçirme kontrol listesini, test gereksinimlerini ve mimari kalıplarını adım adım işleyen bir skill ise bambaşka bir araçtır. Taslağın testi şu: gerçekten izlediğin bir süreci mi anlatıyor? İçinde süreç olmayan, yeniden kullanılabilir bir prompt gibi okunuyorsa prompt kullan.

Token Bütçesini İzlemek#

Denetim birkaç dakika sürer. /context çalıştır ve dağılımı oku; MCP araçları, system prompt ve bellek toplamı pencerenin %20’sinin altında kalmalı. /mcp ile sunucu başına araç sayılarına bak ve bir haftadır dokunmadığın her sunucuyu devre dışı bırak. Global ve proje düzeyindeki her CLAUDE.md’yi yeniden oku; Claude’un gerçekten yaptığın işler için ihtiyaç duymadığı her talimatı sil. Sonra .claude/skills/ dizinini aç ve her dosya için sor: bunu ben mi yazdım, yoksa kopyaladım mı? Kopyalanmış skill’ler ya kendi sürecine dayanan sürümleriyle değişir ya da silinir.

Compaction sıklığını da izle. Otomatik sıkıştırma oturum ortasında sık tetikleniyorsa, overhead gerçek işin yerini almaya başlamış demektir.

Her değişiklikten sonra /context komutunu tekrar çalıştır.

Neyi Ne Zaman Eklemeli#

MCP Sunucuları#

SinyalAksiyon
Aynı dış sistemi Claude’a haftada 3+ kez tarif ediyorsunBunun için odaklı bir MCP sunucu ekle
Awesome list’te gördün ve ilginç görünüyorAtla
Tüm takımın aynı dış araç erişimine ihtiyaç duyuyorProje konfigürasyonuna ekle
Son bir ayda bir kez kullandınDevre dışı bırak veya kaldır
Tek bir sunucu 50+ araç kaydediyorDaha odaklı bir alternatif ara

Skill mi, Prompt mu?#

SinyalAksiyon
Bu görevi benzer prompt’larla 5+ kez yaptınÖzel bir skill yaz
Biri iş akışına uyan bir skill paylaştıKendi kurallarına uyarla, kopyalama
Görev genel (ör. “bu kodu incele”)Claude’un yerleşik yeteneklerini kullan
Görev projenin özel kurallarını gerektiriyorBu kuralları kodlayan bir skill yaz
Skill 200 satırı aşacakOdaklı alt-skill’lere böl

CLAUDE.md Satırları#

SinyalAksiyon
Claude aynı hatayı tekrar tekrar yapıyorBunu önleyecek belirli bir kural ekle
Talimat bu projedeki her göreve uygulanıyorKök CLAUDE.md’de tut
Talimat yalnızca bir alt dizine uygulanıyorO dizine ait CLAUDE.md’ye taşı
Başka bir projenin CLAUDE.md’sinden kopyaladınProjen için geçerli değilse kaldır
CLAUDE.md 200 satırı aşıyorDenetle ve evrensel olmayan kuralları skill’lere taşı

Bahaneler#

”Eninde Sonunda İhtiyacım Olacak”#

135 aracı olan bir Docker MCP sunucusu ~126K token tüketir: haftada iki kez kullandığın bir araç için standart 200K context window’un %63’ü ayrılmış olur. 1M token pencereler mevcut olsa bile bu overhead, gerçek işine harcanmayan 126K token demek. Cevap oturum bazlı kapsam: sunucuyu yalnızca ihtiyaç duyan oturumlarda /mcp ile aç, gerisinde kapalı tut.

”CLAUDE.md’m Her Şeyi Kapsıyor”#

Kapsamlı bir CLAUDE.md her oturumda okunur ama herhangi bir görevde yalnızca küçük bir kısmı işe yarar; kalanı parası ödenmiş gürültüdür. Kapsamı daraltılmış dosyalar tam bunun için var. Kök CLAUDE.md’yi evrensel kurallarla sınırla; göreve özgü talimatları alt dizin CLAUDE.md dosyalarına veya skill’lere taşı.

”Trend Olan Kurulum En İyisi Olmalı”#

Viral bir konfigürasyon, senin görmediğin haftalarca iterasyonla, yazarının kendi ihtiyaçları için kurulmuştur. Benimsemeden önce her skill’i ve konfigürasyonu oku; yaptığı işe en son ne zaman ihtiyaç duyduğunu sor. Cevap son bir hafta içinde değilse dışarıda bırak.

CLAUDE.md Kapsam Sorunu#

CLAUDE.md dosyaları bir hiyerarşi izler:

  • ~/.claude/CLAUDE.md (global): her projede yüklenir
  • ./CLAUDE.md (proje kökü): bu proje için yüklenir
  • ./packages/api/CLAUDE.md (alt dizin): burada çalışırken yüklenir

Birinin global CLAUDE.md’sini kopyaladığında React bileşen kuralları Go mikroservislerine kadar peşinden gelir; “her zaman pnpm kullan” satırı yarn workspace’inle çatışır, Vitest talimatları da Jest kurulumuna hiçbir şey söylemez.

Neyin ait olduğu, yukarıdaki minimal temel listesinin aynısı; kapsam sorusu her satırın hangi dosyada yaşayacağı. Hangi düzeyde olursa olsun ait olmayanlar:

  • Genel programlama tavsiyeleri (“temiz kod yaz”)
  • Skill’lere ait araç talimatları
  • Kullanmadığın stack’ler için kurallar
  • Ayrıntılı açıklamalar. Claude kodu iyi okur.

Varsayılanı Ne Zaman Esnetmeli#

Önce sıfır, sonra kanıt yaklaşımı, context faturasını senin ödediğin her durumda geçerli: kendi repon, küçük bir takım, kurallarını zaten ezbere bildiğin bir kod tabanı. Bu varsayılanı esnetmenin iki makul gerekçesi var. Yirmi repo için tek bir onaylı MCP setini bakımlı tutan bir platform takımı, harcadığı token karşılığında tutarlılık kazanır. Gününün büyük bölümünü kaplayan tek bir dış sistem de kendi sunucusunun maliyetini ilk saatte çıkarır. Topluluk skill’leri, paylaşılan dotfile’lar ve awesome list’ler her iki durumda da ilham kaynağı olarak işini görür; maliyet, blok halinde geldiklerinde ortaya çıkar.

Bugün /context çalıştır ve overhead sayısını bir yere yaz. Bundan sonraki her konfigürasyon değişikliğinin aşması gereken bir sayı olur.

Kaynaklar#

İlgili yazılar

AI Yardım Spektrumu: Profesyonel Yazılım Geliştirmede Doğru Seviyeyi Seçmek

Yazılımda kod incelemeden vibe coding'e altı seviye AI yardımını anlatan bir framework ve AI yardımını ne zaman artırıp azaltacağınıza dair rehber.

ai-tools · code-quality · productivity +4

Claude Code Nerede Çalışmalı? Devcontainer, Codespaces ve MicroVM

Bir kodlama ajanının evi olarak devcontainer, Codespaces ve AWS Lambda MicroVM: her basamak ne katıyor ve ajanı laptoptan çıkarmak ne zaman kazandırıyor.

lambda · claude-code · ai-tools +5

Stateful Kaynaklar Ayrı Bir CDK Stack'inde mi Durmalı?

CDK stack düzeni için yaşam döngüsü testi: bir kaynağın ömrü tek bir dağıtımdan uzunsa kendi uzun ömürlü stack'ine koyun, ona bilinen bir adla erişin.

aws-cdk · infrastructure-as-code · typescript +3

Frontend Platformu için Golden Path: İskelet, Paylaşılan Paketler ve Görev CLI'si

Bir frontend platform ekibi doğru yolu nasıl en kolay yol haline getirir: golden-path iskeleti, sürümlü paylaşılan paketler ve ekip kaymasını gideren bir görev CLI'si.

platform-engineering · developer-experience · build-tools +1

Phronesis ve AI Kodlama Ajanları: Modelin Size Veremeyeceği Beceri

Ajanlar kod yazmayı neredeyse bedavaya indirdi; ama onları ne zaman ve ne kadar kullanacağınız konusundaki yargı hâlâ tamamen size ait. İki beceriyi ayıran bir çerçeve.

ai-tools · claude-code · ai-agents +3