Claude Code ile Verimli Çalışmak — Bölüm 1: Bağlam (Context), Beceriler ve Prompt Yazımı
1 Tem 2026 · 6 dk okuma
Claude Code'u birkaç dakikadan fazla kullandıysanız, tıkır tıkır işleyen bir oturum ile sizinle adeta savaşan bir oturum arasındaki farkı mutlaka hissetmişsinizdir. Çoğu zaman bu fark modelin aniden akıllanmasıyla ilgili değildir; tamamen Claude Code'un yaptığı her şeyi yöneten o tek unsuru —yani bağlam penceresini (context window)— ne kadar iyi yönettiğinizle alakalıdır.
Bu rehber iki bölümden oluşuyor. Bölüm 1, tek bir oturum içinde verimli çalışmaya odaklanıyor: Claude Code'un neleri görüp neleri göremediğini anlamak, Becerileri (Skills) kullanmak, doğru prompt yazmak ve uzun oturumlarda performansı yüksek tutmak. Bölüm 2 ise çıtayı bir üst seviyeye çıkaracak: Ajanlar (agents), alt ajanlar (subagents) ve çoklu ajan ortamının nasıl kurulacağı.
Claude Code Projenizi Nasıl Görür?
Kavramanız gereken en kritik nokta şu: Claude Code sınırlı bir bağlam penceresine sahiptir ve yazdığınız mesajlar, okuduğu dosyalar, çalıştırdığı komutların çıktıları ile kendi akıl yürütme süreçlerinin tümü bu alanda yer kaplamak için birbiriyle yarışır. Claude Code, tüm projenizin içine yüklendiği bir veritabanı değildir; dosyaları yalnızca ihtiyaç duydukça, sohbet ilerledikçe okur. Açtığı her dosya jeton (token) harcar. Pencerenin ne kadar dolu olduğunu istediğiniz an /context komutuyla kontrol edebilirsiniz.
Aşağıdaki etkileşimli araç durumu somutlaştırıyor. Büyük bir dosya okuyun veya birkaç tur soru-cevap yapıp pencerenin doluşunu izleyin; ardından /compact veya /clear komutlarını deneyip ne olduğunu görün:
Bir eylem seç, pencerenin nasıl dolduğunu izle.
Pencere dolmaya yaklaştığında Claude Code otomatik sıkıştırma (auto-compaction) işlemini tetikler: Önemli kodları ve alınan kararları koruyarak sohbetin o ana kadarki özetini çıkarır ve yer açar. Bu kullanışlı bir özelliktir ama bedelsiz değildir; özetleme yapılırken detaylar kaybolabilir. Bu yüzden kalıcı olmasını istediğiniz her şey, sohbet geçmişinden daha dayanıklı bir yerde durmalıdır.
Oturum Başladığında Neler Yüklenir?
Her şey "ihtiyaç anında" okunmaz. Oturum başladığı anda küçük bir kısım otomatik olarak yüklenirken, geri kalan her şey sırasını bekler:
Oturum başında otomatik yüklenir
- CLAUDE.md (proje + kullanıcı)
- Auto Memory — ilk ~200 satır
- Skill açıklamaları (yalnızca tarif)
İhtiyaç oldukça yüklenir
- Okuduğun dosyalar
- Bir skill'in tam içeriği
- MCP tool şemaları
- Subagent sonuçları (özet olarak)
Neyin hangi tarafta kaldığını bilmek, bağlam pencerenizi hafif tutmanın anahtarıdır. Otomatik yüklenen sütun esasen "her zaman orada" olduğundan, sabit talimatlarınız tam olarak burada yer almalıdır.
CLAUDE.md — Projenizin Sabit Talimatları
CLAUDE.md, Claude Code'a projeniz hakkında her zaman bilmesi gerekenleri söylediğiniz yerdir. Sırasıyla yüklenen birkaç farklı türü vardır:
~/.claude/CLAUDE.md— Tüm projelerinizde geçerli olan kişisel dosyanız../CLAUDE.mdveya.claude/CLAUDE.md— Git'e dahil edilen ve ekibinizle paylaşılan proje dosyası.CLAUDE.local.md— Tek bir projeye özel, sürüm kontrolüne girmeyen kişisel ayarlarınız.- Gerektiğinde kurum genelinde yönetilen bir politika dosyası.
Her oturumun başında otomatik olarak yüklenir ve sıkıştırma işleminden sonra tekrar içeriye enjekte edilir. Yani sohbet özetlenip kaybolsa bile bu dosya ayakta kalır. İyi bir CLAUDE.md kısa ve net olmalıdır:
# CLAUDE.md
- Paket yöneticisi: pnpm (kesinlikle npm kullanma).
- `src/` altındaki her değişiklikten sonra `pnpm test` komutunu çalıştır.
- Sormadan `migrations/` içindeki dosyaları asla düzenleme.Ancak unutulmaması gereken bir detay var: CLAUDE.md bir bağlamdır, kesin bir konfigürasyon kuralı değildir. Claude bunu okur ve genelde uyar; ancak yine de dışına çıkabilir. Bu bir zorunluluk değil, rehberdir. Kesin bir garantiye ihtiyaç duyduğunuzda ("bu klasöre asla yazma", "commit atmadan önce her zaman linter'ı çalıştır" gibi), yaşam döngüsünün belirli noktalarında kesin olarak çalışan Hooks (Kancalar) özelliğini kullanın. Ayrıca dosyayı öz tutun: Yaklaşık 200 satırdan sonra, dikkat çekmek için diğer şeylerle yarışmaya başladığından talimatlara uyma oranı düşer.
Otomatik Hafıza ve CLAUDE.md Karşılaştırması
CLAUDE.md ile karıştırılmaya çok müsait ikinci bir dosya daha vardır: Otomatik Hafıza (Auto Memory). Aralarındaki fark basittir: CLAUDE.md sizin yazdığınız şeydir; Otomatik Hafıza (MEMORY.md) ise siz çalıştıkça Claude'un kendi kendine öğrendiği ve kaydettiği bilgilerdir. İlk ~200 satırı her oturumda otomatik yüklenir, böylece bir önceki çalışmada öğrendiği yararlı bilgiler bir sonrakine devreder. Özetle; birini siz yazarsınız, diğerini Claude tutar.
Beceriler (Skills) — Paketlenmiş, İhtiyaca Özel Yetenekler
Beceriler; .claude/skills/<isim>/ dizini altında bir SKILL.md dosyası (ve destekleyici dosyalar) olarak paketlenmiş, yeniden kullanılabilir iş akışları ve uzmanlık bilgileridir. Özel komutlar ile Beceriler artık aynı mekanizmayı kullanıyor; yani eskiden taksim komutu (slash command) olarak kullandığınız her şey artık buraya uyarlanabilir.
Bir beceriyi doğrudan /isim şeklinde çağırabileceğiniz gibi, Claude açıkça ilgili gördüğünde bunu kendi kendine de çalıştırabilir. İşin akıllıca kısmı bağlamı kullanma biçimleridir: Oturum başında yalnızca beceri açıklamaları (Claude'un neyin mevcut olduğunu bilmesini sağlayan kısa özetler) yüklenir. İçeriğin tamamı ise yalnızca o beceri gerçekten kullanıldığında yüklenir. Bu da tüm maliyeti baştan ödemek zorunda kalmadan zengin bir beceri kütüphanesi tutabileceğiniz anlamına gelir. Tekrarladığınız çok adımlı prosedürleriniz olduğunda hemen bir beceriye başvurun: Dağıtım (deploy) adımları, kod inceleme kontrol listesi veya projeye özel bir iş akışı gibi.
Doğru Prompt Yazımı
Yukarıda bahsedilen her şey Claude'un neleri görebileceğini şekillendirir; prompt yazmak ise bu gördükleriyle ne yapacağını belirler. Birkaç alışkanlık size istikrarlı bir şekilde kazanç sağlar:
- En baştan net olun. Dosyalara doğrudan
@dosya/yoluşeklinde referans verin, kısıtlamaları ve uç durumları (edge cases) açıkça belirtin ve bir yapıyı anlatmak yerine kod tabanındaki mevcut bir kalıbı örnek gösterin. İlk mesajınız ne kadar kesin olursa, sonradan o kadar az düzeltme yaparsınız. - Claude'a doğrulayabileceği bir şey verin. İçinde başarı kriteri barındıran bir görevin ilk denemede doğru sonuçlanma ihtimali çok daha yüksektir:
- ❌
validateEmail fonksiyonunu yaz - ✅
validateEmail fonksiyonunu yaz. Testler: user@example.com → true, invalid → false, user@.com → false. Ardından testleri çalıştır.
- ❌
- Uygulamadan önce keşfetmesini sağlayın. Basit olmayan her iş için öncelikle Plan modunda başlayın (modlar arasında geçiş yapmak için
Shift+Tabveya/plan). Claude kaynak kodunuza dokunmadan okur, inceler ve bir plan hazırlar; siz incelersiniz ve ardından geliştirmesini istersiniz. - Mikro yönetim yapmayın, yetki devredin. Claude'a yetkin bir mesai arkadaşınız gibi davranın: Yönlendirmeyi yapın, hangi dosyaları okuyacağını ve hangi komutları çalıştıracağını kendisinin çözmesine izin verin. Her adımı mikro düzeyde yönetmeye çalışmak genelde sadece bağlamı boşa harcar.
- Gidişatı erkenden düzeltin. Akışı bozmadan aksiyonu yarıda kesmek için
Esctuşuna basın. Eğer aynı şeyi iki veya üç kez düzeltmenize rağmen bir ilerleme kaydedemediyseniz durun;/clearyapın ve prompt'u sıfırdan yazın. Taze ve daha net bir prompt, uzun tartışmalardan her zaman daha iyidir.
Uzun Oturumlarda Performansı Yüksek Tutmak
Tüm bu parçaları birleştirdiğinizde ortaya basit bir rutin çıkar:
- Birbiriyle ilgisiz görevler arasında
/clearkullanarak eski ve başarısız yaklaşımların bağlamda kalmasını engelleyin. - Tek bir uzun görev pencereyi doldurduğunda ancak devam etmek istediğinizde
/compact focus on <konu>komutunu kullanın. - Kalıcı kurallarınızı
CLAUDE.mdiçinde tutun ki sıkıştırma (compaction) işlemlerinden etkilenmesin. - Ağır inceleme işlerini alt ajanlara devredin; onlar kendi bağlam pencerelerinde çalışır ve ana oturumunuzu temiz tutarak size sadece özeti döndürür. (Bölüm 2'ye geçiş köprümüz de tam olarak bu.)
Kaçınılması Gereken Efsaneler
- "Sıkıştırma (compaction) tüm geçmişinizi korur." Hayır, sadece özetler; detaylar kaybolabilir. Kalıcı kurallar
CLAUDE.mddosyasında yer almalıdır.- "CLAUDE.md bağlayıcı bir konfigürasyondur." Hayır, sadece bir bağlamdır. Kesin bir kısıtlamaya ihtiyacınız olduğunda Hooks kullanın.
- "Plan modu asla izin istemez." Sadece kod düzenlemelerini engeller; terminal komutları için hâlâ onay ister.
Bölüm 2'de Neler Var?
Claude Code ile tek bir oturum içinde verimli çalışmanın özü budur: Pencereyi takip edin, hafif tutun ve ne istediğinizi bilerek yönlendirin.
Bölüm 2'de bir seviye üste çıkacağız: Ajanların ve alt ajanların gerçekte ne olduğu, işin ne zaman onlara devredileceği ve birkaç Claude'un paralel olarak çalıştığı çoklu ajan ortamının nasıl kurulacağı. Orada görüşmek üzere!
Yeni makale yayınlandığında haberiniz olsun ister misiniz?
Yeni bir yazı yayınlandığında size e-posta gelsin. Dilediğiniz an iptal edebilirsiniz.
Yorumlar
Benzer makaleler
BPE(Byte Pair Encoding) nedir ve LLM'ler için neden önemli
1 Tem 2026 · 8 dk okuma
GPT'yi Sıfırdan Yazalım: nano-gpt
27 Haz 2026 · 13 dk okuma
Bu Blog Ne Hakkında?
26 Haz 2026 · 2 dk okuma
Tensor Nedir? Derin Öğrenme için Lineer Cebir
24 Haz 2026 · 4 dk okuma
Attention'ı Sıfırdan Anlamak
23 Haz 2026 · 3 dk okuma
Gradient Descent Gerçekte Nasıl Çalışır
22 Haz 2026 · 4 dk okuma
Kimlik-Farkında Negatif Örnekleme Neden Önemli
20 Haz 2026 · 3 dk okuma