Universitas Princeton telah merilis agen SWE programmer AI open source pertama di dunia, yang didasarkan pada teknologi GPT-4 dan dapat secara otomatis memperbaiki bug di repositori GitHub. Agen SWE berkinerja baik pada set tes bangku SWE, berhasil menyelesaikan 12,29% masalah, membutuhkan waktu rata-rata hanya 93 detik, dan memiliki akurasi yang sebanding dengan pemrogram AI yang ada. Sifatnya yang open source memungkinkannya dengan cepat mendapatkan banyak perhatian, menunjukkan potensi besar AI di bidang rekayasa perangkat lunak. Artikel ini akan mempelajari prinsip kerja, kinerja, dan dampak agen SWE pada rekayasa perangkat lunak masa depan.
Universitas Princeton baru-baru ini meluncurkan pemrogram AI bernama SWE-agent, yang merupakan pemrogram AI sumber terbuka pertama di dunia yang didasarkan pada teknologi GPT-4 dan dapat secara otomatis memperbaiki bug di repositori GitHub. Kelahiran antarmuka agen-komputer ini menandai langkah penting dalam penerapan AI di bidang rekayasa perangkat lunak. Performa agen SWE pada set pengujian bangku SWE sangat mengesankan. Agen ini berhasil menyelesaikan 12,29% masalah, hanya membutuhkan waktu rata-rata 93 detik, dan akurasinya sebanding dengan programmer AI yang diluncurkan sebelumnya, Devin. Sifat open source dari agen SWE berarti ia dengan cepat memperoleh 1,6 ribu bintang dan 109 Fork di GitHub, menunjukkan tingginya pengakuan dan minat komunitas open source terhadap teknologi ini. Agen SWE bekerja dengan berinteraksi dengan terminal khusus, yang dapat membuka, menggulir dan mencari file, mengedit baris tertentu dan secara otomatis melakukan pemeriksaan sintaksis, menulis dan menjalankan tes. Desain ini mirip dengan UI yang dirancang untuk manusia, mencegah kesalahan dan memberikan umpan balik. Misalnya, ketika berhadapan dengan bug operasi matriks, agen SWE dapat mereproduksi masalah, menemukan kode masalah, melakukan modifikasi, dan berhasil menyelesaikan masalah. Peneliti Universitas Princeton merancang format instruksi dan umpan balik yang ringkas untuk agen SWE, sehingga memudahkan model untuk menelusuri repositori kode, melihat, mengedit, dan menjalankan file kode. Alur kerja agen SWE dibagi menjadi dua tahap: penalaran dan evaluasi. Pada fase penalaran, agen SWE menangani masalah di GitHub dan menghasilkan solusi perbaikan; pada fase evaluasi, agen ini mengonfirmasi apakah solusi tersebut benar-benar menyelesaikan masalah. Penulis inti penelitian ini, John Yang dan Carlos E. Jimenez, keduanya adalah asisten peneliti dan mahasiswa doktoral di Universitas Princeton. Minat penelitian mereka berfokus pada landasan bahasa, interaksi, pembandingan LLM, rekayasa perangkat lunak, dan pembuatan kode. Pekerjaan mereka menunjukkan potensi AI di bidang rekayasa perangkat lunak dan memicu pemikiran mendalam tentang peran dan kemampuan AI dan manusia dalam proses rekayasa. Dengan berkembangnya teknologi AI, kita telah melihat kemajuan AI di bidang pemrograman. Mereka tidak hanya dapat merencanakan dan melaksanakan tugas-tugas teknik yang kompleks, tetapi juga memperbaiki bug dan bertanggung jawab atas keseluruhan proses pengembangan proyek. Namun, terlepas dari kemajuan yang dicapai AI dalam penulisan kode aman, pengawasan manusia tetap penting. Meskipun kebangkitan AI belum mencapai tahap menggantikan sepenuhnya insinyur perangkat lunak, hal ini mengubah wajah dan arah masa depan bidang teknologi. Pemrogram AI sumber terbuka dari tim Princeton ini tidak hanya membawa prospek penelitian dan penerapan baru di bidang rekayasa perangkat lunak, tetapi juga memberi kita kesempatan untuk memikirkan tentang kerja sama antara kecerdasan buatan dan manusia untuk menciptakan masa depan. Seiring dengan kemajuan teknologi, kita mungkin melihat AI memainkan peran yang lebih penting dalam bidang rekayasa perangkat lunak.Munculnya agen SWE menandai tonggak baru dalam pemrograman yang dibantu AI. Meskipun pengawasan manusia masih diperlukan, potensinya dalam meningkatkan efisiensi pengembangan dan kualitas kode tidak dapat diabaikan. Di masa depan, kerja sama kolaboratif antara AI dan pemrogram manusia akan menjadi tren utama di bidang rekayasa perangkat lunak, yang bersama-sama mendorong kemajuan teknologi.