Dipublikasikan 8 September 2025
Seiring kemajuan teknologi coding agents, muncul pola baru: Anda memberikan deskripsi tujuan, lalu mendapatkan kode yang terlihat benar, namun seringkali tidak sepenuhnya berfungsi sesuai harapan. Pendekatan ini, yang bisa disebut sebagai "vibe-coding," efektif untuk prototipe cepat namun kurang dapat diandalkan dalam pengembangan aplikasi serius atau saat bekerja dengan kode yang sudah ada.
Kode yang dihasilkan kadang gagal dikompilasi, atau hanya menyelesaikan sebagian masalah tanpa menangkap maksud sebenarnya. Tumpukan teknologi (stack) atau arsitekturnya pun mungkin tidak sesuai preferensi Anda.
Masalahnya bukan pada kemampuan coding agents itu sendiri, melainkan cara kita menggunakannya. Kita cenderung memperlakukan coding agents seperti mesin pencari, padahal mereka lebih cocok diperlakukan seperti pair programmer yang literal dan membutuhkan instruksi yang jelas.
Kini, kita mulai mengubah konsep spesifikasi dari dokumen statis menjadi artefak dinamis yang dapat dieksekusi dan berkembang bersama proyek. Spesifikasi menjadi sumber kebenaran bersama. Jika ada keraguan, spesifikasi menjadi rujukan utama; saat proyek makin kompleks, spesifikasi diperbaiki; dan bila tugas terlalu besar, didekomposisi menjadi bagian lebih kecil.
Untuk mengimplementasikan metode ini, diperkenalkan Spec Kit, sebuah toolkit open source yang mendukung pengembangan dengan pendekatan spec-driven. Ia menyediakan proses terstruktur dan dapat bekerja dengan coding agents populer seperti GitHub Copilot, Claude Code, dan Gemini CLI.
Alih-alih coding dulu baru menulis dokumentasi, dalam spec-driven development Anda mulai dengan membuat spesifikasi terlebih dahulu. Spesifikasi ini berfungsi sebagai kontrak yang menentukan bagaimana kode harus berperilaku, menjadi pusat kebenaran bagi tool dan agen AI yang digunakan untuk membuat, menguji, dan memvalidasi kode. Pendekatan ini mengurangi tebak-tebakan, kejutan tak terduga, dan menghasilkan kode berkualitas lebih baik.
Spec Kit menempatkan spesifikasi di pusat proses rekayasa perangkat lunak Anda. Spesifikasi tidak hanya ditulis dan disimpan, melainkan menjadi penggerak implementasi, daftar pemeriksaan, dan pembagian tugas. Anda sebagai pengembang berperan mengarahkan, sementara coding agent melakukan sebagian besar penulisan kode.
Prosesnya dibagi menjadi empat fase dengan titik pemeriksaan yang jelas. Anda tidak melanjutkan ke fase berikutnya sampai kegiatan saat ini tervalidasi sepenuhnya. Berikut gambaran setiap fase:
Peran Anda bukan hanya mengarahkan, tapi juga memverifikasi tiap tahap. Apakah spesifikasi sudah mewakili yang ingin dibangun? Apakah rencana sudah realistis dengan kondisi nyata? Adakah celah atau kasus sudut yang terlewat? Proses ini menyediakan kesempatan eksplisit untuk mengkritik dan memperbaiki sebelum melanjutkan.
Spec Kit kompatibel dengan coding agents seperti GitHub Copilot, Claude Code, dan Gemini CLI. Anda mengendalikan agen lewat serangkaian perintah sederhana, sementara agen melakukan pembuatan artefak kode secara otomatis.
Proses setup juga mudah, mulai dengan menginstal tool command line specify via perintah berikut:
Plain Text
uvx --from git+https://github.com/github/spec-kit.git specify init Setelah proyek diinisialisasi, gunakan perintah /specify untuk memasukkan prompt tingkat tinggi mengenai "apa" dan "mengapa" proyek dibuat. Coding agent akan menghasilkan spesifikasi lengkap.
Selanjutnya, jalankan /plan untuk meminta coding agent menyusun rencana teknis. Anda dapat menyatakan teknologi yang diinginkan, batasan, atau standar perusahaan, dan agen akan merancang rencana sesuai.
Terakhir, dengan /tasks, coding agent akan memecah spesifikasi dan rencana menjadi daftar tugas yang dapat langsung diimplementasikan dan diuji.
Alur kerja ini mengubah input yang samar menjadi tujuan yang jelas, sehingga coding agents dapat menjalankan tugasnya secara andal dan terstruktur.
Model bahasa sangat mahir mengenali pola, tapi tidak bisa membaca pikiran. Prompt yang umum seperti "tambah fitur berbagi foto di aplikasi" memaksa AI menebak ribuan kebutuhan tak tersampaikan. Akibatnya, ada asumsi yang salah yang baru terungkap saat implementasi lanjut.
Berbeda dengan itu, spesifikasi jelas, rencana teknis, dan tugas yang terfokus memberikan gambaran yang lengkap. Coding agent jadi memahami apa yang harus dibuat, bagaimana cara membangunnya, dan urutan pengerjaannya.
Metode ini berhasil di berbagai stack teknologi—Python, JavaScript, Go—karena fokusnya ada pada penerjemahan niat menjadi kode yang berjalan. Spesifikasi menjelaskan niat, rencana menentukan keputusan teknis, tugas membagi implementasi, dan AI yang coding.
Untuk organisasi besar, pendekatan ini juga menyelesaikan masalah menyimpan persyaratan keamanan, kepatuhan, dan aturan desain yang biasanya tersebar di banyak tempat dokumen internal dan obrolan. Dengan Spec Kit, semua persyaratan ini ditulis di spesifikasi dan rencana, sehingga AI dapat menggunakannya sejak awal.
Alih-alih terjebak pada keputusan awal yang kaku, spec-driven development bersifat iteratif. Anda cukup mengubah spesifikasi, membuat ulang rencana teknis, dan coding agent akan mengerjakan sisanya secara otomatis. Ini membuka kemungkinan untuk menguji beberapa versi dan eksperimen dengan cepat.
Manfaat utamanya adalah memisahkan "apa" yang stabil dari "bagaimana" yang fleksibel, sehingga memudahkan pengembangan iteratif tanpa perlu pengembangan ulang yang mahal.
Dengan AI, spesifikasi bukan sekadar dokumentasi, tapi menjadi sumber kebenaran utama yang langsung menentukan apa yang dibangun. Saat spesifikasi otomatis berubah menjadi kode kerja, fokus utama bergeser pada "intent" atau niat pengembangan.
Spec Kit menjadi eksperimen nyata untuk mewujudkan peralihan ini dan karena pendekatan ini melampaui alat atau perusahaan tertentu, toolkit ini bersifat open source.
Ke depannya, akan ada lebih banyak diskusi tentang penggabungan praktik spec-driven development dengan context engineering untuk memperkuat kapabilitas AI dalam pengembangan perangkat lunak.
Developer yang sudah mencoba pendekatan ini diundang untuk berbagi pengalaman, terutama terkait:
Spec Kit dan spec-driven development membuka cara baru dalam memanfaatkan AI untuk mengubah kreativitas manusia menjadi perangkat lunak yang nyata dan berkualitas. Kami menantikan kontribusi Anda untuk mengembangkan ekosistem ini lebih jauh.