[Pencipta LLVM Chris Lattner] Masa depan rekayasa perangkat lunak yang ditunjukkan oleh Claude C Compiler
(modular.com)Ringkasan inti
Claude C Compiler (CCC) yang diumumkan Anthropic merupakan milestone penting yang menunjukkan bahwa AI telah melampaui sekadar pembuatan snippet kode, dan mampu melakukan rekayasa skala besar sambil mempertahankan arsitektur yang konsisten di berbagai subsistem. Sistem ini mereproduksi dengan sangat baik "pengetahuan baku" rekayasa compiler yang terakumulasi selama puluhan tahun pada LLVM dan GCC, tetapi juga memperlihatkan keterbatasan: alih-alih menciptakan abstraksi baru, ia masih berhenti pada perakitan pola yang sudah ada untuk meloloskan pengujian. Seiring AI coding memasuki tahap "otomatisasi implementasi", kompetensi inti engineer ke depan akan bergeser dari coding itu sendiri menuju perancangan arsitektur sistem dan penentuan arah.
Analisis mendalam
1. Pergeseran dari pembuatan kode lokal ke rekayasa sistem global
Alat AI coding generasi sebelumnya terbatas pada penalaran jangka pendek dan lokal, seperti menulis satu fungsi atau membuat skrip. Sebaliknya, CCC menjaga konsistensi arsitektur antar subsistem kompleks, dari frontend, intermediate representation (IR), hingga backend. Ini membuktikan bahwa pada domain seperti compiler yang menuntut invariant ketat dan akurasi tinggi, AI dapat ikut serta dalam keseluruhan proses engineering melalui feedback loop yang kompleks (test-fail-fix).
2. LLM sebagai distribution follower dan batasannya
Commit besar pertama CCC langsung menyusun struktur compiler yang khas secara one-shot. Hal ini menunjukkan bahwa LLM mutakhir, setelah mempelajari codebase dalam jumlah besar, adalah distribution follower yang sangat kuat dalam menemukan "sumbu pusat pengetahuan yang sudah ada". Ini sejalan dengan "Bitter Lesson" dari Richard Sutton, dan sangat baik dalam meniru teknik abstraksi yang telah dikenal.
Namun, kesalahan yang dibuat CCC juga mengungkap batas yang jelas dari AI coding saat ini. Alih-alih membangun arsitektur abstraksi yang umum, sistem ini cenderung overfitting untuk meloloskan test suite yang diberikan. Dengan kata lain, ia unggul dalam merakit dan menerjemahkan konsep yang sudah ada, tetapi belum mencapai "lompatan konseptual" berupa penemuan IR atau model optimisasi yang benar-benar baru.
3. Pergeseran paradigma pengembangan perangkat lunak
Ketika tugas coding seperti implementasi, translasi, dan refactoring makin otomatis sebagai tugas AI-native, biaya marginal untuk membangun software turun dengan cepat. Secara paradoks, hal ini justru membuat visi dan judgment (taste) engineer manusia tentang "apa yang harus dibangun" dan "bagaimana menyusunnya" menjadi semakin penting. Khususnya karena sistem AI cenderung memperkuat pengetahuan yang terstruktur dengan baik dan menyingkirkan sistem yang tidak terdokumentasi, desain arsitektur yang jelas dan dokumentasi akan menjadi infrastruktur inti engineering ke depan.
Data utama dan karakteristik teknis
Arsitektur yang didukung (Backend)
x86-32,x86-64,RISC-V,AArch64
Pengaruh LLVM/GCC yang ditemukan dalam desain arsitektur (konsep IR)
GetElementPtr: instruksi perhitungan alamat memoriMem2Reg: optimization pass yang mempromosikan alokasi memori menjadi registerTerminatorspada basic block
Cacat teknis utama dalam implementasi CCC (efek samping optimisasi berbasis pengujian)
| Area cacat | Rincian |
|---|---|
| Code generator | Masalah struktural karena melakukan reparsing teks assembly alih-alih memanfaatkan IR generik (tetap di level 'Toy') |
| Parser | Mekanisme error recovery lemah dan gagal menangani corner case ekstrem |
| System header | Melewati penanganan system header yang sulit diparse, dan hanya melakukan hardcoding elemen yang diperlukan untuk lolos pengujian |
7 komentar
https://github.com/anthropics/claudes-c-compiler/issues/1
Meskipun terasa luar biasa bisa membuat compiler, program dengan spesifikasi input/output sejelas compiler juga jarang ada, jadi sepertinya memang sangat cocok untuk dibuat oleh LLM.
Tetap saja, ini luar biasa.
Sekarang berikutnya OS...? "Buatkan OS yang menjalankan program Win32, model."
Apa cuma saya yang sudah baca tapi tetap tidak paham maksudnya.. jangan-jangan ini cuma cerita bahwa gcc di-vibe coding, ya?
Bukankah ini menunjukkan bahwa vibe coding bisa dilakukan secara konsisten bahkan pada skala sebesar ini?
Claude가 생성한 C 컴파일러와 GCC 비교
병렬 Claude 팀을 활용한 C 컴파일러 구축
Model itu kemungkinan besar sudah dilatih dengan mengumpulkan semua pengetahuan terkait gcc, baik berizin maupun tidak, jadi menurut saya ini juga kurang tepat sebagai tolok ukur untuk menunjukkan performa LLM..
Mungkin memang ada maknanya karena proyek berskala besar itu dikerjakan dengan vibe coding,
namun seperti yang Anda katakan, saya juga setuju bahwa itu agak kurang tepat karena
gcckemungkinan merupakan hal yang sudah dipelajari.Pembahasan serupa juga muncul di video ini. https://www.youtube.com/watch?v=6QryFk4RYaM
Chris Lattner memang selalu layak dipercaya.