34 poin oleh GN⁺ 2026-01-27 | 9 komentar | Bagikan ke WhatsApp
  • Saat memanfaatkan alat coding AI dan secara bertahap menyerahkan tugas yang makin besar, penulis sempat merasa takjub, tetapi kemudian menyadari hasilnya kurang memiliki konsistensi dan kelengkapan struktural
  • Bahkan dengan spesifikasi rinci, agen AI tidak mampu mempertahankan konteks jangka panjang atau mengembangkan desain, sehingga pada akhirnya seluruh codebase berubah menjadi kumpulan fragmen yang tidak seragam
  • Potongan kode tampak lengkap secara individual, tetapi secara keseluruhan terjadi kekacauan struktural (sloppy) dan runtuhnya konteks
  • Setelah pengalaman ini, penulis menilai bahwa kode buatan AI tidak dapat menjamin kepercayaan pengguna atau perlindungan data, lalu kembali ke cara menulis kode secara langsung
  • Coding dengan AI tetap berguna, tetapi karena dapat menimbulkan utang teknis dan hilangnya kendali pengembang, penggunaannya perlu dilakukan dengan hati-hati

Antusiasme awal terhadap coding AI dan kesadaran akan batasannya

  • Sebagian besar pengguna memulai coding AI dengan tugas sederhana lalu secara bertahap menyerahkan tugas yang lebih kompleks, sambil terkagum pada performanya
    • Namun setelah titik tertentu, kesalahan dan ketidakkonsistenan AI mulai terlihat, sehingga muncul jarak antara harapan dan kenyataan
  • Saat hasilnya tidak memuaskan, pengguna cenderung menganggap masalahnya ada pada prompt mereka sendiri dan mencoba menulis spesifikasi yang lebih rinci
    • Mereka membuat dokumen spesifikasi detail dengan alat seperti Obsidian, tetapi AI tidak mampu mengembangkannya dalam jangka panjang

Kegagalan pendekatan berbasis spesifikasi

  • Dalam pengembangan nyata, dokumen desain adalah dokumen hidup yang terus berubah selama proses penemuan dan implementasi
    • Namun agen AI terpaku pada spesifikasi awal sehingga tidak mampu melakukan revisi fleksibel atau reinterpretasi
  • Saat menangani struktur yang kompleks, agen cenderung kehilangan konteks keseluruhan masalah atau tetap memaksa maju
    • Akibatnya, meski kodenya tampak lengkap di permukaan, konsistensi internal dan integritas struktural justru hilang

Runtuhnya kualitas kode dan batasan ‘vibecoding’

  • Kode yang ditulis AI terlihat hebat di beberapa bagian, tetapi secara keseluruhan menjadi kombinasi yang tak bermakna
    • Setelah meninjau seluruh codebase, penulis menemukan adanya ‘slop’ yang murni kacau di dalamnya
  • AI setia pada prompt dan konsistensi dirinya sendiri, tetapi tidak mempertimbangkan harmoni sistem secara keseluruhan atau konsistensi pola di sekitarnya
    • Ini mirip dengan ‘vibewriting’ di mana beberapa paragraf novel bagus, tetapi keseluruhan chapter berantakan

Kembali ke pengembangan yang berpusat pada manusia

  • Penulis menilai bahwa kode yang dihasilkan AI tidak layak dipakai untuk merilis produk atau melindungi data pengguna
    • Dengan tekad, “Saya tidak akan membohongi pengguna dengan kode ini,” ia pun kembali menulis kode sendiri
  • Saat menulis sendiri, ia merasakan kecepatan, akurasi, kreativitas, dan produktivitas justru meningkat
    • Jika dinilai bukan dari kecepatan menghasilkan kode semata, melainkan efisiensi pengembangan secara keseluruhan, keunggulan manusia menjadi jelas

Penggunaan coding AI yang tetap berlanjut, dengan kewaspadaan

  • Penulis masih memanfaatkan LLM secara terbatas (sekitar 40%) untuk beberapa pekerjaan
    • Berguna untuk tugas berulang atau pembuatan kode sederhana, tetapi utang teknis dan menurunnya pemahaman terhadap kode terus menumpuk
  • Dalam jangka panjang, ada risiko pengembang kehilangan model mental atas codebase dan menjadi tidak mampu menyelesaikan masalah tanpa AI
    • Saat sedang bepergian (kereta, pesawat, dan sebagainya), bahkan muncul situasi di mana produktivitas menjadi 0% karena ketergantungan pada AI
  • Pengembang lain juga menunjukkan bahwa cara berpikir “asal spesifikasinya bagus, semua akan beres” adalah pengulangan model waterfall, padahal pengembangan nyata menuntut eksplorasi improvisasional dan interaksi

Kesimpulan

  • Coding AI tetap merupakan alat yang kuat, tetapi masih kurang mampu menjaga konteks keseluruhan sistem dan konsistensi struktural
  • Penilaian intuitif dan kemampuan penyesuaian improvisasional dari pengembang manusia tetap menjadi inti, dan
    AI harus digunakan secara hati-hati sebagai alat bantu dalam cara yang terkendali

9 komentar

 
alfenmage 2026-01-27

Konsep vibe coding bahkan belum genap setahun sejak diciptakan, apaan gaya sok ala SNS begini wkwk

 
jjw9512151 2026-01-31

Memang perlu upaya yang serius saat mengasah spesifikasi.. Akan bagus kalau spesifikasinya benar-benar dibuat dan disempurnakan sesuai kaidah formal yang dipelajari di rekayasa perangkat lunak, lalu dikerjakan sambil melakukan manajemen keterlacakan dan terus diperbarui.

Saat mengerjakan proyek, saya selalu terus menaikkan versi template dokumen spesifikasi dan prompt, tetapi belakangan saya jadi merasa mungkin sudah saatnya benar-benar mempelajari rekayasa perangkat lunak secara lebih mendalam.

 
[Komentar ini disembunyikan.]
 
dopeflamingo 2026-01-28

Penulis masih memanfaatkan LLM secara terbatas untuk sebagian pekerjaan (sekitar 40%)


Dari uraian di atas, sepertinya penulis juga tidak berpendapat bahwa AI harus ditinggalkan sepenuhnya.

 
zkj9404 2026-01-28

Sepertinya kita perlu terus memikirkan cara memanfaatkannya dengan baik. Menurut saya, mengembangkan tanpa AI berarti akan tertinggal sedikit demi sedikit.

Penulis artikel ini sebenarnya sudah menggunakan cara yang baik, tetapi meski begitu saya rasa tetap perlu memikirkan arah untuk memanfaatkan AI dengan lebih baik.

(Masih banyak trial and error untuk saat ini...)

 
goodnvin 2026-01-28

Perbarui spesifikasi.

 
cosine20 2026-01-28

Betul. Kita bisa memasang hook agar ketika implementasi selesai spesifikasinya juga diperbarui, dan kalau tidak begitu pun tinggal menambahkan command atau skill untuk memperbarui spesifikasi secara manual wkwk

 
cshj55 2026-01-28

Ah, aku tidak mau menua.

 
GN⁺ 2026-01-27
Komentar Hacker News
  • Menurut saya justru berbahaya bahwa AI terlalu mahir dalam hal-hal dasar
    Para pelajar jadi tidak lagi menulis kode sendiri karena merasa “AI yang akan mengerjakannya”, dan akibatnya mereka tidak benar-benar mempelajari tahap menengah atau konsep yang sulit lewat praktik langsung
    Sebagai guru CS, saya menekankan kepada murid-murid bahwa “bukan mesin, kamu sendiri yang harus menulis kodenya”

    • Belajar itu seperti latihan otot
      Mengangkat beban dengan forklift itu mudah, tetapi otot tidak akan terbentuk
      Rasa sakit dalam proses belajar justru inti dari pertumbuhan
      Tentu di tempat kerja hasil akhir lebih penting, tetapi orang yang mampu berpikir tingkat tinggi tetap dibutuhkan
    • Saya benar-benar melihat masalah seperti ini dalam wawancara kerja baru-baru ini
      Kandidat punya pengetahuan teori yang sempurna, tetapi sama sekali tidak bisa menjelaskan bagaimana kode yang ia tulis bekerja
      Pada akhirnya ia mengaku bahwa “sebagian besar ditulis oleh GenAI”, dan jarak antara ‘apa yang dipelajari’ dan ‘apa yang benar-benar pernah dikerjakan sendiri’ terasa terlalu besar
    • Cara pendidikan juga harus berubah
      Lebih penting mengajarkan ‘bagaimana kode bekerja’ daripada ‘bagaimana cara menulis kode’
      Dulu ada masa ketika orang menulis langsung dalam assembly, tetapi sekarang lebih bernilai memahami prinsip kerja compiler
      Memang kebanyakan orang tidak akan pernah membuat compiler atau OS sendiri, tetapi memahami prinsipnya membantu kita mengerti batasan bahasa pemrograman
    • Dulu juga pernah ada argumen bahwa “mesin tidak boleh dibiarkan menulis kode”
      Saat compiler pertama kali muncul, perdebatan yang sama juga ada, dan pada akhirnya kita naik ke tingkat abstraksi yang lebih tinggi
    • Saya melihat kode sebagai ‘alat berpikir’
      Implementasi belaka tidak membuat pemikiran menjadi lebih dalam
      Jika implementasi diserahkan ke AI, akhirnya itu seperti ‘orang buta mencari jalan bersama-sama’
      Proses berpikir sambil menangani kode secara langsung itu wajib
  • Saya tidak setuju dengan pernyataan “AI bagus untuk tugas kecil, tetapi lebih bagus lagi untuk tugas besar”
    Dalam praktiknya saya selalu hanya mendapatkan hasil yang mengecewakan
    Kodenya tidak berjalan dengan benar, atau perlu instruksi revisi yang berulang-ulang
    Jika feedback loop sulit, pada akhirnya diri kita sendirilah satu-satunya sumber umpan balik, dan di situlah batas AI terasa jelas

    • Jika saya memberi spesifikasi yang konkret kepada AI, hasilnya cukup bagus
      Misalnya jika saya menjelaskan dengan jelas struktur TaskManager atau aturan kepemilikan memori, AI bisa menghasilkan kode yang lolos pengujian
    • Pemanfaatan AI bergantung pada kualitas feedback loop
      Ada orang seperti Ryan Dahl yang berkata “sekarang saya tidak lagi menulis kode sendiri”, tetapi itu karena hasilnya dipoles seperti kerja kolaboratif melalui umpan balik berulang
      AI harus diperlakukan seperti mengajari anak
    • Sebaiknya prompt dirapikan dalam dokumen terpisah
      Jelaskan dengan jelas input, output, dan error yang diperkirakan, lalu revisi sambil bereksperimen berulang kali
    • Saya memakai alat bernama Beads untuk memecah pekerjaan menjadi bagian-bagian kecil
      Claude mengajukan pertanyaan, melakukan riset, bahkan mereview kode
      Rasanya seperti membimbing junior developer yang kompeten
    • Di sisi lain, ada orang yang mengatakan bahwa dengan Opus 4.5 ia mendapatkan kode yang bekerja sempurna, dan berkata “rasanya seperti ada dua dunia yang berbeda”
  • Awalnya saya mencoba “vibe coding” dengan pikiran terbuka, tetapi lama-lama menjadi semakin skeptis
    Ini cocok untuk kode yang repetitif dan jelas, tetapi tidak cocok untuk logika inti bisnis
    Claude sering mengabaikan spesifikasi, mengulang logika yang sama berkali-kali, atau mengatakan sudah memperbaiki sesuatu padahal sebenarnya dibiarkan begitu saja
    Saya juga merasa modelnya makin tumpul
    Sekarang saya hanya memakainya untuk diskusi desain atau debugging

    • Kode yang baik pada dasarnya adalah kesederhanaan
      Jika ada begitu banyak ‘bagian membosankan’ yang perlu diisi AI, mungkin struktur kodenya memang sejak awal salah
    • Kesulitan dalam coding bukanlah coding itu sendiri, melainkan proses mengubah requirement menjadi rencana implementasi
      Di bagian ini LLM masih tetap membantu
      Banyak developer pada akhirnya memang hanya menerima desain yang sudah ditentukan lalu mengimplementasikannya, jadi AI bisa mempercepat pekerjaan mereka
  • Saya tidak setuju dengan klaim bahwa “AI tidak bisa mengikuti perubahan desain”
    Justru “itulah peran manusia”
    Misalnya jika diminta mengubah struktur API, AI bisa menemukan semua bagian terkait, memodifikasinya, dan bahkan menjalankan tes

    • Namun tes yang dibuat LLM sering kali berlebihan atau kurang memadai
      Terlalu terpaku pada detail implementasi, atau melewatkan validasi konseptual
      Meski begitu, tes buatan manusia pun sering mirip seperti itu, jadi saya bisa memahaminya
    • Saya merasa kode buatan AI itu sebagian tampak bagus tetapi secara keseluruhan terasa berantakan
      Jika kita tidak menulis kode sendiri, kita tidak akan benar-benar merasakan bagian abstraksi yang kasar dan tidak seimbang, dan itu pada akhirnya menurunkan kualitas struktural
    • AI menulis ratusan baris sekaligus, sedangkan saya membuatnya satu fungsi demi satu fungsi sambil menemukan hal-hal yang bisa diperbaiki
      Perbedaan inilah yang menentukan tingkat kematangan kode
    • Saat saya tidak suka kode buatan AI lalu memperbaikinya secara manual, kadang muncul ‘rasa bersalah’
      Tetapi yang penting adalah kemampuan menilai pekerjaan mana yang benar-benar memerlukan intervensi manual
    • Sejak Opus 4.5, AI bisa menyelesaikan pekerjaan yang biasanya butuh seminggu hanya dalam beberapa jam
      Namun efisiensinya baru terasa jika memakai langganan tingkat tinggi, misalnya Claude Max 200 dolar
    • Ada juga yang membalas, “pekerjaan developer adalah menyerahkan kode yang tervalidasi, bukan mengelola AI”
      Ia menekankan perlunya cara objektif untuk menilai kemahiran memakai alat AI
  • Saya mempertanyakan pernyataan “saya sudah melakukan vibe coding sejak 2 tahun lalu”
    Karpathy baru menciptakan istilah itu sekitar setahun lalu (sumber)

    • Ada yang mengatakan bahwa dengan GPT-4 ia membuat programmer Python yang memodifikasi dirinya sendiri
      Menarik bahwa GPT merancang sendiri API yang akan dipakainya, lalu mengimplementasikan sesuai desain tersebut
      Tetapi setelah itu model-model berikutnya mulai memblokir percakapan terkait modifikasi diri dan replikasi diri
    • Yang lain berkata, “istilahnya memang baru, tetapi semua orang sebenarnya sudah coding seperti itu dengan Copilot atau Cursor”
    • Belakangan ini ‘vibe coding’ sering dipakai untuk menyebut seluruh tindakan saat AI menuliskan kode sebagai pengganti manusia
      Tidak harus memakai alat agen penuh; ChatGPT atau Claude pun sudah cukup
    • Ada juga yang mengatakan bahwa setelah melewati fase “kode buatan AI awalnya tampak bagus tetapi ternyata berantakan”,
      sekarang ia justru mendapatkan hasil bagus dengan berkolaborasi dengan AI sejak tahap riset
  • Saya berkata kepada para siswa, “menonton olahraga di TV tidak membuatmu berolahraga”
    Vibe coding juga sama; ada rasa pencapaian yang hanya bisa didapat saat menulis kode dengan tangan sendiri

    • Baru-baru ini saya mencoba mengetik kode sendiri tanpa Copilot, dan rasanya sangat memuaskan ketika berhasil menyelesaikannya sambil memecahkan masalah satu per satu
    • Sebaliknya, di kantor akses ke LLM dibatasi, tetapi setelah pulang kerja dalam proyek pribadi
      ‘kode setengah jadi’ yang dibuat AI justru membuat saya bersemangat lagi
  • Saya ragu para engineer sungguhan benar-benar melakukan ‘vibe coding’ secara membabi buta
    Saya justru memakai cara memoles kode melalui percakapan seperti memahat
    Saya menyampaikan requirement, meninjau desain bersama AI, lalu menyempurnakan struktur secara bertahap
    Proses ini lambat, tetapi bisa menjaga kolaborasi dan kedalaman berpikir
    Berdasarkan pembelajaran dari sangat banyak kode, AI mengusulkan ide-ide baru, dan saya menyesuaikannya dengan pengalaman saya
    Pada akhirnya AI terasa seperti versi diri saya yang diperluas (me++)
    Saya belum siap menyerahkan semuanya pada agen penuh, tetapi cara ini yang paling produktif

  • Saya merasa kode yang ditulis AI itu seperti novel yang sebagian bagiannya hebat tetapi secara keseluruhan kacau
    Jika dilihat per bab, semuanya tampak sempurna, tetapi dalam konteks keseluruhan justru membingungkan

    • Ada yang membalas, “pernahkah kamu membaca novel AI 200 halaman dan merasa puas?”
      Kalau tidak, maka sulit berharap codebase 10 ribu baris yang dibuat dengan vibe coding akan benar-benar berjalan baik
    • Yang lain berpendapat, “novel itu karya kreatif, sedangkan engineering mengikuti aturan yang jelas, jadi berbeda”
    • Ada juga yang membantah dengan mengatakan bahwa putranya menikmati membaca dua novel panjang yang ditulis dengan GPT-4.5
    • Analogi ini mungkin juga bisa menjadi tolok ukur yang baik untuk menilai kemampuan memanfaatkan AI
    • Saya berkata, “saya tidak akan pernah mempercayai aplikasi yang sepenuhnya dibuat dengan vibe coding tanpa sentuhan tangan manusia”
      Jika pemikiran dan emosi manusia tidak tercermin di dalamnya, pengalaman pengguna pun kehilangan konsistensi dan timbul gesekan kognitif
    • Seorang developer sedang mengembangkan perangkat lunak CAD dengan bantuan LLM,
      dan mengatakan bahwa ketika desainnya jelas, LLM mempercepat pekerjaan boilerplate secara eksplosif
      Tetapi desain tetap merupakan ranah manusia
      Proyeknya bisa dilihat di versi publik GitHub
  • Saya mengakui bahwa kode buatan LLM sebagian tampak hebat tetapi struktur keseluruhannya lemah
    Namun jika kita memahami codebase dan meninjaunya sendiri, itu cukup bisa diperbaiki
    Vibe coding sangat bagus untuk membuat prototipe
    Cepat menangkap gambaran awal, lalu merapikannya kembali dan memperluasnya setelah itu adalah pendekatan yang efektif

    • Namun ada juga pendapat bahwa “kalau tidak melihat kode secara langsung, itu bukan vibe coding”
      Artinya, menurut klaim itu, vibe coding yang sesungguhnya adalah menilai hanya dari hasil akhirnya saja