hrxdev
Bahasa Indonesia

Cara dibuat

Satu pengembang, satu asisten pemrograman AI, dan banyak aturan yang diperiksa mesin.

Oleh Nick

Prison Life saya tulis bersama Claude Code (agen pemrograman dari Anthropic). Saya yang memutuskan game ini seperti apa dan jalan mana yang kami ambil; sebagian besar pengetikan dikerjakan asisten. Karena tidak ada yang meninjau kode selain saya dan sebuah agen AI peninjau, saya bersandar pada otomatisasi: aturan ditegakkan oleh pemeriksaan otomatis dan oleh build, bukan oleh niat baik.

Delegasi

Sesi utama Claude Code merencanakan pekerjaan dan mengelola pelacak tugas, catatan tertulis tentang keputusan desain, dan riwayat perubahan. Ia tidak menulis kode: setiap perubahan, sekecil apa pun, ia serahkan ke agen AI khusus. Masing-masing punya definisi tertulis sendiri yang menetapkan peran dan modelnya.

PeranTingkat modelTugas
ArsitekturOpusmodel data, tick, thread, pencarian jalur, keputusan
Kode simulasiOpussistem simulasi, AI karakter, loop panas
PerformaOpusprofiling, regresi benchmark
Tinjauan (hanya baca)Opusmeninjau diff; tidak bisa mengedit file
Klien dan alatSonnetklien Godot, UI, alat
PengujianSonnettes dari kriteria penerimaan
Data kontenSonnetdefinisi JSON dari skema
Pencarian, menjalankan pemeriksaanHaikumencari kode; menjalankan pemeriksaan dan merangkum kegagalan

Pekerjaan berat diserahkan ke model terkuat, pekerjaan rutin ke yang lebih murah. Jika agen AI yang lebih murah gagal dalam pemeriksaan dua kali, tugasnya naik satu tingkat; jika tingkat teratas gagal dua kali, ia berhenti dan bertanya kepada saya.

Hook yang bisa menolak

Hook di Claude Code adalah skrip yang berjalan di sekitar tindakan asisten. Hook saya menegakkan tiga aturan:

Hook ini melindungi dari kesalahan, bukan dari upaya sengaja untuk mengakalinya: trik shell yang gigih bisa lolos, dan salah satu hook melihat pemeriksaan merah pada agen AI tetapi tidak bisa menahannya (hook berhenti milik sesi utama tetap menangkapnya). Saya lebih suka mengatakannya terus terang.

Keputusan tertulis dan pemeriksaan

Inti yang deterministik

Simulasi berada di pustaka .NET murni tanpa referensi ke Godot; klien Godot hanya membaca keadaannya dan mengirim perintah. Inti mengikuti aturan tetap: dunia hanya berubah lewat perintah, waktu berupa tick bilangan bulat, keacakan hanya berasal dari generator ber-seed milik dunia. Seed yang sama dan log perintah yang sama harus menghasilkan dunia yang sama. Aturan-aturan ini diperiksa oleh kompiler dan tes, bukan hanya oleh tinjauan; lihat devlog #1 untuk caranya, dan devlog #2 untuk dunia, simpanan, dan replay.

Arsitektur inti simulasiPerintah masuk ke antrean. Setiap tick menjalankan fase 0 (perintah, ditulis ke log perintah), fase 1 (sistem dalam urutan tetap), dan fase 2 (akhir tick). Log perintah dan keadaan dunia, dengan peta ubin dan aliran acak ber-seed, menjadi masukan hash keadaan. Perintah masuk pemain, tes, skenario Antrean perintah Enqueue aman untuk banyak thread Tick T (satu thread, waktu bilangan bulat) Fase 0: perintah serialisasi, cap (tick, nomor) Validate, tulis ke log, Apply perintah yang ditolak juga dicatat Fase 1: sistem berjalan dalam urutan tetap di kode (belum ada yang terdaftar) Fase 2: akhir tick perubahan struktural (belum dipakai) lalu penghitung tick + 1 Log perintah setiap perintah, dengan hasilnya byte + ringkasan replay = seed + log Keadaan dunia seed, tick peta ubin (tingkat) 4 aliran RNG dari seed: Commands, Needs, Ai, Events Hash keadaan seed, tick, peta, aliran RNG, ringkasan log
Inti simulasi seperti yang ada saat ini. Belum ada sistem maupun karakter; dunia berisi peta ubin dengan tingkat-tingkat, dan hash mencakup peta sekaligus apa yang digambar.

Target desainnya adalah hingga 1.000 narapidana dan staf pada 20 tick per detik. Itu sebuah target: belum ada karakter, jadi runner benchmark sudah ada tetapi belum ada yang diukur pada skala itu.