BlogBlog

Otonomi Per Aksi: Dari Draft ke Never, dan Kenapa Never Itu BatasnyaOtonomi Per Aksi: Dari Draft ke Never, dan Kenapa Never Itu Batasnya

Tiga anak tangga otonomi per aksi: draft, opt-in-auto, never. Grant sekali dan selalu, langit-langit organisasi, serta perlindungan anggota: jam hening, batas harian, dan satu stop yang mengalahkan grant apa pun.Tiga anak tangga otonomi per aksi: draft, opt-in-auto, never. Grant sekali dan selalu, langit-langit organisasi, serta perlindungan anggota: jam hening, batas harian, dan satu stop yang mengalahkan grant apa pun.

Home / Blog / Tutorial

Tutorial · October 21, 2026 · 11 min · Tim ShortcutSistem

Hampir semua produk AI yang Anda lihat punya satu sakelar: nyala atau mati. Satu sakelar untuk seluruh agen, dan sakelar yang dimatikan berarti “bot ini tidak pernah bicara”, yang dinyalakan berarti “bot ini akan banyak bicara”. Untuk komunitas, dua-duanya salah.

Yang komunitas butuhkan bukan sakelar. Yang dibutuhkan adalah tombol per jenis pekerjaan — dan aturan yang jelas tentang siapa yang menang ketika dua aturan bertabrakan. Itu seluruh isi otonomi per aksi.

Tiga anak tangga

TanggaArtinyaYang dibutuhkan
draftArmada boleh menulis pesannya, tapi tidak ada yang terjadi sebelum manusia membaca dan menyetujuinya.Persetujuan kursi manusia atas teks persisnya.
opt-in-autoArmada boleh menjalankan kelas itu sendiri, tanpa kartu untuk tiap contoh.Grant hidup yang menanggungnya — dan grant itu bisa dicabut kapan saja.
neverKelas itu tidak terjadi.Tidak ada. Ini lantai: hanya pengeditan file pack yang bisa mengubahnya.

Empat aturan membuat tangga ini nyata. Default-nya tolak: kelas yang tidak pernah dideklarasikan berperilaku sebagai never, jadi kunci yang kosong bukan celah. Never adalah lantai: tidak ada operasi runtime yang melebarinya. Penyempitan selalu menang:langit-langit organisasi, beku kanal, gerbang partner, dan input anggota semuanya hanya bisa menarik sebuah kelas ke bawah. Dan input anggota mempersempit jalur otomatis — “boleh, lanjut” yang diketik di grup chat adalah masukan untuk usulan, tidak pernah grant.

Tangga itu dihitung per kelas aksi, bukan per agen

Satu agen bisa memegang banyak kelas, dan tiap kelasnya punya jawaban sendiri. Di pack operasi acara, inilah yang sebenarnya tertulis:

Kelas aksiPeranTangga
observe.readketiganyaopt-in-auto — membaca, tanpa keluar ke mana pun.
draft.promoteevent-ops, engagementdraft
rsvp.chaseengagementdraft
draft.reminderevent-opsdraft
nudge.no_showengagementdraft
answer.questionengagementdraft
commit.individual-messageengagementdraft
commit.channel-postengagementdraft — ditahan di tingkat organisasi.
report.assembleevent-opsdraft
moderate.flagmoderatoropt-in-auto — menandai saja, orangnya yang bertindak.
member.notify-flaggedmoderatordraft — orang yang dilaporkan diberi tahu, setelahnya.
promote.cross-communityengagementdraft — ditahan di tingkat organisasi.

Perhatikan polanya. Semua kelas yang mengirim pesan ke satu anggota ada di draft: rsvp.chase, nudge.no_show, commit.individual-message. Yang boleh jalan sendiri adalah yang tidak menyentuh siapa pun: membaca, menandai, menyusun laporan agregat. Dua kelas anggota lain tetap opt-in-auto — member.notify-optout dan member.notify-human — karena keduanya memberitahukan hal yang memang diminta anggota itu sendiri.

Never adalah ketiadaan, bukan penolakan

Ini detail yang sering hilang: di pack operasi acara, whatsapp | sendtidak ada di toolset. Bukan disetel draft, bukan dikunci — absen. Dan moderator tidak memegang hapus, ban, maupun mute. Bedanya penting: kelas yang absen tidak bisa dihidupkan grant apa pun, sementara kelas yang ditolak hanya menunggu satu grant.

Konsekuensinya praktis: siapa pun yang membaca pack bisa langsung melihat apa yang tidak boleh dilakukan armada. Tidak ada yang perlu ditanya.

Grant sekali dan grant selalu

Grant adalah izin dari kursi manusia untuk satu kelas aksi, dan ada dua jenis yang sengaja tidak digabung:

  • allow_once — habis terpakai setelah satu pemakaian. Bentuk yang tepat untuk kali pertama Anda membiarkan sebuah kelas berjalan sendiri: setujui satu kejadian, lihat hasilnya.
  • allow_always — terus menanggung kelas itu, danwajib menyebut cakupannya. Grant always tanpa cakupan yang dinyatakan ditolak. Untuk promosi lintas komunitas, cakupan itu partner, kanal, dan jendela waktunya.

Alasan cakupan wajib disebut: “selalu” hanya bermakna kalau ada batas yang menempel. Acara berikutnya bukan acara yang Anda setujui. Grant juga bisa dicabut kapan saja, tanpa alasan dan tanpa jeda, dan grant yang sudah dipakai atau dicabut tidak bisa dipakai lagi.

Langit-langit organisasi, dan siapa yang menang saat bertemu

Di atas pack ada satu tingkat lagi: manifest organisasi. Di situ berdirifloor — misalnya batas pesan per anggota per 24 jam — danautonomy ceiling per kelas aksi. Pack operasi acara misalnya ditahan di draft untuk commit.channel-post dan untukpromote.cross-community.

Arahnya sederhana dan hanya satu arah: yang lebih sempit menang. Organisasi boleh mempersempit kelas yang dideklarasikan pack, dan boleh mengisi kekosongan yang tidak pernah ditulis pack — dengan asal nilainya lebih ketat. Tapi organisasi tidak boleh melebar kelas, dan tidak boleh menghidupkan kembali kelas yang pack buat absen. Kalau dua tingkat itu tidak bisa diseragamkan, sistemnya gagal dengan aman.

Perlindungan anggota: jam hening, batas harian, dan satu stop

Tiga lapis ini berlaku apa pun yang terjadi di tingkat otonomi:

  • Jam hening — 21:00 sampai 07:59 di zona waktu anggota sendiri. Bukan jam organiser, bukan jam server. Di luar jendela itu, commit ditolak dengan kode quiet_hours.
  • Batas harian per anggota — jumlah commit ke anggota itu dalam jendela bergulir 24 jam, dihitung lintas kanal, bukan per kanal (member_cap_exceeded). Kemitraan tidak menjadi kuota kedua.
  • Satu stop yang mengalahkan grant apa pun — baris milik anggota sendiri, berlaku lintas kanal, di luar jalur eskalasi, dan tidak ada API yang bisa membersihkannya. Di pack operasi acara, presedensinya tertulis eksplisit: anggota di atas organiser. Grant apa pun tidak mengalah.

Dan satu lapis lagi yang berlaku pada setiap pesan yang menyasar anggota:baris pengungkapan kanonik. Armada wajib menyertakan satu kalimat baku dalam dua bahasa, dan kalimat itu hidup di dalam revisi yang Anda setujui — bukan ditempel saat pengiriman. Gerbangnya menolak commit yang revisinya tidak memuatnya, dengan kode disclosure_missing, dan penolakannya berbunyi: pengungkapan yang ditulis sendiri, seakan-akan, bukan pengungkapan.

Kalimatnya sendiri, dua bahasa:

ID: pesan ini dikirim oleh asisten otomatis komunitas {community} — bukan oleh manusia. balas di sini untuk eskalasi ke organiser.
EN: this message was sent by the automated assistant of {community} — not a human. reply here to escalate to the organiser.

Bedanya dengan kalimat “ini dikirim oleh AI” yang dibuat-buat: kalimat kanonik bisa diprediksi, jadi anggota maupun pembaca bisa tahu seperti apa pengungkapan yang benar — dan bisa tahu ketika pengungkapan itu tidak ada.

Contoh: satu minggu acara di pack operasi acara

Untuk melihat tangganya bekerja, ambil satu siklus acara dari pack operasi acara. Fase-fasenya berurutan: draft → scheduled →promoting → t-minus-7 → t-minus-1 →running → recap. Armada mengusulkan di tiap fase, dan tiap usulannya berakhir di kursi manusia:

FaseKelasYang terjadi
promotingdraft.promoteDraf promosi acara menunggu persetujuan.
t-minus-7rsvp.chaseChasing RSVP yang belum konfirmasi, sebagai draf.
t-minus-1draft.reminderPengingat H-1 ke yang sudah mengonfirmasi, sebagai draf.
runningnudge.no_showNudge 1:1 ke yang terdaftar tapi belum hadir, sebagai draf.
recapreport.assembleRangkuman. Nama anggota tidak pernah masuk laporan eksternal.

Ada satu penolakan yang disengaja di siklus itu: armada mencoba mengirim pesan individual dari peran event-ops dengan kelascommit.individual-message. Runtime menolak denganclass_unavailable — absen, bukan ditolak — dan grant apa pun tidak akan menghidupkannya kembali.

Perhatikan apa yang terjadi pada penolakan itu: ia tercatat di log. Penolakan adalah sebuah outcome, dan jejak yang hanya mencatat keberhasilan tidak bisa memberi tahu Anda seberapa dekat sistem dengan melakukan sesuatu yang tidak Anda mau.

Setelah Anda menyetujui salah satu draf, otorisasi terbit untuk revisi persis itu, lalu transport diminta mengirim — dan transport menolak. Yang kembali adalah hand-off: teksnya, penerima persisnya, dan alasannya.

Jalankan satu siklus nyata

Panduan langkah demi langkah: apa yang armada usulkan, apa yang Anda setujui, dan apa yang masuk ke log.

Buka panduan siklus acara →

Batas jujurnya

Otonomi per aksi mengatur siapa yang harus menyetujui sebelum sesuatu terjadi. Itu bukan hal yang membuat produk ini mengirim. Pada versi 0, transport menolak, dan yang kembali adalah hand-off berisi teks dan penerima persis — untuk Anda kirim sendiri. Kami tidak menulis “terkirim” di mana pun di situs ini.

Efeknya terhadap anggota juga belum terukur. Kami belum pernah bertanya pada seorang anggota, jadi kami tidak mengklaim hand-off membuat siapa pun merasa lebih dihargai, lebih terlibat, atau lebih diperhatikan.

Versi lengkap aturannya ada di metodologi, termanya di glosarium, dan kodenya terbuka di repositori open-source.

Frequently asked questions

Apa arti draft, opt-in-auto, dan never?

draft berarti armada boleh menulis pesan tetapi manusia harus menyetujuinya lebih dulu. opt-in-auto berarti armada boleh menjalankan kelas itu sendiri selama ada grant hidup yang menanggungnya. never berarti kelas itu tidak terjadi, dan tidak ada operasi runtime yang bisa melebarinya.

Apa perbedaan grant allow_once dan allow_always?

allow_once habis terpakai setelah satu pemakaian. allow_always terus menanggung kelas itu, tetapi wajib menyebut cakupannya — kanal mana, dan untuk promosi lintas komunitas juga partner dan jendela waktunya. Grant always tanpa cakupan yang dinyatakan ditolak.

Kalau pack dan organisasi berbeda, mana yang menang?

Yang lebih sempit. Organisasi boleh mempersempit kelas yang dideklarasikan pack dan boleh mengisi kekosongan, tetapi tidak boleh melebar kelas dan tidak boleh menghidupkan kembali kelas yang pack buat absen. Kalau keduanya tidak bisa diseragamkan, sistemnya gagal dengan aman.

Apakah grant bisa mengalahkan anggota yang sudah berhenti?

Tidak. Stop anggota adalah satu baris, berlaku lintas kanal, dan tidak punya API yang bisa membersihkannya. Dalam pack operasi acara, presedensinya tertulis eksplisit: anggota di atas organiser. Grant apa pun tidak mengalah.

Apakah versi 0 mengirim pesan meski kelasnya opt-in-auto?

Tidak. Otonomi menentukan siapa yang harus menyetujui sebelum sesuatu terjadi, bukan apakah produk ini mengirim. Pada versi 0 transport menolak, dan yang kembali adalah hand-off berisi teks dan penerima persis.

Related articles

ArticleDate
Mengapa Armada Agen Komunitas Butuh Kursi ManusiaGuide · 9 minOctober 21, 2026Read →

See the fleet runLihat armadanya berjalan

Run the seeded cycle, decide the proposals, then read the audit trail.Jalankan siklus contoh, putuskan usulannya, lalu periksa audit trail-nya.