一代版本一代神
朋友
朋友,我最近在看 AI 短剧,你有看吗?我以研究的心态看了一点:《归墟》描述一个被黑雨侵蚀的,所有生物包括人类都开始大规模变异的末日世界。《妖怪衙门》则讲述了一个妖怪与人类共存的世界,围绕乌有乡的衙门所发生的故事。
抛开 AI 生成画面所产生的油腻感之外,这两个短剧让我能够追得下去,还在于它们的剧本十分精彩。我喜欢《归墟》是因为它的设定环环相扣,十分缜密,为了交代黑雨对生物的影响,故事里安排主角主动感染黑雨,并由他以第一人称视角来阐述这种感染的后果,显然要比直接用旁白来描述,更令人感到有说服力。播放量高达 40 亿的 AI 短剧《持械入宋》,其内容风评甚佳,很多人提到通过它学到了组织骑兵冲锋、士兵着甲等知识。
朋友,你有没发现,同为短剧,AI 短剧和短剧,风格有相当的不同——AI 短剧可能真的没法使用明星来兜底,在制造戏剧性冲突这部分可能也无法与短剧相比,所以故事内容多多少少比较硬核,更注重细节的打磨。很多 AI 短剧的作者不是中央戏剧学院这类科班出身,《持械入宋》背后的「瑾叶剧场」都「不是影视专业毕业生,在接触 AI 前多为网约车司机、宝妈、送货员、普通职工等,以线上协作的方式参与制作。」,创始人张汉生 53 岁。(来源)
最近流行「一代版本一代神」的说法,显然 AI 短剧是新一代版本,而每一次新版本的到来,势必令某些「草根」逆袭「成神」。瑾叶剧场就是如此。看到张汉生 53 岁还能有如此成就,朋友,我不知你会做如何感想?我的感想是,牢牢抓住版本更新的机会,比起什么都重要。
「对话」不是 Agent 唯一的交互方式
当前 Agent 总是以「对话」作为信息呈现,和操作的方式。Agent 自有十八般武艺可以处理这些。但是,我还是不得不发现,如果与 Agent 的互动,只有「对话」这一种形式,很多时候效率非常低下。
我自己有实际例子:我有一个由 Pi 运营的媒体工作室,它搜集素材,处理素材,写成文稿,然后发布。但是,不会所有稿子都能够合我心意,但每一次我都要另外打开一个 Markdown 编辑器来处理文稿,再告诉它去发布,这个流程、工具上的频繁切换所造成的摩擦,很是让人心累。还有就是,LLM 挑选的素材永远不可能完全满意,重新发现素材寻找素材的过程,就比较折磨了,在对话界面里,Agent 有时会列出完整的清单,有时不会,有时只会列出标题不带链接。
所以最近,我还是通过其它开源项目的基础上魔改了一个媒体工作台出来,它包含了我所有的流程,从搜集到写稿到发布。但所有操作都包含在统一的界面里,我需要的特性直接以按钮呈现,我不必再反复手动输入一长串文字来对内容,或选题进行修改。我这里不是否认 Agent 在自动化处理方面的作用,相反,这个媒体工作台的大部分流程都仰赖 Agent,只不过关键步骤,比如选题,改稿,和发布的时机,则是有人参与。我还保留了对话框,因为有时候,与 Agent 的直接沟通也是必要的。
从以上可以看出,我仅仅反对把「对话」当成与 AI 交互的唯一界面,在一些必要环节上,应当保留图形化界面的便利之处——一个按钮可以封装好的操作,就不必多打三段话。总之,这个工作台搞定了之后,我个人觉得每天的精力好了很多。
Lifestreams,和现代 AI OS 的一种关联
Lifestreams: a storage model for personal data 是 1996 年耶鲁大学发表的论文,及其产品原型在早期人机界面,人机接口的探索上,似乎占据着一个重要的地位,它总是很容易被不同的人,在不同时间点提起。其中不乏 Jaron Lanier、Stewart Brand、Steven Levy 等技术哲学家、硅谷精英。
直到今天,你都会觉得 Lifestreams 的想法与众不同。
用户打开 Lifestreams,看不到任何文件夹,首先看到的是一个重叠着 n 份文档的信息流,所有信息都在上面,包括要发送的邮件,今天的支出收入等等。然后,用户可以根据搜索的关键字,从这个总的信息流中分化出不同的子流。每个子流还可以包含独特的文档类型。
Lifestreams 还有 2 个信息处理器:Summarize 和 Agent。Summarize 是针对某个子流里文档,将其中信息进行整理,以合适的形式展现出来,论文中以股价信息为例,一连串的股价信息文档,可以压缩成一个股价走势图。如果是财务信息,还可以根据收入、支出的类型画成一个饼图。每一个 Summarize 生成的「概览」都会以文档的形式保存起来。
Agent 和现在流行的 AI Agent 概念完全不一样,它是一段特殊的程序,可以嵌入到文档、信息流或其它用户界面上,它可以自动化处理某些任务,或者是添加新的功能,和界面。论文中举例,比如有一个电话代理,如果激活它,会弹出对话框,然后输入对方的名字,代理会在信息流中寻找对应的名片,找到后提取里面的电话号码。Agent 的界面和操作完全可以由用户定义,我举例的这个电话代理,它就是由用户所写。
——所谓「生成式 UI」,还有「可塑化软件」这类当前看上去正在实现的理念,早在 20 多年前提出来了。不过,这其实不重要。因为如果你仔细看看 Lifestreams 的这套机制,你会发现它动摇的,其实是自施乐(Xerox)以来桌面操作系统的隐喻——桌面,文件夹,文件这套隐喻;乃至于现代软件产业的前提,不同的信息(数据),需要通过不同的专门软件进行处理。
在 Lifestreams 中,数据不需要保存为文件形式,甚至连文件名都不需要;针对不同类型的数据,只需要从总流中分出子流即可;而针对不同信息(数据)的处理,Summarize 和 Agent 则可以代劳,前者解决数据以何种形式呈现的问题,后者解决数据以何种方式操作的问题。当信息(数据)从软件中解放出来,还原成信息流(数据流),并使用 Lifestreams 这种方式来交互的话,我可以大胆这么说 Lifestreams 就是一个操作系统。
那么它和题目中提到的 AI OS 是什么关系呢?在 GPT-4 出来之后,已经有预言家说 AI 将在当前操作系统之上,另外形成一个操作系统层。我认为,预言十分准确。很多人已经懒得打开具体的应用了,取而代之的是让 AI 代劳。最近 GrokBot、Muse、ChatGPT Dots、Claude Dou 的出现,更让这条预言落到了实处,我看到有人用它经营十几个媒体和社群,有人用它来控制烤炉做菜,甚至说完全让它来承包一次旅游,旅游攻略、订票、订房统统都让它来。——但是有些对话如果是一而再再而三地重复,就太麻烦了。这是我一直比较疑惑的,因为我有实际的经历—
我有一个由 Pi 运营的媒体工作室,它搜集素材,处理素材,写成文稿,然后发布。但是,不会所有稿子都能够合我心意,但每一次我都要另外打开一个 Markdown 编辑器来处理文稿,再告诉它去发布,这个流程、工具上的频繁切换所造成的摩擦,很让人心累。所以最近,我还是通过其它开源项目的基础上魔改了一个媒体工作台出来,它包含了我所有的流程,从搜集到写稿到发布。但所有操作都包含在统一的界面里,我需要的特性直接以按钮呈现,我不必再反复手动输入一长串文字来对内容,或选题进行修改。我这里不是否认 Agent 在自动化处理方面的作用,相反,这个媒体工作台的大部分流程都仰赖 Agent,只不过关键步骤,比如选题,改稿,和发布的时机,则是有人参与。我还保留了对话框,因为有时候,与 Agent 的直接沟通也是必要的。
大神 Andrej Karpathy 应该也支持我的观点,他最近的 tweet 就分享了自己与 Agent 的沟通方式,使用 ASD-STE100 语言、图标还有 HTML 来承载沟通的内容,而不是通过反复对话。他的分享其实表达了同样的观点:「对话」不应该成为与 Agent 互动的唯一界面。
回头看我的工作台,它做的事情很简单:把我反复要说的那些话,固化成了按钮。这让我重新想起 Lifestreams。
Lifestreams 当年已经给出了答案的骨架:信息不归属于任何软件,统统放进一条流里;要看某一类信息,就从总流里分出子流;至于这类信息怎么呈现、怎么操作,交给 Summarize 和 Agent 这两个处理器。但这个答案在当时并没有成立,问题出在处理器上——处理器得有人来写。论文里的电话代理,是一位高级用户写的,大约 150 行代码;另外,作者自己也承认,编写代理的编辑器「很简陋」。Summarize 在最终评估中只占全部操作的 1.4%,作者的解释是有用的汇总器太少,用户也提出想要更多的类型。说到底,只有会写程序的人才能为自己的信息造一个界面,而大多数人不是程序员。
今天的 AI 恰好补上了这一环。但我觉得它补上的方式,并不是把 Lifestreams 里的 Agent 直接换成现在的 AI Agent——那样的话,我们只是把对话框搬进了信息流里,每次处理还是要重新对话一遍。AI 真正适合的位置,是处理器的作者:我用一句话描述我想要的界面,它写出这个处理器;之后每次打开,处理器直接运行,不再需要对话。对话只发生在设计的那一刻,留下来的是界面。
这是我在 Supertag(一个 Emacs 的笔记插件)上做的实验。Supertag 里有一个总流,所有笔记按时间排列;给笔记打上 #contact,它就进入联系人的子流。我对这条子流说一句:「联系人按社交等级分组,按一个键记下今天联系过。」模型写出一个代理,装上之后,这条流就变成了一个联系人管理界面:哪些人是核心、哪些人很久没联系,一眼就能看到;按一个键,就把今天的日期写进那条笔记。我没有安装任何联系人软件。项目也一样:一句话,项目的子流就把接下来要做的事排在最上面,已经过期的单独一组,任务挂在所属的项目下面。不满意,就再说一句修改它,让它一点点变成我想要的样子。
这里有两个处理器,分工和 Lifestreams 一致:Summary 负责汇总,适合做阶段性的概览;Stream Agent 负责操作,为一类信息生成专门的操作界面——怎么分组、每条显示什么、按哪个键改什么。它们和 Lifestreams 也有不同:Lifestreams 的概览是一份存下来的快照,Supertag 的概览每次打开都用当前的数据重新画;Lifestreams 的代理是藏在菜单里的一段脚本,Supertag 的代理直接就是一个界面。
做这个实验的过程中,我有几点结论。
第一,数据要比处理它的程序活得久。现在的 AI OS 恰恰在这里和 Lifestreams 相反:AI 叠在应用之上,替你去点按钮,数据还锁在一个个应用里,对话结束了,什么也没留下。Supertag 的规矩是,文本(Org 文件)是唯一真相,流只是一个视图;代理不新建笔记,只读取、只修改属性。哪天代理坏了、删了,笔记还在,换一个代理照样能用。
第二,模型只在被叫到的时候出场。Lifestreams 的代理是由事件触发、自己运行的,作者甚至戏称它为「良性病毒」。如果把这个位置直接交给大模型,就等于让一个输出不稳定的东西在后台自动改你的数据。所以在 Supertag 里,自动运行的部分都是确定的:规则、已经生成好的代理代码,都不调用模型;调用模型只发生在我主动按下的时候——设计一个代理、修改一个代理,或者某个明确的按钮。这和我的媒体工作台是同一个道理:大部分流程交给 Agent,关键的决定留给人。
第三,生成出来的界面,只能用一组可信的基础组件来搭。Lifestreams 的代理可以是任意代码;Supertag 的代理在装上之前,要先通过一组规则检查,比如每条笔记都要有归属、修改之后界面要能 生成。模型的能力有高有低,但界面的底线是固定的。
当我这么想的时候,我发现了一个新的世界:用户不必困在对话框里,也不必困在一个个应用里,按需分成不同的流;每一种信息都有专门的界面,却不再需要专门的软件;每一份文档都可以被 Agent 修改,但不必每一次都通过对话。
回头看 Lifestreams,它缺的从来不是想法,而是处理器的作者。今天这个作者终于出现了。这才是我理解的 AI OS:不是在应用之上再叠一层对话框,而是让对话的结果沉淀成界面,让信息从软件里解放出来。
PS:Lifestreams 还有很多其它优秀的理念,但由于与本次讨论的题目不合,就不一一列举了。
回老家拜山
照例重阳回老家拜山,回到老家的下午,我和父亲,还有从广州赶来的堂叔,拿好精钢锄头和钩镰刀,就上山披荆斩棘,清理山路。
今年可能因为有人上山采松香松脂,所以到家族墓地的那条山路不再长满杂草,清理起来比去年都要简单。不到一小时,就一路清理到了家族墓园。去年就我和父亲两人清理,一路艰难,台风风力猛,又刚刮过,一路上不光杂草丛生,最难处理的,那些从中折断的树。那时辛辛苦苦搞到墓园后,还发现有一颗碗口大的树,折断了,架在墓园边,树头一侧正好在墓碑之上,父亲和我费尽九牛二虎之力,才终于把这棵夭折的树从墓园移走。
尽管如此,墓园的清理和去年一样麻烦。经历多年,墓园的水泥这些已经老化,墓碑、地面总长满了芒草,又滑又坚韧,而且有的长在墓碑之上,砍不顺手,非常费劲。
去年留在墓园里的扫帚,扫帚的头已经腐烂,拿起晃两晃,就只剩下光秃秃的扫把了。墓园里,黄色的落叶已经铺满地,没有扫帚,光用砍下来的芒草做扫帚,扫得腰酸背痛。
堂叔和父亲都是认真仔细的人,一边闲聊,一边将地面,墓边清理得干干净净,我也就大概清理一些,但完全没有两个老人轻松。
从山上下来,我其实非常困倦,但父亲还是神采奕奕,与老家的朋友不停聊天,完全不觉累,真是佩服极了
去美食节玩
周日下午 5 点,与妈妈出发,去海天公园举办的粤港澳美食嘉年华。一下车,来到入口,就感受到活动的热浪,哪里都是人,用「摩肩接踵」这个成语形容毫不为过。
这一次由政府主导的美食嘉年华,的确汇聚了珠海知名餐饮品牌。比较有趣的,还有一个粤港澳挑战赛作品——这个挑战赛难道有在电视台播出么?不过,由于我家里人一般不看珠海电视台,所以有可能错过了也不一定。
我觉得每一个餐饮品牌都非常认真地准备了本次的活动,提供了代表性的产品,让人过来享受和感受。一些定位较为高端的,还推出套餐,让人 68 元就能吃到一只小青龙。
我和妈妈吃了:蛋挞,牛杂,咖喱角,羊杂,羊肉烧卖,羊肉汤面,一共用了 150 元。
爆肚原来有这么多讲究
看到这个知乎的回答才知道,原来小小一份爆肚的讲究可多了,光部位就有:食信,肚仁,肚领,肚板,蘑菇头等,做法还有水爆、油爆两种。
真是不了解都不知道,答主也是食客,看他怎么享受一份爆肚的:
自带一个二两的扁瓶二锅头,进门先点一盘食信,一份小料,单上一碗香菜。
食信吃差不多了,再下单一盘蘑菇头或是肚领,比食信软和,也是下酒的好菜,再喝一两酒。分开下单,是因为他家爆肚上菜快,一起点就凉了。,爆肚一凉就硬,跟皮条一样,没法吃了。
喝完酒,来一盘百叶或者肚仁,这时候第一碗麻酱小料也差不多吃完了,再加一碗麻酱,一个烧饼,百叶和肚仁适合就着烧饼吃,吃饱喝足了,来瓶北冰洋漱漱口,后海边上溜达溜达晒晒太阳,看看老头下棋。
其它
我最近重温《麻辣教师 GTO》的动漫版,剧情依然经典,虽然比漫画版要删减了很多不适合在电视上播出的内容。它真是一个成功的漫画 IP,无论动漫,还是电视剧,都十分经典。我大概是 20 多年前看过这部漫画,当时它其实已经在讨论「原生家庭」的问题了。
回顾前苹果交互设计师 Bret Victor 的《可学习的编程语言》,主要探索将编程语言的求值过程可视化
让两台数字设备一起玩的双人游戏 bigboard.game,非常绝妙的想法。其技术主要来自之前的一个技术展示,有开发者站是使用两个 Chrome 浏览器,但相互之间传递信息流,甚至可以产生互动。
LindPad OS 令 iPad 以 App 的形式运行完整运行的 Linux。可以做很多事情,比如说,在上面跑个 Emacs。
往来
这封信还没有回音。你可以写下第一封来信。