Ana Sayfa
Forum
AI AI
Flaş
Derinlik
Etkinlikler
Daha Fazla
Finans
Özel
Blok Zinciri Ekosistemi
Giriş
Podkastlar
Veri
OPRR
#
BTC
$96,000
5.73%
ETH
$3,521.91
3.97%
HTX
$0.{5}2273
5.23%
SOL
$198.17
3.05%
BNB
$710
3.05%
lang
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe

Claude Code Kaynak Kodu Analizi: Diğer AI Programlama Araçlarından Neden Daha İyi?

Bu makaleyi okumak için 27 Dakika
Anthropic en zor olan yolu seçti, işlerini kendi terminalin, kendi ortamın, kendi yapılandırman ile hallet, ve sadece "temiz bir odada oturup kod yazıp onu kopyalamak" yerine.
Orjinal Metin Başlığı: "Anthropic'in Claude Code Kaynak Kodunu Anlamanın Tek Yolu: Neden Diğerlerinden Daha İyi?"
Orjinal Yazar: Yuker, Yapay Zeka Araştırmacısı


31 Mart 2026'de güvenlik araştırmacısı Chaofan Shou, Anthropic'in npm'e yayımlanan Claude Code paketinde, kaynak harita dosyasının ayrıştırılmamış olarak bulunduğunu keşfetti.


Bu, Claude Code'un tam TypeScript kaynak kodunun, 512.000 satır, 1.903 dosya, bu şekilde genel ağda açık hale geldiği anlamına geliyor.


Elbette bu kadar kodu birkaç saat içinde okuyamam, bu yüzden bu kaynak kodunu okurken üç soruyla gittim:


1. Claude Code ile diğer Yapay Zeka programlama araçları arasındaki temel fark nedir?


2. Neden kod yazarkenki "hissi" diğerlerinden daha iyidir?


3. 512.000 satırlık kod içinde gerçekte ne var?


Okuduktan sonra, ilk tepkim şuydu: Bu bir Yapay Zeka programlama asistanı değil, bu bir işletim sistemidir.


I. Önce Bir Hikaye Anlatayım: Uzaktan Bir Programcı İşe Almak İstiyorsanız


Uzaktan bir programcı işe aldığınızı hayal edin ve ona bilgisayarınızın uzaktan erişim iznini verin.


Bunu nasıl yaparsınız?


Eğer siz Cursor tarzında iseniz: Onu yanınıza oturtur, her komut girmek istediğinde siz bir göz atar, "İzin Ver" düğmesine basarsınız. Basit ve doğrudan, ancak sürekli gözünüzün üstünde olmanız gerekir.


Eğer siz GitHub Copilot Agent tarzında iseniz: Ona yeni bir sanal makine verir, içinde istediği gibi karıştırmasına izin verirsiniz. İşini bitirdikten sonra kodu gönderir, siz inceledikten sonra birleştirilir. Güvenli, ancak o yerel ortamınıza erişemez.


Eğer siz Claude Code tarzında iseniz:


Ona doğrudan bilgisayarınızı kullanma izni verirsiniz — ancak ona son derece hassas bir güvenlik sistemleri seti sağlarsınız. Ne yapabileceği, yapamayacağı, hangi işlemlerin onayınızı gerektireceği, hangilerinin kendisi tarafından yapılacağı, hatta rm -rf kullanmak istese bile 9 katmanlı bir incelemeden geçmesi gerekmektedir.


Bu, tamamen farklı üç güvenlik felsefesidir:



Anthropic neden en zor yolunu seçti?


Çünkü sadece böyle yaparak yapay zeka, sizin terminaliniz, ortamınız ve yapılandırmanızı kullanarak iş yapabilir — bu, gerçekten size kod yazmaya yardımcı olmanın bir yolu, ve sadece "temiz bir odada bir parça kod yazıp yapıştırmak" değil.


Ama bedeli neydi? Bunun için 510.000 satır kod yazdılar.


2. Senin Düşündüğün Claude Kodu vs Gerçek Claude Kodu


Çoğu insan yapay zeka programlama aracının şöyle olduğunu düşünüyor:


Kullanıcı Girdisi → LLM API Çağrısı → Sonuç Dönüşü → Kullanıcıya Gösterme


Claude Kodu aslında şöyle çalışıyor:


Kullanıcı Girdisi
→ Dinamik olarak 7 katmanlı sistem ipucu kelimesi oluşturma
→ Git durumu, proje standartları, geçmiş bellek enjekte etme
→ Kullanım kılavuzuna sahip olan 42 araç
→ Hangi aracın kullanılacağına LLM karar verir
→ 9 katmanlı güvenlik incelemesi (AST ayrıştırıcı, ML sınıflandırıcı, kum havuzu kontrolü...)
→ İzin çatışması çözümlemesi (yerel klavye / IDE / Hook / AI sınıflandırıcı aynı anda yarışıyor)
→ 200ms hata yapma engelleme gecikmesi
→ Aracı yürütme
→ Sonuç akışıyla dönüş
→ Bağlam sınıra yaklaştı mı?→ Üç seviyeli sıkıştırma (hafif sıkıştırma → otomatik sıkıştırma → tam sıkıştırma)
→ Paralel işlem mi gerekiyor?→ Alt işlem ajanı kolonisi oluşturma
→ Görev tamamlanana kadar döngü


Yukarıdakilerin ne olduğuna herkesin çok merak ettiğine inanıyorum, endişelenmeyin, tek tek açalım.


3. İlk Sır: İpucu Kelimeler Yazılmadı, "Monte Edildi"


src/constants/prompts.ts dosyasını açın, şu işlevi göreceksiniz:



O SYSTEM_PROMPT_DYNAMIC_BOUNDARY'yi fark ettiniz mi?


Bu bir önbellek sınırıdır. Sınırın üstündeki içerik statiktir ve Claude API onları önbelleğe alabilir, jeton maliyetinden tasarruf sağlayabilir. Sınırın altındaki içerik ise dinamiktir — mevcut Git dalınız, CLAUDE.md proje yapılandırmanız, daha önce belirttiğiniz tercihli bellek... Her konuşma farklıdır.


Bu ne anlama geliyor?


Anthropic ipuçlarını bir derleyici çıktısı olarak optimize etti. Statik kısım "derlendikten sonraki ikili" iken, dinamik kısım "çalışma zamanı parametreleridir." Bu yaklaşımın faydaları şunlardır:


1. Tasarruf: Statik kısım önbelleği kullanarak tekrarlanan ücretlerden kaçınma


2. Hızlı: Önbellek isabet ederse bu jetonların işlenmesini doğrudan atlar


3. Esnek: Dinamik kısım her sohbetin mevcut ortamı algılamasını sağlar


Her aracın kendi bağımsız "Kullanım Kılavuzu" bulunmaktadır.


Beni daha da şaşırtan şey şu: Her araç dizininin altında bir prompt.ts dosyası bulunmaktadır — bu özellikle LLM için yazılmış bir kullanım kılavuzudur.


BashTool'un bir örneğine bakın (src/tools/BashTool/prompt.ts, yaklaşık 370 satır):




Bu insanlar için yazılmış bir belge değil, bu bir AI için yazılmış bir davranış kuralıdır. Her Claude Code başlatıldığında, bu kurallar sistem ipuçlarının içine enjekte edilir.


İşte bu yüzden Claude Code asla kendi kendine git push --force yapmaz, bazı araçlar yapabilir — model daha akıllı değil, kuralar zaten ipuçlarında açıkça belirtilmiştir.


Ayrıca Anthropic'in dahili sürümü ve kullandığınız sürüm farklıdır.


Kodda şu türden dallanmalar bolca bulunmaktadır:



ant Anthropic içindeki çalışandır. Onların sürümü daha ayrıntılı kod stil rehberliklerine ("Neden belirsiz değilse YAZMAYIN" ), daha ileri çıktı stratejilerine ("Ters piramit yazım metodu"), ve hala A/B testinde olan bazı deneysel özelliklere (Doğrulama Ajanı, Keşfet ve Planla Ajanı) sahiptir.


Bu, Anthropic'in Claude Code'un en büyük kullanıcısı olduğunu açıklıyor. Ürünlerini geliştirmek için kendi ürünlerini kullananlar.


Dört, İkinci Sır: 42 Araç, Ama Sadece Buzdağının Bir Ucu'nu Gördün


src/tools.ts dosyasını açarak araç kayıt merkezini görebilirsiniz:



42 araç var, ancak çoğunu doğrudan görmediniz. Çünkü birçok araç gecikmeli olarak yüklenir – yalnızca LLM ihtiyaç duyduğunda ToolSearchTool aracılığıyla isteğe bağlı olarak enjekte edilir.


Bunun nedeni nedir?


Her bir araç eklenmesiyle, sistem ipucu metni ve jeton maliyeti artar. Claude Code'un sadece bir satır kodu değiştirmesine yardımcı olmasını istiyorsanız, "Zamanlama Görevi Zamanlayıcısı" ve "Ekip İşbirliği Yöneticisi" gibi araçları yüklemesi gerekmez.


Daha akıllıca bir tasarım da var:



CLAUDE_CODE_SIMPLE=true olarak ayarlandığında, Claude Code yalnızca üç araca sahip olur: Bash, Dosya Oku, Dosya Değiştir. Bu, minimalistler için bir arka kapıdır.


Tüm Araçlar Aynı Fabrikadan Gelir



Varsayılan değerlere dikkat edin: isConcurrencySafe varsayılan olarak false, isReadOnly varsayılan olarak false.


Buna fail-closed tasarımı denir - Bir aracın yazarının güvenlik özelliğini belirtmeyi unutması durumunda, sistem onun "güvensiz ve yazılabilir" olduğunu varsayar. Bir riski kaçırmamak adına aşırı derecede temkinli olmayı tercih eder.


'Önce Oku, Sonra Değiştir' Kuralı



FileEditTool, bu dosyayı daha önce FileReadTool ile okuyup okumadığınızı kontrol eder. Eğer yapmadıysanız, doğrudan hata verir, değişiklik yapmanıza izin vermez.


Bu, Claude Code'un bazı araçlar gibi "dosyanızı ezip geçecek şekilde kod yazması" gibi davranmayacağından dolayıdır - önce anlamalı, sonra değiştirmelidir.


Beş, Üçüncü Sır:

Sistem:


Claude Code'u kullanan herkes bir şey fark eder: Gerçekten seni tanıyor gibi görünüyor.


Ona "testlerde veritabanını mocklamamasını söyle", bir sonraki konuşmada artık mock yapmaz. Ona "Ben bir backend mühendisiyim, React'e yeni başlayanım" dersin, o zaman frontend kodunu açıklarken backend'e benzetmeler kullanır.


Bunun arkasında kapsamlı bir hafıza sistemi yatar.


Hafıza Başvuruları




Claude Code, başka bir AI (Claude Sonnet) kullanarak "hangi hafızaların ve mevcut konuşmanın ilgili olduğuna" karar verir.


Anahtar kelime eşleşmesi değil, vektör arama değil - küçük bir modelin tüm bellek dosyalarının başlıklarını ve açıklamalarını hızlıca taramasına, en fazla 5 en ilgili olanı seçmesine ve ardından bunların tam içeriğini mevcut konuşmanın bağlamına enjekte etmesine izin verir.


Strateji, "kesinlik önceliği almak üzere" dir - muhtemelen faydalı bir hafızayı kaçırmayı tercih eder, ancak ilişkisiz bir hafızayı bağlamı kirletmez.


KAIROS Modu: Gece "Rüyalar"


Bu beni en çok bilim kurgu hissine kapıtan kısım.


Koda, KAIROS adında bir özellik bayrağı eklenmiştir. Bu modda, uzun süreli konuşmalardaki bellek yapılandırılmış dosyalarda değil, tarih sırasına göre eklenen günlüklerde bulunur. Ardından, "/dream" becerisi bu orijinal günlükleri yapılandırılmış ana temalar dosyasına damıtır.



AI, "uykuda" iken hafızayı düzenler. Bu artık bir mühendislik değil, bu biyomimetik.


Altı, Beşinci Sır:


Claude Code'a karmaşık bir görev vermekteyken, muhtemelen sessizce bu hareketi yürüttü:



Şu, bir Alt Ajan oluşturur.


Ve Alt Ajan'ın kendine özgü bir "öz farkındalık" enjeksiyonu vardır, böylece daha fazla Alt Ajan oluşturmasını engeller:



Bu kod parçası şunu söyler: "Sen bir işçisin, bir yönetici değil. Başkalarını işe almayı düşünme, kendi işini yap."


Koordinatör Deseni: Yönetici Deseni


Koordinatör deseni altında, Claude Code yalnızca bir görev planlayıcısı haline gelir, kendi işini yapmaz, yalnızca görevleri atar:



Temel İlkeler Kod Yorumlarında Belirtilmiştir:


"Paralelizm senin süper gücündür" sadece-okunan araştırma görevi: paralel çalış. Dosya yazma görevi: dosyalara göre gruplayarak sıralı çalış (çakışmayı önlemek için).


Prompt Önbelleğin Yüksek Optimizasyonu


Alt Ajanların önbellek vurma oranını maksimize etmek için, hız birimleri sonuçları tüm çatal alt ajanlar için aynı yer tutucu metni kullanır:


"Çatal başladı - arka planda işleniyor"


Neden? Çünkü Claude API'nin hız birimi önbelleği bayt önek eşleştirmesine dayalıdır. Eğer 10 alt Ajan'ın önek baytları tam olarak aynıysa, o zaman sadece ilkine "soğuk başlatma" yapılması gerekir, diğer 9'u doğrudan önbelleğe isabet eder.


Bu, her çağrıda birkaç kuruş tasarruf etmenize olanak tanıyan bir optimizasyondur, ancak büyük ölçekli kullanımda önemli miktarda maliyet tasarrufu sağlayabilir.


Yedinci, Altıncı Sır: Üç Katmanlı Sıkıştırma, Sohbeti "Asla Aşmayan" Yapar


Tüm LLM'lerin bir bağlam penceresi sınırı vardır. Sohbet ne kadar uzun olursa, geçmiş mesajlar o kadar fazla olursa, sonunda sınırı aşacak.


Claude Code bu sorunu çözmek için üç katmanlı sıkıştırma tasarladı:


Katman 1: Mikro Sıkıştırma — En Düşük Maliyet



Mikro sıkıştırma yalnızca eski araç çağrısı sonuçlarını değiştirir – “10 dakika önce okunan 500 satırlık dosyanın içeriği”nı [Eski araç sonuç içeriği temizlendi] ile değiştirir.


İpucu kelimeleri ve iletişim ana hattı tamamen korunur.


Katman 2: Otomatik Sıkıştırma — Proaktif Daralma


Token tüketimi, içerik penceresine yaklaştığında (pencere boyutu - 13,000 tampon) otomatik olarak tetiklenir. Üç ardışık sıkıştırma başarısız denemesinden sonra duran bir sigorta kilidi vardır, böylece bir döngüye girilmesi önlenir.


Katman 3: Tam Sıkıştırma — AI Özeti


Tam bir konuşma özeti oluşturmak için AI’a izin verin ve sonra tüm geçmiş iletileri özetiyle değiştirin. Özet oluşturulurken sert bir ön talimat vardır:




Neden bu kadar katı? Çünkü özetleme sürecinde AI tekrar araç çağrısı yaparsa, daha fazla token tüketimi oluşacak ve amaçlananın aksine etki edecektir. Bu ipucu kelimeler tam da şunu söylüyor: “Görevin özetlemek, başka bir şey yapma.”


Sıkıştırma Sonrası Token Bütçesi:


· Dosya Kurtarma: 50,000 token

· Her Dosya Limiti: 5,000 token

· Yetenek İçeriği: 25,000 token


Bu rakamlar kafadan atılmış değil — bunlar “çalışmaya devam etmek için yeterli bağlamı koruma” ile “yeni iletileri alacak kadar alan açma” arasındaki denge noktasıdır.


Sekiz: Bu Kaynak Kodunu Okuduktan Sonra Ne Öğrendim


AI Ajanının %90’ı “AI” Dışında Çalışıyor


510,000 satır kod içinde, LLM API'yi gerçekten çağıran kısım muhtemelen %5'in altında değildir. Geriye kalan %95 nedir?


· Güvenlik Kontrolleri (bir BashTool için 18 dosya)

· İzin Sistemi (izin verme/reddetme/sorma/geçiş yapma dört durumlu karar)

· Bağlam Yönetimi (Üç katmanlı sıkıştırma + AI bellek geri çağırma)

· Hata Kurtarma (Sigorta, İndeks İyileşme, Transcript Kalıcılığı)

· Çoklu Ajan Uyumu (Sürü Yönetimi + E-posta İletişimi)

· Kullanıcı Arayüzü Etkileşimi (140 React Bileşeni + IDE Köprüsü)

· Performans Optimizasyonu (hızlı önbellek stabilitesi + başlangıçta paralel alma)


Eğer bir AI Ajan ürünü üzerinde çalışıyorsanız, işte gerçekten çözmeniz gereken sorun budur. Modelin ne kadar zeki olduğu değil, iskeletiniz ne kadar sağlam olduğudur.


İyi Öneri Mühendisliği Sistem Mühendisliğidir


Güzel bir öneri yazısı yazmak işi bitirmez. Claude Code'un önerileri şunlardır:


· 7 Katmanlı Dinamik Montaj

· Her araç için ayrı kullanım kılavuzu

· Önbellek sınırının kesin olarak belirlenmesi

· Dahili ve harici sürümlerin farklı talimat setleri

· Önbelleği sabit tutmak için araç sıralamasının korunması


Bu mühendislik tabanlı öneri yönetimidir, bu el işçiliği değildir.


Başarısızlık İçin Tasarla


Her harici bağımlılık için bir başarısızlık stratejisi vardır:



Anthropic, Claude Code'u bir işletim sistemi gibi kullanıyor


42 araç = Sistem Çağrısı İzin Sistemi = Kullanıcı İzin Yönetimi Beceri Sistemi = Uygulama Mağazası MCP Protokolü = Cihaz Sürücüsü Ajan Sürüsü = İşlem Yönetimi Bağlam Sıkıştırması = Bellek Yönetimi Transcript Kalıcılığı = Dosya Sistemi


Bu, bir "sohbet botuna birkaç araç eklemek" değil, LLM tabanlı bir işletim sistemidir.


Özet


51.000 satır kod. 1903 dosya. Bir Bash aracı için sadece 18 güvenlik dosyası.


AI'nin güvenli bir şekilde bir komut yazmasına izin vermek için 9 katmanlı denetim.


İşte Anthropic'in cevabı: AI'ı gerçekten kullanışlı hale getirmek istiyorsanız, onu bir kafese kapatamazsınız ve çıplak bırakamazsınız. Ona tam bir güven sistemine sahip olacak şekilde bir altyapı oluşturmalısınız.


Bu güven sistemine sahip olmanın maliyeti, 51.000 satır kod.


Orijinal Makale Bağlantısı


BlockBeats Resmi Topluluğuna Katılın:

Telegram Abonelik Grubu: https://t.me/theblockbeats

Telegram Sohbet Grubu: https://t.me/BlockBeats_App

Twitter Resmi Hesabı: https://twitter.com/BlockBeatsAsia

Kütüphane Seç
Kütüphane Ekle
İptal
Tamamla
Kütüphane Ekle
Sadece kendime görünür
Herkese Açık
Kaydet
Düzeltme/Rapor
Gönder