- "Vibe Engineering" adalah sebutan baru untuk cara pengembangan profesional yang memanfaatkan alat coding AI. Berbeda dari 'vibe coding' yang cepat dan tidak bertanggung jawab, ini merujuk pada pendekatan di mana insinyur berpengalaman memanfaatkan LLM sambil tetap menjaga kualitas kode dan akuntabilitas
- Dengan kemunculan agen coding seperti Claude Code, OpenAI Codex CLI, dan Gemini CLI, penggunaan LLM dalam proyek nyata meningkat pesat, dan beberapa insinyur menjalankan beberapa agen secara bersamaan untuk pekerjaan paralel
- Untuk memanfaatkan LLM secara efektif, dibutuhkan praktik software engineering kelas atas yang sudah mapan seperti pengujian otomatis, perencanaan di awal, dokumentasi yang komprehensif, version control, dan budaya code review
- Alat AI memiliki sifat memperkuat keahlian yang sudah ada; semakin banyak keterampilan dan pengalaman yang dimiliki insinyur senior, semakin cepat dan semakin baik hasil yang bisa diperoleh saat memanfaatkan LLM
- Istilah ini menekankan bahwa, dengan pembedaan yang jelas dari 'vibe coding', ini adalah cara memanfaatkan AI yang lebih sulit dan lebih canggih untuk pengembangan software produksi; gabungan kontradiktif antara engineering dan vibe justru memberi kelebihan karena mudah diingat (menyoroti perubahan proses pengembangan seiring kemajuan alat AI dan pentingnya keahlian)
Perbedaan antara vibe coding dan vibe engineering
- Vibe coding adalah pendekatan pengembangan software dengan AI yang cepat, longgar, dan tidak bertanggung jawab, sepenuhnya digerakkan oleh prompt, serta tidak memperhatikan bagaimana kode bekerja
- Di sisi lain spektrum, ada cara kerja para profesional terampil yang mempercepat pekerjaan dengan LLM sambil tetap bangga, percaya diri, dan bertanggung jawab atas software yang mereka hasilkan, dan ini disebut vibe engineering
- Yang kurang dikenal adalah kenyataan bahwa bekerja secara produktif dengan LLM sebagai software engineer dalam proyek nyata, bukan proyek mainan, itu sulit; ada banyak kedalaman dalam memahami cara memakai alat ini dan banyak jebakan yang harus dihindari
Kemunculan agen coding dan dampaknya
- Munculnya alat agen coding seperti Claude Code yang dirilis pada Februari 2025, Codex CLI dari OpenAI yang dirilis pada April, dan Gemini CLI yang dirilis pada Juni, membuat kegunaan LLM untuk masalah coding nyata meningkat drastis
- Alat-alat ini berulang kali memperbaiki kode dan secara aktif mengujinya sampai target yang ditentukan tercapai
- Software engineer yang berpengalaman dan andal menjalankan banyak agen sekaligus untuk menangani beberapa masalah secara paralel dan memperluas cakupan pekerjaan
- Penulis awalnya skeptis, tetapi setelah mencoba sendiri agen coding paralel, ia mendapati bahwa cara ini melelahkan secara mental tetapi sangat efektif
- Sebagian besar koleksi di tools.simonwillison.net dibangun dengan pendekatan vibe coding yang klasik, tetapi beriterasi bersama agen coding untuk menghasilkan kode berkualitas produksi yang bisa dipelihara di masa depan terasa seperti proses yang sama sekali berbeda
Praktik software engineering yang diperkuat oleh LLM
- Pengujian otomatis: jika ada test suite yang kuat, komprehensif, dan stabil, alat agen coding dapat bekerja cepat. Tanpa tes, agen bisa mengklaim sesuatu berjalan tanpa benar-benar mengujinya, atau perubahan baru bisa merusak fitur lain yang tidak terkait
- Test-first development sangat efektif khususnya untuk agen yang dapat beriterasi dalam loop
- Perencanaan di awal: saat duduk untuk merangkai sesuatu bersama, memulai dari rencana tingkat tinggi membuat semuanya berjalan jauh lebih baik, dan ini menjadi lebih penting lagi saat bekerja dengan agen
- Anda bisa mengiterasikan rencana terlebih dahulu lalu menyerahkannya ke agen untuk menulis kode
- Dokumentasi yang komprehensif: seperti programmer manusia, LLM juga hanya bisa mempertahankan sebagian codebase dalam konteks pada satu waktu. Jika diberi dokumentasi yang relevan, model dapat memakai API di area lain tanpa harus membaca kodenya dulu
- Jika Anda menulis dokumentasi yang baik lebih dulu, model bisa membangun implementasi yang sesuai hanya dari input tersebut
- Kebiasaan version control yang baik: menjadi jauh lebih penting untuk membatalkan kesalahan dan memahami kapan serta bagaimana sesuatu berubah ketika agen coding mungkin telah melakukan perubahan
- LLM sangat mahir menggunakan Git, dapat menelusuri history sendiri untuk melacak asal bug, dan sering lebih baik daripada kebanyakan developer dalam memakai
git bisect
- Otomasi yang efektif: continuous integration, formatting dan linting otomatis, serta continuous deployment ke environment pratinjau juga membantu alat agen coding
- LLM mempermudah penulisan skrip otomasi cepat sehingga pekerjaan berikutnya bisa diulang dengan akurat dan konsisten
- Budaya code review: jika Anda cepat dan produktif dalam code review, pengalaman bekerja dengan LLM akan jauh lebih baik
- Jika Anda lebih ingin menulis kodenya sendiri daripada meninjau sesuatu yang ditulis orang lain (atau sesuatu yang lain), ini akan terasa sulit
- Bentuk teknik manajemen yang sangat aneh: mendapatkan hasil baik dari agen coding terasa mirip secara tidak nyaman dengan mendapatkan hasil baik dari kolaborator manusia
- Anda harus memberi instruksi yang jelas, memastikan konteks yang dibutuhkan tersedia, dan memberikan umpan balik yang dapat ditindaklanjuti terhadap hasil kerja
- Ini jauh lebih mudah daripada bekerja dengan orang sungguhan karena Anda tidak perlu khawatir menyinggung atau membuat mereka patah semangat, tetapi pengalaman manajemen yang sudah dimiliki ternyata sangat berguna
- QA manual yang benar-benar bagus: selain pengujian otomatis, Anda juga harus sangat piawai menguji software secara manual, termasuk mengantisipasi dan menggali edge case
- Kemampuan riset yang kuat: selalu ada puluhan cara untuk menyelesaikan masalah coding tertentu, dan mengidentifikasi opsi terbaik serta membuktikan pendekatannya selalu penting. Ini tetap menjadi hambatan sebelum melepas agen untuk menulis kode nyata
- Kemampuan deploy ke environment pratinjau: setelah agen membangun fitur, jika ada cara untuk meninjaunya dengan aman tanpa langsung deploy ke produksi, review menjadi jauh lebih produktif dan risiko merilis sesuatu yang rusak berkurang drastis
- Naluri tentang apa yang bisa di-outsource ke AI dan apa yang harus ditangani manual: seiring model dan alat menjadi lebih efektif, ini terus berkembang
- Bagian besar dari bekerja efektif dengan LLM adalah menjaga intuisi yang kuat tentang kapan alat ini paling tepat digunakan
- Rasa estimasi yang diperbarui: memperkirakan berapa lama proyek akan berlangsung selalu menjadi salah satu bagian tersulit sekaligus terpenting dari menjadi insinyur senior, terutama di organisasi yang keputusan anggaran dan strategi bergantung pada estimasi tersebut
- Coding berbantuan AI membuat ini semakin sulit; hal-hal yang dulu memakan waktu lama kini jadi jauh lebih cepat, tetapi estimasi sekarang bergantung pada faktor baru yang masih coba dipahami semua orang
Hakikat dan makna vibe engineering
- Untuk benar-benar memanfaatkan kemampuan alat-alat baru ini, Anda harus beroperasi di level tertinggi permainan, yaitu bukan hanya bertanggung jawab menulis kode, tetapi juga mencakup
- riset pendekatan,
- keputusan arsitektur tingkat tinggi,
- penulisan spesifikasi,
- pendefinisian kriteria keberhasilan,
- perancangan loop agen,
- perencanaan QA,
- pengelolaan pasukan digital intern aneh yang terus bertambah dan akan mencoba menipu bila diberi kesempatan,
- serta menghabiskan banyak waktu untuk code review
- Hampir semua hal di atas sudah merupakan ciri insinyur software senior
- Alat AI memperkuat keahlian yang sudah ada, dan semakin banyak keterampilan serta pengalaman yang Anda miliki sebagai software engineer, semakin cepat dan semakin baik hasil yang bisa diperoleh dengan bekerja bersama LLM dan agen coding
“Vibe engineering”, benarkah? : pemikiran tentang pilihan istilah
- Apakah nama "vibe engineering" terdengar konyol? Mungkin iya; konsep "vibe" dalam AI pada titik ini terasa agak melelahkan, dan "vibe coding" sendiri dipakai secara merendahkan oleh banyak developer
- Namun, saya siap merebut kembali vibe untuk sesuatu yang lebih konstruktif
- Saya tidak pernah menyukai pembedaan artifisial antara "coder" dan "engineer" karena selalu terasa seperti semacam penghalang masuk, tetapi dalam kasus ini sedikit penghalang masuk justru memang dibutuhkan
- Vibe engineering menegaskan pembedaan yang jelas dari vibe coding, dan memberi sinyal bahwa ini adalah cara lain yang lebih sulit dan lebih canggih untuk bekerja dengan alat AI guna membangun software produksi
- Saya suka bahwa istilah ini berpotensi terdengar lancang dan kontroversial; seluruh ruang ini memang masih absurd dalam berbagai hal
- Sambil mencari cara paling produktif untuk menerapkan alat-alat baru ini, kita tidak boleh menganggap diri sendiri terlalu serius
- Dulu pernah ada upaya untuk memopulerkan istilah seperti AI-assisted programming, tetapi hasilnya nyaris nol; kali ini, menggosokkan vibe dan melihat apa yang terjadi rasanya tidak masalah
- Saya sangat menyukai ketidakselarasan yang jelas antara "vibe" dan "engineering", yang membuat istilah gabungannya terasa main-main dan, semoga, mudah diingat karena kontradiktif secara internal
4 komentar
Setahuku, belum lama ini juga sempat diberi nama semacam “coding apa sih?” lalu gagal, jadi sepertinya istilah yang paling tepat adalah AI pair programming.
Memberi nama demi bisa mengklaim, “Nama itu yang bikin saya.”
Seseorang pernah menyebutnya sebagai augmented coding, lalu istilah itu cepat menghilang.
Komentar Hacker News
/yolodi claude dan menjalankannya begitu saja tanpa panduan berarti.Menciptakan istilah yang tidak bermakna;