Lewati ke konten utama
Halaman ini adalah terjemahan mesin dan belum sepenuhnya ditinjau. Teks asli berbahasa Inggris adalah acuan yang berlaku. Pernyataan tentang keamanan, privasi, penanganan data, kepatuhan, dan lisensi tetap dalam bahasa Inggris sampai peninjau teknis menyetujuinya. Baca teks asli berbahasa Inggris

Setujui tindakan berisiko sebelum dijalankan BETA

escalate_on_deny tidak mengajukan permintaan persetujuan

Penolakan tetap berjalan. Aturan yang diberi tag escalate_on_deny: true menolak persis seperti yang tertulis -- dengan policy_id aturan yang cocok, effect: "deny", reason_code: "RULE_MATCH".

Teks asli berbahasa Inggris -- terjemahan menunggu tinjauan teknis

You are protected.

Teks asli berbahasa Inggris -- terjemahan menunggu tinjauan teknis

The escalation does not. The tag is accepted by the policy schema and carried into the policy bundle, and no enforcer acts on it: no approval request is raised, no approver is notified, and decision.requires_approval stays false. Code that branches on decision.requires_approval in order to act on this tag therefore never runs. (A different mechanism, LLM function policies' require_approval, does set that field -- escalate_on_deny is not wired to it.) Tracking: #2391.

Untuk meminta persetujuan saat ini, panggil secara eksplisit. client.request_approval(decision) mengirimkan permintaan persetujuan yang sebenarnya. Tag tersebut tidak memanggilnya untuk Anda. Lihat Approval callback. Sesuai #2363, halaman /approvals untuk pemberi persetujuan memerlukan persetujuan di produksi, sehingga permintaan diselesaikan melalui API.

Hal ini berlaku untuk SDK Python yang dipublikasikan (controlzero 1.13.14) dan SDK Node yang dipublikasikan (@controlzero/sdk 1.13.6).

Titik penerapan yang digunakan: Alur persetujuan (dasbor + kanal notifikasi) Mode yang didukung: Hosted (SaaS) Paket: Teams Status: BETA. Jalur permintaan sudah tersedia di setiap deployment, termasuk paket hosted (SaaS): kebijakan mengajukan permintaan persetujuan dan agen berhenti sejenak. Persetujuan nonaktif secara default -- administrator mengaktifkannya per cakupan (organisasi, proyek, atau kunci API) di Settings -> Approvals. Pengaktifan memerlukan pemberi persetujuan terpisah, sehingga dimulai dari paket Teams.

Kotak masuk pemberi persetujuan belum dapat dijangkau

Separuh alur yang menghentikan sementara tindakan sudah berfungsi saat ini. Separuh yang memungkinkan manusia melepaskannya belum: rute kotak masuk persetujuan dan detail permintaan dialihkan ke dasbor di setiap deployment yang dikirimkan, dan deep link notifikasi mengarah ke jalur yang sama. Tidak ada paket -- termasuk Teams -- yang dapat menyetujui permintaan dari UI saat ini.

Konsekuensinya aman tetapi tumpul. Permintaan yang tertahan berjalan hingga batas waktunya, SDK memunculkan HITLTimeoutError dengan penolakan sintetis, dan tindakan tidak dijalankan. Mengaktifkan persetujuan saat ini memberi Anda penghentian keras dengan jejak audit pada tindakan approval_required. Belum ada alur setujui-dan-lanjutkan. Lihat Siapkan persetujuan untuk panduan menyeluruh.

Yang akan Anda lakukan​

Saat agen AI mencoba tindakan yang ditandai approval_required oleh kebijakan Anda (deploy produksi, refund besar, pengiriman email eksternal), permintaan berhenti sejenak dan pemberi persetujuan menerima notifikasi Slack atau email lengkap dengan konteksnya. Setelah kotak masuk tersedia, pemberi persetujuan mengklik Approve atau Deny dan agen akan melanjutkan atau menerima penolakan beserta alasannya.

Mengapa ini jalur yang tepat untuk Anda​

  • Jika Anda ingin agen AI menangani pekerjaan berisiko tinggi tetapi tidak membiarkan mereka berjalan lepas tanpa pengawasan, inilah polanya.
  • Jika kelompok pemberi persetujuan Anda kecil dan mudah diprediksi, alur persetujuan lebih baik daripada mengubah kebijakan per permintaan.
  • Jika Anda ingin menolak secara mutlak, gunakan aturan atau kebijakan DLP biasa. Persetujuan ditujukan untuk keputusan "kadang ya, kadang tidak".

Kapan TIDAK menggunakan pendekatan ini​

waspada

Jika jawabannya selalu sama ("jangan pernah izinkan penulisan produksi dari agen"), jangan menunggu persetujuan. Tulis aturan penolakan hari ini.

Pengalamannya​

Agent -> Control Zero: invoke tool "send_refund" args {amount: $9500, customer: ...}
Control Zero: policy match "high_value_refund" -> deny
SDK: your code calls client.request_approval(decision) -> POST approval request
Control Zero -> Slack / email / in-app bell: "Agent 'billing-bot' wants to refund $9500 to cust_123.
[ Approve ] [ Deny ] [ Open context ]"
Approver clicks Approve once / for 24h / 7d / 30d / forever.
SDK: PendingApproval.wait() resolves -> agent proceeds with the call (allow path).

Primitif jeda-dan-tunggu sudah tersedia di SDK saat ini: agen memanggil request_approval() pada penolakan yang menurutnya dapat ditinjau, lalu menunggu di PendingApproval.wait() hingga pemberi persetujuan memutuskan. Aksi kebijakan, kanal notifikasi, dan jejak audit semuanya mendukung alur ini. Langkah yang harus dilakukan kode agen itu sendiri adalah pemanggilan request_approval() -- tag kebijakan tidak membuatnya terjadi.

Cara menyiapkannya​

  1. Beri tag pada aturan. Tandai aturan yang ingin Anda tinjau dengan escalate_on_deny: true. Saat ini tag ini mencatat maksud bagi siapa pun yang membaca kebijakan; langkah 3 yang mengubah penolakan menjadi permintaan.
  2. Aktifkan persetujuan. Admin mengaktifkan persetujuan untuk cakupan (organisasi, proyek, atau kunci API) di Settings -> Approvals. Fitur ini nonaktif secara default.
  3. Hubungkan SDK. Pada penolakan yang menurut kode Anda dapat ditinjau, panggil request_approval() dan wait() (Python) / requestApproval() dan wait() (Node). Langkah inilah yang mengajukan permintaan. Lihat panduan approval callback.
  4. Setujui dari mana saja. Pemberi persetujuan bertindak dari lonceng dalam aplikasi, magic link email, atau kanal peringatan yang terhubung.

Teks asli berbahasa Inggris -- terjemahan menunggu tinjauan teknis

Every approval is auditable: who approved, when, why, and what grant was created.

Lihat Siapkan persetujuan untuk panduan lengkap dan Alur persetujuan untuk model jenis keputusan dan cakupan.

Lebih suka penolakan yang selalu aktif?​

Jika jawabannya selalu "tidak", jangan gunakan persetujuan -- tulis aturan penolakan. Jika Anda menginginkan alur tinjauan ringan notifikasi saat penolakan tanpa mengaktifkan persetujuan, tolak dengan alasan dan arahkan ke sebuah kanal:

- name: high_value_refund
match:
tool: send_refund
argument_gt: { amount: 1000 }
action: deny
reason: 'Refunds over $1,000 require a human approver. Reply in #approvals to authorize.'

Pasangkan dengan kanal peringatan agar alasan penolakan dan argumen alat masuk ke kanal tinjauan Anda.

Tindak lanjut umum​

Referensi​