
Bergabunglah dengan buletin harian dan mingguan kami untuk pembaruan terbaru dan konten eksklusif tentang liputan AI terkemuka di industri. Pelajari lebih lanjut
Model Bahasa Besar (LLM) mungkin telah mengubah pengembangan perangkat lunak, tetapi perusahaan perlu berpikir dua kali tentang sepenuhnya mengganti insinyur perangkat lunak manusia dengan LLM, meskipun CEO OpenAI Sam Altman klaim bahwa model dapat menggantikan insinyur “tingkat rendah”.
Dalam sebuah makalah baru, para peneliti Openai merinci bagaimana mereka mengembangkan tolok ukur LLM yang disebut SWE-Lancer untuk menguji berapa banyak model fondasi yang dapat diperoleh dari tugas rekayasa perangkat lunak lepas kehidupan nyata. Tes menemukan bahwa, sementara model dapat memecahkan bug, mereka tidak dapat melihat mengapa bug ada dan terus membuat lebih banyak kesalahan.
Para peneliti menugaskan tiga LLM-Openai's GPT-4O dan O1 dan Anthropic's Claude-3.5 Sonnet-dengan 1.488 tugas insinyur perangkat lunak lepas dari platform lepas Upwork sebesar $ 1 juta dalam pembayaran. Mereka membagi tugas menjadi dua kategori: tugas kontributor individu (menyelesaikan bug atau fitur implementasi), dan tugas manajemen (di mana model bermain sebagai manajer yang akan memilih proposal terbaik untuk menyelesaikan masalah).
“Hasil menunjukkan bahwa pekerjaan lepas dunia nyata dalam tolok ukur kami tetap menantang untuk model bahasa perbatasan,” tulis para peneliti.
Tes menunjukkan bahwa model pondasi tidak dapat sepenuhnya menggantikan insinyur manusia. Meskipun mereka dapat membantu memecahkan bug, mereka tidak cukup di tingkat di mana mereka dapat mulai mendapatkan uang lepas sendiri.
Benchmarking model lepas
Para peneliti dan 100 insinyur perangkat lunak profesional lainnya mengidentifikasi tugas-tugas potensial pada UPWork dan, tanpa mengubah kata-kata apa pun, memasukkannya ke wadah Docker untuk membuat dataset SWE-Lancer. Wadah tidak memiliki akses internet dan tidak dapat mengakses GitHub “untuk menghindari kemungkinan model mengikis diff atau detail permintaan tarik,” jelasnya.
Tim mengidentifikasi 764 tugas kontributor individu, dengan total sekitar $ 414.775, mulai dari perbaikan bug 15 menit hingga permintaan fitur selama seminggu. Tugas -tugas ini, yang termasuk meninjau proposal freelancer dan posting pekerjaan, akan membayar $ 585.225.
Tugas ditambahkan ke platform expensing dikeluarkan.
Para peneliti menghasilkan permintaan berdasarkan judul dan deskripsi tugas dan snapshot dari basis kode. Jika ada proposal tambahan untuk menyelesaikan masalah ini, “kami juga menghasilkan tugas manajemen menggunakan deskripsi masalah dan daftar proposal,” mereka menjelaskan.
Dari sini, para peneliti pindah ke pengembangan uji ujung ke ujung. Mereka menulis tes penulis naskah untuk setiap tugas yang menerapkan tambalan yang dihasilkan ini yang kemudian “diverifikasi tiga” oleh insinyur perangkat lunak profesional.
“Tes mensimulasikan aliran pengguna dunia nyata, seperti masuk ke dalam aplikasi, melakukan tindakan kompleks (membuat transaksi keuangan) dan memverifikasi bahwa solusi model berfungsi seperti yang diharapkan,” kertas menjelaskan.
Hasil tes
Setelah menjalankan tes, para peneliti menemukan bahwa tidak ada model yang mendapatkan nilai penuh $ 1 juta dari tugas. Claude 3.5 Sonnet, model berkinerja terbaik, hanya menghasilkan $ 208.050 dan menyelesaikan 26,2% dari masalah kontributor individu. Namun, para peneliti menunjukkan, “sebagian besar solusinya tidak benar, dan keandalan yang lebih tinggi diperlukan untuk penyebaran yang dapat dipercaya.”
Model berkinerja baik di sebagian besar tugas kontributor individu, dengan claude 3.5-sonnet berkinerja terbaik, diikuti oleh O1 dan GPT-4O.
“Agen unggul dalam pelokalan, tetapi gagal untuk membakar penyebab, yang mengakibatkan solusi parsial atau cacat,” laporan itu menjelaskan. “Agen menentukan sumber masalah dengan sangat cepat, menggunakan pencarian kata kunci di seluruh repositori untuk dengan cepat menemukan file dan fungsi yang relevan – seringkali jauh lebih cepat daripada manusia. Namun, mereka sering menunjukkan pemahaman yang terbatas tentang bagaimana masalah ini mencakup banyak komponen atau file, dan gagal mengatasi akar penyebabnya, yang mengarah ke solusi yang salah atau tidak cukup komprehensif. Kami jarang menemukan kasus di mana agen bertujuan untuk mereproduksi masalah atau gagal karena tidak menemukan file atau lokasi yang tepat untuk diedit. “
Menariknya, semua model berkinerja lebih baik pada tugas -tugas manajer yang membutuhkan penalaran untuk mengevaluasi pemahaman teknis.
Tes benchmark ini menunjukkan bahwa model AI dapat menyelesaikan beberapa masalah pengkodean “tingkat rendah” dan belum dapat menggantikan insinyur perangkat lunak “tingkat rendah”. Model masih membutuhkan waktu, sering membuat kesalahan, dan tidak bisa mengejar bug untuk menemukan akar penyebab masalah pengkodean. Banyak insinyur “tingkat rendah” bekerja lebih baik, tetapi para peneliti mengatakan ini mungkin tidak terjadi terlalu lama.