All Products
Search
Document Center

Platform For AI:Penyulingan Agen Pemrograman

Last Updated:Sep 30, 2026

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.

Penting

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

  1. Masuk ke Konsol PAI. Di panel navigasi sebelah kiri, pilih Model Application > Model Distillation (ModelDistill).

  2. Klik Create task untuk membuka tab Distillation Template, atau buka langsung tab Distillation Template.

  3. 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.

  4. 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/.

      Catatan

      Buat direktori output terpisah untuk setiap tugas penyulingan agar file tidak tertimpa. Bucket OSS harus berada di Wilayah yang sama dengan layanan PAI.

  5. 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.

        Catatan

        Instant 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.

  6. 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, dan test_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

  • input_path (default: seeds.jsonl): Path file seed input, dalam direktori mount input.

  • output_path (default: 04_merged.jsonl): Snapshot audit gabungan sebelum ekspor, termasuk lintasan yang tidak lolos validasi. Digunakan untuk ketertelusuran dan pembuatan pasangan preferensi. File ini harus terpisah dari file data pelatihan SFT; mengarahkan keduanya ke file yang sama akan diam-diam menimpa data pelatihan.

  • build_sft.output_path (default: outputs/handoff/03_sft_records.jsonl): Data SFT multi-putaran yang dapat dilatih dalam format ShareGPT, dihasilkan oleh tahap build_sft akhir.

backend

  • timeout (default: 1200.0): Waktu tunggu maksimum untuk satu permintaan, dalam detik. Nilai ini harus mencakup respons yang menggunakan max_tokens penuh, bukan respons rata-rata.

  • max_retries (default: 3): Jumlah upaya ulang tingkat jaringan untuk satu permintaan.

coding_agent.harness

Harness agen pemrograman, yang mengontrol perilaku agen dan interaksi sandbox.

  • type (default: cc): Jenis harness agen. Harus sesuai dengan image sandbox yang ditentukan oleh sandbox.template.

  • model (default: deepseek-v4-flash-0731): Model yang digunakan oleh agen pemrograman.

  • max_turns (default: 150): Jumlah maksimum putaran interaksi untuk satu seed.

  • timeout (default: 2400): Batas waktu jam dinding untuk satu seed, dalam detik. Konfigurasikan parameter ini bersamaan dengan max_turns, karena agen memodifikasi kode dan menjalankan pengujian di sandbox pada setiap putaran.

  • supervisor.hard_abort_elapsed_s (default: 1200): Ambang batas hard-abort untuk satu seed, dalam detik. Agen akan dipaksa dihentikan jika eksekusinya melebihi durasi ini.

coding_agent.sandbox

Konfigurasi sandbox remote. Setiap seed mendapatkan instans terisolasi.

  • endpoint (wajib): Titik akhir EAS Instant Service, dalam format https://api.<domain>. Ganti placeholder ${EAS_SANDBOX_ENDPOINT} dengan titik akhir yang sebenarnya.

  • api_key (wajib): Token API Instant Service, yang terpisah dari kredensial model guru. Ganti placeholder ${EAS_SANDBOX_API_KEY} dengan token yang sebenarnya.

  • template (default: coding-agents-harness-cc): Nama templat sandbox. Templat ini harus sudah ada di Instant Service Anda.

  • ttl (default: 3600): Masa aktif sandbox, dalam detik. Sandbox akan didaur ulang secara otomatis saat kedaluwarsa.

  • create_concurrency (default: 10): Jumlah maksimum sandbox yang dibuat secara konkuren. Saat meningkatkan skala batch, sesuaikan nilai ini bersamaan dengan execution.max_workers.

coding_agent.scoring

Mekanisme validasi dan penilaian, yang mengontrol penyaringan kualitas lintasan.

  • require_real_test (default: true): test_cmd harus benar-benar dijalankan di sandbox. Skor yang dinilai oleh LLM tidak diterima.

  • require_test_pass (default: true): Kode keluar test_cmd harus 0. Jika tidak, seluruh lintasan akan dibuang.

  • require_modification (default: true): Lintasan harus berisi modifikasi file aktual. Jika tidak, seluruh lintasan akan dibuang.

  • pass_threshold (default: 0.5): Skor minimum yang diperlukan untuk lolos validasi.

  • enable_judge (default: true): Menentukan apakah model juri LLM diaktifkan untuk penilaian tambahan. Model juri ditentukan oleh judge_model.

  • false_positive_check (default: true): Pemeriksaan anti-kecurangan gabungan. Memverifikasi apakah file pengujian dimodifikasi, apakah semua kasus uji dilewati, dan apakah error lingkungan dihitung sebagai lolos.

coding_agent.execution

  • max_workers (default: 10): Paralelisme tingkat seed, yang mengontrol jumlah seed yang dijalankan secara konkuren.