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
- Menulis spec dan acceptance test yang bisa dijadikan pegangan AI untuk membangun.
- Merekayasa konteks: file aturan, catatan arsitektur, contoh, dan batasan.
- Bekerja dalam batch kecil yang mudah di-review, dengan git sebagai jaring pengaman.
- Me-review output AI secara sistematis, dan membuat AI membuktikan klaimnya.
- 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 diffsemua yang diubahnya dangit restoreapa 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):
- Apakah setiap endpoint mengecek siapa yang memanggil dan apakah dia pemilik resource tersebut?
- Ada secret, key, atau token di luar env sisi server?
- Ada panggilan eksternal tanpa timeout?
- Ada query DB di dalam loop?
- Ada dependensi baru? Apakah benar-benar ada, dirawat, dan di-pin?
- Apakah error ditangani, di-log, dan dimunculkan, atau malah ditelan?
- Apakah perubahannya bisa dibatalkan? Ada migrasinya? Backward compatible?
- 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.
- Tulis spec dan test-nya lebih dulu (AI boleh membantu menyusun draf, Anda yang menyetujui).
- Minta AI mengimplementasikannya di sebuah branch.
- Review dengan checklist; catat setiap masalah yang ditemukan.
- 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."