Ada dua cara sesebuah chatbot boleh nampak macam ingat anda. Satu ialah tetingkap konteks yang panjang, yang lupa sebaik sahaja tetingkap itu bergeser. Satu lagi ialah menulisnya.
Yang ini menulisnya — dan inilah bahagian yang luar biasa: ia membenarkan anda membaca apa yang ditulisnya.
Kenapa watak terpesong
Model tidak ada memori antara satu mesej dengan mesej seterusnya. Segala yang nampak macam diingatinya sebenarnya dihantar semula kepadanya di dalam prompt. Apabila perbualan membesar melebihi apa yang muat, ada sesuatu yang terpaksa digugurkan atau dimampatkan — dan di situlah pesongan bermula: watak itu mula tidak tahu nama adik anda, kemudian bercanggah dengan apa yang dikatakannya minggu lepas, kemudian diam-diam menjadi orang lain yang menggunakan perkataan yang sama.
Kebanyakan produk menangani hal ini dengan meringkaskan di latar belakang. Ia berkesan sehinggalah ringkasan itu salah — dan selepas itu ia salah selama-lamanya, kerana anda tidak pernah melihatnya dan tidak boleh membetulkannya.
Apa yang sebenarnya disimpan
Fakta pendek, diekstrak daripada perbualan sambil ia berjalan. Bukan transkrip, bukan gumpalan vektor — baris yang boleh anda baca.
Ia berskop tiga cara serentak, dan skop itulah yang menghalang cerita daripada bercampur baur:
- Ikut watak — apa yang satu watak tahu, watak lain tidak tahu.
- Ikut topik — dua utas berasingan dengan watak yang sama menyimpan memori yang berasingan.
- Ikut orang — apa yang anda ceritakan kepada sesebuah watak tidak pernah kelihatan kepada orang lain yang bersembang dengan watak yang sama.
Membacanya, membetulkannya, memadamnya
Senarai memori ialah satu skrin di dalam Tetapan Sembang. Buka dan anda nampak fakta-faktanya, mengikut urutan. Kalau ada yang salah, betulkan. Kalau ada yang sepatutnya tidak pernah ditulis, padam. Kalau anda tidak mahu semua itu, matikan memori untuk perbualan tersebut dan tiada apa-apa lagi yang disimpan selepas itu.
Bunyinya kecil, tetapi ia mengubah cara sistem itu gagal sepenuhnya. Satu fakta salah di dalam ringkasan tersembunyi akan meracuni setiap jawapan selepasnya, dan anda hanya boleh meneka kenapa watak itu jadi pelik. Satu fakta salah di dalam senarai pula ialah satu baris yang anda betulkan dalam lima saat.
Kali pertama sesebuah watak menulis sesuatu, anda diberitahu sekali. Bukan pada setiap mesej — sekali sahaja, supaya anda tahu mekanisme itu wujud dan di mana hendak mencarinya.
Apa yang tidak pernah ditulis
Satu penapis berjalan ke atas setiap fakta yang diekstrak dan membuang benda yang memang tidak sepatutnya berada di dalam simpanan memori: alamat e-mel, nombor telefon, nombor kad, nombor kad pengenalan.
Ini penapis, bukan janji tentang apa yang anda taip. Ia membuang corak yang dikenalinya. Perkara paling selamat untuk dibuat dengan nombor kad sebenar tetaplah tidak menghantarnya kepada mana-mana chatbot.
Memori apabila babak bercabang
Anda boleh mencabangkan mana-mana jawapan dan menyimpan kedua-dua utas. Apabila anda berbuat demikian, utas baharu itu mewarisi memori yang ada pada utas induk pada saat itu — jadi cabang bermula daripada masa lalu yang sama, bukan daripada kosong, kemudian barulah ia menyimpang sendiri.
Itulah tujuan pencabangan: dua versi hubungan yang sama, bukan dua orang asing.
Ke mana memori itu ikut
Kalau sesebuah watak menjadi bot Telegram tersendiri, memori berfungsi di situ persis seperti di dalam sembang utama — masih ikut watak, ikut topik, ikut orang. Orang yang bersembang dengan bot anda membina memori mereka sendiri dengan watak itu, dan memori itu milik mereka seorang.