AIDive

CLAUDE.md'mi Sildim ve Neyin Bozulduğunu Ölçtüm

AIDive tarafından · Yayın

Kodlama agent'ları

Silindi, ölçüldü, bir kural bozuldu

CLAUDE.md'yi silmek, Claude Code'un her konuşmanın başında okuduğu talimat dosyasını kaldırmak demektir. Claude Code'un yaratıcısı Boris Cherny, sahnede bu dosyayı altı ayda bir silmeyi önerdi. Yedi hafta içinde yirmi iki video onu tekrarladı. Hiçbiri bir repo açmadı.

Bu yazı videoların yapmadığını yapıyor: 177 satırlık bir CLAUDE.md, üç skill, dört komut ve bir hook içeren gerçek bir uygulamayı alıyor, beş günlük görevi dosyayla ve dosyasız çalıştırıyor, sonucu sayıyor. Kırk dört koşunun sonunda tam olarak bir kural bozuldu. Dosya her görevde token maliyeti getirdi, her seferinde farklı miktarda, ve satırlarından biri kimsenin uyamadığı bir talimattı.

Klip, kelimesi kelimesine, ve ona ait olmayan iki cümle

Klip, Opus 5'in çıkışından bir gün sonra kaydedilen Boris Cherny'nin YC Startup School konuşmasından geliyor. Sözleri şöyle: her altı ayda bir CLAUDE.md'ni sil, skill'lerini sil, hook'larını sil. Modelin ne yaptığını gör, seni şaşırtabilir. Opus 5 için, diyor, Anthropic bunu denemeyi gerçekten öneriyor: model artık tüm o talimatlara ihtiyaç duymuyor olabilir.

Otuz saniye önce, kimsenin alıntılamadığı uyarı geliyor. Anthropic tüm kod tabanını silmiyor. Çoğunu siliyor ve buna ablation diyor. Yazılı transkript bu satırı bugün eksiksiz taşıyor. Claude Code sistem promptunun yüzde seksen'i bu şekilde gitti: her şeyi sil, satır satır geri getir, her satırı ölç.

Tepki videolarının onun ağzına koyduğu iki cümle konuşmada yok. "Bağlam, hedefler ve bir tamamlanma tanımı" hiçbir yerde geçmiyor; en yakın söylediği görev, koruma kuralları, çıkış kriterleri. "Bun'u yeniden yazan altmış dört agent" de onun sayısı değil: bu, Bun yazısında Jarred Sumner'a ait. Cherny on bir gün diyor ve bir sayı istendiğinde binlerce diye tahmin ediyor.

Yedi haftada yirmi iki video bu klibi alıntıladı. Hiçbiri testi çalıştırmadı. Bu yüzden bu yazı onun gerçekten anlattığını yapıyor: sil, bir parça bir parça geri getir, ölç.

Araç: ablation, silme değil

Bir ablation, her şeyi silip tahmin etmek yerine, bir konfigürasyonun tek bir parçasını çıkarır ve etkisini ölçer. CLAUDE.md her konuşmanın başında ve her turda yeniden okunuyor; skill'ler yalnızca çağrıldığında yükleniyor. Ölçülen fark tam olarak bu.

Anthropic silme anahtarını hazır sunuyor: yalın bir flag, Cherny'nin sahnede adını verdiği aynı değişken. Repo benim gerçek bir uygulamam: 177 satırlık talimat, üç skill, dört komut ve her aramada tetiklenen bir hook.

Boyut Değer
Günlük görevler 5 (yeni komponent, düzenleme, refactor, store değişikliği, mimari sorusu)
Konfigürasyonlar 5 (tam, dosyasız, skill'siz, hook'suz, hiçbiri)
Model tek, sabitlenmiş
Ortam boş config dizini, her koşudan önce yeni clone
Koşu 44
Maliyet $39

Her koşu aynı şekilde, aynı clone üzerinde, elle değil bir script tarafından puanlandı. Neyin bozuk sayıldığı: reponun kendi kuralları (import'lar, type'lar, tasarım token'ları, çeviriler) artı typecheck ve lint.

Bu tür bir ablation için yapılmış tek araç olan Caliper, skill'leri ve MCP sunucularını ablate ediyor ama dosyaya hiç dokunmuyor; CLAUDE.md değişimi elle yapıldı. Sınırlar, bir kez belirtildi: tek repo, tek model, hücre başına iki koşu, transkript yok. İlk sonuç setinin tonu şuydu: refactor görevi dosyayla altmış dört sent, dosyasız altmış üç sent ile birebir aynı çıktı verdi.

Ne bozuldu: bir kural, yeni dosyalarda

Bozulan kural bir uluslararasılaştırma kuralı, dosyanın kendi ifadesiyle: her zaman hem İngilizce hem Fransızca ekle, kullanıcının gördüğü bir string'i asla hardcode etme. Yeni komponent görevinde, dosyayla dört koşunun tamamı çeviri dosyasını yazdı. Dosyasız, dört koşudan üçü başlığı hardcode etti. Aynı görev, aynı repo, aynı model, aynı prompt.

Yeni komponent Çeviri dosyasını yazdı
CLAUDE.md ile 4/4
CLAUDE.md olmadan 1/4

Düzenleme görevi diğer yarıyı anlatıyor. Her konfigürasyon, hiçbir şey olmadığı halde bile doğru sonuç verdi, çünkü komşu kod bunu zaten öğretiyor: düzenlenen komponentin yanındaki her komponentin zaten bir çeviri dosyası var. Kırk dört koşunun tamamında geri kalan her şey tuttu: import alias'ı, interface yerine type, tasarım token'ları, store deseni. Kod bunları gösteriyor; dosya sadece tekrarlıyor.

ETH Zurich'ten bir makale aynı şeyi 138 gerçek issue üzerinde ölçtü. Bulgusu: context dosyaları başarıyı artırmıyor ve yaklaşık yüzde yirmi daha pahalıya mal oluyor, üstelik model talimatlara gerçekten uyuyor. Bir istisna: dosyasız bir koşu yine de çeviri dosyasını yazdı. Kural dosyasız imkansız değil, güvenilmez. Bir kural bozuldu, kodun öğretemediği o kural. Ve o işi atlayan koşu aynı zamanda en ucuzu oldu.

Dosyanın maliyeti, görev görev

Bir CLAUDE.md'nin token maliyeti, dosyayla yapılan bir koşu ile aynı koşunun dosyasız hali arasında okunan token farkıdır.

Görev Dosyasız daha az okunan token
Yeni komponent %61
Düzenleme %15
Refactor %5
Store değişikliği %4
Mimari sorusu %14
On koşu üzerinde %32 token, %22 para

Yüzde otuz iki, her videonun manşete çıkaracağı sayı, ve yanlış olan da bu. En büyük tasarruf, çeviri dosyasını yazmayan koşudan geliyor: daha az iş yaptığı için daha ucuz. Çıktının aynı olduğu yerlerde, dosyanın maliyeti yüzde dört ile on dört arasındaydı. Bu onun gerçek fiyatı, ve makalenin yüzde yirmisi tam bu iki sayının arasına düşüyor.

Mekanizma yaklaşık 1,800 token, her turda yeniden okunuyor. Skill'ler, hook ve bilgi grafiği, var ya da yok, ölçülebilir hiçbir şey üretmedi. Gürültü, bunların çoğundan daha büyük: aynı görev, aynı dosya, bir koşuda $2.11, diğerinde $1.33'e mal oldu. İki koşu tur sınırına takıldı, biri dosyayla biri dosyasız. Yani dosya her yerde biraz maliyet getiriyor ve yerini bir kez hak ediyor, tabii yalan söylemiyorsa.

Yalan söyleyen satırlar

Yalan söyleyen bir satır, modelin uyamadığı ya da hiçbir şeyi değiştirmeyen bir talimattır. Başta değindiğim satır: temayı design-tokens alias'ından import et. Bu alias mevcut değil: TypeScript config'i tek bir prefix'e eşliyor ve token'lar klasöründe tema dosyası yok. Dosyayla ya da dosyasız her koşu, komşuların yaptığını yaptı, kırk dört kez aynı import satırı.

Dosyada seksen iki satırlık bir mimari özet var. Aynı soru, altı cevap: altısı da aynı dokuz dosyayı, backend'den ekrana, aynı sırayla buldu, özetle ve özetsiz. Bir blok, clone'da bulunmayan bir bilgi grafiğine işaret ediyor; grafik mevcut olduğunda bile soru aynı maliyeti taşıdı.

Ölçüt Değer
Anthropic'in boyut kuralı 200 satırın altı
Bu dosya 177 satır
reporails'in 30 bin repo veri setindeki medyan dosya 50 öğe, 12 direktif
Bu dosyadaki direktif satırları 177 satırın 24'ü

Çelişen iki kuraldan hangisinin kazandığına konum karar veriyor, ve model bunu hiç söylemiyor, bir vendor'ın testinde yaklaşık doksan puan fark. Özet, burada çalıştırılmayan bir görev için işe yarayabilir: tek deneme, tek cevap. Üç tür satır o zaman: yerini hak eden, kodun zaten öğrettiği, yalan söyleyen.

Tut, taşı, sil: kısa liste

Üç yığın, ve her birinin arkasındaki ölçüm.

Yığın Neler gider Ölçüm
Tut Kodun gösteremediği kural 4 koşuyu kurtaran 6 satır
Taşı Mimari özet ve komutlar Ölçülmüş kazancı olmayan 107 satır
Sil Yalan söyleyen satırlar, ve ağacın zaten gösterdiği satırlar 44 aynı koşu

Modelin iki kez yanlış yaptığı şeyi tut: bu zaten Anthropic'in dosya için kendi kriteri. Özeti ve komutları, ihtiyaç duyulduğunda yüklenen bir dosya ağacına taşı; Anthropic'in Temmuz yazısı merkezi repoyu bir efsane olarak adlandırıyor. Hook'lar kalır: bir kapının süresi, model daha iyi olduğunda dolmaz. Aştığı düzyazıyı kes, kapıyı tut.

Sonrasında dosya: yaklaşık yetmiş satır, üstüne o yerini hak eden altı satır. Bu, Cherny'nin yöntemi, bütünüyle okunduğunda: sil, satır satır geri getir, ölç. Tek repo, tek model, hücre başına iki koşu; yığınların farklı olacak, yöntem farklı olmayacak. Silmek bir kurala mal oldu ve az şey kazandırdı. Kazanç, yalan söyleyen satırları bulmaktı.

Kaynaklar

Sık sorulan sorular

Boris Cherny'nin dediği gibi CLAUDE.md'ni silmeli misin?
Körü körüne değil. Cherny'nin konuşması bir ablation anlatıyor: dosyayı sil, satır satır geri getir ve her satırı ölç. 177 satırlık gerçek bir dosyada, dosyayı silmek 44 koşuda bir kuralı bozdu ve az şey kazandırdı; kazanç, yalan söyleyen satırları bulmaktı.
Bir CLAUDE.md'yi sildiğinde ne bozulur?
Bu repoda, bir kural: her zaman hem İngilizce hem Fransızca çeviri ekle. Dosya olmadan, dört koşudan üçü yeni komponent görevinde başlığı hardcode etti. Diğer tüm kurallar tuttu çünkü komşu kod bunu zaten gösteriyor.
Bir CLAUDE.md kaç token'a mal olur?
Her turda yeniden okunan yaklaşık 1,800 token. Göreve göre bu, dosyasız %4 ila %61 daha az token okunması demekti; çıktının aynı olduğu yerlerde dosyanın maliyeti %4 ila %14 arasındaydı, bu da ETH Zurich makalesinin 138 gerçek issue üzerindeki %20'lik ortalamasıyla örtüşüyor.
Bir CLAUDE.md'de ne kalmalı?
Kodun gösteremediği kurallar, bu aynı zamanda Anthropic'in kendi kriteri: modelin iki kez yanlış yaptığı şeyi tut. Özetleri ve komut listelerini ihtiyaç anında yüklenen dosyalara taşı, var olmayan şeylere işaret eden talimatları sil ve hook'ları koru, çünkü bir kapının süresi model iyileştiğinde dolmaz.
CLAUDE.md veya AGENTS.md gibi context dosyaları kodlama agent'larını iyileştirir mi?
ETH Zurich'in 138 gerçek issue üzerindeki makalesi, context dosyalarının görev başarısını artırmadığını ve ortalama olarak inference maliyetini %20'den fazla yükselttiğini buldu, üstelik model talimatlara gerçekten uyuyor. Bu ölçüm tek bir repoda aynı aralığa denk geldi.
Claude Code bağlamında ablation nedir?
Model sabitlenmiş ve her koşuda yeni bir clone kullanılarak, konfigürasyonun tek bir parçasının çıkarılıp etkisinin ölçülmesi. Anthropic bunu Claude Code sistem promptunun %80'ini kesmek için kullandı; burada beş konfigürasyon üzerinden çalıştırıldı: tam, dosyasız, skill'siz, hook'suz, hiçbiri.

İlgili videolar