Judul Asli: "Memahami Kode Sumber Claude Code dari Anthropic dalam Satu Artikel: Mengapa Ini Jauh Lebih Baik dari yang Lain?"
Penulis Asli: Yuker, Peneliti AI
Pada 31 Maret 2026, peneliti keamanan Chaofan Shou menemukan bahwa dalam rilis npm Anthropic untuk paket Claude Code, file peta sumber (source map) tidak dihapus.
Ini berarti kode sumber TypeScript lengkap dari Claude Code, sebanyak 512.000 baris dan 1903 file, terekspos di internet publik.
Tentu saja, saya tidak mungkin membaca begitu banyak kode hanya dalam beberapa jam, jadi saya mendekati kode sumber ini dengan tiga pertanyaan:
1. Apa perbedaan mendasar antara Claude Code dan alat pemrograman AI lainnya?
2. Mengapa penulisan kodenya "terasa" jauh lebih baik daripada yang lain?
3. Apa sebenarnya yang tersembunyi di dalam 510.000 baris kode tersebut?
Setelah membacanya, reaksi awal saya adalah: ini bukan sekadar asisten pemrograman AI; ini adalah sebuah sistem operasi.
Bayangkan Anda mempekerjakan seorang programmer jarak jauh dan memberi mereka akses jarak jauh ke komputer Anda.
Bagaimana Anda akan menanganinya?
Jika Anda adalah Cursor: Anda akan meminta mereka duduk di sebelah Anda, dan setiap kali mereka perlu mengetik perintah, Anda akan melirik dan mengklik "izinkan." Ini mudah, tetapi Anda harus terus mengawasi mereka setiap saat.
Jika Anda adalah GitHub Copilot Agent: Anda akan memberi mereka mesin virtual baru untuk digunakan. Setelah selesai, mereka mengirimkan kodenya, Anda meninjaunya, lalu menggabungkannya. Ini aman, tetapi mereka tidak bisa melihat lingkungan lokal Anda.
Jika Anda adalah Claude Code:
Anda membiarkan mereka menggunakan komputer Anda secara langsung—tetapi Anda melengkapinya dengan sistem keamanan yang sangat canggih. Apa yang bisa mereka lakukan, apa yang tidak bisa, tindakan mana yang memerlukan persetujuan Anda, mana yang bisa mereka lakukan sendiri, dan bahkan jika mereka ingin menggunakan rm -rf, itu harus melewati 9 tingkat peninjauan sebelum dieksekusi.
Berikut adalah tiga filosofi keamanan yang sangat berbeda:

Mengapa Anthropic memilih jalan tersulit?
Karena hanya dengan cara ini, AI dapat bekerja dengan terminal, lingkungan, dan konfigurasi Anda - inilah arti "benar-benar membantu Anda membuat kode", alih-alih "menulis sepotong kode di ruang bersih lalu menyalinnya".
Namun, apa biayanya? Mereka menulis 510.000 baris kode untuk ini.
Kebanyakan orang berpikir alat pemrograman AI bekerja seperti ini:
Input Pengguna → Panggil API LLM → Dapatkan Hasil → Tampilkan ke Pengguna
Claude Code yang sebenarnya bekerja seperti ini:
Input Pengguna
→ Merakit 7 lapisan prompt sistem secara dinamis
→ Menyuntikkan status Git, konvensi proyek, memori historis
→ 42 alat masing-masing dilengkapi dengan manual
→ LLM memutuskan alat mana yang akan digunakan
→ 9 lapisan peninjauan keamanan (parsing AST, pengklasifikasi ML, pemeriksaan sandbox...)
→ Resolusi balapan izin (keyboard lokal/IDE/hook/pengklasifikasi AI semuanya berlomba secara bersamaan)
→ Penundaan anti-kelelahan 200ms
→ Eksekusi alat
→ Mengembalikan hasil secara streaming
→ Apakah konteks mendekati batas? → Kompresi tiga tahap (mikro-kompresi → kompresi otomatis → kompresi penuh)
→ Perlu paralelisme? → Hasilkan sekumpulan sub-agen
→ Ulangi sampai tugas selesai
Saya yakin semua orang sangat penasaran dengan hal di atas, tapi jangan khawatir, mari kita bedah satu per satu.
Buka src/constants/prompts.ts, dan Anda akan melihat fungsi ini:

Perhatikan SYSTEM_PROMPT_DYNAMIC_BOUNDARY itu?
Ini adalah pembatas cache. Konten di atas pembatas bersifat statis dan dapat di-cache oleh API Claude untuk menghemat biaya token. Konten di bawah pembatas bersifat dinamis — cabang Git Anda saat ini, konfigurasi proyek CLAUDE.md Anda, preferensi memori yang Anda berikan sebelumnya... setiap interaksi bersifat unik.
Apa artinya ini?
Anthropic memperlakukan kata kunci sebagai output compiler untuk optimasi. Bagian statis adalah "biner terkompilasi," dan bagian dinamis adalah "parameter runtime." Manfaat dari pendekatan ini adalah:
1. Hemat biaya: Bagian statis di-cache, menghindari biaya berlebih
2. Kecepatan: Cache hits langsung melewati pemrosesan token tersebut
3. Fleksibilitas: Bagian dinamis memungkinkan setiap interaksi mengetahui lingkungan saat ini
Setiap alat memiliki "Panduan Pengguna" sendiri
Yang lebih mencengangkan adalah setiap direktori alat berisi file prompt.ts — ini adalah Panduan Pengguna yang disesuaikan khusus untuk LLM.
Lihat BashTool (src/tools/BashTool/prompt.ts, sekitar 370 baris):

Ini bukan dokumen untuk manusia, ini adalah kode etik untuk perilaku AI. Setiap kali Claude Code dimulai, aturan-aturan ini disuntikkan ke dalam prompt sistem.
Inilah sebabnya Claude Code tidak pernah secara paksa melakukan git push --force sendiri, sementara beberapa alat mungkin melakukannya — bukan karena modelnya lebih pintar, tetapi karena prompt-nya sudah menjabarkan aturannya.
Ditambah lagi, versi internal Anthropic berbeda dari yang Anda gunakan
Kode memiliki banyak cabang seperti ini:

ant merujuk pada staf internal Anthropic. Versi mereka memiliki panduan gaya kode yang lebih rinci ("Jangan menulis komentar kecuali MENGAPA tidak jelas"), strategi output yang lebih agresif ("Penulisan Piramida Terbalik"), dan beberapa fitur eksperimental yang masih dalam pengujian A/B (Agen Verifikasi, Agen Jelajah & Rencana).
Ini menunjukkan bahwa Anthropic adalah pengguna terbesar Claude Code. Mereka menggunakan produk mereka sendiri untuk mengembangkan produk mereka sendiri.
Buka src/tools.ts, dan Anda akan melihat registri alat:

42 alat, tetapi sebagian besar belum pernah Anda lihat secara langsung. Itu karena banyak alat dimuat secara malas (lazily loaded)—hanya ketika LLM membutuhkannya, mereka disuntikkan sesuai permintaan melalui ToolSearchTool.
Mengapa ini dilakukan?
Karena untuk setiap alat tambahan, prompt sistem memerlukan deskripsi tambahan, dan token perlu menghabiskan lebih banyak uang. Jika Anda hanya ingin Claude Code membantu Anda mengubah satu baris kode, ia tidak perlu memuat 'Penjadwal Tugas Cron' dan 'Manajer Kolaborasi Tim'.
Ada desain yang lebih cerdas:

Atur CLAUDE_CODE_SIMPLE=true, dan Claude Code hanya akan menyisakan tiga alat: Bash, Baca File, Ubah File. Ini adalah pintu belakang bagi kaum minimalis.

Perhatikan nilai default tersebut: isConcurrencySafe default-nya false, isReadOnly default-nya false.
Ini disebut desain fail-closed—jika pembuat alat lupa mendeklarasikan atribut keamanan, sistem akan menganggapnya 'tidak aman dan dapat ditulis'. Lebih baik terlalu berhati-hati daripada melewatkan satu risiko pun.

FileEditTool akan memeriksa apakah Anda sudah membaca file ini menggunakan FileReadTool. Jika belum, ia akan langsung memberikan error dan tidak mengizinkan modifikasi.
Inilah sebabnya Claude Code tidak akan "secara ajaib menulis cuplikan kode untuk menimpa file Anda" seperti beberapa alat lain—**ia diharuskan untuk memahami terlebih dahulu sebelum memodifikasi**.
Siapa pun yang pernah menggunakan Claude Code memiliki perasaan: ia sepertinya benar-benar mengenal Anda.
Anda memberitahunya "jangan tiru database dalam pengujian," dan ia tidak akan menirunya pada interaksi berikutnya. Anda memberitahunya "Saya seorang insinyur backend, pemula React," dan ia akan menjelaskan kode front-end menggunakan analogi backend.
Di balik ini adalah sistem memori yang lengkap.

Claude Code menggunakan AI lain (Claude Sonnet) untuk menentukan "memori mana yang relevan dengan percakapan saat ini"
Bukan pencocokan kata kunci, bukan pencarian vektor—ia membiarkan model kecil memindai semua judul dan deskripsi file memori dengan cepat, memilih hingga 5 yang paling relevan, lalu menyuntikkan konten lengkapnya ke dalam konteks percakapan saat ini.
Strateginya adalah "presisi di atas recall"—lebih baik melewatkan memori yang berpotensi berguna daripada menyuntikkan memori yang tidak relevan yang mengotori konteks.
Mode KAIROS: "Bermimpi" di Malam Hari
Ini adalah bagian yang paling fiksi ilmiah bagi saya.
Ada flag fitur dalam kode yang disebut KAIROS. Dalam mode ini, memori dari percakapan panjang tidak disimpan dalam file terstruktur tetapi dalam entri seperti log yang ditambahkan tanggal. Kemudian, ada skill /dream yang berjalan selama "malam hari" (aktivitas rendah) menyaring log mentah ini menjadi file tematik terstruktur.

AI mengatur memori saat "tidur". Ini bukan lagi teknik; ini adalah bionik.
Ketika Anda meminta Claude Code melakukan tugas yang kompleks, ia mungkin diam-diam melakukan ini:

Ia menghasilkan sub-Agen.
Dan sub-Agen memiliki suntikan "kesadaran diri" yang ketat untuk mencegahnya secara rekursif menghasilkan lebih banyak sub-Agen:

Potongan kode ini mengatakan: "Anda adalah pekerja, bukan manajer. Jangan berpikir untuk mempekerjakan lebih banyak orang, lakukan pekerjaannya sendiri."
Pola Koordinator: Pola Manajer
Dalam pola koordinator, Claude Code menjadi orkestrator tugas murni, tidak melakukan pekerjaan itu sendiri, hanya mendelegasikan:

Prinsip inti yang tertulis dalam komentar kode:
"Paralelisme adalah kekuatan super Anda" untuk tugas penelitian read-only: jalankan secara paralel. Untuk tugas menulis file: jalankan secara serial per grup file (menghindari konflik).
Optimasi Prompt Cache hingga Ekstrem
Untuk memaksimalkan tingkat hit cache sub-Agen, semua hasil utilitas sub-agen yang di-fork menggunakan teks placeholder yang sama:
"Fork dimulai—memproses di latar belakang"
Mengapa? Karena cache prompt API Claude didasarkan pada pencocokan awalan tingkat byte. Jika byte awalan dari 10 sub-Agen identik, maka hanya yang pertama yang memerlukan "cold start," 9 sisanya langsung mengenai cache.
Ini adalah optimasi yang menghemat beberapa sen per panggilan, tetapi dalam skala besar, ini dapat menghemat biaya yang signifikan.
Semua LLM memiliki batas jendela konteks. Semakin lama percakapan, semakin banyak pesan historis, akhirnya akan melebihi batas.
Claude Code telah merancang kompresi tiga lapis untuk ini:

Mikro-kompresi hanya menyentuh hasil panggilan alat lama — mengganti "Konten file 500 baris yang dibaca 10 menit lalu" dengan [Konten hasil alat lama dihapus].
Kata-kata prompt dan utas dialog dipertahankan sepenuhnya.
Ketika konsumsi token mendekati 87% dari jendela konteks (ukuran jendela - buffer 13.000), dipicu secara otomatis. Ada pemutus sirkuit: hentikan upaya setelah 3 kegagalan kompresi berturut-turut untuk menghindari loop.
Minta AI membuat ringkasan dari seluruh percakapan lalu ganti semua pesan historis dengan ringkasan tersebut. Ada aturan ketat selama pembuatan ringkasan:

Mengapa begitu ketat? Karena jika AI melakukan panggilan alat tambahan selama proses peringkasan, itu akan menimbulkan konsumsi token lebih banyak, kontraproduktif. Prompt ini pada dasarnya mengatakan: "Tugas Anda adalah meringkas, jangan lakukan hal lain."
Anggaran Token Terkompresi:
· Pemulihan File: 50.000 token
· Batas Per File: 5.000 token
· Konten Skill: 25.000 token
Angka-angka ini tidak sembarangan — mereka mewakili titik keseimbangan antara "mempertahankan cukup konteks untuk terus bekerja" dan "mengosongkan cukup ruang untuk menerima pesan baru."
Dalam 510.000 baris kode, bagian yang benar-benar memanggil API LLM mungkin kurang dari 5%. Bagaimana dengan 95% sisanya?
· Pemeriksaan Keamanan (18 file hanya untuk satu BashTool)
· Sistem Izin (izinkan/tolak/tanya/passthrough Keputusan Kuadratik)
· Manajemen Konteks (Kompresi tiga lapis + Pengambilan Memori AI)
· Pemulihan Error (Pemutus Sirkuit, Backoff Eksponensial, Persistensi Transkrip)
· Koordinasi Multi-Agen (Orkestrasi Kawanan + Komunikasi Kotak Surat)
· Interaksi UI (140 Komponen React + Jembatan IDE)
· Optimasi Kinerja (Stabilitas Cache Prompt + Prefetch Paralel saat Startup)
Jika Anda membangun produk Agen AI, ini adalah masalah nyata yang perlu Anda selesaikan. Ini bukan tentang seberapa pintar model Anda; ini tentang seberapa kuat perancah Anda.
Ini bukan hanya tentang membuat prompt yang bagus. Prompt Claude Code mencakup:
· Perakitan Dinamis 7 Lapis
· Setiap alat dilengkapi dengan panduan pengguna mandiri
· Batas cache digambarkan dengan tepat
· Versi internal dan eksternal memiliki set instruksi yang berbeda
· Pemesanan alat diperbaiki untuk menjaga stabilitas cache
Ini adalah manajemen prompt yang direkayasa, bukan keahlian tangan.
Setiap dependensi eksternal memiliki kebijakan kegagalan yang sesuai:

42 alat = Sistem Izin Panggilan Sistem = Sistem Skill Manajemen Izin Pengguna = Protokol MCP App Store = Agen Kawanan Driver Perangkat = Manajemen Proses Kompresi Konteks = Manajemen Memori Persistensi Transkrip = Sistem File
Ini bukan "chatbot ditambah beberapa alat"; ini adalah sistem operasi dengan LLM sebagai intinya.
510.000 baris kode. 1903 file. 18 file aman hanya untuk satu alat Bash.
9 lapisan pemeriksaan hanya untuk membuat AI membantu Anda mengetik perintah dengan aman.
Ini adalah jawaban Anthropic: Untuk membuat AI benar-benar berguna, Anda tidak bisa menguncinya di dalam sangkar atau membiarkannya berkeliaran liar. Anda harus membangun kerangka kepercayaan yang lengkap di sekitarnya.
Dan biaya dari sistem kepercayaan ini adalah 510.000 baris kode.
Konten ini disediakan hanya untuk tujuan informasi umum dan bukan merupakan nasihat keuangan, investasi, hukum, atau pajak. Setiap acara, reward, promosi online, atau informasi terkait yang disebutkan di sini tidak boleh dianggap sebagai rekomendasi, ajakan, atau undangan untuk membeli, menjual, memperdagangkan, atau melakukan transaksi aset kripto apa pun. Aset kripto sangat fluktuatif dan dapat mengakibatkan kerugian. Ketersediaan layanan, produk, dan acara terkait WEEX dapat berbeda-beda di setiap wilayah. Anda bertanggung jawab untuk memastikan bahwa partisipasi Anda sesuai dengan hukum dan peraturan setempat yang berlaku.





























