1 poin oleh GN⁺ 2025-11-11 | 1 komentar | Bagikan ke WhatsApp
  • Pustaka implementasi protokol SWD untuk men-debug core RP2350 RISC-V, dengan struktur yang menggunakan Raspberry Pi Pico2 agar Pico lain dapat dipakai sebagai probe
  • Sekitar 80% kode dibuat oleh AI (Claude), dan penulis membuat prototipe dasar lewat osiloskop serta dokumentasi lalu membiarkan AI memperluas kodenya
  • Selama proyek berlangsung, penulis mengalami rasa jijik dan skeptisisme yang kuat akibat struktur token kode AI yang tak bermakna, hilangnya konteks, dan hilangnya rasa memiliki terhadap kode
  • Sebaliknya, saat AI digunakan sebagai alat bantu untuk analisis dokumen, decoding data, pembuatan struct, dan semacamnya, penulis mendapatkan pengalaman yang positif
  • Kasus ini menyingkap masalah kualitas, kepekaan, dan kepemilikan pada pembuatan kode AI, serta mengajukan pertanyaan mendasar tentang hakikat pemrograman dan peran manusia

0. VIBE CODE WARNING

  • Sekitar 80% dari seluruh kode dihasilkan AI (vibe coded), dan sebagian besar README juga dibuat otomatis
  • Penulis, dengan merujuk pada osiloskop dan dokumentasi, mengimplementasikan sendiri SBA, pembacaan/penulisan register, perintah abstrak, PROGBUF dan sebagainya, lalu menyerahkan proses pelibrary-an kepada AI
  • Ketika kode bertambah dari 1.000 baris menjadi 4.000 baris, struktur dan makna kode hilang sepenuhnya, sampai terasa bukan lagi kode yang ia tulis sendiri
  • AI salah menafsirkan dap_read_mem32, sehingga muncul kesalahan protokol dan kode tidak logis dalam jumlah besar
  • Akibatnya, hampir 10.000 baris kode selesai dalam 10 jam, tetapi sama sekali tidak ada rasa pencapaian maupun perkembangan diri

Perbedaan antara kode AI dan kode manusia

  • Kode yang ditulis manusia terdiri dari token yang memiliki niat dan tujuan, sehingga bisa dipahami, sedangkan token pada kode AI terasa sebagai kombinasi tanpa makna dan sulit dibaca
  • Sebagian kode AI menunjukkan kualitas yang lebih baik daripada manusia, tetapi tepat di baris berikutnya bisa saja muncul kode salah yang hanya tampak meyakinkan di permukaan
  • Ketidakhomogenan ini dan hilangnya kepercayaan secara intuitif melumpuhkan kemampuan penilaian programmer
  • Semakin besar kode, semakin hilang “rasa” untuk menilai apakah itu kode bagus atau buruk, dan model mental serta rasa memiliki pun runtuh

Emosi manusiawi dan keraguan

  • Penulis melontarkan pertanyaan, “Apakah ini masih bisa disebut pemrograman?” sambil mengungkapkan rasa jijik dan malu
  • Di era ketika AI menulis kode sebagai pengganti manusia, ia menumpahkan kebingungan eksistensial tentang apa yang masih dibuat manusia dan sejauh mana manusia harus terlibat
  • Ia bahkan tidak yakin apakah sekadar “tidak menulis kode” adalah kemajuan, atau apakah “tidak memodelkan masalah” benar-benar efisien
  • Ia menyebut dirinya masih ingin membuat sesuatu secara langsung, tetapi makna itu menjadi kabur dalam lingkungan pengembangan yang berpusat pada AI
Iklan

Pengalaman positif memanfaatkan AI

  • Penulis menilai AI efisien dan memuaskan ketika digunakan untuk analisis dokumen, decoding data osiloskop, pembuatan otomatis struct C, dan sebagainya
  • Terutama saat berhasil membaca register pertama dan membaca memori melalui SBA, ia merasakan pencapaian yang sesungguhnya
  • Artinya, pengalaman positif tetap mungkin didapat jika AI dipakai bukan sebagai penulis kode, melainkan sebagai asisten

Renungan penutup

  • Pembuatan kode AI memang cepat, tetapi menyebabkan hilangnya makna, kepekaan, dan kepemilikan
  • Ketika “rasa” manusia terhadap kode yang baik menghilang, hakikat pemrograman pun ikut terguncang
  • Penulis berharap fenomena ini hanyalah masa transisi sementara, dan menutup dengan pengakuan bahwa dirinya sendiri pun tidak tahu apa itu “pemrograman yang lebih baik”

Bagian teknis setelah teks utama (1~20) adalah dokumen implementasi terperinci untuk protokol debug RP2350 RISC-V, yang mencakup spesifikasi teknis lengkap dari seluruh debug stack seperti struktur lapisan SWD, register DAP/DAPC, eksekusi PROGBUF, akses SBA, kontrol hart, tracing, reset, dan struktur dual-hart.
Namun, tema utamanya adalah studi kasus pribadi (Vibe Code Warning) tentang “keterputusan antara kode yang dihasilkan AI dan kepekaan manusia”.

1 komentar

 
GN⁺ 2025-11-11
Opini Hacker News
  • Saya bisa memahami perasaan orang-orang yang berkata “AI merampas kesenangan dari pemrograman”, tetapi saya merasa ‘mengerjakan’ dibanding ‘menyelesaikan’ adalah hal yang lebih penting
    Dulu ada orang yang pekerjaannya menyalakan lampu gas dan kehilangan mata pencaharian karena lampu listrik, tetapi pada akhirnya yang penting adalah memberikan cahaya kepada kota
    Bagi saya AI adalah alat untuk mewujudkan ide dan menghasilkan sesuatu. Saya tetap menghabiskan waktu dan usaha sebanyak “programmer sungguhan”, tetapi fokusnya ada pada pendefinisian masalah, modularisasi, pengujian, perbaikan bug, dan iterasi peningkatan

    • Dikotomi “mengerjakan vs menyelesaikan” adalah cara berpikir yang berbahaya
      Yang penting adalah membangun dunia di mana manusia bisa merasakan makna, martabat, dan kebahagiaan.
      Jika saya makan makanan enak tetapi orang-orang yang membuatnya menderita, atau jika makanan itu dibuat oleh pihak jahat dengan robot, saya tidak menginginkannya.
      Masyarakat ada untuk manusia, bukan sekadar daftar periksa demi efisiensi
    • Apa itu “menyelesaikan”? Karena kecepatan dan kompleksitas yang dibawa AI, memverifikasi hasil menjadi semakin sulit
      Untuk proyek pribadi mungkin tidak masalah, tetapi di lingkungan dengan pelanggan, pengguna, atau pemegang saham, dibutuhkan hasil yang dapat dibuktikan
      Analogi lampu gas tidak tepat. AI bukan sistem fisik seperti listrik, melainkan perangkat lunak.
      Pada akhirnya yang penting adalah pemecahan masalah. Jika masalahnya tidak terselesaikan, itu hanya kerja kasar belaka
    • Analogi lampu gas tidak tepat. Menyalakan lampu gas bukan ekspresi kreatif, tetapi menulis kode adalah tindakan kreatif
      Banyak orang menulis kode bukan semata untuk membuat perangkat lunak yang berguna, melainkan karena kesenangan dalam berkarya
      “Programmer sungguhan” juga sama-sama menghabiskan waktu untuk berpikir, mendefinisikan, menguji, dan memperbaiki
    • Banyak hal yang dihasilkan AI dan teknologi sebenarnya adalah hal yang tidak dibutuhkan
      ‘smart floss dispenser’, pembeli tisu toilet otomatis, atau bot seperti Clippy hanyalah pemborosan waktu dan energi
    • Yang penting adalah hubungan dengan keahlian dan pengetahuan
      Dibanding sekadar mendapatkan hasil, ada kepuasan besar dalam proses belajar dan memahami
      Saat membaca buku survival Adrift, 76 Days at Sea, saya merasa pengetahuan yang mendalam bisa menentukan hidup dan mati
      Ini juga mirip dengan pertanyaan apakah data di-host sendiri atau diserahkan ke layanan terpusat
  • Saat melihat tulisan di internet yang mengekspresikan pikiran saya dengan sempurna, saya benar-benar merasa terhibur
    Terima kasih karena membicarakan pengalaman manusiawi, bukan sekadar kebisingan “atur prompt seperti ini”

    • Saya juga begitu. Jika terlalu lama memakai AI, rasanya seperti hampa dan tanpa tujuan, mirip saat tanpa sadar scroll YouTube
      Untuk keluar dari kondisi ini, saya harus tidur nyenyak semalaman
    • Ada yang menganggap AI cukup diperlakukan seperti Excel, tetapi bagi saya rasanya lebih mirip mesin slot
      Ia memberi jawaban yang hampir benar, tetapi secara psikologis punya sifat adiktif seperti mesin judi
  • Ada yang berkata “Saya menulis 10 ribu baris kode dengan AI dalam 10 jam, tapi hasilnya mengerikan”, tetapi pengalaman itu bisa sangat berbeda tergantung pendekatannya
    Penataan prompt, perencanaan, peninjauan, pengujian, pengaturan kecepatan dan semua unsur lainnya berbeda pada tiap orang
    Banyak pengembang pemula mencoba pendekatan spontan yang disebut ‘vibe coding’ lalu gagal

    • Saya juga, saat mengutak-atik sistem agen, terus-menerus menemukan cara gagal yang baru
      Rasa lelahnya besar, jadi saya sedang beristirahat sejenak, dan suatu hari nanti berencana membuat agen sendiri
      Rasanya berbahaya menyerahkan hal seperti ini kepada big tech seperti OpenAI, Microsoft, atau Anthropic
    • Saya belum pernah melihat proyek open source besar yang dibuat dengan vibe coding
      Pada akhirnya saya rasa itu cuma jargon tren belaka
    • Sudah berusaha sejauh itu, tapi apakah akhirnya lebih cepat daripada ngoding sendiri? Saya ragu
      Rasanya seperti lari ke manajemen proyek karena malas mempelajari library baru
    • Kamu benar, tetapi tidak ada yang benar-benar menjelaskan secara konkret apa itu “pendekatan yang benar”
      Tulisan “Just Talk to It” yang dulu sempat ramai juga kurang detail
    • vibe coding pada akhirnya terasa seperti indikator pengganti kemampuan merencanakan
      Semakin spontan, semakin dibutuhkan perencanaan yang matang. Apakah itu inti dari maksudmu?
  • Kode yang dipublikasikan kini bukan lagi sesuatu yang dibuat manusia
    Jika kode seperti ini masuk lagi sebagai data pelatihan, dunia berisiko dipenuhi lebih banyak hasil yang tak bermakna
    Di penelitian bahasa pun sudah ada kasus di mana teks buatan mesin terlalu banyak sehingga pengumpulan data menjadi tidak bermakna

    • Saya rasa akan baik-baik saja. AI memang membuat banyak kode sampah, tetapi pada akhirnya manusialah yang menemukan permata di dalamnya
      Dalam kebanyakan kasus, manusia tetap yang menentukan arah
      Tentu kalau ada anak 12 tahun mengetik “yolo 3d game now” itu agak mengkhawatirkan, tapi sekaligus terdengar keren
    • Poin yang menarik. Fenomena ini tampaknya bisa menimbulkan efek yang mirip model poisoning
  • Kode hasil vibe coding terasa seperti “English as She is Spoke”
    Tata bahasanya benar, tetapi kodenya tidak terasa seperti bahasa manusia

  • Saya juga merasakan hal serupa
    Biasanya saat mengembangkan aplikasi, selama berhari-hari terbentuk model mental di kepala saya, dan bahkan saat mandi saya sering menyusun ulang strukturnya
    Namun saat melakukan vibe coding, konteks internal itu hilang, dan membaca kodenya terasa menyakitkan
    Sebaliknya, membaca kode yang saya tulis sendiri justru menyenangkan

    • Saya masih merasakan itu, tetapi di level sistem, bukan level kode
      Saya memahami koneksi antarsistem dan aliran data, tetapi detail implementasinya terasa kabur
  • Pengalaman saya juga mirip. LLM mengurangi kesenangan dalam pemrograman
    Rutinitas sekarang hanyalah “menulis prompt → menunggu sebentar → mengulang → code review”
    Saya memahami struktur kodenya, tetapi karena tidak menanganinya langsung dengan tangan sendiri, kedalaman pemahaman saya menjadi dangkal
    Mungkin dengan pelatihan yang tepat itu bisa dicapai, tetapi saya belum sampai ke tahap itu

    • Saya tidak menyerahkan kode kepada LLM dan hanya memakainya untuk brainstorming ide
      Ia berguna untuk membuat kode pengujian. Saya menulis sendiri satu pengujian yang bagus, lalu menyuruh AI mengerjakan sisanya untuk menghemat waktu
    • Setidaknya untuk kode yang dibuat LLM, saya tetap menulis sendiri pengujian otomatis
      Lewat itu saya memahami batasannya, lalu menulis ulang dengan desain sistem yang lebih baik
      Meski kode LLM sering bertele-tele, rasanya masih lebih baik daripada kode aneh yang ditinggalkan para developer di masa lalu
  • Tulisan ini memang agak berlebihan, tetapi saya juga setuju
    LLM berguna untuk memahami dan merangkum kode yang sudah ada, autocomplete, dan prototyping oleh non-developer, tetapi
    untuk menulis kode produksi sama sekali tidak boleh dipakai

  • Solusinya adalah melakukan grounding pada model
    Dalam kode, caranya adalah test-driven development (TDD)
    Tulis pengujiannya lebih dulu, pastikan gagal, verifikasi alasannya, lalu biarkan model menulis kodenya
    Dengan begitu akan ada spesifikasi perilaku untuk kodenya, yang nantinya bisa menjadi dokumen rujukan bagi manusia maupun agen

  • Setelah membaca README GitHub sampai akhir, penulisnya mengakui bahwa 3/4 kode itu adalah hasil buatan AI sambil tetap mengklaim hak cipta
    Sudah ada preseden hukum bahwa konten yang bukan dibuat manusia tidak bisa mendapat perlindungan hak cipta secara hukum