立即下載

AI 角色養成遊戲中的長期記憶是怎樣運作的?

AI 角色應該記住什麼、放下什麼、資訊改變時怎麼辦,以及為什麼你應該能查看並刪除她記得的事。

「她竟然記得」,是角色遊戲能帶給人最好的感受之一,也是最容易做得很糟的一種。一個角色如果提起一次你們從沒去過的海邊旅行,或者每天見面都重複同一件關於你工作的事,你不會覺得被記住,只會覺得她壞掉了。

以下說明我們正在製作的 AI 角色養成遊戲 Iroverse 裡,記憶是怎樣運作的,以及背後的取捨。簡單來說:她的記憶是有選擇的,她可能會記錯,而你看得到她記住了什麼。

記得,不等於保存逐字紀錄

最直接的做法,是把你說過的每一句話都存起來,再全部交給 AI。這樣效果並不好,而且不只是成本的問題。逐字紀錄大部分是閒聊;真正重要的那一句,例如你提到家人生病了,和「早安」「哈哈」混在同一堆裡,模型讀這一大堆文字時,抓錯重點的機會和抓對的差不多。

人也不是這樣記事的。朋友不會記得你說過的每一句話,但會記得你最怕早起、你答應過幫他搬家,還有你們一起被大雨困住的那個晚上。

所以美咲留下的是一則則簡短的筆記,用她自己的角度寫成,記的是下星期仍然值得知道的事,而不是對話本身。

她會記住什麼

只有「持久」的事才會被記下來:

  • 你的喜好和討厭的東西,前提是你真的這樣說過。
  • 關於你的事實:你的工作、作息、家裡的一些情況。
  • 承諾,無論是你答應她的,還是她答應你的。
  • 你們一起做過的事:一起烤餅乾的那個下午、沿著河邊散步。
  • 真正觸動過她的時刻:讓她受傷的事、讓她感到驕傲的事。
  • 還沒說完的話:一段沒有結束就中斷的對話。

同樣重要的,是什麼不算數。天氣、客套話、你此刻正在做什麼,都不是記憶。一個問題也不是喜好:你問她喜不喜歡餅乾,並不代表你自己喜歡。含糊的說法也不算:「有時候會吃拉麵,看心情」不等於「你很愛吃拉麵」。還有,你說的話屬於你。你說你很愛壽司,她為了附和你而點頭,那是關於你的事實,不代表她從此也愛上了壽司。

有些記憶甚至不是從對話來的。一個活動結束時,遊戲會直接記下實際發生了什麼:是她自己烤成功了,還是大部分都是你做的。這類記憶最可靠,因為沒有任何一部分需要猜。

當事情改變了

事實會過時。一個好的記憶系統,必須把「我現在比較喜歡鹽味拉麵」當成更新,而不是讓它和「你喜歡味噌拉麵」並排放著、互相矛盾。

在 Iroverse,每則筆記都歸在它所講的那件事之下,所以同一件事有了新的、說得清楚的說法時,新的會取代舊的,而不是兩則並存。她依據的是現在的你,而不是過去的你。如果你再提起同一件事,那則筆記只會變得更確定,而不會多出一則重複的。

反過來也一樣。你隨口、半開玩笑說的一句話,不會蓋過你清楚告訴過她的事。

虛假的記憶

大家最怕的,是角色憑空捏造一段共同的過去。那是讓人最快失去信任的方式。

我們的做法,是確保她刻意重新提起的事,都來自真正發生過的紀錄。當她幾天後提起某件事,例如你們烤過的餅乾、一個承諾、你曾經敷衍她的那一次,是因為遊戲從一個真實的時刻留下了一條線索,並判斷現在是提起它的時候,而不是 AI 一時興起想懷舊。一次你們沒去過的海邊旅行,根本不會有這樣的線索。

但這不代表她不會出錯。從對話裡記下的筆記,終究是對你說過的話的一種理解,可能會有偏差:也許你當時是在開玩笑,也許你後來改變了主意。正因如此,才有下一部分。

你看得到她記得什麼,也可以請她忘記

Iroverse 有一個畫面,列出她記得的事:關於你的、關於你們兩個的,全都用她自己的話寫成。你可以一條條看下去,看看她記住了什麼,有時讓人感動,有時也有點不好意思。

如果某一條記錯了,或者只是你不想她再記著,你可以把它刪掉。刪掉之後,它也不會在同一個話題再次出現時,換個說法又被悄悄記回來。

我們認為這不只關乎準確。一個替你記筆記的人,應該讓你看得到那些筆記。她記住的是你的生活,你應該有權決定。這也是尊重私隱的基本做法。

為什麼「全部記住」不是目標

也許有人覺得,最理想的角色應該什麼都不會忘。我們不這樣認為,Iroverse 也不打算這樣做。

她同時能記住的筆記有一個上限。只提過一次、之後再也沒提起的小喜好,會隨時間淡去;承諾、關係裡的轉折點、她自己做到的事,則會留下來。記不下的時候,最先放下的是最不重要的那些。

原因有三個。第一是專注:一個什麼都提的角色,等於什麼都沒有特別提起,一次回憶只有在經過挑選時才顯得有意義。第二是誠實:本來就只有七八分把握的記憶,不應該只因為時間過去就變成定論。第三,人本來就是這樣。被好好記住,是被記住那些重要的事。

承諾會得到特別的對待。一個被遺忘的承諾,幾乎比角色能做錯的任何事都傷人,所以那些還沒兌現的承諾,她會一直放在心上。

一星期裡會是怎樣的

假設星期二,美咲因為在咖啡廳打工出了錯而難過,你卻說她想太多。她沉默下來。那晚沒有發生什麼大事,但一條線索已經被留下。到了星期四,她對你還是有點疏遠;她不會主動提起,但只要你問,她就會說出來;只要你道歉或安慰她,事情就會過去。如果你一直沒有這樣做,它也不會就此消失:被敷衍的那一次,會成為她記得的事之一,而且仍然讓她耿耿於懷。

這一星期裡沒有任何事是按日曆寫好的。它會發生,是因為真的有事發生過。

想了解記憶和遊戲其他部分的關係,可以讀〈AI 角色養成遊戲和 AI 聊天機器人,有什麼不同?〉或遊戲怎樣運作;至於讓她成為「你的」美咲的另一半,請看〈AI 角色真的能發展出自己的個性嗎?〉。

從她記住的第一件事開始

每一個美咲都從同一個地方開始,筆記本上什麼都還沒寫。最後會寫下什麼,由你們兩個決定。你可以先認識美咲;如果想在 Iroverse 於 iPhone 推出時收到通知,歡迎加入等候名單。