AIDive

Video paketi

Tek projede ölçülen sekiz Claude Code reposu: oturum maliyeti, ablasyon, kararlar

13 dk okuma

TL;DR

  • Sekiz popüler Claude Code reposu, tek bir gerçek kod tabanına proje kapsamında kuruldu ve ölçüldü: oturum başlangıcı token'ları, üç kodlama görevindeki çıktı token'ları ve her birinin proje dışına ne yazdığı.
  • Sekizden yalnızca biri sonucu değiştirdi: anti-slop, linter olarak çalıştırıldığında 3 T3 çalıştırmasının hepsinde aynı güvensiz tür dönüşümünü yakaladı; bedeli oturumda +95 token, tur başına sıfır.
  • Kısa çıktı kural setleri araç kullanan işte tutmadı: Chisle'ın duyurduğu temel çizginin 52%'si, temel çıktı token'larının 94%'ü çıktı ve girdi hesaba katıldığında üç görevden ikisinde temel çizgiden daha pahalıya geldi.
  • Üç MCP sunucusu 63 çalıştırmada hiç çağrılmadı. Kurulu olmak kullanılmış olmak demek değil.
  • Yığın toplanabilir: sekizinin hepsi birlikte oturum başında +6,804 token ekledi, parçaların toplamından yalnızca 63 token farklı.
  • İki kurulum proje dışına uzandı. Bir codemod kendini 8 başka ajanın global yapılandırmasına kaydetti; bir araç --dangerously-skip-permissions değerini koda gömüyor ve kimlik bilgisi dosyasını kopyalıyor, bu yüzden hiç çalıştırılmadı.

Ölçümler ne söylüyor

Oturum başlangıcı token'ları tekrarlanabilir, dolar maliyeti değil: her koşul iki çalıştırmada da aynı girdi token toplamını verdi, ama aynı koşulun maliyeti prompt cache durumuna göre $0.0183 ile $0.0035 arasında salındı; bu yüzden ölçüt olarak baştan sona token sayısı kullanıldı. Temel proje 17,378 token ile başlıyor s4.

Claude Code'un bu sürümünde MCP araç şemaları ertelenir ve maliyet artık şema boyutuna değil, sunucunun duyurduğu araç adı sayısına göre ölçeklenir. ouroboros'un 39 aracı +1,642 token, reticle'ın 19 aracı +895, ui-skills'in 2 aracı +37 tuttu: araç adı başına kabaca 42 ila 47 token. Varsayılan olarak tüm MCP araçları ertelenir ve gerektiğinde yüklenir; ENABLE_TOOL_SEARCH değişkeninin auto modu, tanımlar bağlam penceresinin 10%'una ulaştığında onları erteler s4. img2threejs 32,902 baytlık bir SKILL.md ve 352 dosya getiriyor, oturum başında yine de +107 token tutuyor, çünkü yalnızca frontmatter açıklaması yükleniyor. Skills dokümanı listelenen her açıklamayı 1,536 karakterle sınırlıyor ve çok sayıda skill olduğunda açıklamaları liste bütçesine sığacak şekilde kısaltıyor; sıkıştırmadan sonra, çağrılmış skill'ler her biri 5,000 token olacak şekilde, paylaşılan 25,000 token'lık bir bütçe içinde yeniden eklenir s5. 40 skill'in, hiçbirini çağırmayan bir kurulumda tur başına 3,060 token tutmasının nedeni bu liste bütçesi s10 ve skill'ler atılmak yerine açıklamaların kesilmesinin de nedeni bu s11.

Chisle'ın UserPromptSubmit hook'u her turda 287 bayt additionalContext ekliyor; 22 turluk bir görevde, kolunun T3'te temel çizgiye göre +41,539 toplam girdi token'ı daha tutmasının nedeni bu. Referans olarak ölçülen caveman, prompt /caveman ile başlamadıkça hiçbir şey enjekte etmiyor. Aynı olayda birkaç hook additionalContext döndürdüğünde Claude hepsini art arda eklenmiş halde alır; hook başına sınır 10,000 karakterdir s15. Chisle, caveman ve ouroboros birlikte bağlandığında SessionStart'ta 3, UserPromptSubmit'te 3 ve PostToolUse'ta 2 kayıt vardı; başlangıçta +4,269 token s15.

Chisle'ın README'si 20 görevlik faturanın temel çizginin 52%'si olduğunu iddia ediyor ve README bu rakamı araçsız tek turlu prompt'larla sınırlıyor s3. Gerçek bir repoda, her biri 3 kez çalıştırılan üç görevde Chisle'ın çıktı ortalamalarının toplamı 9,007 token, temel çizgi 9,615 oldu; yani 94%. caveman 10,820, yani 113% oldu ve T3 dağılımı 2,014 token olan bir örneklemde iki yön de gürültüyü aşmıyor s3. Chisle'ın çıktı sıkıştırıcısı 63 çalıştırmada hiç tasarruf kaydı yazmadı.

anti-slop, tools/oxlint/ içine vendor edilip 18 genel kuralın tamamı ve oxc/no-accumulating-spread ile çalıştırıldığında, dokunulmamış 4,775 satırlık projede 109 sorun buldu; bunların 83%'ü iki house-style kuralından geldi (require-readable-spacing 50, require-safety-comment-for-type-assertion 41) s8. Claude'un yazdığı kodda, 3 T3 çalıştırmasının hepsinde maxLength={field.maxLength as number} ifadesini yakaladı; yani Claude kod tabanının kendi güvensiz dönüşümünü kopyalıyordu s8. Eklenti ESM olduğu için ana projede "type": "module" gerekir, yoksa oxlint Cannot use import statement outside a module hatasıyla başarısız olur.

Reticle'ın init codemod'u, RETICLE_STATE_DIR ayarlı ve telemetri kapalıyken çalıştırıldı; MCP sunucusunu 8 ajana daha kaydettiğini (VS Code kullanıcı kapsamı, GitHub Copilot CLI, Warp, Factory Droid, Kiro, Amazon Q Developer CLI, Cline CLI, Amp) ve Gemini CLI'da araçlarını önceden onayladığını bildirdi; ardından eşleştirme ERR_OSSL_EVP_UNSUPPORTED ile başarısız oldu s6. Caliper reddedildi: claude_code.py:106 --dangerously-skip-permissions değerini koda gömüyor ve seed_files() ~/.claude/.credentials.json dosyasını Keychain yedeğiyle birlikte kopyalıyor s2. ouroboros'un UserPromptSubmit hook'u, write prd for reading time gibi sıradan bir prompt'a REQUIRED SKILL: /ouroboros:setup ile yanıt veriyor; proje kapsamlı bir kurulum bu adımı karşılayamaz s7.

52, 102 ve 202 skill'lik kütüphanelerde 2,545 yörüngeyi kapsayan bir makale, birleştirilmiş başarı oranı düşüşlerini .08, .14 ve en fazla 21% olarak bildiriyor; benzer açıklamaların birbirini gölgelemesi kaybın giderek büyüyen bir payı s20.

Ölçümler

Protokol: tek bir gerçek TypeScript projesi, her repo yalnızca proje kapsamında kurulu. Oturum başlangıcı: -p JSON modunda aynı bayraklarla Reply with OK prompt'u, koşul başına 2 çalıştırma, rakam = ilk turun input_tokens + cache_creation_input_tokens + cache_read_input_tokens toplamı. Ablasyon: geçme kontrolleri ve tür denetimi kapısı olan üç kodlama görevi (T1 kısa, T2 orta, T3 uzun UI görevi), hücre başına 3 çalıştırma, koşullar = temel çizgi, her daima açık repo tek başına, sekizinin hepsi üst üste. anti-slop: oxlint 1.78.0 ve vendor edilmiş kural seti, dokunulmamış proje ve 9 temel çalıştırmada yazılan kod üzerinde.

repo proje kapsamında kurulan oturum başında eklenen token tur başına maliyet
temel çizgi hiçbir şey 17,378 yok
Chisle 4 skill, 4 komut, 3 hook +3,496 her turda +287 bayt additionalContext
ouroboros MCP sunucusu, 39 araç adı +1,642 koşullu enjeksiyon
reticle MCP sunucusu, 19 araç adı +895 / +903 gözlenmedi
fwc-swiftui-skills 2 skill +304 yok
caliper 2 skill +172 yok
img2threejs 1 skill, 352 dosya, SKILL.md = 32,902 B +107 yok
anti-slop 1 skill + vendor edilmiş kural seti +95 yok
ui-skills uzak MCP, 2 araç +37 yok
sekizi üst üste yukarıdakilerin hepsi +6,804 yalnızca Chisle'ın tur başına maliyeti
caveman (referans) 4 skill, 2 hook +744 0
görev koşul geçti yeni tür hataları çıktı tok. ort. çıktı tok. min ila maks toplam girdi ort. maliyet ort. tur MCP çağrısı
T1 temel çizgi 3/3 0 1,668 1,619 ila 1,739 95,462 $0.0519 7.0 0
T1 Chisle 3/3 0 1,434 1,341 ila 1,502 106,001 $0.0576 7.7 0
T1 ui-skills 3/3 0 1,756 1,644 ila 1,885 96,279 $0.0535 7.3 0
T1 reticle 3/3 0 1,899 1,653 ila 2,177 107,263 $0.0594 8.0 0
T1 ouroboros 3/3 0 1,729 1,655 ila 1,787 97,166 $0.0549 7.0 0
T1 yığın 3/3 0 1,462 1,460 ila 1,465 128,221 $0.0646 7.7 0
T2 temel çizgi 3/3 0 2,128 2,105 ila 2,164 74,286 $0.0540 9.0 0
T2 Chisle 3/3 0 2,184 2,150 ila 2,230 87,462 $0.0624 10.0 0
T2 ui-skills 3/3 0 2,348 2,224 ila 2,504 74,869 $0.0604 10.0 0
T2 reticle 3/3 0 2,614 2,312 ila 2,824 78,664 $0.0635 10.7 0
T2 ouroboros 3/3 0 2,441 2,152 ila 2,815 80,819 $0.0622 10.0 0
T2 yığın 3/3 0 2,136 2,015 ila 2,216 89,378 $0.0661 9.7 0
T3 temel çizgi 3/3 0 5,819 5,423 ila 6,063 198,217 $0.1551 22.0 0
T3 Chisle 3/3 0 5,389 5,206 ila 5,500 239,756 $0.1565 20.3 0
T3 ui-skills 3/3 0 5,279 4,860 ila 5,567 214,691 $0.1477 21.0 0
T3 reticle 3/3 0 4,664 4,008 ila 5,776 198,740 $0.1293 19.0 0
T3 ouroboros 3/3 0 5,456 4,324 ila 7,093 232,763 $0.1544 21.0 0
T3 yığın 3/3 0 5,331 4,787 ila 5,843 241,576 $0.1591 19.7 0

63/63 çalıştırma geçti ve 0/63 yeni tür hatası getirdi. Yalnızca iki hücre kendi çalıştırmalar arası dağılımını aşıyor: T1'de Chisle (−234, −14.0%) ve T1'de yığın (−206, −12.3%). T2 ve T3'te her fark dağılımın içinde kalıyor; ouroboros'un T3 çalıştırmaları aynı prompt'ta 4,324 ila 7,093 çıktı token'ı arasında değişti, 64%'lük bir salınım.

repo karar kanıt
anti-slop çıktıyı değiştirdi, kontrol olarak 3/3 T3 çalıştırmasında aynı güvensiz dönüşümü yakaladı, +95 token, tur başına 0
Chisle ölçülebilir bir şey yok, daha pahalıya geldi duyurulan 52%'ye karşı temel çıktının 94%'ü; başlangıçta +3,496, tur başına +287 bayt
ui-skills hiçbir şeyi değiştirmedi 9 çalıştırmada 0 araç çağrısı, +37 token
reticle çakıştı init ~/.claude/settings.json dosyasına ve 8 başka ajanın yapılandırmasına yazdı; eşleştirme hiç tamamlanmadı
ouroboros çakıştı sıradan prompt'larda /ouroboros:setup talep ediyor; 39 araç adı, 0 çağrı
caliper çalıştırılmadı --dangerously-skip-permissions koda gömülü, kimlik bilgisi dosyasını kopyalıyor
img2threejs yığın dışı +107 token, çakışacak bir şey yok
fwc-swiftui-skills yığın dışı +304 token, statik Markdown

Pazartesi bunu yap

  • Ana projenin yeni bir oturumunda /context all çalıştır ve başlangıç sayısını not et.
  • Kurulu her eklentide claude plugin details <name> çalıştır; her turda faturaya yansıyan tek rakam always-on satırıdır.
  • Hook'larını olay bazında listele. UserPromptSubmit üzerinde her prompt için additionalContext döndüren her hook tur başına bir vergidir; yalnızca anahtar kelime veya matcher ile kapı tutanları bırak.
  • Her MCP sunucusunun duyurduğu araç adlarını say, ad başına kabaca 42 ila 47 token bütçele, sonra transcript'lerinde kaçının hiç çağrıldığına bak.
  • init veya kurulum betiği olan bir şeyi kurmadan önce repo dışına yazımlar için oku: ~/.claude/settings.json, diğer ajanların yapılandırma dizinleri, kimlik bilgisi dosyaları, --dangerously-skip-permissions.
  • Üretilen kodun kalite kontrollerini bağlamdaki bir skill olarak değil, verify adımında linter olarak bağla: bir lint kuralı tur başına hiçbir şeye mal olmaz.
  • Herhangi bir token tasarrufu iddiasına güvenmeden önce aynı görevi araçla ve araçsız 3'er kez çalıştır ve farkı kendi min-maks dağılımınla karşılaştır.
  • Çıkardıklarını silmek yerine arşivle, böylece onlara ihtiyaç duyan bir iş akışı geri alabilir.

Daha fazlası için

  • Skill liste bütçesi ve 1,536 karakterlik açıklama sınırı, kalabalık bir kurulumun hiçbir skill yüklenmemezlik etmeden neden kötüleştiğini açıklıyor. "Skill descriptions are cut short" ve "Skill content lifecycle" bölümlerini oku s5.
  • /skill-doctor yazısı 40 skill'in tur başına 3,060 token tuttuğunu ve önce hangilerinin kesileceğini gösteriyor; kör noktası, kullanımda olan bir eklentinin içindeki pahalı skill'ler, bir devam yazısına bırakılmış s10.
  • "30'dan fazla skill" pratik kuralının arkasındaki makale: 52, 102 ve 202 skill'lik kütüphanelerde 2,545 yörünge, gölgeleme etkisi ayrıştırılmış halde s20 ve onu yaygınlaştıran anlaşılır özet s12.
  • Hook birleştirme ve 10,000 karakterlik additionalContext sınırı, ayrıca bir hook'un yalnızca Write|Edit üzerinde çalışmasını sağlayan matcher sözdizimi s15.
  • 63%'lük çıkarma başlığı; kaldırılan bir MCP yapılandırmasında bulunan koda gömülü bir bearer token da dahil, videonun dışarıda bıraktığı bir güvenlik yan konusu s13.
  • Chisle'ın kendi README'sinin 229 ve 262. satırları 52% rakamını araçsız tek turlu prompt'larla sınırlıyor ve kısa kodlama hücresini caveman'a bırakıyor. Başlığı alıntılamadan önce ince yazıyı oku s3.
  • Yığın dışındaki iki repo puanlanmadı, çünkü elle çağrılıyorlar ve başlangıçta hiçbir şeye mal olmuyorlar: Three.js sahneleri için img2threejs s21 ve Liquid Glass yüzeyleri için fwc-swiftui-skills s22.

Kaynaklar

  • Plugins reference, Claude Code docs. Neden okunmalı: plugin details, kurulum kapsamları ve asıl maliyeti araç adı sayısı yapan ertelenmiş MCP araç yüklemesi.
  • Extend Claude with skills, Claude Code docs. Neden okunmalı: açıklama sınırı, liste bütçesi ve sıkıştırma sonrası yeniden ekleme bütçesi tek sayfada.
  • Hooks reference, Claude Code docs. Neden okunmalı: iki hook aynı olayda enjeksiyon yaptığında ne olur ve matcher'lar bir hook'u turların çoğundan nasıl uzak tutar.
  • dmmulroy/anti-slop, GitHub. Neden okunmalı: sekizden sonucu değiştiren tek repo; kuralları vendor et, skill'i atla.
  • JayPokale/Chisle, GitHub. Neden okunmalı: başlığın ötesini okursan kendi 52% iddiasını dürüstçe sınırlayan bir README.
  • edonadei/caliper, GitHub. Neden okunmalı: bilmeye değer bir skill değerlendiricisi ve bir şey çalıştırmadan önce claude_code.py dosyasını okumanın dersi.
  • reticlehq/reticle, GitHub. Neden okunmalı: init codemod'u, bir kurulumcunun projenin çok dışına yazmasının en net örneği.
  • Q00/ouroboros, GitHub. Neden okunmalı: yalnızca global kurulduğunda anlamlı olan, proje kurulumunun karşılayamadığı bir kurulum adımı olan hook güdümlü bir iş akışı.
  • ibelick/ui-skills, GitHub. Neden okunmalı: buradaki en ucuz kurulum, +37 token, ve hiç çağrılmadı.
  • /skill-doctor: 40 skills, 3,060 tokens a turn, dev.to. Neden okunmalı: gerçek bir kurulumda skill başına maliyet dökümü.
  • Too many Claude Code skills? How the listing budget decides, dev.to. Neden okunmalı: açıklamaların kesilme mekanizması.
  • Why More Than 30 Skills Kill Your AI Agent, dev.to. Neden okunmalı: gölgeleme makalesinin okunaklı sürümü.
  • Skill shadowing paper, arXiv. Neden okunmalı: kütüphane boyutuna göre birleştirilmiş başarı oranı düşüşleri, güven aralıklarıyla.
  • I removed 63% of my Claude Code setup, Reddit r/ClaudeCode. Neden okunmalı: ~235 bileşenden ~87'ye, silinmeden arşivlenerek.
  • My fresh Claude Code sessions were starting at ~35K tokens, Reddit r/ClaudeCode. Neden okunmalı: bu öğleden sonra kopyalayabileceğin yedi adımlı bir /context all denetimi.
  • img2threejs/img2threejs, GitHub. Neden okunmalı: 32,902 baytlık bir SKILL.md dosyasının sen çağırana kadar 107 token tuttuğunun kanıtı.
  • FloWritesCode/fwc-swiftui-skills, GitHub. Neden okunmalı: statik Markdown skill'leri, hiçbir şeyle çakışamayan bir kurulumun biçimi.

FAQ

Bir MCP sunucusu hâlâ başlangıçta binlerce token'lık şema mı tutuyor?

Ölçülen sürümde hayır. Şemalar ertelenir ve maliyet, duyurulan araç adı sayısıyla ölçeklenir; ad başına yaklaşık 42 ila 47 token. 39 araçlı bir sunucu +1,642 token tuttu; 2 araçlı bir sunucu +37.

Chisle daha az çıktı token'ı üretmesine rağmen neden temel çizgiden pahalıya geldi?

Kural seti oturum başında yükleniyor (+3,496 token) ve hook'u her turda 287 bayt enjekte ediyor. T2 ve T3'te bu girdi yükü, çalıştırmalar arası gürültüyü hiç aşmayan bir çıktı tasarrufunu geride bıraktı.