- Di tengah penerimaan industri yang antusias terhadap alat pembuat kode berbasis LLM, tulisan ini menekankan pentingnya berpikir dalam pengembangan perangkat lunak
- Kode yang dibuat otomatis bersifat non-deterministic dan cara kerjanya di dalam tidak transparan, sehingga pada dasarnya berbeda dari mekanisasi yang menjamin hasil yang sama setiap kali
- Ada masalah "human centipede epistemology": LLM belajar dari kode lama yang berkualitas rendah, mengulangi kesalahan yang sama, lalu hasil itu dipelajari lagi
- Jika pembuatan kode didelegasikan ke agen, maka konteks bersama dan akuntabilitas saat review PR melemah, yang berdampak buruk pada kualitas perangkat lunak
- LLM berguna untuk penggunaan terbatas seperti prototyping, tetapi berbahaya jika developer mengalihdayakan proses berpikir itu sendiri, karena maintenance tidak mungkin dilakukan tanpa pemahaman
Ketidaknyamanan terhadap pembuatan kode dengan LLM
- Meski sudah lama mengikuti tren terbaru di industri dan berbagi fitur baru CSS dan JS dengan rekan kerja, penulis tetap merasakan kecemasan tertinggal ketika pembuatan kode berbasis LLM menyebar dengan cepat
- Selama ini Copilot dan Claude dipakai sebagai "spicy autocomplete" dan alat bantu debugging, tetapi begitu diberi tugas yang sedikit lebih kompleks, hasilnya berantakan
- Perlu memberi konteks yang cukup, tetapi jika terlalu banyak justru overload, dan muncul situasi harus menulis prompt panjang untuk menenangkan ego LLM seperti, "Anda adalah pakar sistem terdistribusi"
- Sering kali menulis kode langsung justru lebih cepat daripada menghabiskan waktu menyempurnakan prompt
- Penulis mempertanyakan fenomena engineer yang ingin meninggalkan aktivitas coding yang menyenangkan dan hanya menyisakan pekerjaan review yang membosankan
Sanggahan terhadap klaim "mengulang Revolusi Industri"
- Seperti Revolusi Industri yang berkontribusi pada perubahan iklim, pola serupa terlihat pada konsumsi energi pusat data AI yang sangat besar
- Memang tidak semua listrik berbasis bahan bakar fosil, tetapi tetap terjadi pemborosan sumber daya besar untuk hal seperti membuat gambar "shrimp Jesus"
- Mekanisasi memang membuat barang lebih murah dan tersebar luas, tetapi juga menyebabkan penurunan kualitas, hingga muncul realitas bisa membeli celana di SHEIN dengan harga lebih murah dari secangkir kopi
- Ini diperparah oleh kemunduran tenaga kerja terampil, relokasi pabrik ke negara bergaji rendah, dan eksploitasi buruh
- Kode hasil generasi mirip fast fashion: sekilas tampak baik-baik saja, tetapi seiring waktu penuh lubang, sering meminjam kode orang lain tanpa izin, dan juga berdampak buruk pada lingkungan
- Perbedaan utamanya: mekanisasi menghasilkan hasil yang sama setiap kali dan kita bisa melihat ke dalam saat ada masalah, sedangkan output LLM bersifat non-deterministic dan cara kerjanya tidak transparan
- Proses mekanisasi yang setiap kali mengeluarkan hasil berbeda dan bercampur hallucination tidak akan berguna
Sanggahan terhadap klaim "lapisan abstraksi baru"
- Memang benar, saat memakai Java atau Go kita tidak lagi perlu belajar assembly, dan runtime menangani garbage collection maupun alokasi memori
- Namun arsitektur sistem, dampak pada critical path, trade-off antara maintainability dan kecepatan rilis, kompatibilitas browser, serta aksesibilitas, keamanan, dan performa tetap merupakan ranah yang harus dipikirkan langsung oleh developer
- Titik paling merusak dari LLM muncul ketika engineer mengalihdayakan proses berpikir yang dibutuhkan dalam pengembangan perangkat lunak
- Karena LLM tidak punya kemampuan bernalar, jika developer tidak berpikir dan LLM juga tidak berpikir, maka tidak ada siapa pun yang berpikir
- Kasus skandal Horizon: bug pada software Post Office membuat pegawai yang tidak bersalah dipenjara, dan 13 orang bunuh diri
- Akuntabilitas terhadap perangkat lunak kini lebih penting daripada sebelumnya
Kode berkualitas rendah adalah masalah mendasar
- Developer manusia pun masih menulis kode yang aksesibilitasnya buruk, performanya rendah, dan terlalu bergantung pada JavaScript
- LLM dilatih menggunakan kode berkualitas rendah tersebut sebagai data pelatihan (tanpa persetujuan eksplisit) lalu mengulang kesalahan yang sama dalam outputnya
- Ada struktur siklus ketika kode buruk yang dibuat LLM kembali dipelajari oleh LLM lain, yang disebut "human centipede epistemology"
- Jika mempertimbangkan pengguna teknologi bantu, pengguna dengan koneksi internet buruk, serta korban diskriminasi rasial dalam software pengenalan wajah, kualitas software saat ini jelas belum cukup baik
- Alih-alih belajar dan memperbaiki diri sebagai manusia, kita justru mengalihdayakan kesalahan kepada algoritme yang tidak berpikir
Review PR dan melemahnya konteks bersama
- Pesan utama dari presentasi Jessica Rose dan Eda Eren di FFConf: "Kode yang tidak Anda tulis sendiri adalah kode yang tidak Anda pahami, dan kode yang tidak Anda pahami tidak bisa Anda maintain"
- PR yang ditulis rekan kerja membawa tingkat kepercayaan dan proses berpikir tertentu, tetapi PR hasil LLM tidak memiliki jaminan itu
- Para maintainer open source sedang mengalami ledakan PR berkualitas rendah hasil LLM
- Beberapa perusahaan meminta perubahan kode ke Claude lewat chat di Slack, lalu PR yang dibuat otomatis itu disetujui oleh orang yang sama
- Dalam kasus ini, akuntabilitas terkonsentrasi pada satu reviewer saja, dan kita kehilangan satu dari dua pasang mata
- Konteks bersama (shared context) di dalam tim juga berkurang
- Review PR bukan hanya untuk mengecek bug, tetapi juga proses berbagi pemahaman atas kode dan perubahan
Bukan anti-kemajuan, melainkan anti-hype
- Penulis bukan menentang LLM itu sendiri, melainkan menentang branding "kecerdasan buatan"
- LLM bukan sesuatu yang cerdas, melainkan salah satu bentuk machine learning
- "AI generatif" adalah rantai Markov yang dibuat dengan sangat baik dan membuat orang menaruh ekspektasi berlebihan
- Untuk membuat prototipe, wireframe, atau demo interaktif dengan cepat, alat ini masih masuk akal
- Masalahnya adalah ketika orang percaya bahwa software tingkat produksi bisa dibuat dengan "vibe code", atau ketika proses berpikir dalam coding itu sendiri didelegasikan
- Pandangan Mikayla Maki di blog Zed: perlakukan agen seperti kontributor eksternal yang tidak dipercaya, gunakan hanya untuk tugas yang caranya sudah kita pahami, dan memahami kodenya itu wajib
- Penulis akan tetap memakai "spicy autocomplete", tetapi tidak akan mengalihdayakan proses berpikir, dan kita perlu mengingat alasan awal kita menyukai pekerjaan ini
2 komentar
> Kode yang dihasilkan secara otomatis bersifat non-deterministic
> Menolak branding bernama "kecerdasan buatan"
Ini benar-benar pernyataan yang paling penting..
Di GeekNews juga ada yang menganalogikannya dengan kalkulator dan kamera, jadi kalau para developer saja punya persepsi seperti ini, rasanya cukup serius membayangkan bagaimana pandangan orang awam.
Komentar Hacker News
Sulit membenarkan kondisi AI saat ini selama AI dipandang bukan sebagai "sepeda untuk pikiran", melainkan hanya sebagai produk untuk memaksimalkan keuntungan perusahaan besar
Struktur yang mengeruk data, mengolahnya, lalu mengembalikannya tanpa proses belajar yang sungguh-sungguh merugikan pertumbuhan mental manusia
Pada akhirnya yang penting adalah membangun model pendapatan; kalau tidak, LLM berkualitas tinggi tidak bisa dipertahankan
Sekarang saya hampir tidak lagi mengedit secara manual. Cukup lempar URL tiket ke Claude Code dan sebagian besar selesai dalam sekali jalan
Saya yakin tim yang berinvestasi pada cara ini akan menjadi jauh lebih produktif dibanding tim yang tidak
LLM adalah teknologi yang memberi pengalaman yang benar-benar berbeda bagi tiap orang, dan derajat kebebasan prompt-nya sangat besar
Saat harus mengimplementasikan desain tertentu, malah lebih cepat menulisnya sendiri
Pernyataan "Saya tidak bisa memahami kode yang tidak saya tulis" itu tidak realistis
Tujuan code review bukan identitas penulisnya, melainkan menjamin keandalan sistem
Mau itu ditulis manusia, AI, atau bahkan golden retriever, tidak masalah
Tapi daripada menghabiskan waktu untuk memahami PR buatan AI, rasanya lebih baik saya sendiri yang melempar prompt dan mengambil hasilnya
Jika bergantung pada LLM, developer kehilangan kesempatan mempelajari struktur proyek, dan pada akhirnya memperlakukan sistem sebagai kotak hitam
Arus seperti ini mengubah developer menjadi 'prompt kiddie'
Saya paham dengan ucapan, "Daripada membuang waktu merapikan prompt, saya lebih baik langsung menulis kode"
Masalahnya bukan pada "generasi", melainkan generasi yang tidak terstruktur
Artinya, alih-alih prompt spontan, pendekatannya harus berupa komposisi unit skill yang jelas
Gagasan bahwa kita harus bilang ke AI, "Kamu adalah ahli sistem terdistribusi," itu cerita era GPT-3
Sekarang, berkat fine-tuning dan teknik pascapemrosesan, prompt berbasis peran seperti itu sudah tidak diperlukan lagi
Saat melihat tren besar code generation dengan LLM, saya sempat cemas, "Jangan-jangan saya tertinggal"
Saya selama ini hanya memakai Copilot dan Claude sebagai asisten autocomplete, dan untuk kode kompleks hasilnya tetap berantakan
Tapi belakangan, alat berbasis agen bisa menelusuri codebase, mencari referensi di web, dan menyesuaikan konteks sendiri
Pada akhirnya, masalahnya ada pada "orang-orang yang mengeluh tanpa benar-benar memahami teknologinya"
Sangat mungkin sebenarnya mereka hanya kurang terampil membuat prompt
Hanya karena alat-alat di sekitarnya mengotomatisasi pencarian dan eksekusi, ia jadi terlihat seolah-olah "sedang berpikir"
Pada akhirnya ini adalah otomatisasi, bukan kecerdasan
Banyak tulisan dan komentar di HN belakangan terasa seperti ditulis oleh LLM
Tidak ada hal baru, dan sebagian besar hanya mengulang generalisasi dangkal
Kalau melihat berita-berita terbaru, AI masih belum cukup matang
Misalnya: Microsoft menurunkan target pendapatan Copilot dan
masalah keamanan Moltbook
Pada akhirnya, kebanyakan orang tidak memercayai AI
AI berguna untuk eksplorasi ide atau menulis boilerplate, tetapi kemampuan berpikir tetap inti utamanya
AI adalah godaan terbesar untuk menggantikan pemikiran manusia, tetapi dalam jangka panjang berisiko melemahkan otot berpikir
Setelah memakainya selama periode tertentu lalu kembali coding dengan tangan, kamu akan merasa kelancaranmu menurun
Bisa jadi bukan Copilot, melainkan Claude yang lebih baik, dan masalah keamanan Moltbook bisa jadi memang nasib layanan tahap awal
Pada akhirnya hasilnya akan terlihat dari tingkat kelangsungan hidup perusahaan yang mengadopsi AI vs yang tidak
Dulu saya juga menganggap "AI itu kotak hitam yang bodoh", tapi dalam 6 bulan terakhir sudut pandang saya berubah total
Kalau dipelajari dengan benar, hasilnya bisa luar biasa
Sekarang saya melihat AI sebagai penguat, alat untuk memperluas kemampuan saya