Pernahkah Anda menemukan selama proses pengembangan Vibe Coding bahwa kode yang dihasilkan oleh AI penuh dengan celah logika, membuat Anda meragukan hidup saat memperbaikinya?
Dalam pengembangan tradisional, Spec adalah keadilan. Tetapi ketika berkolaborasi dengan AI, kita lebih seperti “sutradara”.
Untuk membuat aktor AI yang berbakat tetapi terkadang “gila” itu menampilkan pertunjukan yang bagus, Anda membutuhkan dua alat yang ampuh: EARS (Logika Naskah) dan BDD (Gambar Penerimaan).
EARS: Mengubah Kebutuhan menjadi “Blok Logika”
Anda pasti pernah bertemu PM seperti ini, menulis kebutuhan seperti: “Sistem harus lebih mudah digunakan”, “Kecepatan pemrosesan harus cepat”. Ini adalah bencana saat menulis kode.
EARS (Easy Approach to Requirements Syntax) sederhananya adalah mengubah “kata sifat yang tidak jelas” ini menjadi “instruksi yang tepat”.
EARS seperti Prompt Engineering tingkat atas, memaksa Anda untuk berbicara dalam logika tertutup. 5 pola kalimat utama memungkinkan Anda untuk “mengunci” batas kebutuhan kapan saja:
| Tipe | Deskripsi |
|---|---|
| Ubiquitous (Tipe Umum) | Sistem harus... (Seperti bernapas, harus dipatuhi setiap saat). |
| Event-driven (Berbasis Kejadian) | Ketika [kejadian terjadi], sistem harus.... |
| Unwanted Behavior (Perilaku Tidak Diinginkan) | Jika [hal buruk terjadi], sistem harus... (Ini adalah jiwa dari Error Handling). |
| State-driven (Berbasis Status) | Saat [dalam status tertentu], sistem harus.... |
| Optional Feature (Fitur Opsional) | Di mana [fitur disertakan], sistem harus.... |
EARS membantu Anda menetapkan aturan yang ketat
Membuat AI tidak mungkin “berbicara omong kosong dengan wajah serius” secara logis.
BDD: Mengubah Pengujian menjadi “Naskah Film”
Jika EARS adalah kontrak yang ketat, maka BDD (Behavior Driven Development) adalah “cerita yang hidup”. Ini tidak menguji a == b, ini menguji “apa yang dirasakan pengguna telah terjadi”.
Sintaks yang digunakan oleh BDD disebut Gherkin (Acar, harus renyah dan menyegarkan!), dan trilogi intinya adalah sebagai berikut:
| Sintaks | Deskripsi |
|---|---|
| 🎬 Given (Latar Belakang) | Mengatur adegan sebelum syuting (misal: Memiliki 100 dolar di saku). |
| ⚡ When (Aksi) | Saat sutradara berteriak Action (misal: Memesan cumi pedas). |
| ✅ Then (Hasil) | Akhir yang dilihat penonton (misal: Menerima cumi harum, dompet berkurang 60 dolar). |
Melalui metode “bercerita” ini, bahkan non-insinyur dapat berkomunikasi dengan kita, dan AI juga dapat memahami niat sebenarnya Anda melalui “contoh nyata” ini.
Apa perbedaan antara EARS vs BDD?
Keduanya melakukan tugas masing-masing, dan menggabungkannya benar-benar “tak terkalahkan”.
| Fitur | EARS (Sintaks Kebutuhan) | BDD (Berbasis Perilaku) |
|---|---|---|
| Semangat Inti | Definisi Tepat (Hilangkan Ambiguitas) | Konsensus & Verifikasi (Bercerita) |
| Seperti menulis… | Klausul Hukum | Naskah Film |
| Audiens Utama | PM, Arsitek, Pembuat Aturan | Insinyur, QA, Asisten AI |
| Masalah yang Diselesaikan | “Apa yang Anda buat bukan yang saya pikirkan!” | “Logikanya benar, tapi tidak bisa digunakan!” |
Sederhananya: EARS membantu Anda menetapkan aturan, BDD membantu Anda memverifikasi hasil.
Aplikasi Lanjutan EARS: Vibe Coding dalam Tindakan
Kami langsung menjejalkan aturan EARS dan naskah BDD ke dalam Prompt agar AI mengembangkannya.
Anda dapat mencoba memberikan instruksi seperti ini saat mengembangkan “Potongan Dompet Elektronik”:
# Tugas: Tolong bantu saya mengimplementasikan API potongan
## Logika EARS (Harap patuhi dengan ketat):
- [Event-driven]: Ketika permintaan diterima, saldo harus diverifikasi.
- [Unwanted]: Jika saldo tidak mencukupi, kembalikan kode kesalahan 400 'INSUFFICIENT_FUNDS'.
- [State-driven]: Saat dompet dalam status 'Frozen', tolak semua potongan.
## Naskah Penerimaan BDD (Untuk pengujian Jest):
Scenario: Potongan gagal karena saldo tidak mencukupi
Given Saldo pengguna adalah 50 dolar
When Menerima permintaan potongan 100 dolar
Then API harus mengembalikan HTTP 400
And Kode kesalahan harus 'INSUFFICIENT_FUNDS'
Coba lemparkan ini ke AI, dan Kode yang dihasilkan tidak akan menyimpang terlalu jauh dari tujuan!
Kesimpulan
Baik dalam pengembangan sehari-hari atau Vibe Coding, EARS dan BDD adalah artefak untuk meningkatkan efisiensi.
EARS membantu Anda menetapkan aturan ketat, BDD membantu Anda mengonfirmasi hasil akting.