Cara tim rekayasa perangkat lunak memanfaatkan AI
(refactoring.fm)- Alat coding berbasis AI berkembang pesat, dan meskipun beberapa pengembang individu meraih hasil yang luar biasa dengan AI, di tim rekayasa nyata hasilnya sering kali minim
- Ada 2 alasan utama di balik perbedaan hasil tersebut: "greenfield vs codebase besar", "single-player vs multiplayer"
- Karena itu, berikut prediksi tentang workflow coding baru untuk AI dan arah perkembangannya ke depan:
- Banyak perusahaan sedang merekrut lebih banyak engineer — terutama perusahaan yang bagus
- Tantangan terbesar adalah codebase skala besar — di sinilah nilai nyata diciptakan
- Robot vs Iron Man — perbedaan filosofi alat AI
- Optimasi kebahagiaan developer — penderitaan rutin apa yang bisa ditangani AI?
- Pelacakan kode AI adalah antipola — jangan tergoda untuk melacaknya
Penyebab perbedaan hasil
- Greenfield vs codebase besar
- Sebagian besar alat AI dioptimalkan untuk proyek baru (greenfield)
- Pada codebase lama, tingkat pemanfaatannya menurun
- Single-player vs multiplayer
- Workflow AI saat ini berpusat pada single-player
- Saat digunakan untuk kolaborasi tim, muncul masalah (konflik merge, penanganan konteks yang kompleks, dll.)
"Workflow AI cukup baik saat bekerja sendiri, tetapi ketika digunakan dalam tim, konflik sering terjadi dan menjadi tidak efisien."
Perusahaan unggul sedang merekrut lebih banyak engineer
- Prediksi bahwa kemajuan AI akan menurunkan permintaan engineer ternyata keliru
- Jika produktivitas meningkat berkat AI, pada akhirnya perekrutan engineer justru bertambah karena Paradoks Jevons
-
Respons organisasi terhadap adopsi AI
- Tim papan atas: produktivitas meningkat karena adopsi AI → merekrut engineer tambahan
- Tim rata-rata: tidak ada perubahan perekrutan karena birokrasi dan biaya koordinasi
- Tim bawah: teknologi hanya menjadi alat biasa → tim diperkecil untuk penghematan biaya
Masalah terbesar adalah codebase skala besar
- AI unggul dalam menyelesaikan masalah algoritmik, tetapi hasilnya buruk pada pekerjaan freelance nyata
- Kurangnya konteks adalah penyebab utama
- Cara menyampaikan konteks dari codebase:
- Fine-tuning → tidak dapat diprediksi dan mahal
- Memperluas context window → sulit menjamin akurasi
- RAG (Retrieval-Augmented Generation) → saat ini paling menjanjikan
RAG yang baik adalah kunci untuk memperluas alat coding AI
Robot vs Iron Man: perbedaan filosofi alat AI
- Alat otonom → bekerja seperti agen independen
- Menerima perintah di Slack lalu otomatis mengirim PR
- Contoh: Devin, Lindy
- Alat augmentatif → manusia memimpin pekerjaan dan alat berperan sebagai pendamping
- Digunakan sebagai alat bantu di IDE, dan PR akhir dikirim oleh manusia
- Contoh: Augment, Cursor
-
Strategi mana yang lebih unggul?
- Feedback loop → alat augmentatif bisa memperbaiki kesalahan lebih cepat
- Skalabilitas → alat otonom berisiko meningkatkan kompleksitas organisasi
- Pendekatan berpusat pada manusia → alat augmentatif berkembang ke arah memperkuat manusia
"AI harus menciptakan Avengers, bukan perang klon"
Optimasi untuk kebahagiaan developer
- Tim yang sukses berfokus pada kebahagiaan developer, bukan produktivitas
- Fokus pada penggunaan AI untuk mengurangi pekerjaan rutin yang menyiksa
- Toil yang dapat diselesaikan AI
- 1) Otomatisasi pengujian
- AI menulis kode pengujian → mengurangi beban kode boilerplate
- Imbalan untuk menulis spesifikasi lebih dulu meningkat → memudahkan penerapan TDD
- 2) Otomatisasi dokumentasi
- AI menulis komentar kode dan spesifikasi teknis → mengurangi beban pengelolaan dokumentasi
- AI dapat menjelaskan struktur dan perilaku kode → namun niat di balik penulisan kode tetap harus dijelaskan manusia
- 3) Peningkatan kualitas kode
- Dapat memeriksa gaya kode dan kerentanan keamanan
- Contoh alat AI: Augment, Packmind, Codacy
- 1) Otomatisasi pengujian
Pelacakan kode AI adalah antipola
- Jika AI bekerja secara otonom, pelacakan hasil kerja memang diperlukan
- Namun jika AI memperkuat manusia, membedakan kode AI dan kode manusia tidaklah bermakna
- Lebih efektif berfokus pada produktivitas dan kepuasan developer
Poin-poin utama
- Adopsi AI meningkatkan perekrutan engineer → peningkatan produktivitas memperluas perekrutan karena Paradoks Jevons
- AI perlu diadopsi untuk mode multiplayer → kolaborasi dalam tim perlu diperkuat
- Masalah codebase besar harus diselesaikan → penyediaan konteks adalah kuncinya
- Alat augmentatif lebih unggul daripada alat otonom → manusia memimpin dan AI membantu
- Optimasi kebahagiaan developer → kebahagiaan lebih penting daripada produktivitas
- Kebangkitan kembali TDD → AI meringankan beban penulisan pengujian
- Beban dokumentasi berkurang → AI menulis komentar kode dan spesifikasi teknis secara otomatis
- Peningkatan kualitas kode → AI memeriksa gaya kode dan masalah keamanan
- Pelacakan kode AI tidak bermakna → hasil sebaiknya dinilai dari produktivitas dan kepuasan keseluruhan
1 komentar
Saya agak sulit setuju dengan poin nomor 1.
Saya sangat sering merasakan hal ini. Soalnya, meski kami berusaha merekrut engineer yang bagus di perusahaan kecil, ternyata itu benar-benar tidak mudah.