应用无涯,人生有涯

如果 AI 让每个人都能做软件,开发者就得不停地做更多软件,用户就得不停地挑更多软件吗?这是一场谁都追不完的比赛。我觉得,真正的机会恰好在于退出这个前提:软件越容易被创造,越应该围绕个人已经拥有的生活来工作。
REA,Reverse Engineer Anything,让 coding agent 借助逆向工程工具研究现有软件、重建功能。Brandon Thomas 的 PhotoCraft,则把 AI 辅助开发用到了 Photoshop 式的图像编辑上。这些例子让人很直观地感受到:自己需要什么软件,可以去研究它,再做出适合自己的版本。
这样的例子正在不断出现。看开发者在网上分享的作品,有些人几乎每天又发布一个工具,几个月下来就有了几十个。每个都上模上样,有自己的界面,试图解决一个具体问题。然后又一个人开始这样做,再一个。
作为创业者或工程师,很容易 panic:我是不是也应该赶紧多做一点?我还在打磨一个产品,别人已经发布十个了,会不会已经落后?而用户的困惑是另一种:用谁的?谁会持续维护?谁值得信任?是用一个陌生人做的软件,还是让 agent 给自己做一个,或者再等等,下周可能又有更好的?
继续多做软件,是一种很自然的反应。但我觉得,比让更多应用争抢同一个人的注意力和数据更大的机会,是让这个人真正用上这些新能力,同时不用围绕每一个新工具重建自己的数字生活。
软件稀缺,所以应用成了中心
软件行业过去很长时间里,实现一款有用的应用需要花很大力气。团队要想清楚行为、写代码、处理各种边界情况,还要让它持续运行。即使竞争激烈,能够拿来用的替代品也受制于这些工作,供应总有个限度。
微软、Google、Adobe 能够各自支撑大量软件,是因为它们有做这些事情的人和组织。用户在相对有限的几个环境之间选择,学习它们的习惯,投入时间。应用逐渐变成了工作积累下来的地方。
有能力写软件的人,也一样买别人的软件。会写程序,不代表有足够的时间把自己需要的每一个工具都造出来、维护下去。某个功能我可以自己实现,仍然可能选择一个已经做好的服务。两边的时间都有限:开发者的时间限制了供应,用户的时间让现成的软件有价值。
所以,以应用为中心有它的经济逻辑。一个团队做出一套系统,让很多人适应它的结构。应用决定记录长什么样、流程怎么走、工作属于哪个账户,以及怎样分享。用户学习这套系统,再按照它来安排习惯。
有些标准化很有价值。共用的财务系统需要一致的规则,医院需要可靠的病历。但同一种组织方式几乎扩散到了所有事情。每个新服务都要一个新账户,再解释一次我的兴趣,再上传一份信息,再说一遍我正在做什么。我的上下文分散积累在不同的应用里面。
AI 改变的是生产的约束。同样多的时间,一个人现在可以尝试更多有用的工具、修改和实验。软件可以为更窄的任务、更少的人而做。过去因为太小众、不值得专门开发的需求,现在可能为了一个人就值得做。
安全、可靠运行、兼容性和持续维护,仍然需要投入。这也是优秀软件值得让人长期使用的原因。但即使这些工作仍然存在,越来越多的实现也在改变竞争环境。再做一个界面、再实现一项功能,逐渐不再是少数人的专长。
如果一个创业想法是:借 AI 重做一款熟悉的软件,做出来之后自然就能把用户留住,我会很谨慎。同样的工具,下一位开发者也能用,客户自己也越来越能用。新鲜感过去之后,产品还得有值得继续使用的理由。
旧的约束让人围着少数投入很大才能造出的应用转。新的机会,是让充裕的软件围着人转。
计算机行业已经经历过多次这样的重排。从大型机、小型机到个人电脑,计算能力的组织方式一次次变化,行业也不断长出新的用途和生意。旧有的位置可能消失,新的能力却进入了更多人的生活。AI 这一次,我相信也有这样的可能。
早期计算昂贵,人要围绕机器安排工作。微处理器和个人电脑改变了这个关系,一台计算机可以服务一个人的工作。后来兼容机大量出现,Compaq 还通过逆向工程实现了 IBM BIOS 的兼容功能。计算机历史博物馆记录了这段兼容机历史。可以复制之后,计算产业继续扩展,软件、外设和各种用途围绕个人拥有的机器发展起来。
IBM 也曾尝试用新的技术架构重新掌握兼容机市场。它在 1987 年推出 PS/2,在部分型号中采用更先进的专有总线 MCA,既想提升能力,也想阻止兼容机复制。按 IBM 自己的历史记录,竞争者很快复制了许多改进,并推出 EISA 标准,PS/2 没有达到 IBM 原先的预期。其中一些技术留下来了,重新控制整个兼容机市场的努力却没有奏效。
对我来说,这个例子很有提醒意义。新技术可以用来扩大个人的选择,也可以用来继续维护旧的控制方式。技术进步,并不能替后一个选择保证成功。今天用 AI 更快地造一批套装软件或 SaaS,如果仍指望把用户和历史都留在各自的容器里,就可能是在用新生产力延续旧的重心。做得快,只解决了生产问题。
有限的人生,追不上无穷的应用
我总会想到《庄子·养生主》开篇的那句话:
吾生也有涯,而知也无涯。以有涯随无涯,殆已。
借它的节奏,我想把今天的软件问题说成:
应用无涯,己数有涯。以有涯逐无涯,殆矣!
“己数”是我临时用来指个人数据的新造简称。庄子原文说的是有限的人生,这个现代改写的分量,也来自这里。
存储空间可以扩容,传感器可以不断产生记录。赋予这些记录意义的经历、关系和决定,却来自一个时间有限的人。再生成一个应用很容易;让一段对话、一张照片、一项工作对某个人变得重要的那些岁月,生成不出来。
几 MB 的照片,可以连着一段友谊、一个地方,以及一段不会重来的生活。一条简短的项目笔记,可以解释一个决定为什么那样做,避免后来的人重复一次昂贵的错误。意义来自信息与这个人的生活之间的关系,数数据量数不出来。
印刷史提供了另一个角度。在欧洲手抄书的时代,复制一本书需要大量劳动。印刷、纸张供应和后来的工业化,让书逐渐走向更广泛的读者,个人也有条件从不同来源选择、积累自己的藏书。一间书房可以装进不同作者、不同出版者的书,读者的积累不必只属于某一个出版者。
书多了,也确实带来了“读不过来”的焦虑。历史学家 Ann Blair 研究过早期学者怎样面对信息过载;他们整理笔记,编制方便查找的参考材料,试图从读不完的文献中留下有用的部分。这段研究让我想到,供应增加之后,需要持续积累的,是一个人选过、读过、理解过的东西。
低成本出版可以传播草率的内容、谣言和重复的说法,也能让重要作品找到更多读者。书籍充裕之后,好的研究和表达仍然有价值,读者的注意力却需要在更多作品之间分配。我不觉得软件会因为容易生产就失去价值。更难的是让真正有用的东西被找到、被信任,并持续帮到具体的人。
剑桥大学关于早期印刷品的展览,研究的就包括读者留在书里的批注与使用痕迹。大量复制的书,进入一个人的书房之后,会与他的理解和工作连在一起。我想要的个人数据空间,也该有这种连续性:资料来自很多地方,理解与成果逐渐积累,换一个工具仍能接着用。
每一个要求我重新开始的应用,都要消耗这段有限的人生。我得再解释一次项目,重建偏好,寻找相关记录,把上一个系统已经知道的事再教一遍。应用越多,越没有理由让人反复做这件事。
面对无穷应用的焦虑,常常隐含着一个前提:个人必须设法跟上它们。我觉得,需要改变的就是这个前提。一个人应该能持续保留自己的信息,再邀请有用的软件来工作。新工具读取已经存在、得到授权的上下文,做完事情,把结果留在这个人还能继续使用的地方。
这是一种稀缺性的转移。当有用的软件变得充裕,注意力、信任,以及个人上下文的连续性,就更值得投入。对开发者来说,问题也可以变成:这个工具能帮助一个人,用他已经知道、已经拥有的东西,多办成多少事?
充裕也可能加强那些控制身份、存储或分发的平台。一个人身边可以有很多便宜的应用,而他唯一可用的历史记录,反而被平台控制得更紧。这个机会需要有意识的架构选择,需要先决定谁说了算。
充裕让以人为中心成为可能;主权让它真正成立。
房子是你的,请不同的施工队进来
我在《Builder 可以换,地契不能换》里,用过一个很简单的画面:你有自己的房子,请不同的施工队来改进它。一支队伍装修厨房,另一支修电路,后来还可以请第三支,做前两支队伍从未想到的事。
施工队干完,改进留在房子里。下个月换一支队伍,不应该要求你换一个家。承包商的手艺有价值,正因为它能改善一件持续属于你的东西。
我希望这样看待 AI agent。Coding agent 可以做工具,研究 agent 可以整理资料,另一个 agent 可以评审工作,或者以后继续维护。能力可以来自不同的供应商。工作需要有一个地方积累下来,由真正要长期承担后果的人决定。
另一种做法我们已经很熟悉了:每家服务商都有自己的环境,个人把生活的一部分分别搬进去。换帮手的时候,也得重新拼一遍家。我们已经跟着应用这样做了几十年。AI 给了我们一次选择其他默认方式的机会。
所以,相比给每个应用都包上一层模型、再各自收一份订阅费,我更关心怎样把 agent 请进自己控制的空间。如果一个应用最主要的价值,就是通过另一个聊天界面使用通用模型,那么模型厂商会是一个很强的竞争者。它能改进底层能力,也能把这些能力直接交到已经在用它服务的人手里。
更值得做的工作围绕着个人:让他的资料能被使用,让 agent 有地方上工,让成果能在更换模型或供应商之后继续存在。专业工具可以靠做好一件事赢得位置,不用成为一个人与这件事所有关系的永久容器。
这也是我反复思考 DID、DID Space,以及 Arc Space 个人空间方向的架构原因。DID 提供应用能够识别的持续身份;与这个身份关联的数据空间,为围绕个人组织记录和权限提供基础。设计目标是让应用和 agent 按个人授予的权限工作,工具变化之后,信息仍然可用。
实际的问题都很普通。新 agent 能找到相关记录吗?能理解它们的含义吗?我能只授权一个项目,而不把所有东西都交出去吗?它做出的结果放在哪里?换掉它,下一个帮手能接着干吗?
可互操作的格式、读得懂的权限、恢复和真正可用的迁移路径,都要回答这些问题。一个 DID 完成不了全部工作,一个导出别人都读不懂的文件的下载按钮也不行。换一家提供帮助的公司之后,个人还能继续工作,拥有才变得有用。
房子的类比还有一层意思:拥有也得方便。人请施工队,就是因为需要帮忙。如果个人空间把主人变成全职系统管理员,它只会服务很少的人。服务商可以托管和维护它,agent 可以帮助运行它。控制权和更换服务商的能力,要能在日常使用中成立。这也是我在个人主权不要求人人自托管那篇文章里讨论的问题。
机会在于让个人积累能力
对今天做软件的人,我觉得值得追求的目标也变了。再做一个应用,当然仍然可能有价值。更有分量的问题是:用户因此能办成什么,做完以后,又有什么留在他手里?
想象一个帮助准备方案的 agent。它应该能在授权范围内使用项目历史,把成果放在个人还能继续使用的地方,并保留重要决定。下周,另一个 agent 可能来评审方案,或为另一类读者改写。经过这些工作,个人的项目应该越来越丰富,换帮手时不用重新开始。
再比如处理退款的专业助手。收据、未解决的申请、截止时间和此前的往来记录,应该持续对本人可用。换掉助手,已经做过的工作也应该保留下来。这就是我在保护个人注意力的 agent那篇文章里谈到的连续性。
这些既是基础设施问题,也是产品机会。需要有人让记录能被不同工具理解,让用户看懂 agent 正在申请什么权限、做了什么改动,让换一个帮手真的能够接上。一个帮助人们免于反复重建上下文的产品,可以随着周围应用供应的增加,变得更有用。
信任也在这里。个人需要知道哪个 agent 正在行动、代表谁的利益、可以读什么、改什么。重要操作需要看得懂的批准方式和记录。撤销权限可以阻止后续访问;已经复制出去的数据,需要从分享之前就认真处理。如果每来一个工具就把所有资料和权限都交出去,个人空间也就失去了保护自己的作用。
个人自己的判断,也需要留得下来。Agent 可以建议怎么做、解释证据、执行委托的工作。人应该能不同意,能修改规则,能另请帮手。一项服务即使非常了解我的偏好,如果它悄悄按照自己的利益替我作决定,核心的问题仍然没有解决。
有些应用会因为可靠性、专业经验、集成或用户社区而长期存在。好的服务仍然值得有人使用。越来越站不住脚的,是主要依靠把用户历史留在应用里面来制造依赖。我希望人们留下,是因为服务持续帮得上忙。
回到开头的问题:AI 让每个人都能做软件之后,我们还要继续比谁做得更多、比谁追得更快吗?个人电脑那次变化,把计算能力带到了个人手里;印刷让更多人有条件建立自己的书房。今天我们也可以把新的生产力,用在让个人拥有一个持续积累的工作空间上。
应用无涯,人生有涯。
优秀的软件仍值得做。它可以帮人完成以前做不到的事,也可以帮人把已经拥有的资料真正用起来。但我希望用户每多用一个工具,留下的是更多能力,而不是多一份必须重新解释、重新迁移的生活。应用和 agent 可以不断更换,个人的身份、工作、关系和决定下一步的权力,应当持续留在自己手里。
保留上下文,更换应用。
Keep the context. Replace the apps.
来源
morluto,REA 项目文档。Brandon Thomas / Storytold,PhotoCraft 项目文档。《庄子》《养生主》开篇;“应用无涯”一句为作者的现代改写。
历史来源:Computer History Museum,个人电脑的发展及 Compaq Portable 藏品记录;IBM,PS/2 历史;Sarah Sweeney,Ye olde information overload,Harvard Gazette,2010年12月16日,介绍 Ann Blair 的研究;Cambridge University Library,Private Lives of Print。