Dataset DeNovoSWE Dirilis untuk Generasi Kode Jangka Panjang

icon MarsBit
Bagikan
AI summary iconRingkasan

Seiring dengan peningkatan kemampuan LLM Code Agent, semakin banyak peneliti yang menyadari bahwa saatnya untuk melangkah ke tahap berikutnya: tugas jangka panjang yang lebih mendekati kebutuhan skenario nyata. Muncul berbagai benchmark untuk mengevaluasi tugas jangka panjang, seperti NL2RepoBench dan BeyondSWE. Harapan terhadap peran Code Agent secara bertahap berubah dari pemelihara repositori menjadi arsitek, yang mampu merencanakan dan menyelesaikan tugas jangka panjang seluruh kode dalam repositori.

Baru-baru ini, Sekolah Kecerdasan Buatan Gaoling, Universitas Renmin Tiongkok, menyelesaikan penelitian terkait dan secara resmi meluncurkan dataset DeNovoSWE, yang berfokus pada tugas rekayasa perangkat lunak jangka panjang, khususnya tugas generasi kode tingkat repositori dari nol.

DeNovoSWE

Tautan makalah: https://arxiv.org/pdf/2606.10728

Tautan repositori: https://github.com/AweAI-Team/DeNovoSWE

Tautan data: https://huggingface.co/collections/AweAI-Team/denovoswe

Membangun kumpulan data berkualitas tinggi melalui mekanisme Divide & Conquer dan Critic & Repair, serta berhasil mencapai Scaling untuk tugas SWE jangka panjang, menciptakan kumpulan data open-source berkualitas tinggi untuk tugas SWE jangka panjang yang mencakup 4.818 data nyata—prestasi ini menyediakan data berskala besar untuk pelatihan kemampuan jangka panjang Code Agent, secara signifikan meningkatkan kemampuan Code Agent dalam tugas jangka panjang.

DeNovoSWE

Paper tersebut juga menyediakan metode penyaringan berdasarkan kesulitan soal, yang secara efektif meredakan masalah kompromi antara proporsi soal sulit dan kualitas trajektori.

DeNovoSWE

Hasil eksperimen menunjukkan bahwa Qwen3-30B-A3B-Instruct yang dilatih berdasarkan DeNovoSWE meningkat dari 5,8% menjadi 47,2% di BeyondSWE-Doc2Repo, dan dari 4,3% menjadi 23,0% di NL2RepoBench, menunjukkan peningkatan signifikan dalam kemampuan generasi kode tingkat repositori berkat data jangka panjang.

Mulai ulang seluruh repositori dari sebuah dokumen

Dalam setahun terakhir, seiring dengan scaling data SWE skala besar seperti Scale-SWE, agen kode telah membuat kemajuan cepat dalam tugas rekayasa perangkat lunak nyata seperti SWE-bench. Namun, setelah model menjadi semakin ahli dalam "memperbaiki satu issue" atau "mengubah beberapa baris bug", muncul pertanyaan yang lebih krusial: apakah agen benar-benar memiliki kemampuan rekayasa perangkat lunak jangka panjang? Berdasarkan kinerja model terkini seperti BeyondSWE-Doc2Repo dan NL2RepoBench, hasilnya belum optimal.

Pengembangan perangkat lunak di dunia nyata sering kali bukan sekadar mengubah satu fungsi atau menambahkan satu kondisi, melainkan memahami kebutuhan, merencanakan arsitektur, membuat file, merancang API, menangani dependensi, mengintegrasikan modul, dan akhirnya membuat seluruh repositori berjalan lancar dalam pengujian.

Dengan kata lain, tantangannya adalah generasi tingkat repositori jangka panjang: dari sebuah dokumen tugas, menghasilkan repositori perangkat lunak yang lengkap, dapat dijalankan, dan dapat diverifikasi. Inilah masalah yang ingin dipecahkan oleh DeNovoSWE.

Dokumen tugas 'generate repository dari awal' berkualitas tinggi

Dalam generasi document-to-repository, dokumen bukan hanya README, bukan pula daftar API sederhana. Ia pada dasarnya adalah satu-satunya titik masuk untuk merekonstruksi seluruh repositori secara cerdas.

Sebuah dokumen tugas berkualitas tinggi setidaknya harus memenuhi dua standar inti.

Pertama, itu harus terorganisir dengan baik.

Tugas tingkat repositori secara alami kompleks, mencakup beberapa modul, antarmuka, konfigurasi, struktur data, dan alur interaksi. Jika dokumentasi hanya mengumpulkan penjelasan fungsi secara terpisah, agen mudah tersesat dalam informasi yang terpecah-pecah. Oleh karena itu, dokumentasi sebaiknya terlebih dahulu memberikan gambaran umum repositori yang jelas, lalu membagi bab-babnya berdasarkan kemampuan atau alur kerja, sehingga setiap bagian sesuai dengan batasan fungsional yang jelas.

Kedua, ia harus berangkat dari sudut pandang evaluasi yang dapat dipercaya.

Dokumen tidak boleh terlalu sedikit, karena akan membuat tugas menjadi masalah yang tidak terdefinisi dengan baik, sehingga model mungkin harus menebak-tebak tanpa arah untuk lulus evaluasi; juga tidak boleh terlalu banyak, karena akan langsung mengungkapkan detail implementasi, membuat tugas kehilangan tantangannya.

Dokumen berkualitas tinggi seharusnya menggambarkan perilaku kunci yang menjadi dasar evaluasi: termasuk path impor, API publik, input dan output, parameter default, perilaku pengecualian, opsi konfigurasi, string pola, bidang pengembalian, dll., serta menjelaskan fungsionalitas secara umum yang perlu diselesaikan. Dengan kata lain, dokumen harus cukup memadai agar agen dapat mereproduksi perilaku yang dapat diuji, tetapi tidak menjadi salinan kode implementasi.

Ini juga merupakan inti dari DeNovoSWE: membuat dokumen dapat dibaca, dapat diimplementasikan, dan dapat diverifikasi.

Metode DeNovoSWE

DeNovoSWE merancang "membangun repositori lengkap dari dokumen" sebagai tugas rekayasa perangkat lunak jangka panjang yang berskala besar dan dapat diverifikasi. Bukan dokumen yang ditulis secara manual, tetapi dibangun secara otomatis melalui alur kerja multi-agent yang di-sandbox untuk menghasilkan contoh berkualitas tinggi. Seluruh metode ini dapat dirangkum dalam dua langkah: Divide dan Conquer.

Pada tahap Divide, sistem terlebih dahulu menganalisis repositori target, lalu memecahnya menjadi beberapa repository capabilities.

Setiap capability sesuai dengan kemampuan inti atau alur kerja di dalam repositori, misalnya otentikasi dan koneksi, pembacaan dan penulisan data, pemrosesan batch, proses ekspor, dll. Dengan demikian, masalah generasi repositori yang besar dibagi menjadi beberapa bab dokumen yang terstruktur dengan jelas.

Sementara itu, DeNovoSWE akan menjalankan pengujian unit asli dan mengumpulkan trace eksekusi, mengidentifikasi fungsi, kelas, dan antarmuka mana yang benar-benar memengaruhi evaluasi, serta lebih lanjut membedakan komponen langsung, komponen tidak langsung inti, dan komponen tidak langsung non-inti: antarmuka yang secara langsung dipanggil oleh pengujian harus didokumentasikan secara rinci; komponen tidak langsung inti yang memengaruhi perilaku yang dapat diamati juga perlu dicakup; sedangkan implementasi internal non-inti dapat dibiarkan menjadi ruang bagi agen untuk berkreasi.

Pada tahap Conquer, DeNovoSWE menggunakan mekanisme Draft-Critic-Repair untuk menghasilkan dokumen secara berurutan berdasarkan kemampuan. Agen Draft terlebih dahulu menulis draf awal; Agen Critic memeriksa apakah dokumen tersebut melewatkan API kunci, kontrak perilaku, atau informasi struktural; kemudian Agen Repair memperbaiki dokumen berdasarkan umpan balik tersebut. Siklus ini berulang secara terus-menerus hingga setiap bab kemampuan cukup jelas, lengkap, dan selaras dengan evaluasi.

Akhirnya, dokumen-dokumen kemampuan yang berbeda akan digabungkan menjadi satu dokumen tugas lengkap, sebagai satu-satunya dasar bagi agen untuk menghasilkan repositori dari nol.

Tingkat kesulitan: Mengapa ini merupakan tugas jangka panjang?

Tingkat kesulitan tugas DeNovoSWE berasal dari perubahan mendasar: bukan lagi perbaikan berbasis issue, tetapi generasi seluruh repositori.

Dalam tugas SWE tradisional, agen biasanya menghadapi repositori yang sudah ada, hanya perlu menemukan bug, mengubah kode lokal, dan lulus pengujian.

Di DeNovoSWE, agen menghadapi lingkungan yang telah dibersihkan: kode sumber asli dan pengujian dihapus, riwayat git direset, dan saluran kebocoran potensial seperti cache, sisa site-packages, pip wheel, serta produk kompilasi sementara juga dibersihkan. Ini berarti agen harus benar-benar mengandalkan dokumentasi untuk membangun ulang seluruh repositori. Agen perlu merencanakan struktur proyek, membuat file modul, mendefinisikan antarmuka publik, mengimplementasikan interaksi lintas berkas, menangani dependensi dan konfigurasi, serta terus memperbaiki kesalahan melalui beberapa siklus pengeditan dan umpan balik pengujian.

Setiap penyimpangan pada tanda tangan API, bidang respons, jenis pengecualian, atau perilaku default dapat menyebabkan kegagalan pengujian. Kesalahan juga dapat terakumulasi sepanjang proses jangka panjang: sebuah modul yang dirancang tidak tepat sejak awal dapat memengaruhi beberapa file dan rantai pemanggilan berikutnya.

Untuk menangani perbedaan kesulitan antar repositori, DeNovoSWE juga mengusulkan difficulty-aware trajectory filtering. Secara sederhana, tugas yang mudah seharusnya memerlukan tingkat kelulusan yang lebih tinggi, sementara tugas yang sulit tidak boleh dibuang seluruhnya hanya karena tidak mencapai skor sempurna. DeNovoSWE menetapkan ambang filter yang berbeda untuk berbagai tingkat kesulitan berdasarkan kompleksitas struktural dan penilaian kesulitan LLM, sehingga mencapai keseimbangan antara kualitas dan keragaman.

Ini sangat penting untuk tugas jangka panjang: semakin kompleks gudangnya, semakin sulit untuk lulus semua tes sekaligus, tetapi jalur-jalur dengan gudang sulit, skor rendah, atau keberhasilan sebagian tetap mengandung kemampuan perencanaan dan implementasi jangka panjang yang berharga.

DeNovoSWE

Hasil eksperimen

DeNovoSWE akhirnya membangun 4.818 contoh tugas document-to-repository berkualitas tinggi. Merupakan lingkungan rekayasa perangkat lunak jangka panjang yang dapat dieksekusi, dievaluasi, dan dilatih.

DeNovoSWE

DeNovoSWE

Hasil eksperimen menunjukkan bahwa DeNovoSWE secara signifikan meningkatkan kemampuan model dalam menghasilkan repositori jangka panjang. Pada Qwen3-30B-A3B-Instruct, model asli hanya mencapai 5,8% di BeyondSWE-Doc2Repo dan 4,3% di NL2RepoBench. Dengan pelatihan menggunakan data SWE tingkat issue biasa, Scale-SWE-Agent dapat meningkatkan performa menjadi 29,2% dan 18,3%, yang menunjukkan bahwa data SWE biasa memang memiliki efek transfer. Namun, ketika model dilatih dengan DeNovoSWE, performa meningkat lebih lanjut menjadi 47,2% dan 23,0%.

Ini menunjukkan bahwa data yang berfokus pada "memperbaiki bug" tidak dapat sepenuhnya menggantikan data jangka panjang yang berfokus pada "menghasilkan repositori lengkap". Untuk membuat agen benar-benar memahami rekayasa tingkat repositori, diperlukan lingkungan pelatihan yang secara khusus dibangun untuk tugas jangka panjang.

Pada backbone Qwen3.5-35B-A3B yang lebih kuat, DeNovoSWE juga memberikan keuntungan stabil: BeyondSWE-Doc2Repo meningkat dari 43,8% menjadi 50,0%, dan NL2RepoBench meningkat dari 23,5% menjadi 27,1%. Ini semakin menunjukkan bahwa keuntungan DeNovoSWE bukanlah hasil adaptasi kebetulan terhadap satu model tertentu, melainkan berasal dari data jangka panjang berkualitas tinggi itu sendiri.

Penutup

Tahap selanjutnya dari agen kode bukan hanya memperbaiki satu issue lebih cepat, tetapi mampu memahami dokumentasi, merencanakan arsitektur, mengorganisasi modul, mengimplementasikan antarmuka, dan akhirnya menghasilkan repositori perangkat lunak yang lengkap dan dapat dijalankan.

DeNovoSWE secara sistematis merancang target ini menjadi dataset yang dapat dilatih, diverifikasi, dan diskalakan. Ini menjawab pertanyaan kunci: data seperti apa yang benar-benar dapat melatih agen dengan kemampuan rekayasa perangkat lunak jangka panjang?

Jawabannya bukan lebih banyak kode terfragmentasi, bukan pula soal yang lebih sederhana, tetapi tugas generasi seluruh repositori berkualitas tinggi, terstruktur, selaras dengan evaluasi, dan anti-bocor.

Mulailah dengan sebuah dokumen, lalu bangun kembali seluruh repository. Ini adalah ambang batas yang harus dilalui oleh agen kode jangka panjang.

Referensi: https://arxiv.org/pdf/2606.10728

Artikel ini berasal dari akun WeChat "Sinzhiyuan", diedit oleh: LRST

Penafian: Informasi pada halaman ini mungkin telah diperoleh dari pihak ketiga dan tidak mencerminkan pandangan atau opini KuCoin. Konten ini disediakan hanya untuk tujuan informasi umum, tanpa representasi atau jaminan apa pun, dan tidak dapat ditafsirkan sebagai saran keuangan atau investasi. KuCoin tidak bertanggung jawab terhadap segala kesalahan atau kelalaian, atau hasil apa pun yang keluar dari penggunaan informasi ini. Berinvestasi di aset digital dapat berisiko. Harap mengevaluasi risiko produk dan toleransi risiko Anda secara cermat berdasarkan situasi keuangan Anda sendiri. Untuk informasi lebih lanjut, silakan lihat Ketentuan Penggunaan dan Pengungkapan Risiko.