- Proses penulisan perangkat lunak dengan bantuan AI didefinisikan oleh antirez sebagai ‘Automatic Programming’, dan diperkirakan akan segera menjadi standar dalam pengembangan perangkat lunak
- Bahkan dengan LLM yang sama, intuisi manusia, desain, dan penyesuaian arah secara berkelanjutan dapat menghasilkan keluaran yang sangat berbeda
- Vibe coding adalah pendekatan yang menyerahkan pekerjaan kepada AI tanpa pemahaman mendalam, sedangkan pemrograman otomatis mengandaikan visi dan kendali yang jelas dari pengembang
- Kode yang dihasilkan AI juga berdasarkan data pra-pelatihan dan penilaian yang terakumulasi dari manusia, dan kepemilikan hasilnya ada pada pengembang
- Pemrograman makin terotomatisasi, tetapi ide dan visi tetap menjadi ranah manusia
Definisi konsep Automatic Programming
- Proses menulis perangkat lunak dengan dukungan AI disebut Automatic Programming
- Pendekatan ini akan segera menjadi proses standar dalam pembuatan perangkat lunak
Perbedaannya dengan vibe coding
- Vibe Coding adalah cara menghasilkan perangkat lunak dengan AI tanpa ikut terlibat dalam prosesnya sama sekali
- Jika keinginan dijelaskan dengan istilah yang sangat umum, LLM akan menghasilkan ide/desain/kode pertama yang muncul secara alami berdasarkan data pelatihannya dan sampling spesifik pada eksekusi tersebut
- Seorang vibe coder paling jauh hanya melaporkan bagian yang tidak berjalan atau berbeda dari harapan
- Automatic Programming mengejar kualitas tinggi dan mengikuti visi perangkat lunak dari pembuatnya secara ketat
- Visi ini bersifat berlapis: mulai dari bagaimana tepatnya suatu tugas harus dilakukan, hingga memberi instruksi langsung kepada AI tentang cara menulis fungsi tertentu
- Apa yang harus dilakukan juga merupakan unsur yang sangat penting
Pentingnya unsur manusia
- Bahkan dengan LLM yang sama, hasilnya dapat sangat berbeda tergantung pada intuisi, desain, penyesuaian arah berkelanjutan, dan gagasan tentang perangkat lunak dari manusia yang memandu proses
- Ungkapan "Claude melakukan vibe coding untuk perangkat lunak ini" tidak tepat
- Jika Anda memahami apa yang sedang terjadi dan benar-benar menghasilkan perangkat lunak, maka itu adalah perangkat lunak yang Anda hasilkan sendiri
Pandangan tentang kepemilikan kode
- Data pra-pelatihan bukan satu-satunya hal yang dipelajari LLM (RL juga berperan besar), tetapi tetap merupakan hasil produksi manusia
- Karena itu, ini bukan bentuk mengambil alih sesuatu milik pihak lain
- Kita dapat menyebut kode yang dihasilkan AI sebagai "milik kita", dan memang berhak melakukannya
- Pra-pelatihan adalah hadiah kolektif yang memungkinkan banyak orang melakukan hal-hal yang mustahil dicapai sendirian
- Mirip seperti terhubung ke pikiran kolektif dengan cara tertentu
- Kode yang dibuat melalui pemrograman otomatis adalah kode Anda, keluaran Anda, hasil kerja Anda, dan Anda boleh bangga akan hal itu
Kasus Redis
- Redis tidak memiliki banyak hal yang secara teknis terasa sangat baru
- Pada tahap awal, itu tidak lebih dari gabungan struktur data dasar dan kode jaringan yang dapat ditulis oleh programmer sistem yang kompeten
- Namun demikian, ia menjadi perangkat lunak yang sangat berguna karena ide dan visi yang terkandung di dalamnya
Kesimpulan
- Pemrograman kini telah terotomatisasi, tetapi visi belum terotomatisasi
1 komentar
Komentar Hacker News
Dengan pengalaman lebih dari 30 tahun di industri, belakangan ini saya sangat tenggelam dalam pengembangan berbasis spesifikasi (spec-driven development)
Saya menggunakan Claude Code dan GPT-5.2 (CoPilot) untuk menghasilkan requirement, lalu menyempurnakan spesifikasi dengan mengulang self-review beberapa kali
Dari spesifikasi yang sudah jadi, Claude Code menulis rencana implementasi dan kodenya, sehingga fitur utama selesai dalam 20 menit
Ini mengingatkan saya pada metode waterfall semasa saya di industri pertahanan dulu, tetapi berkat AI, kini pendekatan “augmented cascade” yang jauh lebih cepat dan lebih rapi terasa memungkinkan
Agile dulu merupakan respons perusahaan-perusahaan yang tidak mungkin memenuhi syarat itu, agar bisa cepat merilis produk demi bertahan hidup
Saya penasaran apakah ada contoh spesifikasi publik yang layak dijadikan referensi. Seperti generasi sebelumnya mengagumi kode Quake buatan John Carmack, generasi berikutnya mungkin akan memuja spesifikasi yang hebat
Karena manusia tidak bisa memprediksi semua kompleksitas dan situasi pengecualian. Saat benar-benar dibuat, pasti akan muncul bagian yang membuat kita berpikir, “yang ini tidak kepikiran”
Kalau requirement sudah jelas sejak awal, sebenarnya itu tidak terlalu diperlukan
Bedanya, alih-alih memanfaatkan tim bawahan, sekarang yang dipakai adalah LLM
Referensi terkait: Design by Contract (Goodreads), PDF asli
Saya tidak setuju dengan ungkapan “pre-training adalah hadiah kolektif umat manusia”
Kalau itu barang curian, maka itu bukan hadiah
Walaupun kodenya dihasilkan LLM, kalau saya yang bertanggung jawab dan memeliharanya, saya menganggap itu kode saya
Masalah muncul ketika penulisnya menghindari tanggung jawab
Setelah memakai Claude Code dan Opus 4.5, saya juga sampai pada kesimpulan yang mirip
Saya menyebutnya “zen coding”. Memperlakukan codebase seperti taman Zen, merancang spesifikasi dengan teliti dan me-review tiap baris
AI harus berfungsi sebagai alat, bukan perancang
Orang yang punya spesifikasi jelas bisa mendapatkan kode dengan kualitas jauh lebih tinggi dari AI
Vibe coding adalah eksperimen intuitif, sedangkan Zen coding adalah latihan seorang perajin
Saat mendengar ungkapan seperti “itu dari Claude”, saya langsung merasa kodenya mungkin masih terasa seperti draf
Tidak perlu menyalahkan alat atau minta maaf; cukup buat hasil akhirnya jadi lebih baik
Saya tidak nyaman dengan ungkapan “pre-training adalah hadiah bagi umat manusia”
Banyak pengembang open source tidak ingin kode mereka dipakai untuk melatih LLM
Sebagian kode yang dihasilkan LLM bahkan pernah hampir menyalin kode dari buku atau blog yang pernah saya lihat
Setidaknya, menurut saya menyebutkan sumber adalah hal yang pantas secara etis
Jika kode GPL dipakai untuk melatih LLM, ada interpretasi bahwa hasilnya juga harus dirilis di bawah GPL
Misalnya, Kafka pernah meminta agar naskahnya dibakar, tetapi sekarang justru menjadi karya klasik sastra
“Automatic programming” pada era 1950~60-an sebenarnya berarti compiler
4GL pada 1980-an adalah bahasa tingkat tinggi yang spesifik domain, dan LLM masa kini baru sampai tahap menghasilkan draf dari spesifikasi bahasa alami
Pada akhirnya manusia tetap harus meningkatkan kualitas hasil melalui perbaikan berulang dan perubahan desain
Mungkin sekarang kita sedang menyaksikan generasi terakhir dari pengembang tingkat artisan (artisanal coder)
Perajin seperti Antirez menangani konsep-konsep yang melampaui batas manusia, lalu menciptakan perangkat lunak yang sederhana namun indah seperti Redis
AI dapat membuat kode dengan kecepatan yang tak mungkin dicapai manusia, tetapi itu bukan kuas dan kanvas
Generasi baru akan menjadi perajin dalam cara yang sepenuhnya berbeda
Saya sendiri juga takut, tetapi sambil menerima alat-alat baru ini, saya sedang bereksperimen dengan era kerajinan yang baru
Yang bertambah hanyalah kemampuan memanfaatkan AI dengan baik; pengetahuan lama tidak menjadi tidak perlu
Saya terkesan karena tulisan Antirez dengan jelas membedakan “vibe coding dan automatic programming”
Ini mirip dengan perubahan dari era arsitek yang menggambar rancangan dengan tangan ke penggunaan BIM, CAD
Di era AI, pengembang bukan jadi lebih sedikit menulis kode, tetapi fokus nilainya yang berubah
“vibe coding vs automatic coding” bukanlah dikotomi, melainkan sebuah spektrum
Bahkan dalam satu proyek pun, pendekatan dari berbagai tingkat bisa dicampur
Yang penting adalah sikap memanfaatkan alat secara kritis dan terus memperbaikinya
Ada yang menyebutnya “spec strumming”