Orijinal Başlıq: "Anthropic-in Claude Code Mənbə Kodunu Bir Məqalədə Anlamaq: Niyə Digərlərindən Daha Yaxşıdır?"
Orijinal Müəllif: Yuker, AI Tədqiqatçısı
31 mart 2026-cı ildə təhlükəsizlik tədqiqatçısı Chaofan Shou aşkar etdi ki, Anthropic-in npm Claude Code paketinin buraxılışında mənbə xəritəsi (source map) faylı silinməyib.
Bu o deməkdir ki, Claude Code-un tam TypeScript mənbə kodu, 512.000 sətir və 1903 fayl internetdə açıq şəkildə ifşa olunub.
Əlbəttə, mən bir neçə saat ərzində bu qədər kodu oxuya bilməzdim, ona görə də bu mənbə koduna üç sualla yanaşdım:
1. Claude Code ilə digər AI proqramlaşdırma alətləri arasında fundamental fərq nədir?
2. Niyə onun kod yazmağı digərlərindən daha "yaxşı" hiss olunur?
3. 510.000 sətir kodun içində əslində nə gizlənir?
Onu oxuduqdan sonra ilkin reaksiyam bu oldu: bu sadəcə bir AI proqramlaşdırma köməkçisi deyil; bu bir əməliyyat sistemidir.
Təsəvvür edin ki, siz uzaqdan işləyən bir proqramçı işə götürmüsünüz və onlara kompüterinizə uzaqdan giriş imkanı vermisiniz.
Bunu necə idarə edərdiniz?
Əgər siz Cursor olsaydınız: onları yanınızda oturdardınız və hər dəfə bir əmr yazmaları lazım olduqda, siz baxıb "icazə ver" düyməsini sıxardınız. Bu sadədir, lakin onları hər an nəzarətdə saxlamalısınız.
Əgər siz GitHub Copilot Agent olsaydınız: onlara oynamaq üçün tamamilə yeni bir virtual maşın verərdiniz. Bitirdikdən sonra kodu təqdim edərdilər, siz nəzərdən keçirərdiniz, sonra birləşdirərdiniz. Bu təhlükəsizdir, lakin onlar sizin yerli mühitinizi görə bilmirlər.
Əgər siz Claude Code olsaydınız:
Siz onlara kompüterinizdən birbaşa istifadə etməyə icazə verərdiniz—lakin onu son dərəcə mürəkkəb bir təhlükəsizlik sistemi ilə təchiz edərdiniz. Onların nə edə biləcəyi, nə edə bilməyəcəyi, hansı hərəkətlərin sizin təsdiqinizi tələb etdiyi, hansını özbaşına edə biləcəyi və hətta rm -rf istifadə etmək istəsələr belə, icra olunmazdan əvvəl 9 səviyyəli yoxlamadan keçməli olduqları bir sistem.
Budur üç tamamilə fərqli təhlükəsizlik fəlsəfəsi:

Niyə Anthropic ən çətin yolu seçdi?
Çünki yalnız bu yolla AI sizin terminalınız, mühitiniz və konfiqurasiyanızla işləyə bilər - "təmiz otaqda kod yazıb sonra onu kopyalamaq" əvəzinə, "kod yazmağınıza həqiqətən kömək etmək" budur.
Bəs bunun qiyməti nədir? Onlar bunun üçün 510.000 sətir kod yazdılar.
Çoxları düşünür ki, AI proqramlaşdırma alətləri belə işləyir:
İstifadəçi Girişi → LLM API-ni Çağır → Nəticəni Al → İstifadəçiyə Göstər
Əsl Claude Code belə işləyir:
İstifadəçi Girişi
→ 7 qat sistem sorğusunu dinamik şəkildə yığmaq
→ Git vəziyyətini, layihə konvensiyalarını, tarixi yaddaşı daxil etmək
→ Hər birinin öz təlimatı olan 42 alət
→ LLM hansı alətdən istifadə edəcəyinə qərar verir
→ 9 qat təhlükəsizlik yoxlaması (AST parsing, ML təsnifatçıları, sandbox yoxlamaları...)
→ İcazə yarışı həlli (yerli klaviatura/IDE/hook/AI təsnifatçısı hamısı eyni anda yarışır)
→ 200ms anti-yorğunluq gecikməsi
→ Aləti icra et
→ Nəticələri axın şəklində qaytar
→ Kontekst limitə yaxınlaşır? → Üç mərhələli sıxılma (mikro-sıxılma → avtomatik sıxılma → tam sıxılma)
→ Paralellik lazımdır? → Sub-agentlər sürüsü yarat
→ Tapşırıq tamamlanana qədər dövr et
İnanıram ki, hər kəs yuxarıdakılarla maraqlanır, amma narahat olmayın, gəlin onları bir-bir açaq.
src/constants/prompts.ts faylını açın və bu funksiyanı görəcəksiniz:

SYSTEM_PROMPT_DYNAMIC_BOUNDARY-ni görürsünüz?
Bu, keş ayırıcısıdır. Ayırıcının üstündəki məzmun statikdir və token xərclərinə qənaət etmək üçün Claude API tərəfindən keşlənə bilər. Ayırıcının altındakı məzmun dinamikdir — cari Git filialınız, CLAUDE.md layihə konfiqurasiyanız, əvvəllər təqdim etdiyiniz üstünlük yaddaşlarınız... hər qarşılıqlı əlaqə unikaldır.
Bu nə deməkdir?
Anthropic, optimallaşdırmaq üçün sorğu sözlərini kompilyator çıxışı kimi qəbul edir. Statik hissə "kompilyasiya edilmiş binar", dinamik hissə isə "runtime parametrləri"dir. Bu yanaşmanın faydaları bunlardır:
1. Xərclərə qənaət: Statik hissə keşlənir, artıq ödənişlərdən qaçılır
2. Sürət: Keş hitləri birbaşa həmin tokenlərin işlənməsini atlayır
3. Çeviklik: Dinamik hissə hər qarşılıqlı əlaqənin cari mühitdən xəbərdar olmasına imkan verir
Hər alətin öz "İstifadəçi Təlimatı" var
Daha heyrətamiz olan odur ki, hər alət kataloqunda prompt.ts faylı var — bu, LLM üçün xüsusi olaraq hazırlanmış İstifadəçi Təlimatıdır.
BashTool-a baxın (src/tools/BashTool/prompt.ts, təxminən 370 sətir):

Bu insanlar üçün bir sənəd deyil, bu AI davranışı üçün bir davranış kodeksidir. Claude Code hər dəfə işə düşəndə, bu qaydalar sistem sorğularına daxil edilir.
Buna görə də Claude Code heç vaxt özbaşına git push --force etmir, bəzi alətlər isə edə bilər — model daha ağıllı olduğu üçün deyil, sorğular artıq qaydaları müəyyən etdiyi üçün.
Üstəlik, Anthropic-in daxili versiyası sizin istifadə etdiyinizdən fərqlidir
Kodun bu kimi çoxsaylı filialları var:

ant Anthropic daxili işçilərinə aiddir. Onların versiyasında daha ətraflı kod üslubu qaydaları ("NİYƏ aydın deyilsə, şərh yazmayın"), daha aqressiv çıxış strategiyası ("Tərs Piramida Yazısı") və hələ də A/B testində olan bəzi eksperimental funksiyalar (Doğrulama Agenti, Kəşf et & Planla Agenti) var.
Bu onu göstərir ki, Anthropic Claude Code-un ən böyük istifadəçisidir. Onlar öz məhsullarını inkişaf etdirmək üçün öz məhsullarından istifadə edirlər.
src/tools.ts faylını açın və alət reyestrini görəcəksiniz:

42 alət, lakin onların çoxunu heç vaxt birbaşa görməmisiniz. Çünki bir çox alət tənbəl şəkildə yüklənir (lazily loaded)—yalnız LLM onlara ehtiyac duyduqda, ToolSearchTool vasitəsilə tələb olunduqda daxil edilirlər.
Bu niyə edilir?
Çünki hər əlavə alət üçün sistem sorğusu əlavə təsvir tələb edir və token daha çox pul xərcləməlidir. Əgər siz sadəcə Claude Code-un bir sətir kodu dəyişdirməyə kömək etməsini istəyirsinizsə, onun 'Cron Tapşırıq Planlayıcısı' və 'Komanda Əməkdaşlıq Meneceri'ni yükləməsinə ehtiyac yoxdur.
Daha ağıllı bir dizayn var:

CLAUDE_CODE_SIMPLE=true təyin edin və Claude Code-da yalnız üç alət qalacaq: Bash, Faylı Oxu, Faylı Dəyişdir. Bu, minimalistlər üçün bir arxa qapıdır.

Həmin standart dəyərlərə diqqət yetirin: isConcurrencySafe standart olaraq false, isReadOnly standart olaraq false.
Buna fail-closed dizayn deyilir—əgər alətin müəllifi təhlükəsizlik atributlarını bəyan etməyi unudarsa, sistem onun 'təhlükəli və yazıla bilən' olduğunu güman edəcək. Bir riski qaçırmaqdansa, həddindən artıq ehtiyatlı olmaq daha yaxşıdır.

FileEditTool, FileReadTool istifadə edərək bu faylı artıq oxuyub-oxumadığınızı yoxlayacaq. Əgər yoxlamayıbsa, birbaşa xəta verəcək və dəyişikliyə icazə verməyəcək.
Buna görə də Claude Code bəzi alətlər kimi "faylınızın üzərinə yazmaq üçün sehrli şəkildə kod parçası yazmayacaq"—**dəyişdirməzdən əvvəl başa düşmək tələb olunur**.
Claude Code-dan istifadə edən hər kəsin bir hissi var: o, həqiqətən sizi tanıyır.
Ona "testlərdə verilənlər bazasını təqlid etmə" deyirsiniz və o, növbəti qarşılıqlı əlaqədə təqlid etmir. Ona "Mən backend mühəndisiyəm, React yeni başlayan" deyirsiniz və o, ön tərəf kodunu backend analogiyaları ilə izah edəcək.
Bunun arxasında tam bir yaddaş sistemi dayanır.

Claude Code, "hansı yaddaşların cari söhbətə aid olduğunu" müəyyən etmək üçün başqa bir AI (Claude Sonnet) istifadə edir
Açar söz uyğunluğu deyil, vektor axtarışı deyil—o, kiçik bir modelə bütün yaddaş faylı başlıqlarını və təsvirlərini sürətlə skan etməyə, 5-ə qədər ən uyğun olanı seçməyə, sonra onların tam məzmununu cari söhbət kontekstinə daxil etməyə imkan verir.
Strategiya "xatırlamaqdan çox dəqiqlik"dir—konteksti çirkləndirən əlaqəsiz bir yaddaşı daxil etməkdənsə, potensial faydalı bir yaddaşı qaçırmaq daha yaxşıdır.
KAIROS Rejimi: Gecə "Yuxu görmə"
Bu mənim üçün ən elmi-fantastik hissədir.
Kodda KAIROS adlı bir funksiya bayrağı var. Bu rejimdə uzun söhbətlərdən gələn yaddaşlar strukturlaşdırılmış fayllarda deyil, tarix əlavə edilmiş log-kimi qeydlərdə saxlanılır. Sonra, "gecə" (aşağı aktivlik) zamanı işləyən və bu xam logları strukturlaşdırılmış tematik fayllara ayıran /dream bacarığı var.

AI "yatarkən" yaddaşları təşkil edir. Bu artıq mühəndislik deyil; bu bionikdir.
Claude Code-a mürəkkəb bir tapşırıq yerinə yetirtdikdə, o, sakitcə bunu edə bilər:

O, bir sub-Agent yaradır.
Və sub-Agentin rekursiv şəkildə daha çox sub-Agent yaratmasının qarşısını almaq üçün ciddi bir "özünüdərk" inyeksiyası var:

Kodun bu parçası deyir: "Sən işçisən, menecer deyilsən. Daha çox insan işə götürmək barədə düşünmə, işi özün gör."
Koordinator Pattern: Menecer Pattern
Koordinator patternində Claude Code, işi özü görməyən, sadəcə tapşırıqları bölüşdürən təmiz bir tapşırıq orkestratoruna çevrilir:

Kod şərhlərində yazılmış əsas prinsiplər:
Yalnız oxuna bilən tədqiqat tapşırıqları üçün "Paralellik sizin super gücünüzdür": paralel işləyin. Fayl yazma tapşırıqları üçün: fayl qrupu üzrə serial işləyin (münaqişələrdən qaçınmaq üçün).
Sorğu Keşinin Həddindən Artıq Optimallaşdırılması
Sub-Agentlərin keş hit dərəcəsini maksimuma çatdırmaq üçün, bütün forked sub-agent utilit nəticələri eyni placeholder mətnindən istifadə edir:
"Fork başladı—arxa planda işlənir"
Niyə? Çünki Claude-un API sorğu keşi byte-səviyyəli prefiks uyğunluğuna əsaslanır. Əgər 10 sub-Agentin prefiks baytları eynidirsə, o zaman yalnız birincisi "soyuq başlanğıc" tələb edir, qalan 9-u birbaşa keşə düşür.
Bu, hər çağırış üçün bir neçə sentə qənaət edən bir optimallaşdırmadır, lakin miqyasda bu, əhəmiyyətli dərəcədə xərclərə qənaət edə bilər.
Bütün LLM-lərin kontekst pəncərəsi limiti var. Söhbət nə qədər uzun olarsa, tarixi mesajlar bir o qədər çox olar və nəticədə limit aşılacaq.
Claude Code bunun üçün üçqat sıxılma dizayn edib:

Mikro-sıxılma yalnız köhnə alət çağırışı nəticələrinə toxunur — "10 dəqiqə əvvəl oxunan 500 sətirlik faylın məzmunu"nu [Köhnə alət nəticəsi məzmunu təmizləndi] ilə əvəz edir.
Sorğu sözləri və dialoq ipi tamamilə saxlanılır.
Token istehlakı kontekst pəncərəsinin 87%-nə yaxınlaşdıqda (pəncərə ölçüsü - 13.000 bufer), avtomatik işə düşür. Bir pemut sirkuit var: dövrədən qaçmaq üçün 3 ardıcıl sıxılma uğursuzluğundan sonra cəhdləri dayandırın.
AI-yə bütün söhbətin xülasəsini yaratdırın və sonra bütün tarixi mesajları xülasə ilə əvəz edin. Xülasə yaradılması zamanı ciddi bir qayda var:

Niyə bu qədər ciddi? Çünki AI xülasə prosesi zamanı əlavə alət çağırışları edərsə, bu daha çox token istehlakına səbəb olar, əks təsir göstərər. Bu sorğu əsasən deyir: "Sizin tapşırığınız xülasə etməkdir, başqa heç nə etməyin."
Sıxılmış Token Büdcəsi:
· Fayl Bərpası: 50.000 token
· Fayl üzrə Limit: 5.000 token
· Skill Məzmunu: 25.000 token
Bu rəqəmlər təsadüfi deyil — onlar "işləməyə davam etmək üçün kifayət qədər konteksti saxlamaq" və "yeni mesajlar qəbul etmək üçün kifayət qədər yer boşaltmaq" arasında bir tarazlıq nöqtəsini təmsil edir.
510.000 sətir kod daxilində, LLM API-ni çağıran hissə yəqin ki, 5%-dən azdır. Bəs qalan 95% nədir?
· Təhlükəsizlik Yoxlamaları (təkcə bir BashTool üçün 18 fayl)
· İcazə Sistemi (icazə ver/rədd et/soruş/passthrough Kvadratik Qərar)
· Kontekst İdarəetməsi (Üçqat sıxılma + AI Yaddaşının Geri Alınması)
· Xəta Bərpası (Pemut Sirkuit, Eksponensial Backoff, Transkript Davamlılığı)
· Multi-Agent Koordinasiyası (Sürü Orkestrasyonu + Poçt qutusu Əlaqəsi)
· UI Qarşılıqlı Əlaqəsi (140 React Komponenti + IDE Körpüsü)
· Performans Optimallaşdırılması (Sorğu Keşinin Sabitliyi + Başlanğıcda Paralel Prefetch)
Əgər siz AI Agent məhsulu qurursunuzsa, bunlar həll etməli olduğunuz əsl problemlərdir. Bu, modelinizin nə qədər ağıllı olması ilə bağlı deyil; bu, iskele (scaffolding) sisteminizin nə qədər möhkəm olması ilə bağlıdır.
Bu, sadəcə gözəl bir sorğu hazırlamaq deyil. Claude Code-un sorğularına daxildir:
· 7-Qat Dinamik Yığım
· Hər alət ayrıca istifadəçi təlimatı ilə gəlir
· Keş sərhədləri dəqiq müəyyən edilmişdir
· Daxili və xarici versiyaların fərqli təlimat dəstləri var
· Keş sabitliyini qorumaq üçün alət sifarişi sabitdir
Bu, sənətkarlıq deyil, mühəndislik sorğu idarəetməsidir.
Hər bir xarici asılılığın müvafiq uğursuzluq siyasəti var:

42 alət = Sistem Çağırışı İcazə Sistemi = İstifadəçi İcazə İdarəetmə Bacarığı Sistemi = App Store MCP Protokolu = Cihaz Sürücüsü Agent Sürüsü = Proses İdarəetməsi Kontekst Sıxılması = Yaddaş İdarəetməsi Transkript Davamlılığı = Fayl Sistemi
Bu, "chatbot və bir neçə alət" deyil; bu, mərkəzində LLM olan bir əməliyyat sistemidir.
510.000 sətir kod. 1903 fayl. Təkcə bir Bash aləti üçün 18 təhlükəsiz fayl.
AI-nin sizə əmr yazmağa kömək etməsini təmin etmək üçün 9 qat yoxlama.
Bu, Anthropic-in cavabıdır: AI-ni həqiqətən faydalı etmək üçün onu qəfəsə sala və ya sərbəst buraxa bilməzsiniz. Onun ətrafında tam bir etibar çərçivəsi qurmalısınız.
Və bu etibar sisteminin qiyməti 510.000 sətir koddur.
Bu məzmun yalnız ümumi məlumat məqsədilə təqdim olunur və maliyyə, investisiya, hüquqi və ya vergi məsləhəti hesab edilməməlidir. Burada qeyd olunan hər hansı tədbir, mükafat, onlayn kampaniya və ya əlaqəli məlumat hər hansı kriptoaktivin alınması, satılması, treydinqi və ya digər əməliyyatların aparılması üçün tövsiyə, təşviq və ya dəvət kimi qiymətləndirilməməlidir. Kriptoaktivlər yüksək dəyişkənliyə malikdir və maliyyə itkisinə səbəb ola bilər. WEEX-in xidmətləri, məhsulları və əlaqəli tədbirlərinin əlçatanlığı regiondan asılı olaraq dəyişə bilər. İştirakınızın yerli qanunvericilik və tənzimləyici tələblərə uyğun olmasını təmin etmək sizin məsuliyyətinizdir.





























