Set data DeNovoSWE telah dikeluarkan untuk penghasilan kod jangka panjang

icon MarsBit
Kongsi
AI summary iconRingkasan

Dengan peningkatan berterusan kemampuan LLM Code Agent, semakin ramai penyelidik sedar bahawa masa telah tiba untuk melangkah ke peringkat seterusnya, iaitu tugas jangka panjang yang lebih dekat dengan keperluan skenario sebenar. Oleh itu, beberapa benchmark penilaian tugas jangka panjang telah muncul, seperti NL2RepoBench dan BeyondSWE. Harapan terhadap peranan Code Agent berubah secara beransur-ansur daripada penjaga repositori kepada arkitek, yang mampu merancang dan menyelesaikan tugas jangka panjang keseluruhan kod repositori.

Baru-baru ini, Sekolah Kecerdasan Buatan Gaoling, Universitas Renmin Tiongkok, telah menyelesaikan kajian berkaitan dan mengumumkan secara rasmi set data DeNovoSWE, yang berfokus pada tugas kejuruteraan perisian jangka panjang, terutamanya tugas menghasilkan kod peringkat repositori dari awal.

DeNovoSWE

Pautan kertas: https://arxiv.org/pdf/2606.10728

Pautan gudang: https://github.com/AweAI-Team/DeNovoSWE

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

Menggunakan mekanisme Divide & Conquer dan Critic & Repair untuk membina set data berkualiti tinggi, serta berjaya mencapai penskalaan tugas SWE jangka panjang, membina set data sumber terbuka berkualiti tinggi untuk tugas SWE jangka panjang yang mengandungi 4,818 data sebenar—prestasi ini menyediakan data berskala besar untuk latihan kemampuan jangka panjang Code Agent, serta meningkatkan secara ketara kemampuan Code Agent dalam tugas jangka panjang.

DeNovoSWE

Kertas ini juga menyediakan kaedah penyaringan berdasarkan kesukaran soalan, yang secara berkesan meringankan isu kompromi antara nisbah soalan sukar dan kualiti trajektori.

DeNovoSWE

Eksperimen menunjukkan bahawa Qwen3-30B-A3B-Instruct yang dilatih berdasarkan DeNovoSWE meningkat dari 5.8% kepada 47.2% pada BeyondSWE-Doc2Repo, dan dari 4.3% kepada 23.0% pada NL2RepoBench, menunjukkan peningkatan ketara dalam kemampuan generasi kod peringkat repositori berkat data jangka panjang.

Bina semula seluruh repositori daripada satu dokumen

Dalam setahun terakhir, dengan penskalaan data SWE berskala besar seperti Scale-SWE, agen kod telah membuat kemajuan pesat dalam tugas kejuruteraan perisian sebenar seperti SWE-bench. Namun, apabila model menjadi semakin mahir dalam “memperbaiki satu isu” atau “mengubah beberapa baris ralat”, satu soalan yang lebih penting mula muncul: Adakah agen benar-benar memiliki kemampuan kejuruteraan perisian jangka panjang? Berdasarkan keberkesanan model terkini seperti BeyondSWE-Doc2Repo dan NL2RepoBench, kesannya tidak begitu baik.

Pembangunan perisian dunia nyata sering kali bukan sekadar mengubah satu fungsi atau menambah satu penghujahan, tetapi memahami keperluan, merancang arsitektur, mencipta fail, merekabentuk API, mengurus ketergantungan, menghubungkan modul, dan akhirnya memastikan keseluruhan repositori berjalan dengan lancar dalam ujian.

Dengan kata lain, tantangannya ialah penghasilan peringkat repositori jangka panjang: bermula daripada dokumen tugas, menghasilkan repositori perisian yang lengkap, boleh dijalankan, dan boleh diverifikasi. Ini adalah masalah yang ingin diselesaikan oleh DeNovoSWE.

Dokumen tugas 'generate repository dari awal' berkualiti tinggi

Dalam penghasilan document-to-repository, dokumen bukan sekadar README atau senarai API yang mudah. Ia pada dasarnya adalah satu-satunya titik masuk untuk membina semula seluruh repositori secara pintar.

Sebuah dokumen tugas berkualiti tinggi sekurang-kurangnya perlu memenuhi dua piawaian utama.

Pertama, ia mesti teratur dengan baik.

Tugasan peringkat repositori secara alami kompleks, mengandungi beberapa modul, antaramuka, konfigurasi, struktur data, dan aliran interaksi. Jika dokumen hanya menghimpunkan penerangan fungsi secara berterusan, agen mudah tersesat dalam maklumat yang terpecah. Oleh itu, dokumen seharusnya memberikan gambaran keseluruhan repositori yang jelas terlebih dahulu, kemudian membahagikan bahagian-bahagian mengikut kemampuan atau aliran kerja, supaya setiap bahagian berkaitan dengan sempadan fungsi yang jelas.

Kedua, ia mesti berpangkalan daripada perspektif penilaian yang boleh dipercayai.

Dokumen tidak boleh terlalu sedikit, kerana ia akan menjadikan tugas sebagai masalah yang tidak ditakrifkan dengan baik, yang mungkin memaksa model untuk menebak secara sembarangan untuk lulus penilaian; juga tidak boleh terlalu banyak, kerana ia akan secara langsung mengungkap butiran pelaksanaan, menjadikan tugas kehilangan cabarannya.

Dokumen berkualiti tinggi sebenarnya harus menggambarkan perilaku kunci yang menjadi asas penilaian: termasuk path import, API awam, input dan output, parameter lalai, perilaku pengecualian, item konfigurasi, string mod, medan pulangan, dsb., serta menggambarkan fungsi secara umum yang perlu dilaksanakan. Dengan kata lain, dokumen harus cukup untuk membolehkan agen mereplikasi perilaku yang boleh diuji, tetapi tidak menjadi salinan kod pelaksanaan.

Ini juga merupakan pemikiran utama DeNovoSWE: menjadikan dokumen boleh dibaca, boleh dilaksanakan, dan boleh disahkan.

Metod DeNovoSWE

DeNovoSWE membina "penghasilan repositori penuh daripada dokumen" sebagai tugas kejuruteraan perisian jangka panjang yang besar dan boleh disahkan. Ia bukan dokumen yang ditulis secara manual, tetapi dibina secara automatik melalui aliran kerja multi-agent yang disekat. Keseluruhan kaedah ini boleh diringkaskan dalam dua langkah: Bahagikan dan Taklukkan.

Pada peringkat Divide, sistem menganalisis repositori sasaran terlebih dahulu, kemudian memecahkannya menjadi beberapa kemampuan repositori.

Setiap kemampuan berkaitan dengan kemampuan atau alur kerja utama dalam repositori, seperti autentikasi dan sambungan, pembacaan dan penulisan data, pemprosesan batch, proses eksport, dan sebagainya. Dengan cara ini, masalah penghasilan repositori yang besar dibahagikan kepada beberapa bahagian dokumen yang tersusun dengan jelas.

Sementara itu, DeNovoSWE akan menjalankan ujian unit asal dan mengumpulkan trace pelaksanaan, mengenal pasti fungsi, kelas, dan antara muka yang benar-benar mempengaruhi penilaian, serta membezakan komponen langsung, komponen tidak langsung utama, dan komponen tidak langsung bukan utama: antara muka yang dipanggil secara langsung oleh ujian mesti direkodkan secara terperinci; komponen tidak langsung utama yang mempengaruhi tingkah laku yang boleh diperhatikan juga perlu dicakup; manakala pelaksanaan dalaman bukan utama boleh dibiarkan kepada agen untuk dijalankan secara bebas.

Pada peringkat Conquer, DeNovoSWE menggunakan mekanisme Draft-Critic-Repair untuk menghasilkan dokumen secara berperingkat mengikut kemampuan. Agen Draft terlebih dahulu menulis draf awal; agen Critic memeriksa sama ada dokumen tersebut melewatkan API penting, perjanjian tingkah laku, atau maklumat struktur; kemudian agen Repair memperbaiki dokumen berdasarkan maklum balas. Perulangan ini berterusan sehingga setiap bahagian kemampuan cukup jelas, lengkap, dan selari dengan penilaian.

Akhirnya, dokumen kemampuan yang berbeza akan digabungkan menjadi satu dokumen tugas yang lengkap, sebagai satu-satunya asas untuk agen menghasilkan repositori dari awal.

Kesukaran: Mengapa ini tugas jangka panjang?

Kesukaran tugas DeNovoSWE datang daripada perubahan mendasar: ia bukan lagi pembaikan pada peringkat isu, tetapi penghasilan keseluruhan repositori.

Dalam tugas SWE tradisional, agen biasanya menghadapi repositori yang sudah ada, hanya perlu mengesan ralat, mengubah kod tempatan, dan lulus ujian.

Dalam DeNovoSWE, agen menghadapi persekitaran yang telah dibersihkan: kod sumber asal dan ujian telah dihapus, sejarah git telah diset semula, dan saluran kebocoran berpotensi seperti cache, sisa site-packages, pip wheel, dan hasil kompilasi sementara juga telah dibersihkan. Ini bermakna agen mesti benar-benar bergantung pada dokumen untuk membangun semula keseluruhan repositori. Ia perlu merancang struktur projek, mencipta fail modul, mentakrif antaramuka awam, melaksanakan interaksi antarafail, mengendalikan kebergantungan dan konfigurasi, serta memperbaiki ralat secara berterusan melalui beberapa putaran pengeditan dan maklum balas ujian.

Sebarang penyimpangan dalam tanda tangan API, medan pulangan, jenis pengecualian, atau perilaku lalai boleh menyebabkan ujian gagal. Ralat juga akan berakumulasi sepanjang proses jangka panjang: satu modul yang direka dengan tidak tepat pada peringkat awal boleh mempengaruhi beberapa fail dan rantai panggilan seterusnya.

Untuk mengatasi perbezaan kesukaran antara repositori yang berbeza, DeNovoSWE juga mengusulkan penapisan trajektori yang peka terhadap kesukaran. Dengan kata mudah, tugas yang mudah harus memerlukan kadar kejayaan yang lebih tinggi, manakala tugas yang sukar tidak boleh dibuang sepenuhnya hanya kerana gagal mencapai skor sempurna. DeNovoSWE menetapkan ambang penapisan yang berbeza untuk setiap julat kesukaran berdasarkan kompleksiti struktur dan penilaian kesukaran LLM, dengan tujuan mencapai keseimbangan antara kualiti dan pelbagai.

Ini sangat penting untuk tugas jangka panjang: semakin kompleks gudang tersebut, semakin sukar untuk lulus semua ujian secara sekali gus, tetapi lintasan-lintasan gudang yang sukar, skor rendah, dan kejayaan separuh masih mengandungi kemampuan perancangan dan pelaksanaan jangka panjang yang berharga.

DeNovoSWE

Keputusan ujian

DeNovoSWE akhirnya membina 4818 contoh tugas document-to-repository berkualiti tinggi. Ia merupakan persekitaran kejuruteraan perisian jangka panjang yang boleh dieksekusi, dinilai, dan dilatih.

DeNovoSWE

DeNovoSWE

Keputusan eksperimen menunjukkan bahawa DeNovoSWE secara signifikan meningkatkan kemampuan model dalam menghasilkan repositori jangka panjang. Pada Qwen3-30B-A3B-Instruct, model asal hanya mencapai 5.8% di BeyondSWE-Doc2Repo dan 4.3% di NL2RepoBench. Penggunaan data SWE tahap isu biasa untuk melatih Scale-SWE-Agent dapat meningkatkan prestasi menjadi 29.2% dan 18.3%, yang menunjukkan bahawa data SWE biasa memang mempunyai kesan pemindahan. Namun, apabila model dilatih menggunakan DeNovoSWE, prestasi meningkat lebih lanjut kepada 47.2% dan 23.0%.

Ini menunjukkan bahawa data yang ditujukan untuk「memperbaiki ralat」tidak boleh menggantikan sepenuhnya data jangka panjang yang ditujukan untuk「menghasilkan repositori lengkap». Untuk membolehkan agen benar-benar mempelajari kejuruteraan aras repositori, persekitaran latihan perlu dibina secara khusus untuk tugas jangka panjang.

Di atas backbone Qwen3.5-35B-A3B yang lebih kuat, DeNovoSWE juga memberikan pulangan yang stabil: BeyondSWE-Doc2Repo meningkat dari 43.8% kepada 50.0%, dan NL2RepoBench meningkat dari 23.5% kepada 27.1%. Ini semakin menunjukkan bahawa keuntungan DeNovoSWE bukan sekadar kesesuaian kebetulan terhadap satu model tertentu, tetapi berasal daripada data jangka panjang berkualiti tinggi itu sendiri.

Penutup

Tahap seterusnya bagi agen kod bukan sahaja memperbaiki isu individu dengan lebih pantas, tetapi mampu memahami dokumen, merancang arsitektur, mengatur modul, melaksanakan antaramuka, dan akhirnya menghasilkan repositori perisian yang lengkap dan berfungsi.

DeNovoSWE secara sistematik membina set data yang boleh dilatih, boleh disahkan, dan boleh dikembangkan untuk tujuan ini. Ia menjawab soalan utama: data macam apa yang benar-benar mampu melatih agen dengan kemampuan kejuruteraan perisian jangka panjang?

Jawapannya bukan lebih banyak kod yang terpecah-pecah, bukan juga soalan yang lebih mudah, tetapi tugas penghasilan seluruh repositori yang berkualiti tinggi, berstruktur, selari dengan penilaian, dan anti-bocor.

Mulailah dengan satu dokumen, dan bangun semula keseluruhan repository. Ini adalah ambang yang perlu dilalui oleh agen kod jangka panjang.

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

Artikel ini berasal daripada akaun微信公众号 "Sinzhiyuan", disunting oleh: LRST

Penafian: Maklumat yang terdapat pada halaman ini mungkin telah diperoleh daripada pihak ketiga dan tidak semestinya menggambarkan pandangan atau pendapat KuCoin. Kandungan ini adalah disediakan bagi tujuan maklumat umum sahaja, tanpa sebarang perwakilan atau waranti dalam apa jua bentuk, dan juga tidak boleh ditafsirkan sebagai nasihat kewangan atau pelaburan. KuCoin tidak akan bertanggungjawab untuk sebarang kesilapan atau pengabaian, atau untuk sebarang akibat yang terhasil daripada penggunaan maklumat ini. Pelaburan dalam aset digital boleh membawa risiko. Sila menilai risiko produk dan toleransi risiko anda dengan teliti berdasarkan keadaan kewangan anda sendiri. Untuk maklumat lanjut, sila rujuk kepada Terma Penggunaan dan Pendedahan Risiko kami.