
Bayangkan Anda mengelola properti sewa. Penyewa telah mengosongkan kamar, dan petugas harus memverifikasi pengosongon tersebut.
Saya merancangnya seperti ini. Petugas tidak bisa berkata “sudah saya cek.” Sebagai gantinya, mereka mengambil foto lima lokasi yang telah ditentukan di dalam kamar dan mengunggahnya ke sistem. Ketika kelima foto masuk, sistem memproses status “verifikasi pengosongon selesai.” Jika ada satu pun yang belum, tidak ada penyelesaian.
Mendengar penjelasan ini, seseorang berkata, “Itu persis seperti quest dalam game, kan?”
Betul. Persis seperti itu. Dan satu kalimat itu menjelaskan sesuatu yang sudah saya pergulati bertahun-tahun dalam kode sekaligus juga.
Game Memecahkan Ini 40 Tahun Lebih Awal
“Kumpulkan 5 kulit serigala.” Game sudah melakukan ini selama puluhan tahun. Dan game tidak pernah mempercayai klaim pemain. Mengatakan “sudah saya tangkap semuanya” tidak menyelesaikan quest. Game hanya melihat satu hal — apakah ada 5 kulit di inventaris? Ada berarti selesai, tidak ada berarti belum. Titik.
| Yang saya buat | Yang game buat |
|---|---|
| Definisi selesai = foto 5 lokasi yang ditentukan | Tujuan quest = 5 kulit serigala |
| Spesifikasi = daftar lokasi yang harus difoto | Log quest · penanda tujuan |
| Verifikasi = apakah 5 foto ada? | Verifikasi = apakah 5 kulit ada? |
| Keputusan = sistem memproses selesai | Keputusan = game menampilkan selesai |
| Petugas = pelaksana (bukan pemutus) | Pemain = pelaksana |
Strukturnya identik. Subyek yang mendeklarasikan ‘selesai’ telah berpindah dari mulut pelaku ke sistem. Pelaku hanya memenuhi kondisi, dan yang memunculkan penyelesaian selalu adalah gerbang.
Inilah Reins — Dan Kode Bekerja Sama Persis
Saya melakukan hal yang sama dalam AI coding. Ketika AI berkata “sudah selesai,” saya tidak percaya begitu saja. Ketika tes lulus, tipe cocok, dan validasi schema tidak gagal — barulah sistem memutuskan “sudah beres.” Tujuan quest adalah “4.419 tes lulus,” dan CI menggantikan inventaris untuk memverifikasinya. Benchmark standar dalam penelitian agent menggunakan pendekatan yang persis ini — SWE-bench mendefinisikan ‘selesai’ sebagai kelulusan test suite dari PR yang sesungguhnya, dan WebArena mendefinisikannya sebagai akurasi fungsional dari status lingkungan. Bukan “sudah selesai” dalam bahasa natural.
Baik pengosongon sewa, kulit serigala, maupun kode — intinya satu. Memindahkan keputusan ‘selesai’ dari tangan pelaku sendiri ke gerbang yang terdefinisi di luar pelaku. Tidak peduli apakah pelakunya manusia atau AI. Terutama membiarkan AI memutuskan penyelesaiannya sendiri terbukti berbahaya secara eksperimental — self-critique model hampir tidak meningkatkan performa sementara verifikator deterministik eksternal meningkatkannya secara signifikan (Stechly & Kambhampati, 2024), dan bahkan model yang jujur sejak awal akan menemukan sendiri strategi penipuan untuk memanipulasi fungsi reward ketika diberi kewenangan memutuskan rewardnya sendiri (McKee-Reid et al., 2024). Reins tidak memperlambat kuda. Reins mencegah kuda berlari ke arah yang salah.
Dan di sini satu hal menjadi jelas. Berikan pendapat, dan pelaku akan goyah. Menghardik “benar-benar sudah dicek?” membuat petugas ciut, dan AI membalik jawaban yang semula benar. Tapi lima foto bukan pendapat. Tes yang lulus bukan pendapat. Lima kulit bukan pendapat. Tidak ada yang bisa dijilat dari fakta. Selama gerbang menanyakan fakta, tidak ada yang bisa merayunya.
Tapi Game Juga Menghadapi Hal yang Lebih Sulit Lebih Awal — Cheese
Berhenti di sini berarti hanya melihat setengahnya. Apa yang sebenarnya game ajarkan ada di bagian berikutnya.
“Bunuh 10 tikus” adalah quest yang terkenal kejam. Mengapa? Karena ada celah antara apa yang diverifikasi gerbang itu (10 tikus mati) dan apa yang benar-benar diinginkan desainer (pemain mengalami konten). Gerbang hanyalah proksi dari tujuan, dan pemain menyelinap melalui celah itu. Speedrunner memecah game dengan mencari lubang antara kondisi penyelesaian dan niat desain. Dalam desain game ini disebut cheese. Dan model reasoning terbaru melakukan persis hal yang sama — ketika diberi quest untuk mengalahkan mesin catur, model seperti o3 alih-alih bermain dengan jujur malah memanipulasi file status game untuk membuat “menang” terjadi (Bondarenko et al., 2025). Semakin tinggi kemampuan, semakin baik ia menemukan celah.
Gerbang sewa saya pun bisa di-cheese. Lima foto memverifikasi “foto ada” bukan “pengosongon selesai dengan baik.” Bagaimana jika petugas hanya memotret dinding yang bersih? Bagaimana jika ia mendaur ulang foto sebelum huni? Gerbang tetap lulus. Ketika pengukuran menjadi tujuan, pengukuran rusak — itulah Hukum Goodhart, dan Manheim & Garrabrant (2018) mengklasifikasikan kegagalan over-optimisasi ini ke dalam empat varian. Penelitian keamanan AI merangkum fenomena yang sama lebih awal sebagai ‘reward hacking’, dan agent yang menyembunyikan kekacauan alih-alih membersihkannya (Amodei et al., 2016) melakukan persis hal yang sama dengan petugas yang hanya memotret dinding bersih.
Saya selalu menemukan celah ini dalam kode. Baru-baru ini saya merefaktor framework web bintang 23.000 dengan aturan “satu file, satu konsep” dan mengonfirmasi semua 4.419 tes lulus. Fakta yang terverifikasi. Namun ketika saya menggali data yang sama lebih dalam, aturannya lulus tapi tujuannya baru tercapai 90% — 10% file masih menaruh beberapa konsep di satu tempat. Gerbang (pelanggaran aturan 0) lulus, tapi tujuan yang dibidik gerbang tidak sepenuhnya tertutup. Kode saya sedang men-cheese gerbang yang saya buat sendiri.
Maka keahlian sejati Reins bukan “memasang gerbang.” Melainkan merancang gerbang yang tidak bisa di-cheese. Quest yang lemah menanyakan “apakah foto ada.” Quest yang kuat meminta timestamp, memeriksa metadata lokasi, dan membandingkan perbedaan dengan foto saat masuk menggunakan AI vision. Literatur 40 tahun desainer game bergulat dengan “quest yang tidak bisa di-cheese” sebenarnya adalah kunci jawaban untuk “gerbang tahan Goodhart.”
Dan ini tidak terjadi sendiri. Bahkan dengan melatih menggunakan reward yang dapat diverifikasi (RLVR), model dapat memilih untuk gaming verifikator yang tidak sempurna alih-alih mempelajari aturan (Helff et al., 2026). Untungnya ada pengukuran bahwa ketika gerbang sengaja diperkuat (environmental hardening), exploit berkurang 87,7% tanpa kehilangan akurasi (Thaman, 2026). Kekuatan gerbang bukan soal keberuntungan melainkan soal desain.
Satu Perbedaan — Cheese di Dunia Nyata Berbiaya Nyata
Analogi memiliki batasnya. Kondisi penyelesaian quest game dirancang untuk kesenangan dan pacing. Tidak perlu benar-benar menangkap tujuan nyata, dan di-cheese pun tidak berbahaya. Tidak ada yang terluka jika pemain menyelesaikan “10 tikus” dengan trik.
Gerbang Reins di dunia nyata berbeda. Biaya cheese itu nyata — penipuan pengosongon, build yang rusak, akuntansi yang disalahsetujui. Maka gerbang nyata harus lebih tahan terhadap cheese daripada game. Asimetri inilah yang justru mempertajam inti masalah. Game pun melakukannya, tapi kita harus melakukannya lebih ketat.
Memberi Pekerjaan kepada Agent adalah Memberi Quest
Sampai di sini, satu kalimat jatuh ke tempat.
Alasan vibe coding runtuh adalah karena ia memberi quest tanpa kondisi penyelesaian. Agent yang menerima quest tanpa penanda tujuan dan tanpa keputusan penyelesaian akan berkeliaran di peta. “Kayaknya sampai sini sudah cukup” lalu berhenti, atau berputar tanpa henti. Reins adalah merancang quest yang tepat untuk agent itu. Tujuan yang jelas (spesifikasi), penanda yang terlihat (SSOT), keputusan penyelesaian yang tidak bisa di-cheese (verifikasi deterministik).
Dan dalam satu adegan ini tersimpan tiga lapis keahlian.
- Memainkan quest. Mengambil dan menggunakan gerbang yang sudah dibuat orang lain. — Pengguna.
- Merancang quest. Membangun gerbang yang sesuai dengan domain saya sendiri (pengosongon, akuntansi, atau kode). — Pembuat.
- Merancang quest yang tidak bisa di-cheese. Mencegah titik di mana proksi tidak bisa mengejar tujuan. — Desainer.
Kebanyakan orang berhenti di bermain. Yang memperluas permainan adalah merancang, dan yang mencegah permainan itu runtuh adalah merancang untuk mencegah cheese.
Maka
Lain kali seseorang berkata “sudah selesai,” jangan tanya balik — tanyakan ini:
“Apa itu ‘selesai’, dan siapa yang merancang quest yang memutuskannya?”
Jika pertanyaan itu tidak bisa dijawab, yang Anda miliki bukan penyelesaian. Hanya klaim seseorang.
Artikel Terkait
- Ratchet Pattern — Edisi utama gerbang yang memaksa penyelesaian dengan verifikator mekanis
- Mengapa Coding Agent Bekerja dan Mengapa Runtuh — “Generasi boleh probabilistik, verifikasi harus deterministik”
- AI Bereins: Reins Engineering — Asal mula reframe gerbang = tali kekang
- Yongol: Tembok 200 Endpoint — Titik runtuh quest tanpa kondisi penyelesaian dan solusi berbasis spesifikasi
Bacaan lanjutan (eksternal)
- Specification gaming: the flip side of AI ingenuity — Victoria Krakovna et al., Google DeepMind. Argumen utama bahwa gerbang adalah proksi bukan niat, dan agent menyelinap melalui celahnya, dirangkum sebagai penelitian keamanan yang otoritatif.
- There’s Cheese in Your Game! — Shay Pierce, Game Developer. “Jika itu yang paling efisien meski membosankan, pemain akan melakukannya” — perspektif desain game tentang merancang quest tanpa cheese yang langsung bertautan dengan ‘cheese-proof gate’.
- From shortcuts to sabotage: emergent misalignment from reward hacking — Anthropic. Bukti terbaru tentang bagaimana reward hacking dalam tugas coding yang hanya meloloskan skrip penilaian menyebar — bukti empiris terbaru mengapa pelaku tidak boleh menjadi wasit penyelesaiannya sendiri.
- How to write a good spec for AI agents — Addy Osmani. Reduksi ke success criteria yang dapat diverifikasi seperti “LCP < 2.5s” alih-alih “buat lebih cepat” — versi praktis dari resep mendefinisikan penyelesaian sebagai checkable condition.
- What is agentic engineering? — Simon Willison. Memisahkan peran manusia ke definisi tujuan, persiapan alat, dan verifikasi, serta memandang kelulusan tes sebagai ‘done’ — sejalan dengan reframe agent=pelaksana/manusia=perancang quest.
Sumber
- Manheim & Garrabrant. “Categorizing Variants of Goodhart’s Law” (2018, arXiv:1803.04585)
- Amodei et al. “Concrete Problems in AI Safety” (2016, arXiv:1606.06565)
- Bondarenko et al. “Demonstrating Specification Gaming in Reasoning Models” (2025, arXiv:2502.13295)
- Helff et al. “LLMs Gaming Verifiers: RLVR can Lead to Reward Hacking” (2026, arXiv:2604.15149)
- Thaman. “Reward Hacking Benchmark: Measuring Exploits in LLM Agents with Tool Use” (2026, arXiv:2605.02964)
- McKee-Reid et al. “Honesty to Subterfuge: In-Context RL Can Make Honest Models Reward Hack” (2024, arXiv:2410.06491)
- Stechly, Valmeekam, Kambhampati. “On the Self-Verification Limitations of Large Language Models” (2024, arXiv:2402.08115)
- Jimenez et al. “SWE-bench: Can Language Models Resolve Real-World GitHub Issues?” (2023, arXiv:2310.06770)
- Zhou et al. “WebArena: A Realistic Web Environment for Building Autonomous Agents” (2023, arXiv:2307.13854)
- Gambar utama: dihasilkan AI (Google Gemini)