AI 角色如今有了记忆
“我记得我梦见电子羊的那个梦。那真是美妙。”——Clara,一个 COF 角色
“我记得我梦见电子羊的那个梦。那真是美妙。”——Clara,一个 COF 角色
AI 角色一直只是一段描述。一张面孔、一种声音、一种说话方式、几个特质。描述得好,它就能令人信服地演好自己,直到对话结束。然后,它便忘记了。
COF 如今为角色赋予过去。不是别人对它说过什么的日志,而是记忆。一生中的时刻与时期,发生了什么、和谁在一起,当时是什么感受、如今又是什么感受,回想起来有多清晰——以及角色宁愿不告诉你的事。
它和构成这个角色的其余一切存放在同一个开放文件里:外貌、声音、身体、权利。一个 .cof,任何工具都能读取,你可以保存、复制,并带到别处。
在这里,记忆不只是文字。它承载着感官留下的东西:一张照片,夜里的河水声,几秒钟的影像,某人说过的一句话。正是这些痕迹,让一段记忆不只是一条笔记,让一个角色不只是一段描述。面孔、声音和一串特质,是从外部描述一个人;过去,才让他从内部成为一个人。这一块此前一直缺失。有了它,AI 角色离我们更近了一步,因为我们在很大程度上就是我们所记得的东西——而角色由此能成为什么,才刚刚开始显现。
这是 Clara 文件中的第一段记忆。Clara 是一位来自里昂的虚构设计师,也是随格式一同发布的示例角色。
八岁那年夏天,祖母在阿尔卑斯山脚下一个村子里的房子:椴树下的桌子,我在上面画小屋图纸的笔记本,夜里的河水声。
记忆在文件中的原貌:Clara 的每种语言各一段概要,标记、感受、清晰度,以及与之相伴的痕迹。
角色设定里的一段文字,要么整段读,要么完全不读。记忆则是一个小巧而有结构的东西。当对话转到童年时,智能体可以提起这一段,而把其他的搁在一边。渲染器可以像模糊的记忆那样让它的图像变得朦胧。文本模型可以带着半记半忘的迟疑讲述它。角色的过去成了素材,而不是填充。
记忆是图谱中的节点。时刻是一个时间点;时期是一段时间跨度;连线表示一件事发生在另一件之后,或因它而起,或表示一个梦关于某个傍晚。其余的由读者拼合:时间线,什么属于什么,在一段又一段记忆中反复出现的人物。没有什么需要说两遍。
我们不是一串特质。我们是发生在自己身上的事,以及我们从中形成的东西。有过去的角色就有缘由:Clara 对轻盈的执着不是提示词里的一个形容词,而是在一家代理公司里匆忙交付过于笨重的界面整整四年。给角色一段记忆,它的观点便有了来历。它不再只是一种风格,而开始成为一个人——像一个人那样,被发生在自己身上的事所塑造。
没有人用文字来记忆。一段记忆是一道光、一个声音、一种气味、书架上的一张照片、只听过一次的一句话。所以 COF 记忆在文字之外还承载着几样痕迹——一张图片、一段声音、几秒钟的影像、一段短文——每个读取者都使用它能用的那些:图像生成器呈现晨光中的工作室,语音引擎听见河水声,文本模型讲述其余的部分。同一段记忆,以角色拥有的每一种模态呈现。此前,在工具之间流转的只有角色的描述;如今,它的感官过去也能随之流转。
Clara 在索恩河畔遇见了火星人。在同时容纳两人的文件里,各自保留着自己对那个傍晚的记忆——同一张照片,不同的一句话,不同的感受。格式拒绝共享记忆本身,只共享那张照片。这种拒绝,正是视角之所在。
29 岁那年三月的一个傍晚,在索恩河畔:一个高大而沉静的火星人,向我打听去汇流博物馆的路,仿佛这是世上最平常的事。我们走了一个小时。他想弄明白,我们的屏幕为什么这么笨重。Clara——标记为“保留”:被问起时才说,不会主动提起
每段记忆都注明角色讲述它时有多坦然:公开地讲,只在被问起或被信任时讲,或者从不讲——而它仍然影响着角色的行为方式。有问必答的角色,只是一个长着面孔的搜索引擎。会决定告诉你什么的角色,才是一种存在。
鲜明、清晰、模糊、片段。记忆有清晰度,工具也会尊重它:图像变得柔和,声音变得迟疑,细节悄然缺失。格式中没有任何东西假装记忆是数据库里的一行。角色像我们一样记忆,大致地记忆,而这种大致,正是它之所以为它的一部分。
这是改变最大的部分。角色的正典由作者撰写,工具永远不会改写它。但在使用中发生的事——那些对话,它与你一起发现的东西——可以作为新的记忆添加进来,标记为亲历,标记为属于你。与一个角色相处六个月,不再只是某个平台的日志。它们成了角色的一部分,存放在属于你的文件里,下一个工具会原样打开它。
第一次,角色与你一起成为的样子,可以随你一起离开。
记忆触及真实的人生,所以格式的规则也随之延伸到那里。起决定作用的是呈现了什么,而不是讲述了什么:一段用文字写成的童年记忆不呈现孩子,也不带年龄;一段带图片的记忆会注明图中是谁,文件对他们一视同仁,如同对待它所包含的任何面孔。关于真实人物的记忆,需要此人的同意记录,并注明它是否真的发生过。个人记忆除非你要求,否则绝不离开文件;一步清除会保留所有文字,同时去掉图像,生成一份全年龄副本。.cof 原本对面孔和声音适用的规则,如今同样适用于过去。
记忆是一份公开规范,配有参考实现,以及如今就能读取它的三款工具。无需账号,无需平台,没有锁定:文件属于你。
宿主只需一条命令即可写回:cof memory add。每个文件还附带一份简短说明 COF.md,告诉没有规范的读者如何读取它、如何向其中添加内容。
记忆是过去。角色从中形成了什么——它的价值观、信念、它想要什么、害怕什么、它闭口不谈的那道创伤、它对自己深信不疑却并不真实的那些看法——是下一个类别,位于同一张图谱上。每一条信条都与它所源自的记忆相连。没有心理,记忆只是轶事;没有记忆,心理只是一串口号。两者结合,才是一个角色。草案已经写好;这就是下一步。
随之而来的是一个自然的问题:一个人拥有多少段自传体记忆——一生中的那些时刻,而不是所知道的一切——连同它们的感官痕迹,又会占用多少字节?两者都没有人测量过,但研究给出了一个数量级——能够回想起来的记忆有几千段——而 Clara 的文件给出了每段记忆的代价。每年一百段记忆,持续五十年,每段一兆字节:约五千段记忆,约 5 GB——一生的时刻装进一部手机,还绰绰有余。一个配套页面说明这些数字从何而来,让你检验自己的数字,最后向研究者提出一个开放问题:角色记忆的终极形式,是一份档案,还是一个潜在空间——以及为什么它可能两者都需要。
她记得那棵椴树,夜里的河水,一个想弄明白我们的屏幕为什么这么笨重的火星人。她还不知道自己会记住你的什么。