Prompt untuk planning dan arsitektur — Vibe Coding dan Security: Dari Prompt ke Aplikasi Aman

MATERI 5 DARI 28

Prompt untuk planning dan arsitektur

Minta AI membuat rencana yang menyebut data flow, trust boundary, test, risiko, dan rollback sebelum coding.

Tujuan pembelajaran

  • Menyusun prompt planning yang konkret.
  • Menilai asumsi dan trade-off arsitektur.
  • Mendeteksi rencana yang terlalu luas.

Konsep utama

Komponen prompt

Sebut tujuan, konteks, constraint, out-of-scope, acceptance criteria, dan format hasil.

Pertanyaan arsitektur

Tanyakan siapa yang dipercaya, data apa yang sensitif, dan bagaimana kegagalan dipulihkan.

Alur kerja teknis

  1. Tulis tujuan dan acceptance criteria.
  2. Buat perubahan kecil yang dapat ditinjau.
  3. Jalankan test dan baca diff sebelum menerima hasil AI.

Contoh implementasi

Template prompt planning

cat <<'PROMPT'
Rancang endpoint upload avatar. Jelaskan data flow, validasi MIME/ukuran, CSRF, storage path, cleanup saat DB gagal, test negatif, dan rollback. Jangan menulis kode sebelum rencana disetujui.
PROMPT

Aspek keamanan

  • Jangan menerima arsitektur tanpa threat boundary.
  • Pastikan rencana tidak meminta akses atau permission berlebihan.
  • Tanyakan bagaimana audit dan error handling bekerja.

Kesalahan umum

  • Menerima kode AI tanpa membaca diff dan memahami alur data.
  • Menguji hanya happy path dan mengabaikan input salah atau batas nilai.
  • Menyimpan secret, token, atau data nyata di prompt dan source code.

Pengujian dan verifikasi

  1. Jalankan contoh dengan input normal.
  2. Ulangi dengan input kosong, tipe salah, dan nilai batas.
  3. Pastikan error tidak membocorkan secret atau detail internal.

Latihan

  1. Modifikasi contoh dengan satu kebutuhan baru dan tulis acceptance criteria-nya.
  2. Tambahkan satu negative test lalu jelaskan risiko yang dicegah.

Checklist

  • Tujuan dan batas pekerjaan jelas.
  • Input divalidasi di server.
  • Secret tidak berada di source/prompt.
  • Test lulus dan diff sudah dibaca.

Rangkuman

Minta AI membuat rencana yang menyebut data flow, trust boundary, test, risiko, dan rollback sebelum coding.