Projek Vibe Coding Pertama Saya Mengajar Saya Bahawa Saya Tidak Tahu Apa Yang Saya Bina
Saya menguruskan pasukan kejuruteraan mudah alih. Saya menyemak seni bina dan mengehadkan skop. Saya telah melancarkan aplikasi kepada jutaan pengguna.
Apabila saya memulakan projek sampingan dengan AI, saya fikir bahagian yang sukar adalah memilih jalan pintas. Saya silap.
Saya mahu membina aplikasi senarai beli-belah. Kebanyakan aplikasi memberikan senarai mendatar. Anda merayau di dalam kedai seperti di dalam labirin kerana senarai tersebut tidak mengikut laluan tertentu. Idea saya mudah: senarai yang menyusun barangan mengikut lorong. Anda menetapkan susun atur kedai anda sekali sahaja. Aplikasi tersebut akan menyusun setiap senarai supaya sepadan dengan susun atur itu.
Saya menerangkan konsep tersebut kepada AI. Ia membina sesuatu dengan pantas. Ia sangat mengagumkan.
Kemudian saya melihatnya dan menyedari bahawa ia salah.
Kodnya tiada masalah. Masalahnya adalah visi saya. Saya hanya mempunyai idea yang kabur, bukan satu pelan.
"Senarai beli-belah yang disusun mengikut lorong" bukanlah satu idea yang lengkap. Apabila sesuatu produk muncul di hadapan anda, soalan-soalan sukar akan timbul:
• Apa yang berlaku apabila sesuatu barangan tidak mempunyai lorong yang ditetapkan? • Adakah barangan yang telah selesai dibeli akan hilang atau berpindah ke bahagian baharu? • Adakah bahagian yang telah selesai itu berada di bahagian bawah setiap lorong atau di hujung senarai? • Bagaimanakah pengguna baharu menetapkan susun atur kedai mereka? • Adakah pengepala lorong yang kosong kekal kelihatan atau mengecil (collapse)?
Saya belum membuat satu pun daripada keputusan ini.
Apabila saya membina sesuatu dengan cara tradisional, saya menjawab soalan-soalan ini semasa sedang mengekod. Geseran (friction) semasa menulis kod memperlahankan saya. Ia memberi masa kepada otak saya untuk mengisi jurang yang ada. Kod tersebut menjadi spesifikasi.
Vibe coding menghapuskan geseran tersebut. AI bergerak terlalu pantas sehingga keputusan tidak sempat disembunyikan dalam pelaksanaan (implementation). Ia membuat andaian tentang setiap jurang yang anda biarkan terbuka. Ia menunjukkan hasil kepada anda sebelum anda sempat memikirkan butirannya secara mendalam.
Orang ramai berdebat sama ada AI boleh menulis kod yang baik. Itu adalah soalan yang salah.
Persoalan sebenarnya ialah: adakah anda tahu apa yang anda mahu bina?
Anda memerlukan jawapan bagi setiap keputusan sebelum bermula. Anda perlu tahu bagaimana kes-kes ekstrem (edge cases) berfungsi. Anda perlu tahu bagaimana rasanya pengalaman pengguna tersebut.
Ini adalah kemahiran pengurusan produk. Ia adalah keupayaan untuk menerangkan sesuatu pengalaman dengan tepat sebelum pembina mula bekerja. Saya fikir saya mempunyai kemahiran ini. Vibe coding membuktikan bahawa saya hanya bersembunyi di sebalik pelaksanaan.
Aplikasi yang saya bina dipanggil By Aisle. Ia mengambil masa yang lama untuk disiapkan. Ia bukan kerana kodnya sukar. Ia adalah kerana saya perlu memahami produk saya sendiri terlebih dahulu.
Jika anda menggunakan AI untuk membina sesuatu, lakukan ini: Luangkan masa satu jam untuk menulis setiap keputusan yang diperlukan oleh produk anda sebelum anda membuka AI. Anda akan menemui banyak jurang.
Optional learning community: https://t.me/GyaanSetuAi
