Studi kasus pribadi tentang batasan pembuatan kode AI dan hilangnya kepekaan manusia
(github.com/jackdoe)- 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
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
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
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
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
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
‘smart floss dispenser’, pembeli tisu toilet otomatis, atau bot seperti Clippy hanyalah pemborosan waktu dan energi
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”
Untuk keluar dari kondisi ini, saya harus tidur nyenyak semalaman
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
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
Pada akhirnya saya rasa itu cuma jargon tren belaka
Rasanya seperti lari ke manajemen proyek karena malas mempelajari library baru
Tulisan “Just Talk to It” yang dulu sempat ramai juga kurang detail
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
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
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 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
Ia berguna untuk membuat kode pengujian. Saya menulis sendiri satu pengujian yang bagus, lalu menyuruh AI mengerjakan sisanya untuk menghemat waktu
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