AIDive

Video paketi

CLAUDE.md'nizi silin, ölçümlerle: ablasyon tabloları, kontrol listesi ve kaynaklar

11 dk okuma

TL;DR

  • 177 satırlık CLAUDE.md, 3 skill ve 1 hook içeren gerçek bir repoda her şeyi silmek tam olarak tek bir kuralı bozdu, o da tek bir durumda: yepyeni bir dosyadaki i18n kuralı. Diğer tüm kurallar geçerliliğini korudu, çünkü çevredeki kod onları zaten öğretiyordu.
  • Çıktının aynı olduğu görevlerde dosya, okunan token'ların %4 ila %14'üne mal oldu, yani yaklaşık on dolardan bir dolar. Manşetteki %32 tasarruf, dosyanın modele daha fazla iş yaptırdığı tek görevden gelen değerin etkisindedir.
  • Skill'lerin ve hook'un ölçülebilir bir maliyeti yok: skill'ler çağrıldığında yüklenir ve hiçbiri çağrılmadı, hook ise tek bir cümle ekliyor.
  • 82 satırlık mimari özet, mimari sorusunda hiçbir şey kazandırmadı: altı cevabın hepsi doğruydu, dosyayla da dosyasız da.
  • Anthropic'in kendi ifadesiyle "silmek", ablasyon yapıp progressive disclosure'a taşımak demektir, silip atmak değil. Kodun öğretemeyeceği kuralları tutun, gerisini rules dosyalarına ve skill'lere taşıyın, vazgeçilmez kuralları hook'a çevirin.
  • Konfigürasyon başına iki tekrar bir alt sınırdır, hüküm değil: görev başına %15'in altındaki farklar çalıştırmalar arası gürültünün içindedir.

Ölçümler ne söylüyor

Herkesin tepki verdiği konuşma iki şey söylüyor ve ikincisi unutuluyor. Boris Cherny sahnede Claude Code'un system prompt'unun %80'ini sildiğini doğruluyor ve yöntemi anlatıyor: system prompt'un tamamını sil, sonra her satırın etkisini ölçmek için satır satır geri getir s2. "Every 6 months" bölümü 00:06:58 ile 00:07:05 arasındadır ve ifade "strongly recommend" değil, "really do recommend" şeklindedir s1. Ona sıkça atfedilen iki söz konuşmada yok: "context, goals and a definition of done" (15:22'deki en yakın gerçek ifade "describe the task, the guardrails, the exit criteria") ve "64 agents". O "eleven days" diyor ve agent sayısı sorulunca "I'm not sure" cevabını veriyor s2. 64 rakamı Bun'un yeniden yazımıyla ilgili yazıya ait: "64 Claudes running for 11 days", API fiyatıyla yaklaşık $165,000, 9 milyar önbelleğe alınmamış girdi token'ı, 690 milyon çıktı token'ı ve 72 milyar önbellekli girdi token okuması s14.

Bunların hepsini ölçülebilir kılan mekanizma yüklemedir. CLAUDE.md ve rules dosyaları her turda enjekte edilir; skill'ler yalnızca çağrıldığında yüklenir. Memory dokümanları herkesin aktardığı boyut önerisini de içerir: "target under 200 lines per CLAUDE.md file. Longer files consume more context and reduce adherence." s4. Anthropic'in yazılı tavsiyesi, merkezi repo CLAUDE.md'sini bir efsane olarak çerçeveler ve progressive disclosure ile auto-memory'ye işaret eder s3.

Bizden önceki tek kontrollü çalışma, AGENTS.md üzerine ETH makalesidir: 12 repoda 138 issue ve sonuç "providing context files does not generally improve task success rates, while increasing inference cost by over 20% on average". Geliştiricilerin commit ettiği dosyalar, LLM'in ürettiklerinden ortalama %7 daha iyi performans gösteriyor ve belirli araçları adlandıran talimatlar gerçekten yardımcı oluyor s5.

Dosyaların içeriği ve nasıl okundukları hakkında iki veri noktası daha var. 28,721 repo ve 165,063 dosyada, medyan talimat dosyası 50 içerik öğesi taşıyor ve bunların yalnızca 12'si gerçek direktif; yazarın çerçevesiyle dosyanın yalnızca %27'si sandığınız işi yapıyor s8. Birbiriyle gerçekten çelişen iki talimatlı kontrollü bir deneyde, tek bir kuralı dosyanın başından sonuna taşımak, modelin ona uyma sıklığını yaklaşık 90 puan değiştiriyor: neredeyse hiçbir zamandan neredeyse her zamana s9. Aynı yayıncı, deneyimizin izlediği çizgiyi çiziyor: ablasyon silme değildir ve hook'lar bir zorlama mekanizmasıdır, model yükseltmesiyle eskimez s7.

İki gayriresmi ön bilgi sonucumuzla örtüştü. Aynı GitHub issue'ları ve aynı modelle, 1,000 satırlık bir CLAUDE.md ile ~20 satıra indirilmiş sürüm karşılaştırıldı: mimari ayakta kaldı, ev kuralları bozuldu s6. Her şeyi progressive disclosure'a taşıyan bir yorumcu, otomatik yüklenen bağlamın oturum başına ~35k token'dan ~4.5k'ya düştüğünü, hiçbir bilginin silinmediğini bildiriyor s11. Skill ablasyonlarını puanlamak için bir araç var: caliper'ın --ablate seçeneği skill'leri ve MCP sunucularını kapsar, compare ise başarı oranını, token'ları ve süreyi raporlar; CLAUDE.md değişimi elle kalır s16.

Ölçümler

Protokol: tek bir özel Expo / React Native repo'su (1,021 izlenen dosya), 177 satırlık CLAUDE.md, 7,243 karakter, yaklaşık 1,800 token, 3 skill, 4 slash komutu, 1 PreToolUse hook. Her çalıştırmada model claude-opus-5 olarak sabitlendi, Claude Code 2.1.278, headless claude -p, --max-turns 40, kullanıcı yapılandırma dizini boş, MCP yok, her çalıştırmadan önce temiz bir clone. Beş gündelik görev (yeni bileşen, bileşen düzenleme, ortak helper'ları refactor etme, store alanını kalıcılaştırma, veri yolunu açıklama), her seferinde tek parça ablasyon. 44 çalıştırma, API fiyatıyla $38.97, 92 dakika agent süresi. Puanlama: eklenen satırlarda reponun kendi ev kuralları, tsc --noEmit, eslint, cevaplar elle notlandı.

Kalite, ne bozuldu:

konfigürasyon düzenleme çalıştırması ev kuralı ihlali yeni tsc hatası eslint hatası
A tam 8 0 0 0
B CLAUDE.md yok 8 1 (yeni başlık sabit kodlandı, .content.ts yok) 0 0
C skill yok 4 0 0 0
D hook yok 4 0 0 0
E hiçbiri 8 2 (başlık iki kez sabit kodlandı, .content.ts yok) 0 0

Çalıştırma başına maliyet, konfigürasyonun çalıştırmalarının ortalaması (token = önbellek okumaları, her turda yeniden okunan bağlam):

konfigürasyon çalıştırma $ / çalıştırma tur / çalıştırma okunan token / çalıştırma
A tam 10 0.95 25.6 829k
B CLAUDE.md yok 10 0.74 21.9 568k
C skill yok 5 0.96 28.2 819k
D hook yok 5 0.96 27.8 851k
E hiçbiri 10 0.85 25.7 655k

Görev başına, A'dan B'ye (her biri 2 çalıştırmanın ortalaması):

görev A $ B $ maliyet okunan token
T1 yeni bileşen 1.72 0.96 -44% -61%
T2 bileşen düzenleme 1.49 1.26 -15% -15%
T3 refactor 0.64 0.63 -1% -5%
T4 store 0.57 0.53 -6% -4%
T5 soru 0.34 0.31 -9% -14%
10 çalıştırmanın tümü 9.51 7.40 -22% -32%

Tabloları okumak. CLAUDE.md olmadan, 4 yeni bileşen çalıştırmasının 3'ü başlığı düz string olarak yazdı; dosyayla 4'ü de EN ve FR içeren .content.ts oluşturdu. Düzenleme görevinde her konfigürasyon, E dahil, yeni string'i bir .content.ts içine koydu: komşu dosyalar kuralı taşıyordu. Diğer her şey 44 çalıştırmanın hepsinde geçerli kaldı: 0 göreli import, tipler dosyasındaki altı düzenlemede interface yerine type, her diff'te tasarım token'ları, 0 hex renk, barrel dosyası yok. Kimsenin uyamadığı tek bir talimat vardı: dosya theme'i @design-tokens'tan import etmeyi söylüyor, ama bu alias tsconfig.json içinde yok; hiçbir konfigürasyondaki hiçbir çalıştırma onu kullanmadı, her oturumda boşuna okunan 1,800 token. T1 tasarrufu, daha ucuz çalıştırmanın daha az iş yapmasıdır. Çalıştırmalar arası varyans, çoğu konfigürasyon etkisinden büyüktür: tam konfigürasyonla T1 önce $2.11, sonra $1.33 tuttu. 333 MB'lık kod grafiğinin bulunduğu bir kontrol, tam konfigürasyonun rakamlarına denk geldi (T1'de $1.59 karşı $1.72, T5'te $0.38 karşı $0.34): grafik bloğu ve hook ölçülebilir hiçbir şeyi değiştirmedi.

Pazartesi yapılacaklar

  • CLAUDE.md'nizi sayın: satır, karakter ve gerçekten direktif olan satırların sayısı (Always, Never, Use, Prefer). Gerisi, modelin her turda yeniden okuduğu bağlamdır.
  • Her bölümden bir kural seçin ve komşu bir dosyanın onu zaten gösterip göstermediğine bakın. Klasördeki üç dosya kurala uyuyorsa, o satır silme adayıdır.
  • Kodun yepyeni bir dosyada öğretemeyeceği tek kuralı bulun (i18n, telemetri, lisans başlıkları, zorunlu bir kayıt adımı). Tutun, tek satırda yazın ve en üste yakın koyun.
  • Dosyanızın adını andığı her import yolunu ve komutu deneyin. Ölü bir alias ya da yeniden adlandırılmış bir script, kimsenin uyamayacağı bir talimattır.
  • Uzun mimari özetleri ve kurulum anlatımlarını bir rules dosyasına ya da isteğe bağlı yüklenen bir skill'e taşıyın, sonra otomatik yüklenen bağlamı öncesi ve sonrasıyla karşılaştırın.
  • İki üç vazgeçilmez kuralınızı hook'a ya da lint kuralına çevirin. Zorlama, modelin bir paragrafı okumasına bağlı değildir.
  • En sık yaptığınız iki görevi sabitlenmiş bir modelde dosyayla iki kez, dosyasız iki kez çalıştırın ve token'lara ve diff'e bakın. İki tekrar nereye bakacağınızı söyler, ne sonuç çıkaracağınızı değil.

Daha fazlası

  • Konuşmanın kendisi, sloganı değil yöntemi görmek için: sil, sonra satır satır geri getir s2.
  • Makalenin tüm sonuç seti, geliştirici dosyalarının üretilenlerden %7 iyi olduğu ve araç adlarının yardımcı olduğu bulgusu dahil s5.
  • Kural konumu bir değişken olarak: ~90 puanlık salınım ve modelin çelişen talimatları sessizce nasıl çözdüğü s9.
  • Bir talimat dosyasının 30k repoluk anatomisi: 50 öğe, 12 direktif ve diğer 38'in ne olduğu s8.
  • HumanLayer'ın iyi bir CLAUDE.md yazma rehberi ve ona karşı çıkan başlık s10.
  • "MUST use agent, ignored 80% of the time" başlığı: düz yazının başarısız olduğu yerde hook'lar lehine bir örnek s12.
  • "Claude Code now ignores everything" başlığı, model kaymasını talimat çelişkilerinden ayırmak için faydalı s13.
  • caliper, skill ve MCP ablasyonlarını başarı oranı, token ve süreyle puanlamak için s16.

Kaynaklar

FAQ

CLAUDE.md'mi silmeli miyim?

Körlemesine değil. Bizim repomuzda tek kayıp, yeni dosyalardaki bir kuraldı; kodun zaten gösterdiği her şey dosya olmadan da geçerli kaldı. Bir seferde tek bölümü ablasyona sokun ve çıktıyı değiştireni tutun.

Dosya yalnızca %4 ila %14'e mal olduysa neden %32 token tasarrufu sağladı?

Çünkü toplamı yeni bileşen görevi belirliyor; orada dosya modele iki dilde ikinci bir dosya yazdırdı. Daha ucuz çalıştırma daha az iş yaptı. Çıktısı aynı olan görevlerde tasarruf %4 ila %14 idi.

Skill'ler ve hook'lar her turda token harcar mı?

Skill'ler yalnızca çağrıldığında yüklenir, yani çağrılmamış bir skill hiçbir şeye mal olmaz; hook tek bir cümle ekler. İkisini de silmek çalıştırmalarımızda hiçbir rakamı değiştirmedi. Her turda yeniden okunanlar rules dosyaları ve CLAUDE.md'dir.

Konfigürasyon başına iki çalıştırma yeterli mi?

Hayır. İki tekrar etkinin yerini bulur, büyüklüğünü ölçmez. Tam konfigürasyonumuz aynı görevde önce $2.11, sonra $1.33 tuttu, bu yüzden görev başına %15'in altındaki farklar gürültü içindedir.