Aliran Kerja Kejuruteraan Berbantukan AI
Log masuk untuk menyimpan kemajuan anda merentas peranti. Sehingga itu, ia disimpan dalam pelayar ini.
Mengapa ini penting
Kajian DORA 2025 menggambarkan AI sebagai penguat kepada apa jua sistem yang ia masuki. Pasukan dengan batch kecil, ujian dan maklum balas pantas menjadi lebih laju. Pasukan tanpanya hanya ship bug dengan lebih laju. Modul ini memasang sistem itu dahulu sebelum anda memasang lebih banyak AI.
Hasil pembelajaran
- Tulis spec dan ujian penerimaan yang boleh dijadikan sasaran binaan oleh AI.
- Rekayasa konteks: fail peraturan, nota seni bina, contoh, kekangan.
- Bekerja dalam batch kecil yang mudah disemak, dengan git sebagai jaring keselamatan.
- Semak output AI secara sistematik, dan paksa AI membuktikan dakwaannya.
- Ukur penghantaran dengan lima metrik DORA.
Pelajaran
1.1 Spec dahulu, prompt kemudian
Tugasan AI yang baik mengandungi: matlamat, konteks, kekangan, antara muka, kriteria penerimaan, di luar skop.
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
- Fail peraturan di peringkat repo (Templat AGENTS.md) dengan standard yang mesti dipatuhi AI setiap kali.
/docs/architecture.md: komponen, aliran data, sempadan kepercayaan./docs/decisions/: ADR supaya AI tidak membahaskan semula pilihan yang sudah diputuskan.- Tunjukkan kepada AI satu contoh sedia ada yang baik dalam codebase; ia akan meniru corak dengan setia, sama ada baik atau buruk.
1.3 Batch kecil dan disiplin git
- Satu ciri bagi setiap branch; satu perkara bagi setiap commit.
- Commit sebelum setiap sesi AI supaya anda boleh
git diffsemua yang diubahnya dangit restoreapa sahaja yang anda tidak suka. - Jangan sekali-kali biarkan ejen menjalankan
git push --force, migration terhadap produksi, atau arahan padam tanpa kelulusan. - Perubahan kecil ialah tuil tunggal paling berkesan yang dikenal pasti DORA untuk kelajuan dan kestabilan sekali gus.
1.4 Ujian sebagai spesifikasi
Piramid ujian, disesuaikan untuk AI:
- Unit test: logik tulen (harga, kelayakan, validasi).
- Integration test: pangkalan data sebenar dalam Docker, query sebenar, polisi RLS sebenar.
- End-to-end test: Playwright pada perjalanan pengguna kritikal (pendaftaran, pembayaran, tindakan teras).
- Ujian keselamatan: ujian authorization untuk "pengguna A tidak boleh membaca data pengguna B." Ujian paling bernilai yang akan anda tulis.
- Evals: untuk ciri LLM (lihat 06 · Keselamatan AI dan Ejen).
Peraturan: tulis atau semak ujian itu sendiri; biarkan AI menulis implementasi. Jika AI menulis kedua-duanya, ia boleh menjadikan kedua-duanya salah dengan cara yang sama.
1.5 Menyemak output AI
Senarai semak semakan (tampal ke dalam templat PR anda):
- Adakah setiap endpoint menyemak siapa yang memanggil dan sama ada mereka memiliki sumber itu?
- Ada rahsia, kunci atau token di luar env sisi pelayan?
- Ada panggilan luaran tanpa timeout?
- Ada query DB di dalam gelung?
- Ada kebergantungan baharu? Adakah ia wujud, diselenggara, dan di-pin?
- Adakah ralat dikendalikan, di-log dan dipaparkan, atau ditelan?
- Adakah perubahan ini boleh diundur? Ada migration? Adakah ia backward compatible?
- Adakah ia menyentuh fail di luar skop tugasan?
Paksa AI membuktikan dakwaannya: "Jalankan ujian dan tampal outputnya." "Tunjukkan pelan EXPLAIN." "Tunjukkan curl yang membuktikan pengguna A mendapat 403 pada rekod pengguna B."
1.6 Mengukur penghantaran: lima metrik DORA
| Kumpulan | Metrik |
|---|---|
| Throughput | Change lead time; Kekerapan deployment; Masa pemulihan deployment yang gagal |
| Ketidakstabilan | Kadar kegagalan perubahan; Kadar kerja semula deployment |
DORA memberi amaran supaya tidak menjadikan metrik ini sasaran (hukum Goodhart). Gunakannya untuk mencari kesesakan.
1.7 Asas kualiti yang dilangkau AI
Linting dan pemformatan dalam CI, mod strict TypeScript, kebolehcapaian (HTML semantik, label, navigasi papan kekunci, kontras mengikut WCAG 2.2 AA), dan validasi input dengan pustaka skema (Zod, Valibot) di setiap sempadan.
Lab 1: Bina satu ciri dengan cara profesional
Bina "set semula kata laluan" atau "jemput rakan sepasukan" menggunakan templat spec.
- Tulis spec dan ujian dahulu (AI boleh membantu draf, anda yang meluluskan).
- Minta AI melaksanakannya dalam satu branch.
- Semak dengan senarai semak; log setiap isu yang ditemui.
- Buka PR; CI mesti menjalankan lint, semakan jenis dan ujian.
Definition of Done
Pek prompt AI
- "Sebelum menulis kod, senaraikan edge case dan mod kegagalan untuk spec ini. Jangan laksanakan lagi."
- "Tulis ujian yang akan gagal jika authorization tiada."
- "Semak diff ini sebagai jurutera senior yang bermusuhan. Senaraikan masalah sahaja, disusun mengikut tahap keterukan."