Templat Penyulingan Agen Pemrograman menggunakan agen pemrograman untuk memodifikasi kode nyata dalam sandbox remote, lalu memutar ulang perubahan tersebut guna menjalankan pengujian validasi. Templat ini menghasilkan set data SFT multi-putaran dalam format ShareGPT, yang cocok untuk melatih model kecil agar mampu mengidentifikasi masalah, memodifikasi kode, dan memverifikasi hasil dalam repositori kode dunia nyata.
Ikhtisar templat
Gunakan templat Penyulingan Agen Pemrograman untuk melatih model dengan kemampuan pemrograman. Agen pemrograman memodifikasi kode nyata dalam sandbox remote, dan perubahan tersebut kemudian diputar ulang serta diuji dalam sandbox bersih. Hanya lintasan (trajectory) yang perubahannya berhasil membuat pengujian lolos yang disimpan, menghasilkan set data SFT multi-putaran dalam format ShareGPT. Berbeda dengan penyulingan agen yang mensimulasikan pemanggilan alat, setiap langkah dalam pipa data ini mencakup eksekusi aktual dan pemeriksaan anti-kecurangan. Set data ini cocok untuk melatih model kecil agar mampu mengidentifikasi masalah, memodifikasi kode, dan memverifikasi hasil dalam repositori kode dunia nyata.
Templat ini hanya mendukung satu tahap: Distillation Data Build. Templat ini tidak mencakup tahap pelatihan model siswa.
Pipa templat Penyulingan Agen Pemrograman mencakup langkah-langkah berikut:
Langkah | Nama | Deskripsi |
1 | Sandbox execution | Membuat sandbox remote independen untuk setiap seed dan mengekstrak ruang kerjanya. Agen pemrograman kemudian memodifikasi kode sesuai deskripsi tugas, dan seluruh lintasan interaksi direkam. |
2 | Replay and test validation | Memutar ulang perubahan file dari lintasan dalam sandbox bersih dan menjalankan perintah validasi yang ditentukan oleh seed. Juga menjalankan pemeriksaan anti-kecurangan, seperti apakah file pengujian dimodifikasi, apakah semua kasus uji dilewati, atau apakah error lingkungan dihitung sebagai lolos. Menghasilkan skor dan kesimpulan. |
3 | Build the SFT dataset | Mengorganisasi lintasan yang lolos validasi menjadi sampel pelatihan percakapan multi-putaran dalam format ShareGPT. |
Prosedur
Masuk ke Konsol PAI. Di panel navigasi sebelah kiri, pilih Model Application > Model Distillation (ModelDistill).
Klik Create task untuk membuka tab Distillation Template, atau buka langsung tab Distillation Template.
Pilih Coding Agent Distillation dan klik Use Template untuk membuka halaman Create Distillation Task. Konfigurasikan parameter utama berikut dan biarkan nilai default untuk parameter lainnya.
Pada Basic Configuration, atur parameter berikut:
Task name: Bidang ini diisi otomatis oleh sistem.
Output Path: Tentukan path OSS yang memiliki izin akses, misalnya
oss://mybucket.oss-cn-hangzhou-internal.aliyuncs.com/coding-agent-distill/.CatatanBuat direktori output terpisah untuk setiap tugas penyulingan agar file tidak tertimpa. Bucket OSS harus berada di Wilayah yang sama dengan layanan PAI.
Klik Next untuk membuka Build distillation data:
Teacher model: Atur sumber ke Token Service dan pilih model guru (misalnya
qwen3.8-max). Jangan pilih model juri; model guru akan digunakan kembali sebagai model juri.Dataset: Pilih direktori OSS yang memiliki izin akses. Anda harus memilih seluruh direktori, bukan hanya file JSONL. Anda dapat langsung mengunduh dan menggunakan contoh yang tersedia.
Distillation Configuration: Konfigurasi default telah disediakan dan dapat dimodifikasi sesuai kebutuhan. Perhatikan parameter berikut:
coding_agent.harness.max_turns: Jumlah maksimum putaran interaksi untuk satu seed. Nilai default adalah 150. Konfigurasikan parameter ini bersamaan dengan timeout, karena agen memodifikasi kode dan menjalankan pengujian di sandbox pada setiap putaran.
coding_agent.sandbox.endpoint: Titik akhir Instant Service. Ganti placeholder
${EAS_SANDBOX_ENDPOINT}dengan titik akhir yang sebenarnya.coding_agent.sandbox.api_key: Token API Instant Service. Ganti placeholder
${EAS_SANDBOX_API_KEY}dengan token yang sebenarnya.CatatanInstant Service: Penyulingan Agen Pemrograman memerlukan Instant Service untuk menyediakan lingkungan eksekusi sandbox. Di panel navigasi sebelah kiri Konsol PAI, pilih Elastic Algorithm Service (EAS), lalu klik tab Instant Service. Setelah membuat Instant Service, gunakan templat publik atau templat kustom. Di pojok kanan atas halaman detail templat, klik SDK Access untuk mendapatkan titik akhir dan token API yang digunakan untuk mengganti
${EAS_SANDBOX_ENDPOINT}dan${EAS_SANDBOX_API_KEY}dalam konfigurasi penyulingan di atas. Untuk detailnya, lihat Instant Service - Getting Started.
Compute Resource: Atur Resource Type ke General Computing, atur Source ke Public Resources, dan pada Job Resource pilih Instance Type yang sesuai, seperti
ecs.c6.large.
Klik Create. Lalu, pada pengingat penagihan yang muncul, klik OK. Halaman akan secara otomatis dialihkan ke halaman konfigurasi dasar di detail tugas, tempat Anda dapat melacak status tugas.
Detail konfigurasi
Bagian berikut menjelaskan parameter konfigurasi utama templat Penyulingan Agen Pemrograman. Konfigurasi dasar dan konfigurasi resource sama dengan penyulingan umum, sehingga bagian ini hanya mencantumkan parameter yang spesifik untuk templat ini.
Konfigurasi dasar
Konfigurasi dasar mencakup dua pengaturan: nama tugas dan path output. Path output merupakan direktori root untuk semua output tugas. Set data penyulingan juga ditulis ke direktori ini, sehingga Anda tidak perlu menentukan path output set data secara terpisah.
Pembuatan data penyulingan
Model guru
Templat Penyulingan Agen Pemrograman memerlukan model guru berikut:
No. | Peran model | Deskripsi |
1 | Teacher model (wajib) | Digunakan untuk Inferensi Agen Pemrograman dan harness untuk menghasilkan lintasan. Pilih model dengan kemampuan pemrograman kuat yang mendukung konteks panjang dan pemanggilan alat. |
2 | Judge model (opsional) | Digunakan untuk menilai kualitas lintasan Agen Pemrograman. Jika bidang ini dibiarkan kosong, model guru akan digunakan kembali. (Disarankan) Tentukan model terpisah. |
Sumber model guru mendukung Token Service.
Set data
Pilih direktori input. Anda harus memilih seluruh direktori, bukan hanya file JSONL. Data harus memenuhi persyaratan format berikut:
File seed: seeds.jsonl. Setiap baris berisi satu tugas seed dengan bidang
id,instruction,workspace,test_cmd, dantest_files.Siapkan arsip ruang kerja untuk setiap seed. Path arsip diselesaikan dari path relatif dalam seeds.jsonl.
Anda harus memilih seluruh direktori input. Jika hanya memilih file seeds.jsonl, arsip tidak akan tersedia.
Konfigurasi penyulingan
Konfigurasi penyulingan disediakan dalam format YAML dan berisi nilai default yang direkomendasikan oleh tim algoritma. Sesuaikan nilainya sesuai kebutuhan. Tabel berikut menjelaskan beberapa parameter yang perlu diperhatikan.
Bagian konfigurasi | Deskripsi |
dataset |
|
backend |
|
coding_agent.harness | Harness agen pemrograman, yang mengontrol perilaku agen dan interaksi sandbox.
|
coding_agent.sandbox | Konfigurasi sandbox remote. Setiap seed mendapatkan instans terisolasi.
|
coding_agent.scoring | Mekanisme validasi dan penilaian, yang mengontrol penyaringan kualitas lintasan.
|
coding_agent.execution |
|