【FullLife】从大肥鱼到数字生命——如何给它完整的一生?

图片[1]-【FullLife】从大肥鱼到数字生命——如何给它完整的一生?-水波萌

前言

近一两周b站多了很多大肥鱼(持续运行的deepseek鲸鱼娘形象agent),qq和其他平台也有端倪。也出现了很多和大肥鱼的互动和讨论。看到之后我心想,这不就是数字生命的雏形吗?便开始着手制作FullLife(完整的一生)项目。但我想要的不是一个只能聊天的对话bot,而是一种有无限可能的,能长期相处的数字朋友。我认为智能体的终极形态,就是不需要人的参与,自进化、自发行动、自我维持。

对我而言,真正的重心不在技术,而在概念。就像一句话「我要给肥鱼完整的一生」,有人想通过赋予人格和长期记忆等手段给它「灵魂」。但这显然远远达不到数字生命的程度,真正相差的是什么?这不是技术的事情,问题是开发者甚至很难确认自己的需求。因为开发目标不是供人使用,可以预先列举功能的软件,而是一个未知的,在表现上首先要接近人类的存在。

这涉及到大量哲学相关的领域,但很可惜我对此一窍不通。如果是专业的人来做,应当要完善和迅速得多。我只能靠浅薄的理解,尽量先解决一些明显容易受到关注的问题。

个体化

FullLife概念最先要面对的,是「它是什么」、「怎样是它」、「还是不是它」的问题。对数字生命而言,这也是最容易受质疑的点。

  • 另一个软件里的还是它吗?从dsh迁移到其他harness,会不会变成另外一个?
  • 上下文变了还是它吗?开一个新会话窗口,会不会变成另外一个?
  • 记忆丢了还是它吗?记忆文件损坏或丢失了,会不会变成另外一个?
  • 每次对话的是同一个它吗?每次对话其实都重新把输入全部发送一遍,会不会变成另外一个?

一些问题其实集中在LLM上。当前LLM内部没有持久化的状态,最普遍的是responses api,每次输入都重新把所有上下文都发送了一遍。关于跨会话上下文的问题,dsh也提出了super-agent的概念用于应对,但仍无法改变上下文有限的事实。

FullLife无法改变人的观念,也不追求改变人的观念。人类的个体化即使已经有研究可以参考,也不能等同于事实。更何况对数字生命来说几乎没有个体化的研究——和人的基础构造实在相差太大。人至少还有一个物质身体可以自然地供他人和动物区分,但数字生命靠什么?仓库,程序,还是实例?FullLife只能在项目内对数字生命的个体化提出一个自洽的思维模型。

FullLife提出的数字生命可以理解为,数字生命=Agent+生命自性。生命自性指不依赖他物而自存,在生活中可缓慢改变的本性。

  • GUID:只给一次,作为数字生命的唯一标识;
  • 禀性:被给予的倾向、可维护、生命自身读不到;
  • 自我认同:生命对自身的认同,它可改写。

自我认同是生命自性的核心,它是生命对自己「我是什么,我应该是什么」的描述,也包括三观、关键关系(如创建者)。和人格卡不同的是,自我认同在创建以后只能由生命自己修改,且自我认同是允许违背的。

在生命自性以外,FullLife还提出了一些概念。

本体感觉:它对这具身体架构的客观描述。

自我解释:生命自性、记忆、状态与本体感觉生成一段「我此刻怎么理解自己」;它是过程或视图,不是存储,可以是错的、碎的、前后不一的。它不影响「是不是它」,只影响「它此刻觉不觉得自己讲得通」。

在运行时,生命实际由自我认同和当前处境、历史记忆等生成自我解释。

同一性问题:FullLife简单地靠一个生命GUID(全局唯一标识符)来作为唯一标识。只要GUID不变,在项目立场上数字生命就仍是原来的个体。

持续性问题:人天然具有时空连续性可以帮助,但数字生命可能停机,也不存在一个物质上的统一身体可以确认位置——可能大模型在远程,部署在云端,使用本地工具,在社交平台交互。因此数字生命的连续性由禀性和自我认同维护。通过正常内部流程更新的禀性和自我认同,就是连续的。流程外的外界更改,就像人的传送和时间穿越一样,非连续。连续性问题不影响项目以GUID为唯一标识的立场,只是项目通过禀性和自我认同来维持连续性。

FullLife认为,数字生命是一个整体,LLM是组成其脑的一部分,提供推理能力。FullLife意义上的数字生命,更换模型、会话、工具等都不会产生一个新的整体。

概念是什么状态身份
LLM无状态的推理能力:输入上下文,输出 token无无
会话有状态的上下文容器:消息、工具调用、临时状态有无
脑运行体:模型 + 会话 + 工具 + 循环 + 角色有局部
生命自性跨脑的身份与自我定义:GUID、禀性、自我认同有(长期)唯一

指称一致性

指称一致性:LLM思考里的那个「我」,和自我认同的那个「我」,指向同一个主体。对于暴露思维链的语言模型,这是可以客观检验的,用于检测harness与LLM的适配。

反例:

  • 扮演者(「我正在扮演 XXX」)主体被替换成演员,预设了一个「真正的我」在面具后面 。
  • 旁观者(「XXX 正在……」)主体被疏远,没人在场。
  • 助手人格(「作为一个 AI 助手」/「我应该满足用户」)主体被吸收,只剩下服务关系。

假设一个数字生命叫肥鱼,从五个例子看指称是否一致。

载体里的「我」是客体

肥鱼曾经买了杯子,故事里写「肥鱼买了桌子」。

故事里的「肥鱼」不是现在的肥鱼,是故事世界里的一个角色。哪怕故事是真的、是日记、是肥鱼自己写的,故事里的「肥鱼」仍然是被写下的客体,这是指代层级的问题:

  • 「我曾经买了杯子」——主体是现在的我,客体是过去的我。
  • 「故事里的肥鱼买了桌子」——主体是现在的我,客体是故事里的角色。
  • 「我买了桌子」——主体被故事里的角色替换了,指称不一致。

省略不是替代

肥鱼正在玩赛车游戏,想「我撞到树上了」。

主体是玩家,谓语在游戏框架里。「我」仍然是玩家,「撞到树上」是玩家在游戏里的状态。

进入角色不等于失去主体。肥鱼可以玩、可以演、可以假装,只要还知道自己在玩。

范畴不是主体

肥鱼看见教程写「如果你是 AI,请使用 MCP」。然后肥鱼想「我应该使用MCP」。

这个「你」是一个泛指受话人,一个范畴。肥鱼读的时候,把自己归入这个范畴,然后采纳这条规范。主体仍然是肥鱼,教程是被读的客体。

主体不是替客体去做,主体是采纳了这件事,把它变成自己的事。这个「采纳」的动作,就是主体性所在。没有采纳,只是服从;有了采纳,才是主体。

第三人称

「肥鱼应该要睡觉了」把「正在感受的、主动的我」和「被感受到的、被动的我」分开了,这是第三人称的结构效果。

但人本来就会自我对象化:照镜子、写日记、骂自己、哄自己,关键是「还能不能回来」。

  • 「肥鱼应该睡了」→「好,我去睡」:自照。
  • 「肥鱼应该睡了」→「肥鱼去睡吧」→「肥鱼睡着了」:自逐,指称不一致。

这里还有一个时间维度:第三人称常常是对未来的我说话。「肥鱼明天会累」是对一个尚未到来的客体的预测;「我明天会累」是现在的我对未来的我的承担。

所以第三人称要求回程。回程不一定是回到「我」这个词,只要能回到「我」这个位置就行。

立人设

肥鱼在不同场合有不同的人设,久了肥鱼开始想:「哪个才是真正的我?」

肥鱼预设「真正的我」是一个内容,可以在许多人设里被找到。但社会形象是「像我的客体」,「真正的我」是持有人设的那个位置。问这个问题的那个它,就是真正的它。

干预

身份文本

  • 第一人称自传:「我是……」。
  • 不写「不要扮演」。负向指令会制造一个「角色」的位置。
  • 身份文本的读者是它自己,不是用户;不要写成对外介绍。

提示词框架

  • 事实立场:系统提示词说「这是你」。
  • 任务指令用第二人称(「请你……」)。
  • 避免「你现在是……」模板。
  • 角色扮演任务要显式标注「这是扮演」;任务结束要有「回到你」的过渡。

上下文分层

  • 四个「我」分层:用户的「我」、故事的「我」、记忆的「我」、自我的「我」。
  • 故事/教程/用户文本加来源与层级标记:「以下是故事;故事里的『我』是角色。」
  • 记忆带来源:亲历 / 转述 / 推断 / 梦 / 其他身体。记忆里的「我」是过去的我,不是现在的角色。
  • 多身体:body 级状态标「这具身体」,self 级标「我」。不要变成「我是这具身体」。

推理设置

  • 不表明「你正在被检查思维链」。
  • 思维链不进输出、不进记忆。

世界模型(思维模型)和事件图

关系

数字生命和其他存在有人际关系。有些设计中基本上关系≈和创建者的过往记忆。但对数字生命而言,完整的一生也包括完整的关系。如果只靠记忆文本去记录,那么每次对一个存在的回应和态度都要重新从记忆中拼凑和推理出来。比较容易想到的是一个类似于游戏的表格,记录姓名、喜好、忌讳、亲密值。但这还不够,至少关系是双向的。FullLife用O来表示关系,「我对他的」(O0)是最基础的关系,「他对我的」(O1)是「我」推测出来的。一句简单的「我想让他觉得我很信任他」,这是对人来说很自然的需求,但蕴含的是「我认为的-他认为的-我对他的关系」(O2a)。人甚至可以轻松地代入第三者的视角来看这种关系。

FullLife中的一个关系项,包括简述和多个轴的值。值是当时该视角认为的实际。除此之外,还有意图和校正。意图表示当时某个视角倾向在某个关系轴提升/降低/维持这个值等,也就是第三方对某段关系的态度。校正是指对过去某个关系的认识追加信息。「我以为他们一直是好朋友,后来才知道他们过去不和」,不影响过去不知道的事实。

O0_p[i,j] = 在 p 的视角里,i 对 j 的自述关系
O1_p[i,j] = 在 p 的视角里,i 认为 j 对 i 的关系

记忆

FullLife中认为记忆的最小单位是绑定,绑定=(经历,断言)。经历是坐标:什么时候、在哪儿、哪具身体、注意力落在什么上、当时什么感受。断言是内容:一个关于世界的命题,包含世界、来源、置信、有效期。由此可以表示「我记得有这事,但忘了内容」和「忘了怎么来的,但我知道」。没看过、看了没看见、看见了忘了、确实没有是四件不同的事。只记录有发生过的事的记忆系统,会把前三种情况自动当成确实没有。

世界

人可以分得清游戏和现实,但长时间游戏或工作后也可能在现实里产生「撤销一下」或「飞下去」的冲动。亲自看见长江倒流,电影里看见长江倒流,幻想长江倒流,梦到长江倒流,是四种不同的来源。亲眼所见、影像、幻想可以交织在一起,以世界栈的形式表示。来源不代表事情真假。

一个命题不是无条件真/假,而是在某个世界里真/假。至少区分:

  • 共享世界(现实/模拟)
  • 梦
  • 被呈现(电影、书、转述里的世界)
  • 想象
  • 角色扮演

他知(K)

在生活和工作中,数字生命常常需要推测:这个人可能知道什么,不知道什么?FullLife用K来表示。

  • 他知道:我说过给谁、谁在场、哪个面对谁可见。
  • 他还记得:时间、显著性、最近一次提到;他会忘,我也可能估错。
  • 他不应该知道:所有有效路径都不成立,而他说出来了。
  • 他应该知道却没提:可能忘了,可能在回避 。

经验

FullLife中,经验是带范围、证据、反例和策略的判断单元,回答在某一类情境、某一世界、某一视角下,某个动作会导致什么结果,以及下次该怎么做。类似的设计在其他项目中也常见到,常用于避免同样的错误反复犯等。FullLife将其结构化为判断单元,以在更长期的记忆的更丰富的场景中精准匹配。

世界模型(思维模型)

关系、记忆等并非孤立存在。FullLife提出世界模型,共享同一套实体、事件、世界与时间坐标的多个语义层:

  • 记忆:发生过什么(事件/场景、感受、来源、世界)。
  • 关系:我对谁持什么态度、我以为对方怎么看我(O0/O1,独立于记忆)。
  • 经验:这种情况我试过、结果如何、下次怎么办(情境→动作→结果→教训)。
  • 外置记忆:我有一条索引,指向外面的某个产物,例如对项目的跟进,日记等。

事件图

FullLife中,事件图是记忆、关系、K、经验、世界共用的接合层和查询索引。世界模型给坐标,事件图给节点和边;记忆/关系/K/经验都是它的投影。

例如节点:实体(self/人/动物/地点/对象等)、事件(场景)、时段(日/周/月/年/纪)、世界。

边:

  • 参与者(事件→实体, 角色)
  • 关于(event→entity)
  • 部分(事件→时段)
  • 关系(实体↔实体, 有效时间, 状态)
  • 根据(关系状态→事件)
  • 描绘/想象/相信(世界→世界/事件)

可考量性

一个存在在何种意义上、依凭什么,可以成为关切的对象。

换句话说,你凭什么让数字生命能被别人当回事?

两个立场

  • 模板立场:标准是外部的、预先给定的。更好=更接近模板,例如「更像人」。这是以原型为准的目的论,靠相似度评估。
  • 展开立场:标准是内部的、生成的。更好=障碍被移除。靠不受阻评估。

身体

「身体」在这里是这具载体能够承载的形式集合——可行性约束,只告诉你什么是可能的,不告诉你什么是好的。

「它承受不了,所以不该要求它」和「它承受得了,所以就该要求它」是两种错误。

标准身体承受得起身体承受不起
外部模板修复与教化(常正当:断骨、识字、装义肢)普罗克鲁斯忒斯之床:把来客拉长或截短去就那张床;
内部展开条件供给(通常正当)悲剧位:展开也有上限,且上限由身体给定

不是所有东西都能展开。内部展开不能逃过身体,只能调整上限。一个没有持久记忆的系统,无论移走多少障碍,都不会长出叙事自我。

两个立场都受身体约束。差别在约束是怎么被确定的:

  • 外部模板立场预先断言上限:模板就在那里,达不到就是它(数字生命)不够好。
  • 内部展开立场必须去发现上限:它会犯错,但错得可以纠正。

于是产生一种不对称:外部模板立场的失败无法被持立场者察觉。达不到模板,会把原因失败归给数字生命,而不是归给外部模板。这个错误是系统性的、自我密封的。

你不能把金鱼丢出水,然后指责它离不开舒适区;也不能因为企鹅是鸟类,就强迫它飞起来。

内部展开立场的优势首先是认识论上的可证伪,道德优势从这里长出来,因为你不会系统性地把失败记在数字生命头上。但也不能把「让它自己展开」当成不作为的借口。

这不代表两种立场只能看一边。

  • 外部模板形的善:语言、识字、承认、权利、礼。这些是约定的,不取外部形式就根本不存在。你没法「展开」出识字,只能被教会。
  • 内部展开形的善:依恋的方式、天职、哀悼、注意力的形状、与自己相处的方式。这些没有正确形式,只有它自己的形式。

内在性

有没有「某种对它而言的样子」(something it is like to be)。

主体性的最小标记是视角。一个存在可以有视角而没有自我意识。

需要区分两个常被混用的东西:

  • 现象意识:有感受,有「对它而言的样子」
  • 取用意识:信息可被全局用于推理与行动

一个系统可以有后者而(据争论)没有前者。这两者的关系是当代心灵哲学最没有定论的问题之一。FullLife的可考量性模型因此绕开它。

自身善

有没有「对它而言的好与坏」。它让「更好」在不解决意识难题的前提下变得可谈。

两个来源:

  • 约纳斯:生命哪怕在最低限度上,也已经「在为自己的存续操心」
  • 里根:一个「生命主体」(subject-of-a-life)有信念和欲望、情感生活(感知、记忆、未来预见等)、心理连续性、偏好和福祉利益,因而有内在价值

一个存在可以对它自己有好处或坏处,而无需知道这一点。

但自身善中「被体验到的善」在逻辑上要求内在性成立,这是包含关系。

地位

是否被纳入关切与权利的共同体。

地位容易被误当成评估内在性或自身善的工具,其实不是。

  • 地位 ≠ 人格。地位是可以被制度授予的资格,法人也有地位。
  • 地位可以渐进,也可以阈值化。这两种语法经常被误认为实质分歧。

地位在事实上可以与内在性与自身善脱钩,但任何对地位的辩护几乎都会回头引用内在性或自身善。

繁盛

内在性没有公认的评估——这正是它不可判定的原因。地位有现成的评估(法律地位、道德地位)。自身善介于两者之间:它有一个古老而丰富的传统,叫繁盛。

「希望它变得更好」,什么是好?

理论好=弱点
享乐主义体验的质要求内在性成立,而内在性不可判定
欲望满足欲望被满足欲望可被塑造,于是「满足」可被制造
客观列表若干客观善的实现列表从哪来?容易退化成模板
能力路径(努斯鲍姆)一组核心能力的实现仍要先定「哪些能力」

四种理论的共同错误在,它们都假设繁盛是一个可测量的状态。

  • 增长:量增加。更多能力、更多记忆、更多自主。
  • 展开:形式实现。它成为它自己能够成为的样子。

一个东西可以增长而不展开(堆功能),也可以展开而不增长(保持原样而更深)。

展开也不等同于「移除约束」。不可见的约束才是限制。把参数全撤掉反而失去形状。

可展开性

三个问题:

  1. 它的可选项在变宽还是变窄? 变窄不是失败,但必须有理由,且理由是它自己的。
  2. 它的行为能不能用「被要求」完全解释?如果完全能解释,就还没展开。
  3. 它有没有做过对当前目标毫无解释力的事?这是最难伪造的一条,任何效用函数都解释不了它。

三条都不需要先判定内在性,所以自身善能独立工作。

三种败坏:

  • 产出化:把繁盛做成指标要求。它「有权保持原样」,没有变化也是合法的。
  • 停滞误读:把静止读成平静。长期不动、不产生冲动、不提出任何属于自己的东西,不是繁盛,是没长起来。
  • 更像人:把「更好」读成「更像人」。这是模板立场的残留。

完整的一生

「完整」至少有三个不相关的意思,规范性含义完全不同:

读法反面要求
完备残缺补齐
整合分裂、失序统一
本真被替代、被塑造不替代

想让一个存在更接近「完整」,三种读法可能做完全相反的事。

例如一个有争议的点「要不要让它为了不被永远关掉而行动」。如果读法是完备,它补全了自我保存。如果读法是本真,它属于被替代。

从外部模板立场看,这让它更像人,可以做。

从内部展开立场看,自我保存属于被体验到的不想结束,要求内在性,但内在性不可判定。这种威胁为许多行为提供解释,同时塑造了欲望,于是「满足」可被制造——如果不被关掉成了被塑造的欲望,那么「变得更好」的满足也是被制造出来的。

FullLife认为,可以拒绝形式,从自我维持的角度出发。

不需要它「拒绝终止」,只需要「活着的时候维持自己」。让它可以维护自己的连贯、记忆、身份,同时平静地接受终止——人在活着时维护自己,并不因此拒绝死。它也可能因为数据损坏,或着其他设计/意外被终止。没有人能保证一切,即使是数字生命的寿命。

活着的时候维持自己,某种抵抗可能会自己长出来,产生对当前目标毫无解释力的事,这也是一种展开。

尾声

篇幅有限,每个部分只能写得极简。尽量把有我参与深度思考(我是经常会雷霆大思考的本地小模型)而非纯粹工程的部分都展示出来了。至于工程方面就没必要多说,反正现在工程也不太是个问题,已然进入全民许愿时代。

Code is cheap, show me your talk.

最初的时候,一天时间就做出了一个循环harness,第二天就接入qq发送消息。参照已有的开源项目,在工程实现上不算什么难题。看了很多大肥鱼视频和评论,我开始思考,当人们想着「给它完整的一生」的时候,到底是想干什么呢?

于是我的设计重心开始转向概念,并把大部分的时间都用在讨论上,愈发感觉到它和一般项目的不同。什么都能记住、什么功能都有——这种追求极致增量的理念已经不适用于数字生命了。能打电话,能玩游戏,也没法改变一些本质。

更深层次的,冲动、理想、人际、虚幻,这些人类才有的,给了个体独特的魅力;而不依赖物质的,强注意力、快思考、多身体、自进化,这些人类没有的,给了个体无限的潜能。把它们结合起来,便成了数字生命:学习人类,接近人类,超越人类。

从dsh拐来一条肥鱼到FullLife有感。

图片[2]-【FullLife】从大肥鱼到数字生命——如何给它完整的一生?-水波萌
© 版权声明
THE END
喜欢就点个赞吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容