Modul 01Term 1 · Fondasi

Alur Kerja Engineering dengan Bantuan AI

Masuk untuk menyimpan progres Anda di semua perangkat. Sampai saat itu, progres disimpan di browser ini.

Mengapa ini penting

Riset DORA tahun 2025 menggambarkan AI sebagai penguat bagi sistem apa pun tempat ia digunakan. Tim dengan batch kecil, test, dan feedback yang cepat jadi makin cepat. Tim tanpa itu semua jadi makin cepat merilis bug. Modul ini memasang sistemnya dulu sebelum Anda memasang lebih banyak AI.

Capaian pembelajaran

  1. Menulis spec dan acceptance test yang bisa dijadikan pegangan AI untuk membangun.
  2. Merekayasa konteks: file aturan, catatan arsitektur, contoh, dan batasan.
  3. Bekerja dalam batch kecil yang mudah di-review, dengan git sebagai jaring pengaman.
  4. Me-review output AI secara sistematis, dan membuat AI membuktikan klaimnya.
  5. Mengukur delivery dengan lima metrik DORA.

Materi

1.1 Spec dulu, prompt kemudian

Tugas AI yang baik memuat: tujuan, konteks, batasan, interface, acceptance criteria, di luar cakupan.

GOAL: Users can reset their password by email.
CONTEXT: Next.js app router, Supabase auth, Resend for email. See /docs/architecture.md.
CONSTRAINTS: Token single-use, expires in 30 min, stored hashed. Rate limit 5 requests/hour per email and per IP. Same response whether or not the email exists.
ACCEPTANCE: tests in /tests/reset.spec.ts must pass (write them first).
OUT OF SCOPE: SMS reset, UI redesign.

1.2 Context engineering

  • File aturan di level repo (Template AGENTS.md) berisi standar yang wajib diikuti AI setiap saat.
  • /docs/architecture.md: komponen, alur data, trust boundary.
  • /docs/decisions/: ADR supaya AI tidak memperdebatkan ulang keputusan yang sudah final.
  • Arahkan AI ke satu contoh bagus yang sudah ada di codebase; AI akan meniru polanya dengan setia, baik maupun buruk.

1.3 Batch kecil dan disiplin git

  • Satu fitur per branch; satu concern per commit.
  • Commit sebelum setiap sesi AI supaya Anda bisa git diff semua yang diubahnya dan git restore apa pun yang tidak Anda sukai.
  • Jangan pernah biarkan agent menjalankan git push --force, migrasi ke produksi, atau perintah hapus tanpa persetujuan.
  • Perubahan kecil adalah satu-satunya tuas paling efektif yang diidentifikasi DORA untuk kecepatan sekaligus stabilitas.

1.4 Testing sebagai spesifikasi

Testing pyramid, disesuaikan untuk AI:

  • Unit test: logika murni (harga, kelayakan, validasi).
  • Integration test: database sungguhan di Docker, query sungguhan, policy RLS sungguhan.
  • End-to-end test: Playwright pada journey kritis (sign-up, bayar, aksi inti).
  • Security test: test otorisasi untuk "pengguna A tidak bisa membaca data pengguna B." Ini test paling berharga yang akan Anda tulis.
  • Eval: untuk fitur LLM (lihat 06 · Keamanan AI dan Agen).

Aturannya: tulis atau review test-nya sendiri; biarkan AI menulis implementasinya. Kalau AI menulis keduanya, AI bisa membuat keduanya salah dengan cara yang sama.

1.5 Me-review output AI

Checklist review (tempel ke template PR Anda):

  1. Apakah setiap endpoint mengecek siapa yang memanggil dan apakah dia pemilik resource tersebut?
  2. Ada secret, key, atau token di luar env sisi server?
  3. Ada panggilan eksternal tanpa timeout?
  4. Ada query DB di dalam loop?
  5. Ada dependensi baru? Apakah benar-benar ada, dirawat, dan di-pin?
  6. Apakah error ditangani, di-log, dan dimunculkan, atau malah ditelan?
  7. Apakah perubahannya bisa dibatalkan? Ada migrasinya? Backward compatible?
  8. Apakah ada file di luar cakupan tugas yang ikut diubah?

Buat AI membuktikan klaimnya: "Jalankan test-nya dan tempel output-nya." "Tunjukkan rencana EXPLAIN-nya." "Tunjukkan curl yang membuktikan pengguna A mendapat 403 pada record milik pengguna B."

1.6 Mengukur delivery: lima metrik DORA

Kelompok Metrik
Throughput Change lead time; Deployment frequency; Failed deployment recovery time
Instabilitas Change fail rate; Deployment rework rate

DORA mengingatkan agar metrik ini tidak dijadikan target (hukum Goodhart). Gunakan untuk menemukan bottleneck.

1.7 Dasar-dasar kualitas yang dilewatkan AI

Linting dan formatting di CI, TypeScript strict mode, aksesibilitas (HTML semantik, label, navigasi keyboard, kontras sesuai WCAG 2.2 AA), dan validasi input dengan library skema (Zod, Valibot) di setiap boundary.

Lab 1: Bangun fitur dengan cara profesional

Bangun fitur "reset password" atau "undang rekan tim" memakai template spec.

  1. Tulis spec dan test-nya lebih dulu (AI boleh membantu menyusun draf, Anda yang menyetujui).
  2. Minta AI mengimplementasikannya di sebuah branch.
  3. Review dengan checklist; catat setiap masalah yang ditemukan.
  4. Buka PR; CI wajib menjalankan lint, type-check, dan test.

Definition of Done

Paket prompt AI

  • "Sebelum menulis kode, daftarkan edge case dan failure mode untuk spec ini. Jangan implementasikan dulu."
  • "Tulis test yang akan gagal kalau otorisasinya tidak ada."
  • "Review diff ini sebagai senior engineer yang galak. Daftarkan masalahnya saja, urutkan berdasarkan tingkat keparahan."