Back to News/OpenSpec: Berhenti 'Vibe Coding', Mulai Kasih AI Peta Jalan yang Jelas

OpenSpec: Berhenti 'Vibe Coding', Mulai Kasih AI Peta Jalan yang Jelas

Vibe Coding itu seperti menyuruh tukang bangun rumah tanpa denah — hasilnya? Kacau di bulan ketiga. OpenSpec hadir sebagai 'denah arsitektur' untuk AI coding, menggeser paradigma dari ngobrol acak ke Spec-Driven Development yang terstruktur.

Faisal Affan
3/15/2026
OpenSpec: Berhenti 'Vibe Coding', Mulai Kasih AI Peta Jalan yang Jelas

OpenSpec: "Denah Arsitektur" untuk AI Coding

"Orang bijak membangun rumah di atas batu, bukan di atas pasir." — Pepatah universal yang juga berlaku untuk software engineering

TL;DR

OpenSpec adalah framework open-source dari Fission AI yang memaksa AI untuk membaca denah dulu sebelum mulai bangun. Alih-alih ngobrol bolak-balik tanpa rencana (vibe coding), OpenSpec mengubah cara kerja AI jadi terstruktur, terprediksi, dan aman untuk proyek skala besar.


Masalah: Kenapa "Vibe Coding" Itu Seperti Bangun Rumah Tanpa Denah?

Bayangkan Anda menyewa kontraktor untuk membangun rumah. Tapi alih-alih memberinya denah arsitektur, Anda hanya bilang:

"Bikinin kamar di situ ya. Oh iya, tambahin dapur juga. Eh, pintunya geser aja deh."

Awalnya sih oke. Kamar jadi, dapur jadi. Tapi di bulan ketiga:

  • Ternyata pipa air dapur nabrak fondasi kamar 💥
  • Kontraktor lupa Anda pernah minta pintu geser, jadi dipasang pintu biasa
  • Mau renovasi? Kontraktor baru nggak tahu kenapa temboknya dibangun miring — kontraktor lama sudah pergi

Ini persis yang terjadi dengan vibe coding. Anda ngobrol dengan AI, minta kode ini-itu, semuanya lancar... sampai proyeknya membesar. Lalu:

🧠 AI Lupa

Jendela konteks percakapan terbatas. AI tidak ingat keputusan yang dibuat 3 hari lalu.

👻 Niat Hilang

Mengapa arsitektur dirancang begitu? Hilang bersama ditutupnya sesi chat.

💸 Utang Teknis Baru

Kode tumbuh melampaui kapasitas kognitif manusia DAN jendela konteks AI sekaligus.

🧱 Tembok Bulan Ketiga

Tambah fitur baru justru merusak fitur lama karena tidak ada pemetaan sistem.

Tembok Kompleksitas

Banyak proyek yang dibangun murni dengan vibe coding dilaporkan menabrak "tembok kompleksitas" pada bulan ketiga. Tambah fitur baru malah hancurkan yang sudah jalan — karena tidak ada yang merekam kenapa kode ditulis begitu.


Solusi: Spec-Driven Development — Kasih AI Denah Dulu!

Spec-Driven Development (SDD) adalah kebalikan dari vibe coding. Filosofinya sederhana:

Jangan suruh AI nulis kode sebelum ada spesifikasi yang jelas.

Kalau vibe coding itu "ngobrol → kode → berharap bener", maka SDD itu "tulis niat → validasi → baru kode".

Dan di garis depan gerakan SDD ini, berdiri platform bernama OpenSpec.


Apa itu OpenSpec?

OpenSpec adalah framework open-source buatan Fission AI yang berfungsi sebagai lapisan perencanaan universal antara niat manusia dan eksekusi AI.

Analoginya: kalau AI coding agent itu kontraktor, maka OpenSpec adalah meja arsitek di mana denah digambar, divalidasi, dan disimpan — sebelum palu dan paku disentuh.

Prop

Type

Tidak Ada Vendor Lock-in

OpenSpec tidak butuh API key khusus atau protokol tertutup. Seluruh spesifikasi hidup di dalam repositori Git Anda, berdampingan dengan kode. Pindah dari Claude ke Gemini? Specnya tetap sama.


Fondasi Pemikiran: Dari Mana Ide Ini?


Arsitektur: Model Dua Folder

Inovasi terpenting OpenSpec adalah pemisahan fisik antara "kebenaran saat ini" dan "rencana perubahan". Bayangkan seperti ini:

  • 📚 specs/ = Buku catatan resmi sekolah — berisi aturan yang sudah berlaku
  • 📝 changes/ = Kertas coret-coretan — tempat ide baru diuji sebelum masuk buku resmi
project.md
AGENTS.md

Analogi: Seperti UUD 1945 — dokumen resmi yang berlaku saat ini.

  • 📖 Mewakili realitas sistem saat ini yang sudah tervalidasi
  • 🗂️ Dikelompokkan berdasarkan domain (auth-login/, checkout-cart/)
  • 🔒 Bersifat read-only bagi AI — tidak boleh diubah langsung
  • 🏛️ Stabil sampai ada proses pengarsipan resmi

Analogi: Seperti RUU (Rancangan Undang-Undang) — proposal yang belum disahkan.

  • 🧪 Sandbox untuk fitur hipotetis masa depan
  • 📋 Dikelompokkan berdasarkan tugas (add-dark-mode/, fix-payment-bug/)
  • ✍️ AI boleh menulis di sini — tapi tetap di-review manusia
  • 📊 Merekam delta spesifikasi — apa yang berubah dan kenapa

Kenapa Pemisahan Ini Penting?

Bayangkan AI berhalusinasi dan menulis spec yang salah. Dengan pemisahan ini, kerusakan tertahan di folder changes/ — tidak merembet ke sumber kebenaran utama. Seperti sistem airlock di kapal selam: bocor di satu kompartemen, kapal tetap mengambang.


Alur Kerja: Tiga Perintah Simpel

Seluruh siklus pengembangan OpenSpec berjalan dengan tiga perintah saja. Seperti siklus Rancang → Bangun → Arsipkan:

/opsx:propose — Rancang Dulu

Anda mendeskripsikan apa yang diinginkan dalam bahasa sehari-hari. AI lalu:

  1. Menelusuri spesifikasi yang ada untuk mencari relevansi
  2. Menganalisis kode terkait
  3. Menghasilkan empat artefak di folder changes/:

Prop

Type

Analogi: Seperti arsitek yang menggambar denah, menghitung material, dan membuat jadwal kerja — sebelum kontraktor mulai ngebor.

/opsx:apply — Baru Bangun

Setelah manusia menyetujui proposal, AI mulai implementasi:

  • Mengambil tugas dari tasks.md
  • Mengerjakan satu per satu secara iteratif
  • Memperbarui checklist secara real-time
  • Tidak boleh membuat keputusan yang bertentangan dengan design.md

Analogi: Kontraktor mulai ngebor — tapi harus ikut denah. Mau pindahin pipa? Harus balik ke arsitek dulu.

/opsx:archive — Arsipkan & Bersihkan

Setelah implementasi dan testing selesai:

  • Semua artefak dipindahkan ke archive/ dengan timestamp
  • Delta spec yang sudah terealisasi masuk ke specs/ (sumber kebenaran)
  • Folder kerja dibersihkan, siap untuk siklus berikutnya

Analogi: Setelah rumah jadi, denah arsitektur diupdate dan disimpan di brankas. Kertas coret-coretan dibuang. Bersih.


"Konstitusi Proyek" — Buku Aturan yang AI Tidak Boleh Langgar

Saat pertama kali menjalankan openspec init, platform memindai seluruh proyek Anda dan menghasilkan file project.md — semacam "UUD" untuk proyek Anda:

🎯 Tujuan Bisnis

Apa tujuan proyek ini? AI tidak boleh membuat keputusan yang menyimpang dari tujuan.

🔧 Tech Stack

TypeScript? Go? React? AI tahu batasan teknologinya dan tidak boleh tiba-tiba pakai framework lain.

📏 Konvensi Kode

Naming convention, folder structure, style guide — AI harus ikuti standar yang sudah ada.

🧪 Strategi Testing

Unit test wajib? E2E test untuk fitur kritis? AI tahu apa yang harus ditest.

20+ Agen AI Didukung

OpenSpec menolak vendor lock-in. Saat inisialisasi, platform otomatis mendeteksi folder agen (.claude/, .cursor/, dll.) dan menyuntikkan rules yang relevan. Anda bebas pakai Claude, Gemini, Codex, atau apa pun.


Efisiensi: Kenapa OpenSpec Hemat Token?

Ini bagian teknisnya — tapi analoginya simpel.

Vibe Coding itu seperti menyuruh kontraktor membaca ulang seluruh buku manual bangunan setiap kali Anda minta pasang satu lampu. Mahal, lambat, dan kontraktor sering lupa detail di halaman 847.

OpenSpec memberikan kontraktor cuma halaman yang relevan — denah listrik di lantai 2, standar watt yang dipakai, dan checklist keamanan. Itu saja.

AI menerima: SELURUH repositori (jutaan karakter)

Akibatnya:
❌ Biaya API membengkak
❌ Latensi tinggi
❌ AI "lupa" detail di tengah-tengah
❌ Halusinasi meningkat drastis
AI menerima: project.md + folder changes/ yang relevan

Hasilnya:
✅ Biaya API jauh lebih murah
✅ Respons lebih cepat
✅ Rasio sinyal vs noise hampir 100%
✅ Halusinasi berkurang drastis

Secara teknis, ini karena arsitektur transformer punya kompleksitas kuadratik — makin panjang input, makin mahal dan makin "pelupa" AI-nya. OpenSpec memotong input ke minimum yang diperlukan.


Aturan Menulis Spec: Tegas dan Tidak Ambigu

OpenSpec punya aturan ketat soal bagaimana spec ditulis. Tujuannya: supaya AI (dan manusia) tidak salah tafsir.

Bahasa Wajib dan Haram

OpenSpec mengadopsi standar IETF RFC 2119 — standar yang biasa dipakai untuk menulis spesifikasi internet global:

Prop

Type

Kenapa Ini Penting?

Kata "harus" dalam bahasa sehari-hari itu ambigu — bisa berarti wajib atau cuma saran. Dengan MUST vs SHOULD, AI langsung tahu: yang MUST itu hukum gravitasi (tidak bisa dilanggar), yang SHOULD itu pedoman (bisa dilenturkan dengan alasan bagus).

Format Skenario: GIVEN / WHEN / THEN

Setiap spesifikasi WAJIB punya minimal satu skenario pengujian. Formatnya dipinjam dari Behavior-Driven Development (BDD):

#### Scenario: Pengguna login dengan kredensial valid

- GIVEN pengguna terdaftar dengan email "user@example.com"
- WHEN pengguna memasukkan email dan password yang benar
- THEN sistem mengembalikan token akses valid
- AND pengguna diarahkan ke halaman dashboard

Analogi: Ini seperti soal ujian untuk kode Anda. Kalau tidak bisa jawab soal ini, berarti kodenya belum benar. OpenSpec bisa menjalankan openspec validate --strict untuk memastikan semua soal ada dan formatnya benar.

Empat Tipe Perubahan (Delta Operations)

Ketika mengusulkan perubahan, OpenSpec memaksa Anda untuk mengkategorikannya:

Fungsionalitas baru yang berdiri sendiri.

Seperti menambah ruangan baru di rumah — tidak mengganggu ruangan lain.

## ADDED Requirements

### Dark Mode Support
Sistem MUST menyediakan opsi dark mode...

Mengubah perilaku yang sudah ada. Wajib tulis ulang spec secara lengkap (bukan cuma bagian yang berubah).

Seperti merenovasi dapur — Anda tulis ulang denahnya dari awal, bukan cuma coret-coret denah lama.

## MODIFIED Requirements

### Login Flow (UPDATED)
Sistem MUST mendukung OAuth2 selain email/password...

Menghapus fitur. Wajib isi dua hal: alasan dan jalur migrasi.

Seperti merobohkan tembok — Anda perlu jelaskan kenapa dan bagaimana penghuni pindah ke ruangan lain.

## REMOVED Requirements

### SMS Verification
- Reason: Biaya SMS terlalu tinggi, diganti WhatsApp OTP
- Migration: Semua pengguna akan dimigrasikan ke WhatsApp OTP

Ganti nama tanpa mengubah fungsionalitas. Untuk menjaga jejak audit.

Seperti mengganti nama jalan — alamatnya berubah, tapi rumahnya tetap.

## RENAMED Requirements

- FROM: User Authentication
- TO: Identity Verification

Perbandingan: OpenSpec vs Kompetitor

Bagaimana posisi OpenSpec di antara platform SDD lainnya?

Peta Perbandingan

ParameterOpenSpecGitHub Spec KitAmazon KiroBMAD
Fokus🏚️ Brownfield (kode lama)🏗️ Greenfield (proyek baru)🏢 Korporat (AWS)🤖 Multi-agen
Alur Kerja3 perintah simpel4 fase kakuIDE terintegrasiDelegasi otonom
KonteksDelta (hemat)Dokumen penuh (berat)Steering filesSharding
Tech StackTypeScript/npmPython/UVTerminal/VS CodeFramework-agnostik
Vendor Lock-in❌ Tidak ada⚠️ Bias GitHub🔒 AWS only❌ Tidak ada


Kritik dan Risiko: Apakah Ini Waterfall 2.0?

Tidak ada pendekatan yang sempurna. Berikut kritik paling tajam terhadap SDD dan OpenSpec:

🌊 Bayangan Waterfall

Kritikus bilang SDD itu 'Waterfall pakai baju baru.' Obsesi dokumentasi di awal berpotensi membunuh kelincahan Agile.

📄 Ilusi Kontrol

Tumpukan dokumen spec TIDAK otomatis berarti kode berkualitas. Bisa jadi false sense of security.

🔄 Context Drift

Kalau spec tidak diupdate saat ada improvisasi mid-flight, spec yang basi lebih BERBAHAYA daripada tidak ada spec.

⚖️ Dilema Keseimbangan

Terlalu sedikit struktur = kacau (vibe coding). Terlalu banyak struktur = macet (waterfall). Sweet spot-nya di mana?

Pelajaran dari Sejarah

Model-Driven Development (MDD) di tahun 2000-an punya visi mirip: "model dulu, kode otomatis." Hasilnya? Gagal karena terlalu berat, tidak fleksibel, dan tidak bisa beradaptasi dengan perubahan. OpenSpec sadar akan risiko ini — makanya mereka memilih pendekatan delta (ringan) bukan pendekatan full-spec (berat).


Kesimpulan: Kapan Harus Pakai OpenSpec?

  • Proyek berskala besar dengan banyak developer dan AI agent
  • Basis kode legacy (brownfield) yang kompleks dan rawan regresi
  • Tim yang butuh audit trail dan accountability atas keputusan AI
  • Proyek di mana konsistensi arsitektural lebih penting dari kecepatan
  • Lingkungan korporat yang butuh review gate sebelum AI boleh commit
  • Prototipe cepat atau proof-of-concept yang akan dibuang
  • Side project kecil yang dikerjakan satu orang
  • Skrip otomasi sederhana yang tidak perlu maintenance jangka panjang
  • Saat Anda masih eksplorasi ide dan belum tahu mau bangun apa

Intinya

OpenSpec bukan pengganti kreativitas atau kelincahan. Ia adalah jaring pengaman — memastikan bahwa semakin AI menjadi "kontraktor" yang lebih canggih, kita sebagai "arsitek" tidak kehilangan kendali atas desain bangunannya.

Vibe coding itu seperti improvisasi jazz — indah untuk solo pendek. Spec-Driven Development itu seperti orkestra — butuh partitur agar 50 musisi bermain harmonis.

OpenSpec adalah partiturnya.


Referensi


Related Articles

OpenSpec: Berhenti 'Vibe Coding', Mulai Kasih AI Peta Jal... | Faisal Affan