Bot GitHub otonom yang tahu kapan harus diam
Resep GitHub agent di cookbook merangkai triase issue, review PR, dan perbaikan bug otomatis ke dalam GitHub Actions dengan OpenCode dan Muse Spark. Pelajaran paling berharganya justru soal guardrail.
Apa yang dikerjakan bot ini
Resep ini membangun bot GitHub Actions otonom dengan empat tugas: triase issue, review pull request, deteksi “AI slop”, dan pembuatan PR perbaikan bug — semuanya berjalan di OpenCode dengan Muse Spark sebagai modelnya, lewat kompatibilitas drop-in Model API dengan agent CLI yang sudah ada. Seluruhnya dieksekusi di dalam Actions milik repositorimu sendiri, bukan di infrastruktur orang lain.
Menahan diri sebagai syarat desain
Yang membedakan resep ini dari proyek naif ala “sambungkan LLM ke webhook” adalah betapa besar porsinya membahas kapan bot tidak boleh bertindak. Agent review-nya membawa daftar eksplisit “BUKAN slop” — kriteria perubahan yang tidak boleh ia tandai, supaya tidak asal teriak pada pola kode yang sebenarnya sah. Triase tidak pernah menutup issue; keputusan itu tetap di tangan manusia. Agent perbaikan bug tidak akan membuka PR kalau ia gagal mereproduksi bug-nya lebih dulu. Framing dari Meta pun blak-blakan: over-triggering diperlakukan sebagai failure mode, bukan sekadar hal yang “sebaiknya dihindari”.
Ada juga disiplin sitasi: fungsi tanya-jawabnya hanya boleh menjawab dari file di repositori, wajib melampirkan sitasi file dan bagian pada setiap klaimnya, dan harus menolak mengarang kalau jawabannya memang tidak ada di repo. Untuk bot yang bicara atas nama proyekmu di thread publik, “berdasar bukti atau diam” adalah satu-satunya kebijakan yang bisa dipertanggungjawabkan.
AGENTS.md: satu file untuk seluruh armada
Setiap agent di resep ini otomatis memuat satu AGENTS.md bersama yang berisi konteks repositori — supaya agent tidak menebak-nebak konvensi — sekaligus aturan keamanan yang mereka semua warisi. Meta menyebutnya sebagai file paling penting untuk kamu sesuaikan dengan proyekmu sendiri: versi bawaannya adalah contoh nyata untuk stack Python/pytest/uv, dimaksudkan untuk kamu tulis ulang sesuai kebutuhan sambil mempertahankan bagian SECURITY kata per kata.
Rilis bertahap, akses tulis harus diperjuangkan
Panduan deployment-nya berupa tangga kepercayaan empat fase. Fase satu: review PR dan triase, read-only — validasi kualitas di trafik nyata tanpa risiko apa pun. Fase dua: perintah /oc eksplisit, sehingga maintainer memanggil agent secara sengaja. Fase tiga: perbaikan bug otomatis yang dibatasi lewat label. Fase empat: pengerasan — branch protection, CODEOWNERS, gerbang CI. Akses tulis diperoleh lewat rekam jejak, tidak pernah diberikan di hari pertama. Ini filosofi yang sama dengan cerita auditabilitas Muse Code sendiri: otonomi hanya boleh tumbuh secepat kemampuan verifikasinya.
Bagaimana Meta memvalidasinya
Satu detail yang layak kamu tiru: resep ini divalidasi dengan menjalankan agent sungguhan secara headless melawan skenario issue dan PR yang sudah diskrip — merekonstruksi prompt milik Action dengan gh palsu di PATH sehingga tidak ada satu pun repositori live yang tersentuh — lalu membaca apa yang mereka hasilkan. Uji bot-mu seperti kamu menguji otomasi tak terpercaya lainnya: di dalam toples, sebelum ia bertemu production. Resep siap jalannya ada di cookbook pada bagian use cases.