- SWE-agent mengubah model bahasa (LM) seperti GPT-4 menjadi agen rekayasa perangkat lunak untuk memperbaiki bug dan isu di repositori GitHub nyata
- Menyelesaikan 12,29% isu di seluruh set pengujian SWE-bench, mencapai kinerja terbaik pada keseluruhan set pengujian
Antarmuka Agen-Komputer (ACI)
- Hasil ini dicapai dengan merancang perintah dan format umpan balik yang berpusat pada LM agar agen mudah menelusuri repositori, melihat file kode, mengedit, dan menjalankannya.
- Ini disebut antarmuka agen-komputer (ACI), dan repositori SWE-agent dibangun agar desain ACI untuk agen pengodean tingkat repositori dapat diiterasikan dengan mudah.
- Ditunjukkan bahwa desain ACI yang baik menghasilkan hasil yang jauh lebih baik saat menggunakan agen.
Pengaturan
- Instal Docker dan jalankan Docker secara lokal.
- Instal Miniconda dan buat environment
swe-agent dengan conda env create -f environment.yml.
- Aktifkan dengan
conda activate swe-agent.
- Jalankan
./setup.sh untuk membuat image Docker swe-agent.
- Buat file
keys.cfg di root repositori ini lalu masukkan API key dan token GitHub yang diperlukan.
Cara penggunaan
- Pipeline SWE-agent memiliki dua tahap. Tahap pertama adalah inferensi, yang menerima isu GitHub sebagai input dan mengembalikan pull request yang berupaya menyelesaikannya.
- Tahap kedua hanya tersedia untuk isu yang ada di benchmark SWE-bench, yaitu tahap evaluasi untuk memeriksa apakah pull request yang dihasilkan benar-benar menyelesaikan isu tersebut.
Evaluasi
- Tahap ini hanya tersedia untuk isu dalam set SWE-bench.
- Untuk mengevaluasi pull request yang dihasilkan, pindah ke direktori
evaluation/ lalu jalankan ./run_eval.sh .
Opini GN⁺
- SWE-agent memperluas kemungkinan otomasi dalam proses pengembangan perangkat lunak dengan menghadirkan pendekatan inovatif yang memanfaatkan model bahasa untuk menyelesaikan isu GitHub nyata.
- Teknologi ini berpotensi memungkinkan para pengembang lepas dari pekerjaan perbaikan bug yang berulang dan lebih fokus pada pemecahan masalah yang lebih kreatif dan kompleks.
- Dengan menekankan pentingnya desain ACI, hal ini menyoroti pentingnya perancangan antarmuka yang mengoptimalkan interaksi antara mesin dan manusia.
3 komentar
Kalau agent seperti itu bekerja sambil bertanya seperti ini kepada developer, sepertinya akan sangat bagus.
"Aku sudah mengubah langkah reproduksi yang dijelaskan di laporan bug menjadi kode uji untuk mereproduksi masalahnya. Mau lihat kode ini dan cek apakah pemahamanku sudah benar?"
"Daripada desain ini, kalau direfaktor seperti ini dan ini, sepertinya kita bisa mengurangi 20.312 baris kode di seluruh proyek, do you approve?"
Ini proyek open source yang menarik.
Opini Hacker News
Komentar tentang laporan bug:
Komentar tentang proyek:
Komentar tentang metodologi yang digunakan:
Komentar tentang AI dan pelacak bug:
Komentar tentang benchmark SWEbench:
Komentar tentang perbandingan demo:
Komentar tentang pekerjaan review:
Komentar tentang proyek serupa:
Komentar berisi saran untuk para penulis:
Komentar tentang kontribusi ke proyek open source: