- Agen coding menghasilkan kode dengan kecepatan yang belum pernah ada sebelumnya, tetapi jika digunakan tanpa penilaian yang ketat, ia menjadi jalur efisien untuk mendorong asumsi yang keliru langsung ke production
- Kode yang dihasilkan agen hadir dengan deskripsi PR, lolos analisis statis, bahkan cakupan pengujian, sehingga terlihat seperti ditulis oleh engineer berpengalaman, tetapi sama sekali tidak mencerminkan pola trafik, mode kegagalan, dan batasan infrastruktur di lingkungan production yang sebenarnya
- Memanfaatkan (leveraging) AI dan bergantung (relying) pada AI adalah dua hal yang secara mendasar berbeda, dan pemanfaatan yang sesungguhnya berarti sepenuhnya memahami serta memiliki cara kerja dan risiko dari output agen
- Dengan tiga prinsip yaitu self-driving deployment, validasi berkelanjutan, dan guardrail yang dapat dieksekusi, kita bisa membangun lingkungan yang aman sekaligus memungkinkan agen bertindak dengan otonomi tinggi
- Ini adalah era ketika yang bertahan bukan engineer yang paling banyak menghasilkan kode, melainkan engineer yang mempertahankan daya nilai yang tajam tentang apa yang layak dideploy
Masalah: Green CI bukan lagi bukti keamanan
- Lulus CI hanya mencerminkan kemampuan agen meyakinkan pipeline, bukan keamanan infrastruktur yang sesungguhnya
- Query yang lolos pengujian tetap bisa dideploy meski melakukan full-table scan di production
- Logika retry yang terlihat normal bisa memicu Thundering Herd pada layanan downstream
- Cache tanpa TTL dapat diam-diam membunuh Redis
- Agen tidak mengetahui kondisi kapasitas instance Redis, apakah DB di-hardcode ke region tertentu, atau bahwa rollout feature flag dapat mengubah profil beban sistem downstream
- Kesenjangan antara "PR ini terlihat benar" dan "PR ini aman untuk dideploy" selalu ada, dan agen memperlebar kesenjangan itu
Pembedaan inti: memanfaatkan vs. bergantung
- Bergantung (Relying): pendekatan yang menganggap perubahan siap dideploy begitu agen menulisnya dan pengujian lulus
- Penulis tidak membangun mental model atas perubahan tersebut
- Tercipta PR besar yang penuh asumsi tersembunyi, sementara baik penulis maupun reviewer tidak benar-benar memahami apa yang dilakukan kodenya
- Memanfaatkan (Leveraging): menggunakan agen untuk iterasi cepat sambil tetap mempertahankan kepemilikan penuh atas outputnya
- Memahami secara tepat bagaimana kode akan berperilaku di bawah beban
- Memahami risikonya dan bersedia menanggungnya
- Mencantumkan nama pada sebuah PR berarti "saya sudah membacanya dan paham apa yang dilakukannya", dan itulah titik acuan proses engineering
Standar penilaian: uji lakmus
- Uji sederhananya: "Apakah saya nyaman memiliki insiden production yang terkait dengan PR ini?"
- Tiga pertanyaan yang harus diajukan pada diri sendiri sebelum membuka PR
- Apa yang dilakukan kode ini? Bagaimana perilakunya setelah rollout?
- Dampak negatif apa yang bisa ditimbulkannya terhadap production atau pelanggan?
- Apakah saya nyaman memiliki insiden yang terkait dengan kode ini?
- Jika jawabannya "ya", berarti Anda memanfaatkan AI dan bisa deploy; jika "tidak", masih ada pekerjaan yang harus dilakukan
Solusi: tiga prinsip untuk pertahanan production
- Self-driving deployments: semua perubahan di-rollout secara bertahap melalui pipeline yang diberi gate, dan canary deployment otomatis rollback saat performa menurun
- Tidak bergantung pada engineer yang terus memantau dashboard
- Saat ada masalah, dampaknya diisolasi ke sebagian trafik, bukan seluruhnya
- Validasi berkelanjutan (Continuous validation): infrastruktur diuji terus-menerus, bukan hanya pada saat deployment
- Load test, eksperimen chaos, dan latihan pemulihan bencana dijalankan secara berkelanjutan
- Inilah alasan database failover yang dilatih Vercel di production pada musim panas lalu tidak menimbulkan dampak apa pun bagi pelanggan saat insiden Azure yang sebenarnya terjadi
- Guardrail yang dapat dieksekusi (Executable guardrails): pengetahuan operasional dikodekan sebagai alat yang bisa dijalankan, bukan sebagai dokumen
- Skill
safe-rollout bukan halaman Notion yang menjelaskan cara kerja feature flag, melainkan alat yang menghubungkan flag, membuat rencana rollout dengan kondisi rollback, dan menjelaskan cara memverifikasi perilaku yang diharapkan
- Ketika guardrail dapat dieksekusi, agen dapat mengikutinya secara otonom dan manusia tidak perlu menghafalnya
Investasi nyata Vercel
- Memperkuat guardrail infrastruktur bersama dengan validasi runtime di setiap tahap pipeline deployment
- Memperkuat pemeriksaan statis pada tahap PR, khususnya yang terkait feature flag
- Mengadopsi pengujian end-to-end mirroring production di lingkungan staging
- Menjalankan agen read-only yang terus memverifikasi invariant sistem di production, serta menggunakan agen khusus yang mengaudit asumsi agen generatif
- Memperkenalkan metrik seperti rasio defect escaped terhadap defect commit untuk mengetahui apakah risiko di seluruh platform meningkat
Kesimpulan: engineer dengan daya nilai adalah keunggulan kompetitif
- Implementasi telah menjadi melimpah, dan kini sumber daya yang langka adalah daya nilai tentang apa yang dapat dideploy dengan aman
- Era ketika kode berkualitas rendah tampak jelas berkualitas rendah telah berakhir; alat AI akan makin kuat, diff akan makin besar, dan godaan untuk mempercayai output secara membabi buta juga akan meningkat
- Tujuannya bukan dunia yang menerapkan ketelitian luar biasa pada setiap perubahan, melainkan dunia di mana infrastruktur itu sendiri yang ketat — sehingga deployment cepat menjadi aman secara default
Belum ada komentar.