Halaman ini diterjemahkan dari dokumentasi bahasa Inggris. Perintah, pengenal, dan contoh tidak diubah. Runtime 7.24.4 · SDK 2.6.7. Sumber bahasa Inggris
Kendali harness dan evaluasi terverifikasi
Status: Aktif
Cakupan: kondisi terkini
Terakhir ditinjau: 2026-09-14
Pemilik: runtime ax-code
Untuk upaya khusus model, sakelar berpikir, dan pemutaran ulang penalaran, lihat kendali penalaran model saat ini.
Kendali konteks dan alat opsional
Aktifkan setiap eksperimen secara mandiri dalam konfigurasi AX Code Anda:
{
"experimental": {
"context_recovery": true,
"mcp_tool_discovery": true,
"tail_reminders": true,
"read_only_recipes": true
}
}
Keempat opsi bawaan mati. Ukur keberhasilan tugas dan waktu yang berlalu dengan model Anda sebelum mengadopsi semuanya bersama-sama. Mereka mempertahankan izin alat dan pengaturan isolasi yang sudah ada. Lihat diagnostik kinerja.
context_recovery mengekspos context_recover dan menambahkan penunjuk sumber ke ringkasan pemadatan yang berhasil. Alat itu
menerima kata kunci, ID pesan, ID bagian opsional, dan batas hasil. Ia hanya membaca sesi saat ini, termasuk
riwayat pra-pemadatan, dan mengecualikan materi yang dikembalikan, penalaran tersembunyi, serta teks yang diabaikan atau sintetis. Ia mengembalikan
ID pesan/bagian asli dan kutipan yang dibatasi. Pencarian memindai paling banyak 100 bagian per halaman dan 16.000 karakter pertama
dari setiap bagian; before berlanjut ke bagian yang lebih lama. Kecocokan yang hilang bukan bukti bahwa seluruh riwayat tidak memiliki teks itu.
Cabang memakai riwayat salinan mereka dan ID baru. Penetapan kredensial disunting dari kutipan.
mcp_tool_discovery menjaga alat bawaan tetap tersedia dan memperkenalkan tool_search untuk alat MCP yang tersambung. Sebuah pencarian
mengembalikan hingga lima skema yang cocok dan membuat alat itu tersedia pada permintaan model berikutnya. Ia tidak mengeksekusi
mereka. Pilihan dicakup ke sesi, dibatasi 32 alat, dan dipotong dengan penerimaan saat ini pada setiap permintaan.
Skema besar dapat dihilangkan dari hasil pencarian dan dimuat pada permintaan berikutnya. Jika tool_search ditolak,
katalog MCP yang diterima secara biasa tetap tersedia. Alat yang sudah ada dan bertentangan bernama tool_search menghasilkan kesalahan.
tail_reminders hanya memindahkan pengingat giliran dinamis yang dihasilkan AX Code ke akhir permintaan penyedia. Pesan pengguna
yang tersimpan, penalaran asisten, riwayat alat, dan instruksi statis tetap tidak berubah. Ini dapat mengubah perilaku model
dan pemakaian cache; ia tidak dengan sendirinya menetapkan peningkatan kecepatan.
read_only_recipes mengekspos read_recipe. Ia menjalankan hingga delapan panggilan read, glob, atau grep yang bergantung melalui
pengirim alat biasa. Setiap anak memiliki pemeriksaan izin, hook, pembatalan, dan bukti sesi sendiri. Sebuah resep
tidak dapat mengevaluasi kode, menjalankan perintah shell, menulis berkas, memanggil alat MCP, atau menyarangkan resep lain.
{
"steps": [
{ "id": "files", "tool": "glob", "parameters": { "pattern": "src/**/*.ts" } },
{
"id": "source",
"tool": "read",
"parameters": { "filePath": { "$ref": { "step": "files", "path": ["paths", 0] } } }
}
],
"select": [{ "step": "source", "path": ["text"] }]
}
Hasil glob kanonis berisi paths dan truncated; hasil grep berisi matches dengan path, line, text;
hasil baca berisi kind, text yang dirender, dan truncated. Pilih hasil sebelumnya berdasarkan langkah dan jalur
properti sendiri. Pilihan larik mendukung filter contains harfiah dan limit. Periksa status yang dikembalikan dan pemotongan.
Resep memiliki batas pembatalan 60 detik, anggaran argumen 32KB, anggaran antara 192KB, dan keluaran akhir yang dibatasi.
Pembatalan menunggu alat yang dimiliki selesai. Instruksi repositori atau media baru menjeda eksekusi dan
mempertahankan keluaran anak biasa agar model melihatnya sebelum melanjutkan. Pilihan yang berhasil mengganti keluaran antara
hanya dalam permintaan model; catatan anak asli tetap dalam riwayat. Induk yang terputus mempertahankan keluaran anak.
Koreksi generasi yang sedang berjalan
GET /session/{sessionID}/steering mengembalikan UUID generasi aktif dan tanda terima terkini. Sertakan parameter kueri
directory yang sudah ada saat memilih proyek melalui server HTTP.
Kirim POST /session/{sessionID}/steering dengan:
{
"expectedGeneration": "00000000-0000-4000-8000-000000000001",
"clientID": "correction_1",
"text": "Preserve the existing public function signature."
}
Pakai UUID dari GET, bukan UUID contoh. accepted berarti koreksi tertunda. applied berarti ia
ditulis sebagai pesan pengguna pada batas putaran dan mencakup ID pesannya; itu tidak menjamin penyelesaian penyedia.
rejected berarti ia tidak diterapkan. Hook siklus hidup dapat memveto penerimaan. Koreksi yang diterima memperpanjang generasi
yang hampir selesai sebanyak satu iterasi lagi, jadi koreksi yang dikirim di garis akhir diterapkan alih-alih
ditolak; pembatalan dan kesalahan tetap menolak koreksi tertunda, dan generasi lama tidak dapat menerima teks untuk
penerusnya. Percobaan ulang yang identik mengembalikan tanda terima yang sama yang dipertahankan; konten berbeda di bawah ID klien yang sudah ada mengembalikan
HTTP 409. Gestur kirim-sekarang TUI ctrl+s memakai titik akhir ini.
Panggilan alat paralel dalam satu langkah
Bila model memancarkan beberapa panggilan alat dalam satu pesan asisten, runtime mengeksekusinya secara bersamaan melalui
gerbang pembaca/penulis yang dicakup sesi. Alat hanya-baca berbagi lajur dan tumpang tindih; suntingan berkas, bash, bash_input,
suntingan notebook, ops_apply, alat MCP, dan batch apa pun yang berisi anak yang tidak aman untuk konkurensi mengambil lajur eksklusif
dan berjalan sendiri sesuai urutan kedatangan. Panggilan yang digugurkan saat menunggu tidak pernah berjalan. Batch mempertahankan penghalang urutannya sendiri untuk
panggilan yang dikirimnya, dan sesi anak memiliki gerbang sendiri.
Tanda terima bersifat lokal proses, paling banyak 256 per sesi dan 32 permintaan tertunda. Tanda terima terminal dan entri sesi tidak aktif
dapat digusur. Setelah mulai ulang, ambil generasi baru dan rekonsiliasi pesan tersimpan; API ini tidak
menjanjikan pencarian tanda terima yang tahan lama lintas mulai ulang. SDK yang dihasilkan mengekspos session.steering dan session.steer.
Arahkan tindak lanjut tersimpan ke giliran yang berjalan
POST /task-queue/{taskID}/steer menerima teks tindak lanjut antrean ke dalam generasi yang berjalan pada sesi di
batas langkah berikutnya — titik pengiriman yang sama dengan POST /session/{sessionID}/steering — dan membatalkan baris antrean dalam
permintaan yang sama, mencatat steeredInto (UUID generasi) dan steeredAt pada muatan baris untuk audit.
Tindak lanjut hanya-teks hingga 16.000 karakter dapat diarahkan; teks yang diarahkan menerapkan agen, model,
dan alat dari giliran yang berjalan. Lampiran, jenis bukan tindak lanjut, baris yang sudah selesai, dan teks yang terlalu besar ditolak dengan HTTP 400, dan
baris yang berlomba ke status lain di tengah permintaan mengembalikan HTTP 409.
Respons membawa item antrean terbaru dan tanda terima yang boleh null. Bila tidak ada generasi yang aktif, baris dibiarkan
tidak tersentuh dan respons melaporkan generation_not_active dengan tanda terima null; pemanggil kemudian dapat kembali ke
POST /task-queue/{taskID}/send-now, yang hanya memindahkan baris ke depan antrean dan tetap menunggu
giliran berakhir. Baris yang diarahkan tidak dapat dibatalkan, tetapi tetap terlihat sebagai cancelled dalam riwayat /queue dengan
bidang auditnya.
Di TUI, ikatan tombol input_submit_steer (bawaan ctrl+s) mengarahkan draf yang diketik bila ada; dengan
penyusun kosong di atas sesi yang sibuk, ia justru mempromosikan awalan yang dapat diarahkan dari antrean tersimpan dalam urutan FIFO,
berhenti pada baris pertama yang tidak dapat diarahkan agar tindak lanjut berikutnya tidak pernah melompat ke depannya. Bagian Tindak lanjut di bilah samping
dan dialog /queue menawarkan tindakan arahkan-sekarang per baris yang sama, dan petunjuk di dekat tindak lanjut antrean menampilkan tombol
yang terikat. SDK yang dihasilkan mengekspos taskQueue.steer.
Usulkan skill dari pekerjaan yang terverifikasi
Kandidat skill adalah catatan eksplisit di penyimpanan lokal AX Code yang sudah ada. Mereka tidak masuk penemuan skill sampai Anda mempromosikannya, dan mereka tidak pernah memicu panggilan model otomatis atau penulisan ulang instruksi.
Buat berkas JSON proposal dengan name, description, applicability, procedure, dan evidence yang berisi
sessionID, messageID, dan partID. Bukti harus mengidentifikasi hasil verify_project asli yang berhasil dengan
amplop uji atau pemeriksaan tipe yang dieksekusi terhadap revisi Git bersih saat ini. Kalimat keberhasilan atau keluar shell
sembarangan tidak memadai. Validasi harus mengutip verifikasi berhasil dari sesi lain pada revisi yang sama.
ax-code skill candidate propose --proposal proposal.json
ax-code skill candidate show verified-procedure
ax-code skill candidate validate verified-procedure --proposal independent-evidence.json
ax-code skill candidate promote verified-procedure
ax-code skill candidate retire verified-procedure
Simpan JSON masukan di luar pohon kerja atau di direktori lokal yang diabaikan agar pemeriksaan revisi bersih tetap bermakna.
Promosi membuat .ax-code/skill/{name}/SKILL.md tanpa menimpa skill yang sudah ada. Bukti sumber diperiksa ulang
sebelum promosi. Direktori yang berupa tautan simbolis ditolak. Pensiun hanya menghapus berkas kandidat sendiri yang tidak berubah;
suntingan manual menimbulkan konflik. Mulai ulang instans runtime yang sudah ada untuk menyegarkan penemuan skill yang di-cache.
Pemeriksaan yang lulus menetapkan bukti untuk pemeriksaan itu; tinjau keberlakuan prosedur sebelum promosi.
Tangkap eksperimen yang dipasangkan
Dari checkout sumber, pakai:
pnpm --dir packages/ax-code exec tsx script/harness-eval.ts run /path/to/manifest.json > /path/to/runs.ndjson
pnpm --dir packages/ax-code exec tsx script/harness-eval.ts compare /path/to/runs.ndjson baseline candidate
Manifes operator tepercaya berisi provider/model eksplisit, runtimeRevision, argv CLI command opsional,
repetitions, timeoutMs, tepat dua arms bernama, dan tasks. Setiap lengan memiliki features opsional (bendera
eksperimental di atas) dan toolProfile. Setiap tugas memasok id, prompt, files sebaris (path/content), dan oracle.
Oracle adalah JavaScript tepercaya yang dieksekusi oleh Node setelah proses pengodean keluar; process.argv[1] mengidentifikasi
fixture sementara. Kodenya tetap di luar ruang kerja agen dan tidak pernah berasal dari respons model.
Setiap percobaan mendapat fixture Git yang baru. Oracle harus gagal dengan keluar 1 pada fixture awal. Pelari memakai
pemanggilan CLI headless yang tetap, berganti urutan lengan antar pengulangan, menerapkan batas waktu, dan menjalankan oracle lagi
setelah percobaan selesai. elapsedMs mencakup proses pengodean dan verifikasi pasca-jalankan; verificationMs mengidentifikasi
yang terakhir secara terpisah. Penyiapan fixture dan pemeriksaan gagal awal dikecualikan. Aliran mencatat setiap percobaan yang selesai,
gagal, waktu habis, atau dibatalkan saat ia selesai. Prompt mentah, keluaran subproses, dan kredensial tidak dipancarkan
dalam catatan evaluasi. Kohort yang terputus tetap tidak lengkap dan tidak dapat menghasilkan perbandingan berpasangan.
Perbandingan menolak duplikat serta pasangan tugas/model/kohort/pengulangan yang hilang atau tidak cocok. Percobaan gagal dan belum terverifikasi tetap di penyebut tingkat keberhasilan. Median latensi dan rasio berpasangan secara eksplisit dikondisikan pada keberhasilan terverifikasi. P95 membutuhkan 20 pengamatan berhasil dalam sel tugas/model/kohort/lengan; agregat sel campuran menghilangkannya. Kohort meng-hash manifes, tetapi revisi runtime serta kondisi penyedia/konfigurasi/cache eksternal tetap membutuhkan kendali operator. Jalankan asap yang kecil tidak dapat menetapkan keunggulan kecepatan umum atau membenarkan perubahan bawaan.
Pemilihan kemampuan dan diagnostik pemulihan
Permintaan otonom dapat menyertakan paket konteks agen-panjang bila model memiliki setidaknya 64.000 token konteks, dukungan penalaran, dan dukungan alat. Untuk model tanpa entri registri, ketiganya harus dinyatakan dalam metadata model yang terselesaikan. Paket tambahan memiliki batas perkiraan karakter 2.048 token; itu bukan jendela percakapan. Deklarasi negatif eksplisit dan pembatasan terdaftar mencegah penerimaan. Optimasi teks prompt ini tidak menetapkan kompatibilitas cache atau pemikiran yang dipertahankan, atau mengubah batas waktu serta tempo Super-Long otomatis. Itu mempertahankan aturan kualifikasi dan penimpaan yang sudah ada.
Dua kegagalan alat terstruktur berturut-turut setelah pesan pengguna terbaru (dihitung sebelum pengingat ekor sintetis) meminta penalaran yang lebih dalam pada panggilan model berikutnya bila ada varian upaya yang dapat dipakai. Hasil alat yang berhasil mengatur ulang hitungan. Upaya pengguna yang eksplisit dan opsi penalaran yang dikonfigurasi tetap didahulukan. Ini mengubah pemilihan upaya, bukan batas coba ulang atau izin alat.
Peristiwa pemutaran ulang llm.request lokal mencakup capabilityResolution: protokol, jendela konteks, apakah paket konteks atau
mode Super-Long dipilih, kegagalan alat berturut-turut, serta pemilihan penalaran atau alasan yang tidak diterapkan.
boundary: "policy-selection" menggambarkan keputusan AX Code; plugin dan SDK penyedia masih dapat mengubah permintaan akhir.
Nilai upaya GPT-6 yang eksplisit dipertahankan; API membutuhkan low atau lebih tinggi, bukan none atau minimal.
Peristiwa mempertahankan hash permintaan, bukan isi prompt atau kredensial. Varian upaya yang tidak ada tidak menyiratkan
bahwa pemikiran bawaan penyedia dinonaktifkan.
Tangkapan harness berpasangan membaca peristiwa JSON CLI step_finish dan tool_use untuk token masukan, keluaran, penalaran, dan baca-cache,
panggilan alat yang selesai, serta kesalahan alat. ID bagian duplikat dihitung sekali. metricsStatus adalah observed, partial, atau
unavailable; aliran yang terpotong atau rusak serta percobaan yang terputus menahan total. Perbandingan melaporkan jumlah jalankan
yang diamati dan yang hilang serta median setiap metrik, termasuk percobaan gagal bila ada pengamatan. Nilai yang hilang tetap
hilang. Penghitung ini menggambarkan peristiwa runtime yang dipancarkan, bukan penagihan penyedia, pemakaian sesi anak, atau alat internal CLI bawaan. Aliran teramati yang lengkap tanpa peristiwa alat terminal melaporkan nol panggilan alat. Verifikasi
oracle tetap menjadi sumber keberhasilan tugas; pemakaian saja tidak menetapkan pemulihan yang berhasil atau kualitas yang lebih baik.