HeadlinesBriefing favicon HeadlinesBriefing.com

Menguasai Entropi: Kepercayaan pada Kode AI

Hacker News •
×

Bagian dari “Menguasai Entropi”

Sebagian besar masalah yang saya hadapi dengan kode yang dihasilkan AI berkaitan dengan kepercayaan. Apakah saya mempercayai orang yang menulis tiket ini? Apakah saya mempercayai insinyur yang membuka PR ini memahami tiket dan memandu agen coding untuk mengimplementasikannya dengan benar? Apakah saya mempercayai implementasi agen coding? Apakah saya mempercayai test suite kami untuk menangkap regresi sebelum mencapai produksi? Apakah saya mempercayai CI/CD kami untuk membangun, menguji, dan mendeploy perubahan kami dengan benar? Apakah saya mempercayai pengaturan observability kami untuk memperingatkan kami ketika kode yang dihasilkan AI merusak produksi? Apakah saya mempercayai AI SRE (Site Reliability Engineer) untuk mendiagnosis masalah dengan benar dan membantu kami menguranginya? Apakah saya mempercayai Git Hub tidak mengalami insiden saat kami paling membutuhkannya? Kepercayaan sulit didapat dan mudah hilang. Jadi menurut saya sangat penting untuk menumbuhkan budaya kepercayaan di dalam tim engineering. Anda harus mempercayai insinyur untuk melakukan hal yang benar.

Mendorong Akuntabilitas

Saya merasa bermanfaat untuk mengomunikasikan dengan jelas seperti ini: “Anda bertanggung jawab atas apa yang Anda kirim. Jika ini merusak produksi dan Anda menulis PR, Anda harus hadir untuk memperbaikinya.”

Jika insinyur dibuat bertanggung jawab atas kode yang mereka kirim, mereka harus diberi kelembagaan untuk memproduksinya dengan metode pilihan mereka. Bahkan jika Anda tidak terpengaruh AI, Anda harus mengakui bahwa agen AI memang menghasilkan banyak kode sangat cepat. Kode tetap perlu dihasilkan, dan ekspektasinya sekarang adalah murah untuk menghasilkan banyak kode. Untuk mengatasi ini, insinyur harus diizinkan untuk mengambil beberapa langkah untuk memastikan kualitas codebase tidak menurun. Dalam organisasi yang sehat, insinyur harus saling mempercayai untuk hanya mendorong kode dengan kualitas yang wajar. Saya bilang wajar karena tidak pragmatik untuk terobsesi dengan kualitas dan mencoba selalu mengirim kode 100% sempurna. Bahkan sebelum agen coding, sebagian besar kode sudah berantakan penuh bug! Jadi masuk akal ketika solusi “cukup baik” dikirimkan. Seringkali, kita menukar kecepatan pengiriman dengan kualitas, dan menanggung beberapa technical debt.

Berikut adalah beberapa praktik yang saya temukan berguna untuk memfasilitasi akuntabilitas engineering di era coding baru ini:

Pedoman Coding

Memiliki strategi teknologi yang jelas: luangkan waktu untuk memutuskan apa yang penting untuk codebase Anda dan investasikan pada pedoman yang jelas. Baik untuk manusia maupun untuk agen coding. Bahkan jika manusia tidak membaca pedoman, agen coding mereka akan membacanya, dan akan mengikutinya (sebagian besar).

Alat Deterministik

Menggunakan secara intensif alat deterministik untuk memastikan kualitas kode. Bahasa bertipe, linter, deteksi kode mati, pemindaian keamanan, CI/CD, dan seterusnya. Semua alat ini sudah ada sebelum agen coding dan membantu kita dalam perjuangan melawan kode sampah. (Tetap mengikuti untuk post lanjutan dengan rekomendasi spesifik!)

Menegakkan PR Kecil

Memberdayakan insinyur untuk menolak PR yang tidak dapat direview. Jika memungkinkan, kodifikasikan kriteria ini sehingga PR yang tidak dapat direview segera ditolak. Tentu saja, pastikan untuk menyisakan ruang untuk pengecualian.

Menguasai Test

Menulis test case secara manual. Ini mirip dengan pekerjaan business analyst. Berpikir mendalam tentang fitur dan mendefinisikan skenario test yang tepat. Diskusikan ini di dalam tim. Agen coding dapat mengimplementasikan test, tetapi test harus didefinisikan oleh manusia.

Selera Produk

Bekerja sama dengan produk untuk memiliki visi produk yang koheren. Sangat mudah menjadi gila dengan AI dan mengimplementasikan fitur apa pun yang terpikirkan. Pastikan Anda hanya mengimplementasikan fitur yang berguna dan benar-benar membawa nilai bagi pengguna!

Prototipe

Kode yang dibuang. Karena kode sangat mudah dihasilkan sekarang, ini kesempatan bagus untuk mencoba pendekatan berbeda. Jangan biarkan agen