Engineer Cloudflare Gunakan AI untuk Membangun Library OAuth, Memicu Perdebatan tentang Coding Berbantuan LLM

BigGo Editorial Team
Engineer Cloudflare Gunakan AI untuk Membangun Library OAuth, Memicu Perdebatan tentang Coding Berbantuan LLM

Cloudflare telah merilis library provider OAuth untuk platform Workers yang sebagian besar ditulis menggunakan Claude AI, memicu diskusi hangat tentang peran kecerdasan buatan dalam pengembangan perangkat lunak. Proyek yang dipimpin oleh Kenton Varda, seorang lead engineer di Cloudflare, merupakan salah satu contoh utama pertama dari library keamanan siap produksi yang dibangun terutama melalui bantuan AI.

Library ini mengimplementasikan standar OAuth 2.1 untuk Cloudflare Workers, namun yang membuatnya menonjol bukan hanya fungsinya—tetapi bagaimana library ini dibuat. Varda, yang menggambarkan dirinya sebagai mantan skeptis AI, menggunakan Claude Sonnet 3.7 untuk menghasilkan sebagian besar kode melalui prompting yang cermat dan penyempurnaan iteratif. Seluruh proses pengembangan, termasuk prompt dan interaksi AI, telah didokumentasikan dalam riwayat commit proyek untuk transparansi.

Detail Teknis Utama

  • Platform: Cloudflare Workers
  • Standar yang diimplementasikan: OAuth 2.1
  • Bahasa pemrograman: TypeScript/JavaScript
  • Repositori: Open source dengan riwayat commit lengkap
  • Tinjauan keamanan: Validasi referensi silang RFC lengkap

Pengawasan Ahli Tetap Kritis

Meskipun output AI yang mengesankan, proyek ini memerlukan keahlian manusia yang ekstensif sepanjang proses pengembangan. Varda dan timnya meninjau secara menyeluruh setiap baris kode, melakukan referensi silang implementasi dengan RFC yang relevan, dan secara manual memperbaiki beberapa bug yang tidak dapat diselesaikan AI sendiri. Satu pesan commit secara khusus menyatakan: Claude memiliki bug dalam commit sebelumnya. Saya mem-prompt berkali-kali untuk memperbaiki bug tersebut tetapi terus melakukan hal yang salah.

Pengalaman ini menyoroti keterbatasan utama dari tools coding AI saat ini—mereka dapat menghasilkan kode yang canggih tetapi sering kesulitan dengan debugging dan pemecahan masalah kompleks setelah error diperkenalkan. Tim pengembangan menemukan bahwa memulai ulang percakapan dari awal sering kali lebih efektif daripada mencoba memperbaiki kesalahan AI dalam konteks yang sudah ada.

Keterbatasan AI yang Diamati

  • Debugging masalah kompleks: Memerlukan intervensi manual
  • Retensi konteks: Kehilangan konteks setelah beberapa iterasi
  • Pemecahan masalah baru: Kurang efektif dibandingkan implementasi standar
  • Refactoring kode: Kemampuan terbatas dengan basis kode kompleks yang sudah ada

Reaksi Komunitas Terbagi tentang Peran AI

Pengumuman ini telah membagi komunitas developer menjadi kubu-kubu yang berbeda. Para pendukung melihat ini sebagai validasi bahwa AI dapat secara signifikan mempercepat pengembangan ketika diawasi dengan tepat oleh engineer berpengalaman. Varda memperkirakan proyek ini memakan waktu beberapa hari dengan bantuan AI dibandingkan dengan minggu atau bulan yang diperlukan jika menulis dengan tangan.

Namun, para skeptis mengangkat kekhawatiran tentang implikasi yang lebih luas untuk industri perangkat lunak. Beberapa khawatir tentang potensi berkurangnya peluang kerja, sementara yang lain mempertanyakan apakah kode yang dihasilkan AI menciptakan rasa produktivitas yang salah. Kritikus berargumen bahwa proses review ekstensif yang diperlukan mungkin sebenarnya memperlambat pengembangan dibandingkan dengan metode coding tradisional.

Setiap baris ditinjau secara menyeluruh dan direferensi silang dengan RFC yang relevan, oleh ahli keamanan dengan pengalaman sebelumnya dengan RFC tersebut. Saya mencoba memvalidasi skeptisisme saya. Saya akhirnya membuktikan diri saya salah.

Perbandingan Timeline Pengembangan

  • Pengembangan dengan bantuan AI: Beberapa hari
  • Estimasi pengembangan manual: Beberapa minggu hingga bulan
  • Model AI yang digunakan: Claude Sonnet 3.7
  • Biaya pengembangan: Angka dua digit USD

Keterbatasan Pengembangan Berbantuan AI

Proyek ini mengungkapkan baik kekuatan maupun kelemahan dari kemampuan coding AI saat ini. Sementara AI unggul dalam mengimplementasikan standar yang terdokumentasi dengan baik seperti OAuth—di mana data pelatihan ekstensif ada—AI kesulitan dengan masalah baru dan skenario debugging yang kompleks. Varda mencatat bahwa bantuan AI kurang efektif ketika bekerja pada Workers Runtime itu sendiri, terutama untuk refactoring codebase kompleks yang sudah ada.

Keberhasilan proyek ini tampaknya sangat bergantung pada beberapa faktor: spesifikasi yang terdefinisi dengan baik (standar OAuth), ketersediaan data pelatihan yang ekstensif, dan yang paling penting, pengawasan manusia ahli sepanjang proses. Ini menunjukkan bahwa coding berbantuan AI mungkin paling efektif untuk mengimplementasikan pola yang sudah mapan daripada menciptakan solusi yang sepenuhnya baru.

Implikasi Masa Depan untuk Pengembangan Perangkat Lunak

Eksperimen Cloudflare menawarkan sekilas tentang bagaimana AI mungkin membentuk kembali praktik pengembangan perangkat lunak. Daripada menggantikan engineer sepenuhnya, teknologi ini tampak berkembang menjadi alat canggih yang dapat menangani tugas implementasi rutin sementara manusia fokus pada arsitektur, keputusan desain, dan jaminan kualitas.

Transparansi proyek dalam mendokumentasikan baik keberhasilan maupun kegagalan memberikan wawasan berharga bagi tim lain yang mempertimbangkan pendekatan serupa. Ini menunjukkan bahwa meskipun AI dapat secara signifikan mempercepat jenis pekerjaan pengembangan tertentu, kebutuhan akan engineer berpengalaman untuk membimbing, meninjau, dan memvalidasi output tetap sangat penting—terutama untuk komponen kritis keamanan seperti library autentikasi.

Seiring tools coding AI terus berkembang, library OAuth Cloudflare mungkin berfungsi sebagai studi kasus penting untuk menetapkan praktik terbaik dalam pengembangan perangkat lunak berbantuan AI, terutama untuk proyek di mana keamanan dan keandalan adalah persyaratan yang tidak dapat ditawar.

Referensi: Commits