Dapatkan AX Code · GratisDokumentasi

Halaman ini diterjemahkan dari dokumentasi bahasa Inggris. Perintah, pengenal, dan contoh tidak diubah. Runtime 7.24.4 · SDK 2.6.7. Sumber bahasa Inggris

Mode eksekusi (lokal, cloud, hibrida, council, arena)

Status: Aktif
Cakupan: keadaan saat ini
Terakhir ditinjau: 2026-09-12
Pemilik: ax-code runtime

AX Code dapat menempatkan kerja pada inferensi lokal, penyedia terhosting atau CLI, atau keduanya (hibrida), dan dapat menyebar kerja berisiko tinggi ke beberapa penyedia terhubung (tinjauan council dan arena best-of-N). Halaman ini mendokumentasikan perilaku yang sudah dikirim untuk mode itu.

Sumber kebenaran

Ketika perilaku berubah, verifikasi terhadap:

  • packages/ax-code/src/mode/ — kebijakan murni, hibrida, agregasi council, peringkat arena, debat, anggaran, memori, kebijakan worktree, penilaian implement-arena
  • packages/ax-code/src/tool/council.ts — alat council multi-penyedia
  • packages/ax-code/src/tool/arena.ts dan arena-implement.ts — rencana dan implementasi arena
  • packages/ax-code/src/session/prompt/prompt-routing.ts — penempatan hibrida ketika modes.default adalah hybrid
  • packages/ax-code/src/config/schema-impl.ts — skema konfigurasi modes
  • packages/ax-code/src/command/template/{council,arena}.txt — /council dan /arena ada di menu garis miring bawaan

Pemilih mode kerja (Agent | Council | Arena)

TUI dan Desktop mengekspos kendali mode kerja untuk perutean multi-model. Bawaan adalah Agent.

Pilihan UI Pengiriman teks bebas menjadi
Agent (bawaan) Prompt agen tunggal biasa
Council Tinjauan multi-penyedia /council {your message}
Arena Best-of-N multi-model /arena {your message}
  • Krom bawaan TUI: kaki tidak menampilkan penanda Agent. Mode eksekusi dan Sandbox tetap. /work-mode (palet Pilih mode kerja) membuka pemilih eksplisit: Agent, Council, dan Arena, dengan biaya dan semantik pada setiap baris. Baris ensemble yang tidak tersedia dinonaktifkan beserta alasannya.
  • Krom ensemble yang disiagakan: setelah Anda memilih Council atau Arena, penanda muncul (Council · 2, atau Arena (off) berongga jika kemudian tidak tersedia). Klik penanda untuk kembali ke Agent. Obrolan baru kembali ke Agent.
  • Ketersediaan: mode tersedia ketika diaktifkan di konfigurasi, setidaknya dua penyedia terhubung punya model yang dapat dipilih, dan batas anggota yang dikonfigurasi bukan 1. Penanda dan baris pemilih diperbarui langsung saat penyedia tersambung atau terputus.
  • Petunjuk sebelum kirim (TUI): petunjuk satu baris di atas prompt muncul ketika council atau arena terblokir atau masih diperiksa, dan pada pemakaian pertama mode yang tersedia (misalnya Council mode · up to 2 reviewers · advisory · approval on first use). Setelah pengiriman berhasil pada mode itu, penanda tetap menjadi status dan petunjuk disembunyikan. Mengirim saat mode yang dipilih tidak tersedia diblokir beserta alasannya — draf dipertahankan dan prompt tidak pernah diam-diam diturunkan ke eksekusi model tunggal.
  • Desktop: penanda bilah alat komposer (di samping Manual/Otonom).
  • /council dan /arena yang eksplisit tidak pernah ditulis ulang dan tetap menjadi titik masuk sekali jalan.
  • Agen spesialis (architect, security, …) tetap pada pemilih agen yang terpisah.

Mode penempatan sekilas

Mode Apa yang dilakukan Mengubah workspace? Bawaan
lokal Utamakan AX Engine (atau penyedia lokal yang dikonfigurasi) Ya (agen tunggal) Ketika Anda menyematkan lokal, atau hibrida menempatkan lokal
cloud Utamakan penyedia terhosting atau CLI terdepan Ya (agen tunggal) Ketika lokal tidak tersedia
hibrida Kebijakan memilih lokal versus cloud dari ketersediaan, kompleksitas, dan privasi Ya (jalur tunggal) Atur modes.default: "hybrid"
council Sebar tinjauan atau desain terstruktur; klasifikasikan konsensus, mayoritas, minoritas, atau tunggal Tidak (penasihat) Alat plus /council atau mode kerja = Council
arena Perbandingan rencana multi-model atau implementasi best-of-N di worktree Rencana: tidak. Implementasi: hanya di worktree Ikut serta (modes.arena.enabled) plus mode kerja = Arena

Perutean spesialis kata kunci dan penjenjangan kompleksitas (lihat Auto-Route) ortogonal terhadap penempatan hibrida dan mode ensemble.

Upaya model atau tingkat penalaran (Fast, Balanced, Deep, Max) juga ortogonal — itu anggaran penalaran per model, bukan mode kerja. Lihat Upaya model.

Konfigurasi

Di ax-code.json:

{
  "modes": {
    "default": "hybrid",
    "hybrid": {
      "preferLocalWhenAvailable": true,
      "escalateOnHighComplexity": true,
      "localProviderID": "ax-engine"
    },
    "council": {
      "enabled": true,
      "maxMembers": 3,
      "timeoutMs": 180000,
      "debateRounds": 0
    },
    "arena": {
      "enabled": true,
      "maxContestants": 3,
      "strategy": "verify_first"
    },
    "budget": {
      "maxEstimatedUsd": 0.5,
      "estimatedUsdPerMember": 0.05
    }
  }
}
Bidang Arti
modes.default local | cloud | hybrid | arena | council. Tidak diatur: hibrida ketika lokal cocok sinyal kebijakan, selain itu cloud untuk bawaan jalur tunggal.
modes.hybrid.* Preferensi lokal, eskalasi kompleksitas tinggi ke cloud, id penyedia lokal
modes.council.* Aktifkan, batas anggota, batas waktu, skala batas waktu model penalaran, penimpaan batas waktu per anggota, putaran debat, ketua ikut serta atau sebaran adaptif (keduanya mati secara bawaan)
modes.arena.enabled Harus true untuk alat arena (mati secara bawaan). Suntingan di tengah sesi diambil pada panggilan alat berikutnya (Config.getFresh). Atau teruskan enableIfDisabled: true pada alat arena.
modes.arena.strategy verify_first (disarankan untuk implementasi), diversity, atau hybrid_score
modes.arena.reasoningTimeoutScale Pengali batas waktu untuk kontestan yang modelnya menyatakan kapabilitas penalaran (kembali ke modes.council.reasoningTimeoutScale, lalu 3)
modes.arena.memberTimeoutMs Penimpaan batas waktu absolut per kontestan yang dikunci oleh "providerID" atau "providerID/modelID" (kembali ke modes.council.memberTimeoutMs)
modes.arena.judge Hakim rubrik yang dibutakan untuk mode rencana (bawaan: true)
modes.ensembleLedger Buku panggilan JSONL lokal untuk generasi ensemble (bawaan: true; hanya hash prompt SHA-256, tanpa isi, tanpa keluar)
modes.budget.* Batas gagal-tertutup pada perkiraan USD untuk sebaran ensemble

Penempatan hibrida

Ketika modes.default adalah hybrid dan pengguna atau agen tidak menyematkan model:

  1. Jika penyedia lokal (bawaan ax-engine) punya model yang dapat dipilih → utamakan lokal untuk kompleksitas rendah atau sedang.
  2. Jika kompleksitas tinggi dan escalateOnHighComplexity benar → cloud.
  3. Jika privasi mengharuskan lokal dan lokal tersedia → lokal.
  4. Jika lokal tidak tersedia → cloud.

Kompleksitas tetap memakai jalur model kecil atau cepat yang ada untuk pesan low ketika perutean kompleksitas auto-route diaktifkan (Auto-Route). Hibrida tidak menggantikan perutean spesialis kata kunci.

Model lokal dan panduan memori: Pemilihan model AX Engine. Daftar penyedia: Penyedia yang didukung.

Council (mode konsensus)

Alat: council
Garis miring: /council <question>

  1. Memilih penyedia terhubung yang beragam (keberagaman keluarga — di bawah gateway multi-model yang tidak dikenali, keluarga kembali ke id model; bias lunak dari memori hasil).
  2. Menyebar prompt tinjauan atau desain terstruktur secara paralel.
  3. Mengagregasi isu menjadi tingkat konsensus (bulat di antara anggota yang berhasil pada kuorum — setidaknya max(2, ⌈2/3 × attempted⌉) keberhasilan), mayoritas ketat (lebih dari separuh anggota yang dicoba), minoritas (setidaknya dua), dan tunggal. Temuan mengungkapkan dukungan terhadap anggota yang dicoba (2/6), dan laporan cakupan rendah menyatakan bahwa label konsensus memerlukan kuorum.
  4. Putaran debat opsional: sintesis anonim (Chatham House) dibagikan antar putaran; tanpa atribusi merek. Debat dibatasi tiga putaran dan berhenti lebih awal saat konvergen.
  5. Mengembalikan laporan markdown penasihat. Tidak menyunting berkas.

Perlu setidaknya dua anggota yang terselesaikan untuk berjalan sama sekali — lebih sedikit memutus dengan prapenerbangan “insufficient members” sebelum prompt persetujuan atau panggilan model apa pun (pasangan model gateway yang sama yang eksplisit dihitung dua). Tingkat konsensus yang bermakna tetap perlu setidaknya dua anggota yang berhasil; jika tidak, laporan ditandai tidak lengkap.

Penerimaan bukti. Anggota hanya menerima pertanyaan dan konteks yang disediakan. Mereka tidak mewarisi sesi pemanggil atau membaca berkas dari jalur di ringkasan. Sertakan persyaratan, diff yang relevan, cuplikan asli yang diperlukan, dan bukti verifikasi yang dibutuhkan untuk cakupan tinjauan yang dinyatakan.

context opsional diterima secara harfiah hingga 24,000 unit kode UTF-16. Konteks yang lebih besar mengembalikan context_rejected sebelum inferensi anggota; AX Code tidak pernah diam-diam memendekkannya. Bagi tinjauan menjadi permintaan yang dibatasi secara eksplisit atau hapus latar opsional sambil mempertahankan bukti yang diharuskan.

Sebelum setiap putaran, AX Code memeriksa seluruh prompt terhadap batas lokal 128,000 byte dan setiap batas masukan atau konteks anggota yang terselesaikan yang diketahui, menyisihkan keluaran yang diminta dan instruksi cadangan plus 2,048 token untuk skema dan pembingkaian. Ukuran masukan memakai perkiraan byte UTF-8 yang sengaja konservatif. Ia dapat menolak prompt yang sebenarnya muat; ini bukan jumlah tokenizer yang persis maupun jaminan tentang serialisasi penyedia. Batas model yang tidak diketahui diungkapkan dan tetap tunduk pada batas lokal. Jika putaran debat tidak muat, hasil tidak lengkap dan mempertahankan laporan putaran terakhir yang selesai.

contextAdmission mencatat gerbang panjang konteks lokal, ukuran yang disediakan, dan digest konten; promptBudget memeriksa permintaan lengkap secara terpisah. Keduanya harus lulus sebelum inferensi. Bidang ini independen dari successfulMembers dan tidak menetapkan kelengkapan semantik, kesegaran sumber, atau kualitas tinjauan yang dijamin.

Batas waktu. Setiap anggota berjalan di bawah modes.council.timeoutMs (bawaan 180000 ms); model yang menyatakan kapabilitas penalaran mendapat modes.council.reasoningTimeoutScale kali anggaran itu (bawaan 3, jadi 540000 ms). Untuk memberi satu anggota yang diketahui lambat lebih banyak waktu tanpa membesarkan penantian yang lain, atur penimpaan modes.council.memberTimeoutMs absolut yang dikunci oleh "providerID" atau "providerID/modelID" — kunci model yang persis menang atas kunci seluruh penyedia, dan keduanya menang atas perhitungan dasar atau skala:

{
  "modes": {
    "council": {
      "memberTimeoutMs": { "deepseek/deepseek-v4-pro": 900000 }
    }
  }
}

ax-code.json adalah berkas konfigurasi terlindungi — agen harus meminta pengguna untuk mengubahnya.

Jalur opsional (mati secara bawaan). modes.council.chairman: true menambahkan satu panggilan sintesis ketua yang dibutakan setelah agregasi (dan putaran debat apa pun): ketua hanya menerima temuan anonim (tingkat dan jumlah dukungan, bukan identitas anggota) dan mengembalikan putusan, tindakan yang disarankan, serta catatan perbedaan pendapat. Penjenjangan deterministik tetap menjadi keluaran utama; kegagalan ketua diungkapkan dan tidak fatal. modes.council.adaptive: true memulai sebaran dengan dua anggota dan memperluas satu per satu hingga maxMembers selama cakupan putaran-1 di bawah kuorum atau perbedaan pendapat material; pemicu perluasan adalah konstanta yang dapat disetel harness.

Kapan dipakai

  • Pertukaran arsitektur, keamanan, atau desain
  • Tinjauan kode berisiko tinggi di mana kesepakatan multi-model menaikkan keyakinan
  • Pengguna meminta tinjauan multi-model atau “pendapat kedua”

Alur agen (penting)

Panggil council lebih awal setelah bukti yang relevan tersedia dengan ringkasan context yang dibatasi secara eksplisit. Hindari penggalian penjelajahan luas yang tidak terkait tinjauan itu; kumpulkan bukti asli yang diharuskan sebelum meminta temuan kode dari anggota. Jika pengguna meminta council atau arena, task_parallel ditolak sampai alat ensemble menjadi tindakan utama yang dimaksud.

Kapan tidak

  • Pertanyaan sepele (latensi atau biaya)
  • Kode yang peka privasi dan tidak boleh meninggalkan inferensi lokal
  • Hanya satu penyedia yang terhubung

Arena (best-of-N)

Alat: arena
Garis miring: /arena <task>
Memerlukan: modes.arena.enabled: true dan setidaknya 2 model berbeda yang dapat dipilih pada penyedia terhubung (termasuk gateway bersama)

Penerimaan bukti (dibagi dengan council). context opsional diterima secara harfiah hingga 24,000 unit kode UTF-16. Konteks yang lebih besar mengembalikan context_rejected sebelum prompt persetujuan, pembuatan worktree, atau panggilan model — AX Code tidak pernah diam-diam memendekkannya. Bagi tugas menjadi permintaan yang dibatasi secara eksplisit atau kurangi latar opsional sambil mempertahankan bukti yang diharuskan. Prompt persetujuan sendiri hanya terpicu setelah setiap prapenerbangan tanpa efek lulus (dinonaktifkan, penerimaan konteks, prapenerbangan git implementasi, anggaran, resolusi anggota).

mode: "plan" (bawaan)

  • Setiap kontestan mengusulkan pendekatan, langkah, risiko, dan skor risiko yang dinilai sendiri secara terkalibrasi (tanpa penulisan workspace).
  • Dengan setidaknya 2 usulan yang berhasil, satu panggilan hakim rubrik yang dibutakan (anggota terselesaikan pertama; identitas dihilangkan, urutan diacak) menilai setiap usulan pada cakupan persyaratan, kelayakan, rencana verifikasi, dan bukti risiko (0–10 masing-masing, seri diizinkan). Total rubrik (0–40) adalah sinyal peringkat utama; risiko yang dinilai sendiri tetap hanya tampilan. Kegagalan hakim atau modes.arena.judge: false kembali ke penilaian mandiri dengan catatan pengungkapan.
  • Diperingkat dengan tingkat verifikasi lebih dulu, lalu skor hakim atau risiko, lalu keberagaman sidik jari patch (tidak pernah popularitas murni). Peringkat rencana bersifat penasihat dan bukan verifikasi eksekusi.
  • Hanya penasihat.

mode: "implement"

  • Memerlukan worktree git utama dengan setidaknya satu komit dan tanpa perubahan yang belum dikomit, mencatat komit dasar yang persis, dan membuat worktree git per kontestan dari komit itu.
  • Menjalankan agen implementasi di setiap worktree.
  • Mengambil snapshot perubahan terlacak dan tidak terlacak setiap kontestan ke komit cabang yang tahan lama, termasuk komit yang dibuat agen sendiri.
  • Menjalankan perintah verifikasi proyek yang terdeteksi (typecheck, tes, lint) hanya setelah patch yang tidak kosong tertangkap.
  • Memeringkat dengan verifikasi lebih dulu secara bawaan: hanya patch selesai yang tidak kosong dan lulus verifikasi yang dapat menang; di antara yang lulus, utamakan risiko lebih rendah dan patch yang beragam.
  • Tidak menggabungkan otomatis. Laporan mencakup jalur worktree, cabang, dan rentang komit agar Anda memeriksa, menggabungkan, atau cherry-pick.

Arena implementasi memerlukan proyek git.

Aturan peringkat (selaras riset)

Untuk kandidat kode: verifikasi lebih dulu, keberagaman kedua, popularitas tidak pernah sendiri.
Suara mayoritas naif pada patch salah yang mirip adalah anti-pola (jebakan popularitas).

Perintah garis miring

Perintah Tujuan
/council … Menjalankan tinjauan penasihat multi-penyedia
/arena … Menjalankan rencana atau implementasi best-of-N

Keamanan dan biaya

  • Sandbox dan otonom tetap berlaku untuk kerja agen tunggal (Sandbox, Otonom).
  • Council dan arena rencana tidak menulis berkas.
  • Penulis arena implementasi diisolasi di worktree; worktree utama yang kotor ditolak agar masukan yang belum dikomit tidak diam-diam dihilangkan.
  • Sebaran ensemble menggandakan keluar dan biaya penyedia; gunakan modes.budget dan jaga maxMembers serta maxContestants tetap kecil. Perkiraan anggaran menghargai kasus terburuk: council 2 × (debateRounds + 1) panggilan per anggota (cadangan skema plus percobaan ulang), arena rencana 2 per kontestan plus satu panggilan hakim tetap, arena implementasi perkiraan 12 panggilan per lintasan yang didokumentasikan.
  • Buku panggilan ensemble hanya-lokal (ensemble-calls.jsonl di direktori keadaan global, batas 2 MB) mencatat hasil per generasi dengan hash prompt SHA-256 — tidak pernah isi prompt, tidak pernah kredensial, tanpa keluar. Nonaktifkan dengan modes.ensembleLedger: false.
  • Kesepakatan multi-model adalah bukti, bukan pembuktian — jalankan tes sebelum merilis.