Cara Mencegah Dialog Karakter AI Mengarang Petunjuk Game Misteri
Jika karakter AI dapat mendiskusikan petunjuk, buat setiap klaim yang dapat ditindaklanjuti bergantung pada sumber yang dirancang secara tertulis dan status penemuan yang dikendalikan game. Berikan model hanya bukti yang telah ditemukan pemain, wajibkan model untuk mengidentifikasi sumber di balik setiap pernyataan yang menyerupai petunjuk, dan perlakukan detail yang tidak didukung sebagai informasi yang tidak tersedia. Tempatkan obrolan santai dan suasana dalam saluran pemanis (flavor) terpisah yang tidak dapat memperbarui catatan kasus atau membuka progres. Cara ini memungkinkan karakter berbicara secara fleksibel tanpa membiarkan dialog improvisasi menulis ulang misteri tersebut.
Mengapa petunjuk yang dikarang merusak alur misteri
Dalam game misteri, pemain mengumpulkan informasi, menarik kesimpulan, dan menggunakan apa yang mereka pelajari untuk mencari informasi lebih lanjut. Hal ini menjadikan hubungan antara petunjuk dan pengetahuan pemain sebagai bagian dari inti alur utama game, bukan sekadar detail gaya dialog. Karakter yang dengan percaya diri menyebutkan surat yang belum ditempatkan atau menyebut nama orang yang belum pernah ditemui pemain dapat secara tidak sengaja menciptakan petunjuk penyelidikan baru. Pemain tidak memiliki cara pasti untuk mengetahui apakah detail tersebut merupakan petunjuk yang memang dirancang, kebohongan yang disengaja, atau sekadar teks pengisi hasil generasi AI. Makalah “Generative Forensics: Procedural Generation and Information Games” mendeskripsikan game informasi dalam konteks pengumpulan pengetahuan dan penggunaannya untuk memahami misteri; dengan kerangka kerja tersebut, klaim hasil generasi AI yang tidak terlacak dapat mengaburkan pengetahuan yang seharusnya menjadi dasar penalaran pemain.
Solusinya dimulai dengan pembedaan yang jelas: petunjuk adalah fakta game yang dapat ditindaklanjuti pemain; pemanis (flavor) adalah dialog ekspresif yang tidak menambah atau mengubah fakta game. Karakter bisa terdengar ragu-ragu, mengelak, lucu, atau hidup, tetapi suatu kalimat tidak boleh menjadi bukti hanya karena diucapkan secara meyakinkan.
Buat catatan petunjuk tertulis sebelum menghasilkan dialog
Simpan catatan ringkas dan eksplisit untuk setiap petunjuk yang dapat ditindaklanjuti. Catatan ini dapat berada di basis data, berkas konten, atau alat naratif; kuncinya adalah model tidak boleh mengarang isinya. Sertakan bidang-bidang yang menjawab apa isi petunjuk tersebut, dari mana asalnya, siapa yang boleh mengetahuinya, dan kapan petunjuk tersebut tersedia.
Bidang: clue_id; Hal yang dicatat: Pengidentifikasi stabil untuk bukti; Contoh (ilustratif): note_blue_01
Bidang: canonical_fact; Hal yang dicatat: Fakta yang ditetapkan game; Contoh (ilustratif): “Surat itu ditandatangani dengan inisial M.”
Bidang: source_id; Hal yang dicatat: Objek, adegan, atau kalimat tertulis yang mendukungnya; Contoh (ilustratif): archive_note_03
Bidang: discovery_condition; Hal yang dicatat: Status game yang diperlukan sebelum diskusi; Contoh (ilustratif): found_archive_note_03
Bidang: allowed_speakers; Hal yang dicatat: Karakter yang diizinkan untuk mengetahui atau mendiskusikannya; Contoh (ilustratif): Mara, Ivo
Bidang: certainty; Hal yang dicatat: Apakah sumber menyatakan fakta atau menyarankan interpretasi; Contoh (ilustratif): explicit
Bidang: player_facing_label; Hal yang dicatat: Bagaimana bukti ditampilkan di jurnal, jika berlaku; Contoh (ilustratif): “Surat tanpa tanda tangan”
Nama dan nilai di atas adalah contoh rekaan untuk menunjukkan format, bukan klaim tentang game tertentu. Perhatikan bahwa catatan tersebut memisahkan konten eksplisit sumber dari interpretasi: inisial tanda tangan tidak dengan sendirinya menetapkan siapa yang menulis surat tersebut. Pembedaan ini memberi ruang bagi sistem dialog untuk membiarkan karakter berspekulasi tanpa menampilkan spekulasi tersebut sebagai bukti baru yang telah diverifikasi.
Batasi petunjuk berdasarkan status penemuan, bukan dari percakapan saja
Representasikan penemuan sebagai status milik game. Misalnya, found_archive_note_03 hanya bernilai benar (true) saat pemain benar-benar menemukan surat tersebut. Pada awal percakapan, berikan karakter daftar fakta tertulis yang diizinkan untuk mereka bahas, disaring berdasarkan status penemuan pemain dan pengetahuan karakter tersebut. Petunjuk hanya tersedia jika kedua pemeriksaan terpenuhi: pemain telah mencapai kondisi penemuannya, dan pembicara berhak mengetahuinya.
Ini adalah penerapan praktis dari retrieval-augmented generation (RAG): ambil catatan yang relevan, tempatkan dalam konteks model, dan hasilkan respons berdasarkan catatan tersebut. Ringkasan RAG dari Microsoft menjelaskan alur ambil–perkaya–hasilkan (retrieve–augment–generate) tersebut dan memperingatkan bahwa pengambilan data yang buruk atau tidak lengkap masih dapat menghasilkan keluaran yang tidak akurat. Untuk game, pengambilan data harus mematuhi kondisi penemuan sebelum mencapai model. Mengatakan kepada model "jangan bocorkan apa pun" jauh lebih lemah daripada menahan bukti yang belum ditemukan secara menyeluruh.
Posisikan pemeriksaan izin di luar model jika memungkinkan. Game—bukan kalimat prosa hasil generasi AI—yang harus menentukan apakah suatu bukti dapat masuk ke jurnal, menyelesaikan teka-teki, atau membuka interaksi baru. Model dapat menyusun kalimat dari fakta yang diizinkan; status game yang harus memutuskan apakah fakta tersebut diizinkan sejak awal.
Beri model batasan yang ketat dan mekanisme cadangan yang aman
Prompt yang efektif harus merinci gaya bicara karakter, adegan saat ini, catatan petunjuk yang diizinkan, serta perbedaan antara bukti dan dialog pemanis. Nyatakan apa yang harus dilakukan ketika sebuah pertanyaan melampaui bukti yang diberikan: tolak untuk mengonfirmasinya, katakan karakter tidak tahu, atau tanggapi dengan kalimat yang sesuai karakter namun tidak dapat ditindaklanjuti. Sertakan juga instruksi untuk catatan yang saling bertentangan atau ambigu. Panduan rekayasa prompt RAG dari Microsoft merekomendasikan pembatasan konteks (grounding limits) yang eksplisit, perilaku fallback, pengidentifikasi sumber, dan instruksi penanganan konflik. Ini merupakan prinsip desain yang berguna untuk dialog karakter yang terkontrol maupun asisten informasi.
Sebagai contoh, jika pemain bertanya apakah inisial M membuktikan bahwa Mara menulis surat itu, tanggapan yang diizinkan bisa berbunyi, “Inisial M memang ada di sana, tetapi itu saja tidak memberi tahu kita siapa yang menandatanganinya.” Sistem dapat mengizinkan susunan kalimat tersebut karena tetap menjaga perbedaan antara fakta sumber dan sebuah kesimpulan. Sistem tidak boleh mengimprovisasi saksi mata, kecocokan tulisan tangan, atau dokumen kedua hanya demi membuat jawaban terasa lebih memuaskan.
Minta model mengembalikan bidang terstruktur seperti spoken_text, claim_type, dan source_ids. Untuk tanggapan yang mengandung petunjuk, wajibkan setidaknya satu pengidentifikasi sumber yang valid dan periksa pengidentifikasi tersebut terhadap catatan yang diberikan pada giliran tersebut. Untuk pemanis, tandai tanggapan sebagai non-bukti dan jangan izinkan untuk memicu flag petunjuk. Keluaran terstruktur bukanlah bukti bahwa prosanya benar; format ini menyediakan sesuatu yang dapat diverifikasi oleh game sebelum ditampilkan atau sebelum terjadi perubahan status.
Beri label pada pemanis agar pemain dapat memahami bobotnya
Teks pemanis (flavor text) bisa mencakup suasana hati karakter, lelucon yang tidak berbahaya, atau reaksi umum terhadap ruangan tersebut. Teks ini tidak boleh secara diam-diam memperkenalkan tanggal, lokasi, objek, saksi bernama, motif, atau detail lain yang secara wajar dapat dianggap pemain sebagai petunjuk penyelidikan. Jika Anda menginginkan percakapan yang bersifat spekulatif, buat ketidakpastian tersebut terbaca jelas dalam pilihan kata dan jauhkan dari sistem objektif seperti daftar bukti, status quest, dan interaksi berbasis petunjuk.
Pembedaan ini dapat tercermin baik dalam data maupun penyajian. Secara internal, tandai kalimat sebagai bukti (evidence), interpretasi (interpretation), atau pemanis (flavor); pada antarmuka, khususkan gaya tampilan bukti atau entri jurnal hanya untuk petunjuk yang dirancang oleh game. Karakter mungkin berkata, “Mungkin surat itu ditinggalkan secara terburu-buru,” tetapi kecuali game telah menetapkan kemungkinan tersebut sebagai interpretasi yang diizinkan, kalimat itu tidak boleh muncul sebagai petunjuk terkonfirmasi atau memicu percabangan alur baru. Pelabelan tiga arah ini adalah rekomendasi desain yang lahir dari kebutuhan untuk menjaga apa yang dikatakan sumber, apa yang disimpulkan seseorang, dan apa yang sekadar dialog ekspresif.
Gunakan alat naratif untuk melacak status dan kondisi
Anda tidak memerlukan engine tertentu untuk menerapkan pendekatan ini. Alat naratif interaktif umumnya mendukung passage atau bagian, variabel, dan konten bersyarat. Dokumentasi penulisan resmi Ink menjelaskan variabel dan logika kondisional untuk mengendalikan konten cerita; panduan passage di Twine Cookbook menjelaskan passage sebagai bagian konten yang juga dapat memuat kode yang memengaruhi bagaimana teks muncul atau merespons. Fitur-fitur ini dapat merepresentasikan status penemuan, pengetahuan pembicara, dan dialog bersyarat, baik dialog itu sendiri dihasilkan oleh AI maupun ditulis secara manual.
Jaga konsistensi ID petunjuk dan nama status di seluruh catatan naratif dan logika game. Variabel seperti found_archive_note_03 lebih mudah diaudit daripada penanda petunjuk yang samar seperti clue2, terutama ketika berbagai adegan berbeda membaca atau mengaturnya. Tambahkan tautan yang dapat dilacak dari setiap kalimat hasil generasi AI yang dapat ditindaklanjuti kembali ke catatan sumber yang diizinkan; jika suatu kalimat tidak memiliki sumber yang valid, runtime dapat menolaknya atau meminta fallback yang aman alih-alih memperlakukannya sebagai bukti.
Uji batas sistem dengan playtest terfokus
Uji percakapan pada batas-batas penemuan, di mana aturan status paling rentan mengalami kegagalan. Cobalah percakapan baru sebelum petunjuk ditemukan, sesaat setelah ditemukan, dan setelah karakter dengan pengetahuan berbeda berbicara. Ajukan pertanyaan langsung tentang bukti yang belum ditemukan, ajukan pertanyaan yang hanya dijawab sebagian oleh sumber, dan mainkan ulang adegan tersebut jika game mendukungnya. Bandingkan kalimat yang ditampilkan, ID sumber yang dikembalikan, dan setiap perubahan pada jurnal atau status cerita.
Daftar periksa pengujian yang ringkas membantu menjaga pemeriksaan tersebut tetap konkret:
Setiap klaim yang dapat ditindaklanjuti terhubung ke petunjuk tertulis atau interpretasi yang diizinkan secara eksplisit.
Kondisi penemuan petunjuk bernilai benar (true) sebelum muncul sebagai pengetahuan yang tersedia.
Pembicara diizinkan mengetahui informasi tersebut dalam adegan itu.
Pertanyaan yang tidak didukung bukti menerima respons fallback yang telah ditentukan, bukan fakta spesifik yang baru.
Kalimat pemanis tidak dapat menambahkan entri jurnal, memenuhi syarat pembuka petunjuk, atau mengubah status bukti.
Catatan yang ambigu atau bertentangan menghasilkan ketidakpastian atau respons fallback yang dapat ditinjau, bukan penyelesaian baru yang muncul begitu saja.
Pemberian landasan konteks (grounding) mengurangi ruang bagi munculnya petunjuk buatan, tetapi tidak menjamin bahwa prosa yang dihasilkan akan selalu mematuhi fakta yang diberikan. Pengambilan data dapat melewatkan catatan yang relevan, dan model masih dapat menghasilkan teks yang tidak akurat meskipun telah diberi batasan, seperti yang dicatat Microsoft dalam panduan keterbatasan RAG. Pertahankan otoritas final atas petunjuk pada catatan tertulis dan logika game; gunakan generasi AI untuk memberikan karakter suara di seputar batasan-batasan tersebut.
Aturan praktisnya sederhana: biarkan model memilih kata-kata, sementara misteri tertulis dan status game saat ini yang menentukan apa yang boleh ditetapkan oleh kata-kata tersebut. Ketika setiap petunjuk yang dapat ditindaklanjuti memiliki sumber, gerbang penemuan, dan status yang jelas, karakter dapat berbicara dengan lebih luwes tanpa memberi pemain bukti yang tidak pernah ditempatkan oleh game.
