Rumah  >  Artikel  >  Peranti teknologi  >  Pengekod sangat gembira! Microsoft mencadangkan CodePlan untuk mengautomasikan tugas pengekodan LLM merentas 168 pangkalan kod

Pengekod sangat gembira! Microsoft mencadangkan CodePlan untuk mengautomasikan tugas pengekodan LLM merentas 168 pangkalan kod

WBOY
WBOYke hadapan
2023-10-04 20:29:06742semak imbas

Untuk model besar, mereka mahir dalam tugas pengekodan setempat.

Jika tugasan melibatkan berbilang fail saling bergantung, LLM tidak dapat menyelesaikan masalah

Microsoft Researcher A task rangka kerja rangkaian saraf bebas yang dipanggil CodePlan telah direka untuk tujuan ini 🎜#Alamat kertas: https://arxiv.org/pdf/2309.12499.pdf

Pengekod sangat gembira! Microsoft mencadangkan CodePlan untuk mengautomasikan tugas pengekodan LLM merentas 168 pangkalan kodDalam kertas, CodePlan menyepadukan rantaian penyuntingan berbilang langkah (rantaian-pengeditan) ), ialah kaedah baharu yang menggabungkan analisis program, perancangan dan LLM.

Mari kita lihat secara terperinci, bagaimana CodePlan direka?

CodePlan: Model Besar + Perancangan

Dalam aktiviti kejuruteraan perisian, seperti pemindahan pakej perisian pelaporan Ralat statik untuk analisis atau ujian, serta menambah petunjuk jenis atau spesifikasi lain pada asas kod, melibatkan pengeditan meresap keseluruhan repositori kod.

Penyelidik merancang aktiviti ini untuk mencapai "tugas pengekodan peringkat repositori"

Alat Pengekodan Sebagai contoh,Alat Pengekodan GitHub Copilot dan Code Whisperer telah mendapat sokongan daripada keupayaan model yang besar, menyediakan pengkod dengan penyelesaian kepada isu pengekodan setempat

Walau bagaimanapun, hakikatnya, " Tugas pengekodan peringkat repositori adalah lebih kompleks dan tidak boleh diselesaikan secara langsung oleh LLM, kerana kod dalam repositori saling bergantung dan keseluruhan repositori mungkin terlalu besar untuk disertakan 🎜🎜#Dalam penyelidikan ini, pasukan Microsoft menganggap rangka kerja pengekodan peringkat perpustakaan sebagai perancangan. masalah dan mencadangkan rangka kerja agnostik tugas yang dipanggil CodePlan.

CodePlan menggabungkan rantai edit berbilang langkah (pelan) di mana setiap langkah memanggil LLM pada lokasi kod. Konteks di lokasi kod itu datang daripada keseluruhan repositori, perubahan kod sebelumnya dan arahan khusus tugas.

CodePlan ialah gabungan baharu berdasarkan analisis kebergantungan tambahan, menukar kemungkinan analisis impak dan algoritma perancangan penyesuaian #🎜🎜 ##🎜🎜 #

Picture

Rajah berikut menunjukkan perubahan dalam API perpustakaan kompleks Penyelidik Microsoft ditugaskan untuk memindahkan pangkalan kod mengikut perubahan ini.

Picture

Sebelah kiri kod Bahagian 3 menunjukkan asas kod dan penggunaan Bahagian 3 berkaitan dengan perpustakaan kompleks Pengekod sangat gembira! Microsoft mencadangkan CodePlan untuk mengautomasikan tugas pengekodan LLM merentas 168 pangkalan kod

Secara khusus, fungsi kaedah dalam fail Create.cs memanggil kaedah create_complex dalam perpustakaan, dan kaedah Proses dalam fail Process.cs .cs panggilan func.

PicturePengekod sangat gembira! Microsoft mencadangkan CodePlan untuk mengautomasikan tugas pengekodan LLM merentas 168 pangkalan kod

Pengkaji menyerahkan huraian tugasan dan func body LLM untuk menjana kod fungsi yang diubah suai, seperti yang ditunjukkan di sebelah kanan Rajah 3 Ia mengembalikan objek jenis Kompleks dan bukannya tuple dua nilai titik terapung.

Perhatikan bahawa pengeditan ini mengakibatkan perubahan dalam tandatangan fungsi kaedah - ia kini mengembalikan objek jenis Kompleks.

Apa yang perlu diubah suai ialah: pemanggil func kaedah perlu diubah suai, seperti kaedah proses dalam fail Process.cs, seperti yang ditunjukkan di bahagian bawah sudut kiri Rajah 3. Tanpa pengubahsuaian yang sesuai pada badan kaedah proses, kod tidak akan dibina!

Pengekod sangat gembira! Microsoft mencadangkan CodePlan untuk mengautomasikan tugas pengekodan LLM merentas 168 pangkalan kod Bahagian bawah sebelah kanan Rajah 3 menunjukkan pengubahsuaian yang sesuai pada kaedah proses, yang boleh membawa repositori kepada keadaan yang konsisten supaya tidak akan berlaku ralat semasa penyusunan.

Tugas utama penyelidik adalah untuk mewujudkan "sistem pengekodan peringkat repositori" yang secara automatik boleh menjana spesifikasi terbitan yang diperlukan untuk penyuntingan

#🎜 🎜 #

Tugas pengekodan peringkat perpustakaan dipacu LLM ditakrifkan seperti berikut:

Pengekod sangat gembira! Microsoft mencadangkan CodePlan untuk mengautomasikan tugas pengekodan LLM merentas 168 pangkalan kodPicture

Dalam rangka kerja keseluruhan CodePlan, input termasuk repositori, arahan melalui bahasa semula jadi, atau set Edit kod awal menyatakan tugas pembenihan spesifikasi, oracle ketepatan dan LLM

CodePlan mencipta graf pelan di mana setiap nod mewakili kod LLM perlu melaksanakan tugas Mengedit, manakala tepi mewakili nod sasaran yang perlu dilaksanakan selepas nod sumber

CodePlan memantau suntingan kod dan mengembangkan graf pelan secara adaptif.

Setelah semua langkah dalam pelan telah selesai, repositori akan dianalisis oleh oracle. Jika Oracle mengesahkan repositori, tugas itu selesai. Jika ralat ditemui, laporan ralat berfungsi sebagai spesifikasi benih untuk pusingan seterusnya penjanaan dan pelaksanaan pelan.

Pengekod sangat gembira! Microsoft mencadangkan CodePlan untuk mengautomasikan tugas pengekodan LLM merentas 168 pangkalan kodPicture

Selain itu, algoritma CodePlanncy juga mengekalkan graf, Fig dependency . 4 menggambarkan struktur graf kebergantungan.

Pengekod sangat gembira! Microsoft mencadangkan CodePlan untuk mengautomasikan tugas pengekodan LLM merentas 168 pangkalan kodPicture

Refresh SOTA#🎜🎜🎜🎜🎜🎜🎜 # Penyelidik menilai keberkesanan CodePlan pada dua tugas peringkat repositori: migrasi pakej (C#) dan penyuntingan kod temporal (Python)

# 🎜🎜 #Setiap tugasan dinilai pada berbilang tugas asas kod, setiap satu memerlukan perubahan yang saling bergantung kepada berbilang fail (2-97 fail). Tidak pernah sebelum ini tahap kerumitan ini diautomasikan menggunakan LLM Hasil daripada tugas pengekodan

menunjukkan bahawa CodePlan lebih konsisten dengan kebenaran asas berbanding dengan garis dasar, membolehkan 5 /6 repositori untuk lulus semakan kesahihan seperti binaan bebas ralat dan penyuntingan kod yang betul, dan ketepatan yang dipertingkatkan

Pengekod sangat gembira! Microsoft mencadangkan CodePlan untuk mengautomasikan tugas pengekodan LLM merentas 168 pangkalan kodIa berjaya menangani banyak cabaran dan membuka kemungkinan baharu untuk cekap dan amalan kejuruteraan perisian yang boleh dipercayai#🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜#rujukan:#🎜🎜 ## 🎜🎜 ## 🎜🎜#https: //www.php.cn/link/23b1f559d8bd157d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0bd. 🎜##🎜 🎜#

Atas ialah kandungan terperinci Pengekod sangat gembira! Microsoft mencadangkan CodePlan untuk mengautomasikan tugas pengekodan LLM merentas 168 pangkalan kod. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam