Featured image of post Apa itu EARS dan BDD? Spec-Driven Development (SDD) agar AI Segera Memahami Kebutuhan Anda dalam Vibe Coding

Apa itu EARS dan BDD? Spec-Driven Development (SDD) agar AI Segera Memahami Kebutuhan Anda dalam Vibe Coding

Masih kesulitan berkomunikasi dengan AI? Artikel ini mengajarkan Anda cara menggabungkan sintaks kebutuhan EARS dan pengembangan berbasis perilaku BDD untuk membuat 'Prompt Ketat', memungkinkan AI menghasilkan kode berkualitas tinggi secara akurat!

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.

All rights reserved,未經允許不得隨意轉載
Dibangun dengan Hugo
Tema Stack dirancang oleh Jimmy