May dalawang paraan para magmukhang naaalala ka ng isang chatbot. Una, mahabang context window, na nakakalimot pagkalampas ng window. Pangalawa, isulat ang mga bagay.
Ito ang isinusulat, at — ito ang hindi karaniwan — pinapabasa sa iyo ang isinulat nito.
Bakit nadi-drift ang mga karakter
Walang memory ang isang modelo sa pagitan ng mga mensahe. Lahat ng mukhang naaalala nito ay muling ipinadala sa prompt. Kapag lumaki na ang usapan nang lampas sa kasya, may kailangang itapon o i-compress, at doon nagsisimula ang drift: nakakalimutan ng karakter ang pangalan ng kapatid mo, saka sasalungat sa sinabi niya noong isang linggo, tapos tahimik na magiging ibang tao na gumagamit ng parehong mga salita.
Karaniwang inaayos ito ng ibang produkto sa pamamagitan ng tahimik na pagbubuod sa likod. Gumagana ito hangga't hindi mali ang buod, at kapag mali na, mali na habambuhay, dahil hindi mo ito nakikita at hindi mo maitatama.
Ano ang aktwal na nakaimbak
Maiikling facts, kinukuha mula sa usapan habang nagaganap ito. Hindi transcript, hindi vector blob — mga linyang kaya mong basahin.
Tatlo ang hati nila nang sabay, at ang hating iyon ang pumipigil sa mga kuwento na maghalo:
- Per karakter — ang alam ng isang karakter ay hindi alam ng iba.
- Per topic — magkahiwalay na thread sa parehong karakter, magkahiwalay ang memory.
- Per tao — walang sinasabi mo sa isang karakter ang makikita ng ibang kausap din ng karakter na iyon.
Basahin, itama, burahin
Ang memory list ay isang screen sa chat settings. Buksan mo at makikita mo ang mga facts, nakasunod-sunod. Kung mali ang isa, itama mo. Kung hindi dapat naisulat, burahin mo. Kung ayaw mo talaga nito, i-off mo ang memory para sa usapang iyon at wala nang maiimbak pa.
Mukhang maliit pero nagbabago nito ang buong paraan ng pagkakamali. Ang maling fact sa nakatagong buod ay lasunin ang bawat susunod na sagot at mahuhulaan mo na lang kung bakit naging kakaiba ang karakter. Ang maling fact sa isang listahan ay linyang naaayos mo sa limang segundo.
Sa unang pagkakataong may isinulat ang isang karakter, sasabihin sa iyo nang isang beses. Hindi sa bawat mensahe — isang beses lang, para alam mong may ganitong mekanismo at kung saan ito hahanapin.
Ano ang hindi kailanman isinusulat
May filter na dumadaan sa bawat na-extract na fact at inaalis ang mga bagay na hindi dapat nasa memory store: email address, numero ng telepono, numero ng card, government ID number.
Filter ito, hindi pangako tungkol sa itinatype mo. Inaalis nito ang mga pattern na nakikilala nito. Ang pinakaligtas pa ring gawin sa totoong numero ng card ay huwag itong ipadala sa isang chatbot.
Memory kapag nag-branch ang eksena
Pwede kang mag-fork mula sa kahit anong sagot at itago pareho ang dalawang thread. Kapag ginawa mo iyon, mamanahin ng bagong thread ang memory na hawak ng parent sa sandaling iyon — kaya nagsisimula ang branch mula sa parehong nakaraan, hindi mula sa wala, tapos saka ito lumihis sa sarili nitong daan.
Iyon ang punto ng branching: dalawang bersyon ng parehong relasyon, hindi dalawang estranghero.
Saan dinadala ang memory
Kung naging sariling Telegram bot ang isang karakter, gumagana doon ang memory nang eksaktong tulad sa main chat — per karakter, per topic, per tao pa rin. Ang kausap ng bot mo ay bumubuo ng sarili niyang memory sa karakter na iyon, at kanya lang iyon.