Makale, 31 Mart 2026'da sızan Claude Code (v2.1.88) kaynak kodunu, önde gelen AI Agent mühendislik mimarisini ortaya koyan değerli bir vaka olarak derinlemesine teknik olarak analiz ediyor.
Yazan: Max
Bugün (31 Mart 2026), Anthropic, paketleme sürecindeki düşük seviyeli bir hata nedeniyle en son Claude Code (v2.1.88) sürümünün tam ön uç ve istemci kaynak kodunu npm deposunda açığa çıkardı.
Bir kullanıcı, kaldırılmamış bir cli.js.map dosyasını yayınladı ve doğrudan yaklaşık 1900 dosya, 510.000'den fazla satır yerel TypeScript kodunu geri yükledi.
Anthropic için, birkaç gün önce Mythos model belgelerinin sızması sonrasında tekrar ciddi bir OpSec olayı yaşanmıştır.
Ancak büyük modellerin uygulama katmanı için geliştiriciler ve endüstri araştırmacıları açısından, bu kaynak kodu tamamen açıklayıcı, çok yüksek değere sahip öncü AI Agent mühendislik mimarisi beyaz kitabıdır.
Uyumluluk ve veri sızıntıları ile ilgili tartışmaları bir kenara bırakarak, bu kaynak kodu yerel olarak derinlemesine inceledim.
Bunu bir dedikodu olarak değil, üretim seviyesinde bir AI programlama asistanı mimarisi örneği olarak görürseniz, burada geleneksel düşüncenin dışına çıkan birçok mühendislik kararı yer alıyor.
Aşağıda, Claude Code'in alt yapısını, zamanlama mekanizmasını, bellek sistemini ve güvenlik stratejilerini nesnel bir bakış açısıyla detaylı bir şekilde teknik olarak incelemekteyim.
Uzun bir makale olup, AI Infra, Agent geliştirme ve büyük modellerin uygulama katmanı mimarisiyle ilgilenen profesyoneller için uygundur.
BÖLÜM.01 Sadece bir CLI aracı değil
Kaynak yapılandırmasında (src/ altında yaklaşık 40 birinci düzey modül) Claude Code'un, şu anda piyasada mevcut olan açık kaynaklı tekil Agent'lardan çok daha karmaşık olduğunu göstermektedir.

Teknoloji yığını, çok pratik seçilmiştir ve son kullanıcı etkileşim deneyimine odaklanmıştır:
Dil TypeScript, çalışma zamanı daha agresif performanslı Bun seçildi, CLI çerçevesi Commander kullanıldı ve terminal render katmanı beklenmedik şekilde React + Ink kullanıldı.
Bir komut satırı aracını neden React ile kullanmalıyım?
Kaynak kodundaki screens/REPL.tsx (5005 satıra kadar) cevabı veriyor.
Büyük modellerin akışlı çıktısı (Streaming) ve çoklu araçların eşzamanlı yürütülmesi senaryolarında, terminal UI durum yönetimi son derece karmaşık hale gelir (örneğin, düşünme süreci, araç çağrısı ilerleme çubukları ve kod Diff önizlemeleri aynı anda işlenir).
Yüksek sıklıkta yerel yenilemeleri ele almak için, React'in ilan edici yapısı ve en basit Zustand tarzı özelleştirilmiş Store (state/store.ts) en iyi mühendislik uygulamasıdır.
Çalışma modunda, sistem iki forma sıkı bir şekilde bölünmüştür:
Etkileşimli REPL modu: Ink ile desteklenen ön uç terminal arayüzü, ana olarak insan geliştiriciler için.
Başsız/SDK modu (QueryEngine sınıfı): Tamamen UI kaldırılmıştır, JSON akışlı çıktı destekler. Bu, sonraki aşamada IDE'ye (Cursor gibi bir formda) veya CI/CD süreçlerine alt yapı olarak entegre edilmesini mümkün kılar.
Sistem başlatma süreci de maksimum paralelleştirme ile optimize edilmiştir.
main.tsx içinde, yapılandırma okuma (MDM Ayarları) ve Keychain anahtar önceden getirme gibi I/O yoğun işlemler, ana modülün ~135 ms'lik yüklenme süreciyle paralel olarak alt süreçlerde yürütülüyor; bu başlangıç gecikmesi için milisaniye düzeyindeki talep, tüm kod tabanı boyunca sürdürüldü.
BÖLÜM.02 İpucu Önbelleği (Prompt Cache) Mühendisliği
Bu, kaynak kodun en teknik açıdan yoğun bölümüdür ve Claude Code ile sıradan bir kabuk uygulama arasındaki deneyim farkını yaratan temel engeldir.
Şu anda Agent aracısı uzun bağlamları işlemek için System Prompt ve geçmiş diyalogları basitçe birleştiriyor.
Claude Code'in services/api/claude.ts dosyasında (3419 satır uzunluğunda temel etkileşim modülü), ipuçları birleştirme işlemi bayt düzeyinde titizlikle yapılmıştır.
Genel olarak bilinen bir gerçek, Anthropic'in Prompt Cache mekanizmasının önek eşleştirme (Prefix Matching) yöntemini kullandığıdır.
Önbellek vuruş oranını maksimize etmek için Claude Code, dikkatle tasarlanmış bölümlü önbellek mimarisi oluşturdu:
Statik bölüm (genel olarak önbelleğe alınabilir): systemPromptSection() ile oluşturulur ve model kimlik tanımı ("You are Claude Code..."), sistem düzeyi güvenlik kuralları, kod stili kısıtlamaları, araç kullanım temel rehberi vb. içerir. Bu bölüm, oturum ömrü boyunca neredeyse değişmez.
Dinamik sınır: Kaynak kodda özel bir işaret olan SYSTEM_PROMPT_DYNAMIC_BOUNDARY sabitlenmiştir.
Dinamik bölüm (oturum düzeyinde önbelleklenmez/önbelleklenir): Geçerli çalışma dizini (CWD), Git durumu, MCP (Model Context Protocol) komutları, kullanıcı yapılandırması gibi sık değişen verileri içerir.

Ve Prompt'ta küçük değişiklikler nedeniyle önbellek geçişini önlemek için sistem, görünüşte karmaşık birçok alt durum çalıştırıyor:
- Sıralama belirleyicisi: Büyük dil modeline verilen araç tanımları (Araç Açıklamaları), dahili araç öneki + MCP araç son eki ile tam olarak alfabetik sıraya göre sıralanır.
- Hash Path Mapping: Profil yolu, rastgele UUID yerine içerik tabanlı bir hash değeri kullanılarak, her enjeksiyonda farklı yolun önbelleği bozmasını önler.
- Durum dışa aktarılıyor: Şu anda kullanılabilir Agent listesi bile araç açıklamasından kaldırılarak mesaj eklerine (Attachments) taşındı. Kaynak kodu açıklamalarına göre, bu tek değişiklik yalnızca yaklaşık %10,2 Cache Creation Tokens tüketimini azalttı.
Bu, sektörün mevcut durumunu açıklayan bir şeydir: Şu aşamada, üstün AI uygulama katmanı geliştirme, temelde API önbellek sistemlerinin değerini açgözlü ve ince bir şekilde zorlamaktır.
BÖLÜM.03 Araçlar ve Akışlı Paralel Çalıştırma
Claude Code, dosya okuma/yazma, Bash yürütme, web kazıma dahil olmak üzere 40'tan fazla araçla birlikte gelir ve araç sistemi yüksek modüler bir fabrika deseni (Factory Pattern) kullanır.
Her araç, temel Tool arayüzünden türetilir ve checkPermissions(), validateInput() ve isConcurrencySafe() (eşzamanlıya güvenli mi) gibi yöntemleri uygulamak zorundadır.
İhtiyaç doğrultusunda yüklenen ToolSearch mekanizması: Araç sayısı belirli bir eşiği aştığında, tüm araçların açıklamalarını Prompt'a dahil etmek Token maliyetini kabul edilemez seviyelere çıkarır.
Kaynak kodunda, ToolSearch adlı bir zarif strateji gösterilmektedir: bazı özel analiz eklentileri gibi çekirdek olmayan araçlar, defer_loading: true olarak işaretlenmiştir.

Model, şu anki Prompt'ta bu araçların spesifik tanımlarını göremiyor, sadece bir ToolSearch aracının olduğunu biliyor. Model, ek bir yeteneğe ihtiyacı olduğunu düşündüğünde, ilgili araç yapılandırmasını dinamik olarak yüklemek için önce ToolSearch'i çağırmalıdır.
StreamingToolExecutor (Akışlı Araç Çalıştırıcısı): İşlem verimliliğini artırmak için sistem, araçların eşzamanlı çağrısını destekler.
Coordinator (toolOrchestration.ts), büyük modelin döndürdüğü araç çağrısı isteklerini paralel ve sıralı topluluklara böler.
Eşzamanlı olarak güvenli araçlar (örneğin, aynı anda birbirinden bağımsız birden fazla dosyayı okumak veya eşzamanlı olarak ağ aramaları başlatmak) paralel olarak tetiklenecektir; eşzamanlı olarak güvenli olmayan araçlar (örneğin, aynı kod dosyasını sırayla değiştirmek) ise katı bir şekilde sıralı olarak çalıştırılacaktır.
Büyük sonuç kümeleri için araçlar (örneğin tam disk Grep araması), maxResultSizeChars bütçesine sahiptir; bu bütçeyi aşan içerik doğrudan kesilerek yerel geçici dosyalara kalıcı olarak kaydedilir ve LLM'ye yalnızca bir önizleme özeti gönderilir, böylece aşırı büyük sonuçlar bağlam penceresini doldurmadan korunur.
Bağlam kirliliğini çözmek için Fork mekanizması
Mevcut tekil Agent'in bir ölümcül kusuru vardır:
Karmaşık görevleri (örneğin, dosyalar arası hata ayıklama) gerçekleştirirken model, yanlış dosyaları tekrar tekrar okuyabilir ve yanlış komutlar deneyebilir; bu deneme-yanılma süreçleri, çok sayıda gereksiz bağlam üretir ve ana sohbeti hızla kirletir, bu da modelin sonraki çıkarımlarda zihinsel çatışmaya uğramasına veya başlangıç hedefini unutmasına neden olur.
Claude Code, bu sorunu çözmek için karmaşık bir Koordinatör Modu ve Fork Subagent mekanizması tanıttı.

Çevre değişkenlerinde koordinatör modu etkinleştirildikten sonra sistem, Koordinatör-Çalışan mimarisine yeniden yapılandırılacaktır:
- Koordinatör: Dosyalara doğrudan erişim hakkı kaldırıldı, yalnızca Agent, SendMessage ve TaskStop araçları korundu. Tek görevi, çalışma akışını planlamaktır (Araştırma → Sentez → Uygulama → Doğrulama).
- Çalışanlar (Uygulayıcılar): Belirli araç tanımlarıyla türetilir.
En çok takdir edilen özelliği, çatallanma miras mekanizmasıdır.
Geniş çaplı kod keşfi gerektirdiğinde, Coordinator bir Explore Agent çatallar.
Bu alt ajan, üst diyalogun önbelleğini miras alır (maliyetleri azaltmak için ortak Prompt Önbelleği kullanır), ancak sonraki keşif eylemleri ve okunan çöp dosyaları tamamen izole edilmiş bağlamında gerçekleştirilir.
Araştırma tamamlandığında, alt Agent, özetlenmiş ana sonuçları (Sentez) yalnızca belirli XML formatı üzerinden Coordinator'un ana bağlamına iletir.
Bu, kullanım sonrası yok olan ve yalnızca sonuçları bırakan tasarım, şu anda karmaşık çok Agent uzun metin işbirliği için endüstrinin en iyi uygulamalarından biridir.
Bu, kullanım sonrası yok olan ve yalnızca sonuçları bırakan tasarım, şu anda karmaşık çok Agent uzun metin işbirliği için endüstrinin en iyi uygulamalarından biridir.
BÖLÜM 05: Tekil Agent Swarm eşzamanlı mekanizması
Bağlam kirliliğini çözmek için kullanılan seri Fork mekanizmasının yanı sıra, kaynak kodu daha da hırslı bir eşzamanlı çok Ajan mimarisini göstermektedir—Swarm (Teammate) kümeleri.
Bu mantık chủ yếu gizli olan utils/swarm/ ve tasks/ dizinlerinde.
Sistem, in_process_teammate adlı bir görev türünü destekler.
Bu mimari altında, ana işlem, farklı görevleri aynı anda gerçekleştirmek için birden fazla Agent'i (Teammate olarak adlandırılır) paralel olarak uyandırabilir.
Ancak terminal CLI ortamında çoklu ajan eşzamanlılığı gerçekleştirmek, izin penceresi çakışmaları ve UI render karmaşası gibi iki ölümcül mühendislik zorluğuyla karşılaşırlar.
Anthropic'in çözümü son derece zarif:
- Lider yetki köprüleme (permissionSync.ts): Tüm Takım Üyesi alt süreçler, kullanıcıya doğrudan pencere açarak izin isteyemez. İzin istekleri, iç kanal aracılığıyla ana süreçteki Lider Ajanına köprülenir ve Lider, ana terminale güvenli engelleme ve kullanıcı onayı sağlar.
- Terminal düzen otomasyonu: Kullanıcıların birden fazla paralel Agent'in çalışma durumunu net bir şekilde izlemesini sağlamak için kaynak kod, iTerm2 ve Terminal.app için doğrudan AppleScript komutları entegre edilmiştir. Yeni bir Teammate oluşturulduğunda, sistem terminalde pencere bölmesi (Split Pane) açarak her alt Agent için ayrı bir çıktı penceresi atar.
Bu, AI'nin resmen "tekil düşünme"den "kümeler halinde paralel iş birliği"ne geçiş yaptığını işaret ediyor.
BÖLÜM 06 Dream (Rüya) Hafıza Mimarisi
Bugün RAG (Retrieval-Augmented Generation) yaygınlaşırken, neredeyse tüm AI ürünlerinde vektör veritabanı (Vector DB) entegrasyonu yapılmaktadır.
Ancak şaşırtıcı bir şekilde, Claude Code'un bellek sistemi (memdir/modül) son derece eski ve pratik bir yapıya sahiptir ve tamamen yerel dosya sistemi üzerine kuruludur.
Yapısı, üst düzey dizin olarak görev yapan ve en fazla 200 satır/25 KB sınırına sahip olan bir MEMORY.md dosyası ve birçok Frontmatter formatında konu dosyasından oluşur.
Bellek, Kullanıcı, Geri Bildirim, Proje ve Referans olmak üzere dört ana kategoriye ayrılmıştır.
Kaynak kodunda gizli olan KAIROS asistan modu daha da ilginç.
Bu, henüz resmi olarak yayınlanmamış bir uzun süreli (Daemon) modudur.
KAIROS modunda, bellek sistemi basit bir indeks güncellemesi değil, insan günlüklerine benzer bir ekleme modeli (logs/YYYY/MM/YYYY-MM-DD.md yazma) kullanmaktadır.
Gece veya boş zamanlarda, arka planda Dream (rüya görmek) adlı çevrimdışı görev aracısı uyandırılır.

Bu Agent'in görevi, gündüzün günlük kayıtlarını özetlemek, yoğunlaştırmak ve bunları yapılandırılmış uzun vadeli tematik dosyalara dönüştürmektir.
Kısa süreli günlüklerden uzun süreli hafızaya eşzamanlı entegrasyon mekanizması, vektör arama geri çağırma sorununu atlamakla kalmaz, aynı zamanda yerel AI asistanlarının sürekli açık ve sürekli öğrenmeye doğru ilerlediğini açıkça gösterir.
BÖLÜM 07 Yetki Sıkıştırma ve Güvenlik
Yerel Shell komutlarını çalıştırmaya ve dosyaları değiştirmeye AI'ya izin vermek, iki yüzlü bir silahtır.
Sık sık kullanıcı onayı isteyen açılır pencereler, otomasyon deneyimini tamamen bozar; sınırsız otomatik yürütme ise sistem çökmesine neden olabilir (örneğin, rm -rf yanlışlıkla yürütülmesi).
Claude Code, çok katmanlı izin daraltma mimarisi kullanır:
@anthropic-ai/sandbox-runtime tabanlı dosya/ağ kumandasından, git push --force gibi belirli tehlikeli işlemler için sabitlenmiş engelleme işlemlerine kadar araç seviyesinde doğrulamalara kadar.

Ancak en dikkat çekici olan, Auto Mode Classifier (yoloClassifier.ts) adlı bileşendir.
Kullanıcı otomatik modu etkinleştirdiğinde, sistem komutların tehlikeli olup olmadığını değerlendirmek için sert düzenli ifadeler kullanmak yerine bir yan sorgu (Side Query) mekanizması kullanır.
Sistem, mevcut diyalogun özet transkriptini ve yakında yürütülecek Bash komutunu arka planda daha küçük, daha ucuz bir LLM'ye iletir; bu yan model, Allow veya Deny kararını üretir.
Ayrıca, sistem içinde otomatik araçlar sıkça reddedildiğinde sistemın yumuşak bir şekilde düşmesini ve insan müdahalesi istemek için Prompting moduna geçmesini sağlayan bir eşiğe dayalı Reddetme İzleme mekanizması vardır.
Küçük AI'nın büyük AI'yi denetlediği bu dinamik yetki sistemi, geleneksel statik engelleme kurallarından çok daha esnektir.
BÖLÜM.08 Bazı Küçük Sürprizler
Son olarak, kaynak kodunda yaygın olarak bulunan Feature Flags (VOICE_MODE, SSH_REMOTE vb.) ve process.env.USER_TYPE === 'ant' gibi ortam değişkeni kontrolleri, büyük şirketlerin iç test ve dış yayında çift standart uyguladığını göstermektedir.
Anthropic iç çalışanları (Ant-only) için sistem tarafından eklenen kod kuralları son derece sert ve hatta tutkulu düzeydedir:
Özel olarak istenmeyen özellikler eklemeyin, talep edilmemişse yeniden yapılandırmayın, üç satır benzer kod, erken soyutlamadan daha iyidir, neden açıkça değilse hiçbir yorum yazmayın, test başarısız olursa mutlaka doğru şekilde rapor edin.
Dışa açık yapılandırma için sistem ipuçları çok daha yumuşaktır: doğrudan konuya girin, en basit yöntemi deneyin ve mümkün olduğunca özlü olun.
Bu çelişki, büyük modellerin davranış sınırlarının büyük ölçüde sabit kodlanmış talimat eğilimlerine bağlı olduğunu göstermektedir.
Dikkat edilmesi gereken nokta, kodun iki ilginç modül içeriyor olması.
Gizli Mod (Undercover Mode):
Bu, güvenlik topluluğu arasında tartışmalı bir özelliktir.
Kredi verme işlemi, açık kaynak veya genel depolarda çalışan personel için varsayılan olarak etkinleştirilir ve bu mod zorunlu olarak kapatılamaz. Bu mod, Prompt'ta modelin "Kimliğinizi açığa çıkarmayın" talimatını açıkça içerir ve AI tarafından oluşturulan tüm yasal uyarıları veya kod adlarını zorunlu olarak kaldırır.
Kamu ilişkileri açısından bu, şeffaflık eksikliği gibi görünebilir, ancak üreticinin model rol oynama ve çıktı müdahalelerine olan mutlak kontrolünü dolaylı olarak kanıtlar.
Buddy Sistemi (Elektronik Evcil Hayvan) Hediyesi:
Kaynak kodunda gizli bir elektronik evcil hayvan sistemi bulunuyor (ördek, baykuş vb. üretir).

Köpeğin rastgele ve belirli üretimi için mühendisler, kullanıcı ID'sini Mulberry32 pseudo-rastgele sayı üretme algoritmasıyla birlikte kullandı.
typescript
18 tür: ördek, kaz, blob, kedi, ejderha, ahtapot, baykuş, penguen, ...
5 nadirlik seviyesi: yaygın (60%), nadir olmayan (25%), nadir (10%), efsanevi (4%), efsanevi (1%)
// Özellikler: HATA ARAŞTIRMA, SABIR, KARŞILIKSIZLIK, BİLGELİK, SARKASTİK
// Aksesuarlar: taç, yüksek şapka, pervane, halü, cadı, bere, minik ördek
// Özel: %1 olasılıkla parlayan
En komik detay, bir hayvan türünün İngilizce adının, Anthropic'ın son derece gizli dahili model kod adıyla tamamen örtüşmesidir (belki de iki gün önce sızan en güçlü Claude kapibara).
Uygunluk kod tarayıcısının yasaklı kelimeleri tespit etmesini önlemek için mühendisler, bu kelimeyi dinamik olarak birleştirmek için String.fromCharCode() kullandılar.
Çok ciddi altyapı kodlarında bu mizahi bir gencilik yaklaşımı dikkat çekicidir.
BÖLÜM.09 Ne Öğrenebiliriz?
Kısa bir sürede temel model teknik belgelerinin ve temel uygulama kaynak kodunun sızdırılması, Anthropic’in dahili süreç yönetimi konusunda derin bir değerlendirme yapmasını gerektiriyor. Ancak teknoloji suçsuzdur; bu 510.000 satırlık kod, endüstri için harika bir ders kitabıdır.
Claude Code'un temel tasarımından anlaşılacağı üzere, büyük modellerin uygulama katmanında sadece Prompt'ları bir araya getirme, vektör veritabanlarını yığına çıkarma ve basit bir döngü kabuğu kullanma dönemi sona erdi.
Gerçek engeller, Token maliyetine yönelik aşırı tasarruf (Prompt Cache optimizasyonu), çok durum makinesi işbirliğine dayalı akışlı zamanlama (Coordinator ve Fork mekanizmaları), kullanıcı niyeti hatalarına karşı dengelemeye ve güvenlik müdahalelerine (YOLO Sınıflandırıcısı) ve ana işletim sistemiyle derin dosya akışı entegrasyonuna dayanmaktadır.
Şu anda GitHub üzerinde bu kaynak kodların çatallanması yapılan depolar, DMCA talebiyle anında kaldırılma riskiyle karşı karşıyadır.
Ancak her ne kadar olursa olsun, Claude Code'un sergilediği mühendislik düzeyi, 2026 yılı için bir AI asistan ürününün tamamen yeni bir teknolojik standartını belirlemiştir.
Profesyoneller, bu fırsattan yararlanarak bu uygulamalardaki mühendislik en iyi uygulamalarını dikkatle incelemeli ve benimsemelidir.
