2025-04-09 08:00:00
最近又写了一本小书。
这本小书定价 29 元,你可以在 这里 购买 PDF 版本。如果你有特殊需求,也可以购买 Markdown + PDF 版本,价格是 49 元(为了增加盗版成本)。
这本书篇幅不长,但因为比较小众,所以定价稍高,请读者自行斟酌购买。
这是一本关于浏览器插件开发的书。这本书面向的是那些希望开发自己的浏览器插件满足自己需求的,也许你是专业的前端程序员,或是略懂前端代码的后端人员,在 AI 的加持下,大概都能从中受益。
之所以想写这本书,是因为我在过去一两年开发过不少浏览器插件(如微信读书笔记同步助手 Notepal, 浏览器 AI 助手 SumBuddy, 专注插件 等等标签 等等),积累了不少经验。这几年越来越多人开始做浏览器插件,尤其是在 AI 时代,浏览器插件作为重要的输入入口,能做的事情越来越多。我想可以把这些经验分享出来,让更多人可以开发满足自己需求的插件。
插件开发其实不是一件很难的事,特别是现在出现了一些成熟的框架,比如 Plasmo, WXT, CRXJS 等。这些插件把代码构建、打包过程都封装得很好,开发者只需要关心插件的逻辑即可。
我自己用过 Plasmo 和 WXT, 这本书我会使用 WXT 进行教学。因为经过自己的长期实践,我认为 WXT 比 Plasmo 的设计更加合理,配套的工具更好用。当然每个框架有每个框架的利弊,即使你想使用其它框架,你还是能从这本书收获很多框架以外的知识,因为框架只是辅助。
另外,本书以 Manifest V3 为背景编写,不会讨论 Manifest V2 的内容。如果你不知道两者具体的区别,你也不需要知道(因为我也不知道)。简单来说 V3 比 V2 在安全性上做了更严格的控制,这一点虽然备受争议,但对于大部分的情况不会有太大的影响。
本书在涉及 UI 开发的部分我会使用 React, 这是我自己日常使用的库,对于使用 Vue, Svelte 等其它库的读者,也不需要担心,用什么框架并不是那么重要。并且 WXT 也支持不同的 UI 库。如果你想用其它库,翻看 WXT 的文档即可。
本书的实战中,我不引入任何样式库,因为会增加额外的和插件开发无关的复杂度。请读者不要计较实例的美观性。
读这本书前,我默认读者了解以下技术:
读完这本书后,读者能学习到开发一个浏览器最重要的几个知识点:
这几个知识点贯穿了所有实际场景必需的元素,我在开发自己的插件时,基本是围绕这三个基本的功能展开。至于其它更多的插件 API, 读者应该自己按照需求查看文档使用。
在讲解消息传递的实例中,我用 AI 消息流作为例子讲解,对于需要开发 AI 相关的浏览器插件的读者应该很有启发。
2025-04-01 08:00:00
在 AI 越来越强大的这段时间里,我思考得比较多的一个问题是,我们是否高估了智力的重要性。
引起这个思考的原因有很多,一是大语言模型的进化程度让我感受到,语言模型在智能(推理、学习速度、知识广度等)方面已经远远超越人类,而这样的智能是每个人都能运用的。也就是说,人类完全可以把需要智能的行动交给 AI 处理,人类更多地是负责决策层面的工作。
二是因为我自己就是一个智力平平的人,小学当我学到除法的时候,我花了很长时间才理解除法是什么。我在开始学 JavaScript 的时候,也花了很长时间理解什么是 callback, 为什么函数能作为参数被传递和调用。
但我这个智力平平的人还是得到了算是不错的成果。我总是对别人说,我不是一个很聪明的人,我只是 13 岁就开始学编程,笨鸟先飞罢了,很多人大学学一年就能超过我的水平。所以我才更深刻地体会到,正常水平的技术,往往通过时间可以弥补,在这条水平线,不需要很高的智力。
不过,即使通过时间可以弥补智力的不足,但不是很多人能在这段时间里坚持下去。这也引出了我认为智力被高估的同时显现出来了另一个问题 —— 自我效能 (self-efficacy) 的重要性被远远低估了。
所谓的自我效能,是指相信自己有能力成功完成特定任务或应对特定情况的信心。很多复杂的因素决定了一个人自我效能的高低,这并非天生的。成长过程中长辈的态度、通过对他人的观察、个体与环境互动等等都影响一个人的自我效能水平。
在同样面对一个问题,自我效能低的人,看到的往往全是问题,最终放弃。而自我效能高的人,有强大的信念认为可以解决问题。前者也许在智力上比后者更高,但后者可以通过这种信念一直前进,超越前者。
尤其是在 AI 时代,智力变成了一种更容易弥补的差距。我认为智力是边际效益递减的,除非超过了某个阈值。但这永远是很小一部分的人。像我这样智力平平的人是多数,我们只是站在了巨人的肩膀上。就像 Dijkstra 只有一个,这个世界也需要他这样的天才,但我们还是可以享受他给我们带来的成果。
这不是反智,而是我认为,智力水平有一个临界点,对于临界点以下的人,智力的重要性被高估了,因为智能越来越不稀缺,稀缺的是自我效能,是主动利用智能的人。
自我效能是完全可以通过后天训练的。自我效能是心理学家 Albert Bandura 提出的概念。他总结了影响自我效能的四种因素:
个体通过亲身成功完成任务的经验来建立自信。反复的成功会增强自我效能,而失败(尤其是早期或没有应对策略时的失败)则会削弱它。
我觉得这里指的「成功」并非大成功,而是细微的成功。例如在我学习编程的早期,我通过写出各种各样的小程序获得这种成功感,对我建立技术自信有很大的帮助。
观察与自己相似的人成功完成任务,会提升观察者对自己也能做到的信念。看到别人能行,会觉得“我也许也可以”。
对我来说,小时候读的名人(科技精英)传记就是一种 Modeling, 尤其是李开复的《世界因你不同》,这些「洗脑」式的输入,会让我越来越希望自己能成为这样的人。
乔布斯有一句广为流传的话,他说
Life can be much broader once you discover one simple fact: Everything around you that you call life was made up by people that were no smarter than you.
一旦你认识到一个简单的事实——你周围那些你称之为“生活”的东西,都是由并不比你聪明的人创造出来的——你的人生就会变得更为广阔。
乔布斯从更极端的思路获得高度的自我效能感 —— 通过对比别人不行,觉得自己可以。
受到他人的鼓励和积极评价可以增强自我效能感。而负面评价则会削弱它。
这个条件比较被动,这里不谈。
个体在面对任务时的生理反应和情绪状态会被解读为自身能力的信号。如果将紧张解读为“我不行”的证据,自我效能会降低;如果解读为“兴奋”或“迎接挑战”,则可能不会降低甚至会提升。
在这个方面,我面对舞台的经验可以充分论证。记得第一次面对众人做技术分享和第一次上台唱歌,我紧张得不行,表现都很糟糕。随着不断地强迫自己上台,我发现自信完全取决于自己的念头,我学会在上台前欺骗自己是一个有很多粉丝的人,台下的人对我非常崇拜,或很喜欢听我唱歌,这样的念头让我在台上的表现有很大很大的改进。
人是事件的反应器,通过刻意训练,是可以掌控自己的反应的。
以上是我对 AI 时代的到来的其中一点思考,希望能鼓励到和我一样智力平平的人。
2025-02-09 08:00:00
我从两年前开始放弃了所有笔记软件,换用 Apple Notes 记录我的所有笔记。这个举动缘于我读了 Tiago Forte 的一本书 The PARA method.
可能大家比较熟悉他的另一本书 Build The Second Brain, 是关于如何使用笔记软件构建自己的「第二大脑」。这本书也有提到他的 PARA 理论(我在我之前的文章也有提到过我如何应用这个理论管理我的笔记)。两本书都读过以后,我认为 The PARA Method 这本书更偏向实操,我从中收获了更多的方法论。如果你只想读一本,那么我推荐读这一本。
读完这本书后,我立即在 Apple Notes 中基于 PARA 方法建立起了笔记组织的形式,这一套组织形式一直用到了两年后的今天都没有改变过。也就是说,这两年来,在做笔记时我再也没有花过时间去想应该如何组织我的笔记,光从这一点,就让我受益颇深,我可以没有任何心智负担地迅速记下我需要的东西,不用担心我应该怎么记,一切都是那么的简单。
这篇文章就是想和你分享我如何在 Apple Notes 记笔记,我在 PARA 的基础上根据我自己的实际场景做了一点小小的改良。希望对你也有所启发。
在分享方法论之前,我想先解释为什么我选择了 Apple Notes. 我认为 Apple Notes 有很多优点。
当然 Apple Notes 也有缺点,但两年使用下来,我没有因为这些缺点感到被限制,比如:
Apple Notes 支持的格式有限,只有最基本的列表、标题、加粗等等的文字样式格式。但我用下来发现,我根本不需要使用什么高级的格式。有人问我 Apple Notes 不支持代码块,你是怎么记代码相关的笔记的?我说我基本不会把代码片段作为笔记来记。比较多的场景是一些 JSON 格式的片段,我只会直接粘贴到笔记里,不加任何的格式。
我找到了两条比较经典的笔记:
可以看到,里面不仅有 JSON, 还有 toml, 还有命令行。甚至还会有 spell check 的红线让它显示得很丑。但是我一点也不在意。因为它们是拿来用的,不是拿来看的,我不在乎它好不好看,只要我需要用到的时候能找到拿来用就好了。
也就是说,「美观」在我记笔记的需求里排不上什么优先级,我的最高优先级是能快速打开,快速记录,让我记东西的摩擦力降到最低。能帮我当下的想法、要处理的事情相关的信息记下来才是最重要的。所以我看过很多人把 Notion 模板做得很漂亮,也不为所动,因为对我来说这不是我需要的东西。不可否认,美观的笔记系统能给人情绪价值,它没有对错之分,只要合适自己就好。所以最重要的是知道自己是否需要,如果你认为这对你来说不是很重要,就回归简单吧。
Apple Notes 也没有「双链」功能,这是现代流行的笔记软件中很重要的功能,我在用 Logseq 的时候也被这个功能打动,因为它能把相关的笔记自然地关联到一起,带来额外的启发。最初用 Apple Notes 时我也担心会不会因此失去了这个优势,但用下来才发现,我并不是那么的需要它,即使没有,也没有让我感觉因为没有了他而失去了灵感。
Apple Notes 的标签功能也很弱,但我不使用标签。
虽然在之前的博客也提到过 PARA, 但我还是想在这里简短地解释一下我所理解的 PARA 是什么。
PARA 的全称是 Project, Area, Resource, Archive. 翻译成中文就是「项目」「领域」「资源」「归档」。它代表了一个笔记应该放在什么地方以及一个笔记的流动过程。
没错,在 PARA 的方法论中,笔记是可以「流动」的,它有时候在 Project, 当项目结束后,它不再被需要,就会流动到 Archive. 如果它在以后有利用价值,它可能会流动到 Area 或者 Resource.
理解 PARA 的关键是理解 PARA 的哲学:你记下的笔记应该要服务于你的行动。
也就是说,在 PARA 的系统里,当你想要把东西记下来时,你的 mindset 应该是,这条笔记和我接下来的行动有什么关系?如果没有关系,那么它应该放在 Area 还是 Resource?
在 The PARA Method 一书中,开篇的一句话能解释这个哲学:
Every word in this book is designed to do one thing: propel you forward into taking action
这本书中的每一个词都是为了一个目的:推动你付诸行动。
简单了解了 PARA 后,看看我如何在 Apple Notes 中使用 PARA.
我在 Apple Notes 中会单独建立一个 PARA 目录:
里面有基本的 Projects, Areas, Resources, Archived 文件夹。在这个基础上,我有两个改良,第一个是添加了一个 Drafts 文件夹,用于记录我日常的零碎想法:
这些想法一般是在手机上记录下来,在有空的时候进行深度思考和研究,有些会最终成为一篇推文,或者基于想法变成一篇博客文章。
第二个改良是增加了一个 Inbox 文件夹,用来存放打算做的项目,这些项目还没进行深入的思考,不确定是否立项来做。如果想清楚要做,我会把它拖动到 Projects 中。否则直接拖到 Archive 归档。
Projects 目录是我最常用的,因为里面都是当前正在进行的项目:
比如,当我决定要写一篇长文,就会在 Projects 中新建一个文件夹,比如现在这篇文章,就是在 Apple Notes 里写的。有了这个文件夹后,当我看到任何和这个项目相关的信息,就会把它记在这个文件夹当中:
也就是说,当我看到任何关于 Note taking 主题的值得记下来的东西时,我很清楚要把它放在哪里,因为它和我正在进行的项目有关系。
这也解决了一个很普遍的问题,很多人想记笔记,想有「第二大脑」,却不知道应该记什么,或者记下来很多,最后都只是放在自己的笔记软件里,发挥不出任何作用。而在 PARA 的系统中,你清楚地知道你应该记什么笔记,因为你知道哪些信息和你正在做的事情有关系。这些笔记才是真正能发挥作用的。
比如我即将写一篇在我 30 岁时发布的博客文章,虽然还没开始写,但它是我的一个 Project, 那么当我读到和这个主题相关的信息,就会把它记在这个 Project 里,当我真正写这篇文章的时候,能直接参考它们,对于我来说,这才是有用的笔记:
Projects 不仅仅是项目,它还可以是即将到来的一个事件(Event),也可以是你正在研究的一个课题。比如你约了一个重要的人,你需要记下来这次约会需要准备点什么。约会结束后,就把它拖动到 Archive.
再举一个例子,比如你正在开发一个软件,可能需要记一些技术相关的笔记。在以往,可能你会把这些笔记按主题记下来,比如 React, Vue, Rust, 前端, 后端之类的分类。但在 PARA 中,你应该为你正在开发的软件创建一个 Project,无论你想记下来的技术笔记是什么分类,都放到这个 Project 当中。这样记下来的笔记才是真正有价值的,因为它真实地服务于你正在开发的项目,你在开发时可以反复在一个地方参考。
项目结束后,你可以将整个 Project 拖到 Archive, 不需要再管它。如果你认为 Project 中的一些笔记有复用的价值,就把它拖到 Areas 或 Resources 当中。Apple Notes 的拖动十分方便。但按照我的经验,一般来说直接 Archive 整个 Project 也没什么问题,因为它不是被删了,你还是能通过搜索重新找到它。这时 Archive 的笔记又会「流动」到 Project 当中。
我自己的 Areas 和 Resources 其实很少碰,基本只在 Projects 和 Archive 中活跃:
使用 PARA 的另一个好处在于,只要展开我的 Projects 目录,我能一目了然我正在做的事情。我不再需要单独的 Todo 工具,因为 Projects 就是我的 Todo, 而且 Apple Notes 也有 checklist 功能。这也是 The PARA Method 中所说的:
You will gain greater focus on what matters most: You will have greater clarity about what’s important so you can intentionally move your life into alignment with your interests and goals.
你将更加专注于最重要的事情:你会更清晰地了解什么是重要的,从而有意识地将你的生活与自身兴趣和目标协调一致。
善用搜索。虽然只是关键字查询,但按照我的经验来看,这就足够了。比如我在 Apple Notes 记过我常用的 API key, 我只要搜索 azure 这个词,我就能立刻找到,我甚至都不知道它被我放在哪里了:
不需要迁移。在新的工具重新开始,需要用到的时候才在旧的工具重新找回,有必要时再复制过来。反正没人要求你用新的工具就把旧的数据都删掉。而且,我相信你最后会发现,你并不怎么需要找回你的旧数据 😂 这两年我就没打开过我以前一直用的 Logseq, 也没有做任何迁移。
以上的分享不一定适合所有人,但它非常适合我,我也从这套系统中得到了很大的解放。你甚至可以什么系统都不用,在同一个文件夹记下来所有东西,最后你会意识到,重要的不是把笔记放在哪里,而是感谢自己当初记了下来。这就是为什么降低记录的摩擦力是如此地重要。
PARA 是一个方法,你不一定要用 Apple Notes, 你可以在所有的工具用它。不要让工具阻碍了自己最重要的事 —— take action. 真正有用的笔记是帮助你 take action 的笔记。
P.S. 这篇文章在 Apple Notes 写成:
2025-02-08 08:00:00
趁着国补,把手头用了 5 年的 MacBook Air M1 换成了 MacBook Pro 14 寸 M4. 顺便手动重新配置新电脑,在此记录一下每次设置新电脑时我会做的一些设置和必装的软件。
把点按切换成轻点:
我不喜欢用触摸板点按拖动来移动窗口,觉得有点费力,所以我会调整为三指拖移。旧版本的 OS X 可以直接在系统设置中调整,新版本的 macOS 竟然把它归类到辅助功能里了:
把 Control 键和 Caps Lock 键互换。因为我需要频繁使用 Control 键,Caps Lock 的位置是最合适的,这也是 HHKB 的默认布局:
取消 Spotlight 的所有索引,因为我用 Raycast, Spotlight 的索引会浪费计算资源:
2024-12-28 08:00:00
高中时我读吴军的《浪潮之巅》,觉得很可惜,我出生太晚,错过了一个又一个的浪潮。我总是想,如果我身处这些浪潮,是否也会造就一点什么?我是不是也能创造一家了不起的企业而为人常道?
那时我才 17 岁,我在沙滩上观望浪潮,抱怨生不逢时。而现在,我 29 岁,已经在海中游泳多时。就在这几年,OpenAI 发布 ChatGPT 后,这片海似乎又卷起了一波巨大的浪潮,又有人站在了浪潮之巅,但我还没有。我已经无法再抱怨生不逢时,因为我已经在海里了。在很多个深夜,我差点就想承认,我这辈子只能是一个普通人,我太高估自己。但到了第二天,我又开始不服气,还是不能接受作为一个普通人活着,想做出伟大的产品,想做一家伟大的公司,想在世界上留下一点美妙的痕迹。
知道答案的人只有未来的我自己,所以每当这些迷茫时刻,我总会想起昨夜派对的《夜海的秘密》:
生命中所有来去 都是月亮的潮汐
只有闭上眼才能看到 夜海的秘密
你会看到有船从身旁驶去
船上站着来自未来的自己
他逆着霞光 看不清模样
如一尊塑像 带着先知般的哀伤
只是沉默望着你 一句未讲
你蓦然落泪 想一路追上
跟随他去往 那迢遥未知的远方 可是未来还未来 唯有此刻 是真实
昨夜派对的歌的歌词,就像诗一样,能给我一点疗愈。我习惯通过文学作品自我疗愈。别人问我,为什么还能保持阅读的习惯?我都会回答:如果你发现我某一段时间读特别多的书,那就是因为我这段时间过得非常不好,我需要从书中寻找答案。
2024,我读了 30 多本书。
因为想做一家伟大的公司,我读了柯林斯的《基业长青》和《卓越基因》,研究那些成功的企业是怎么走过来的。
因为想做出伟大的产品,我读了梁宁的《真需求》,lululemon 创始人的《lululemon 方法》,张小龙的《微信背后的产品观》。
其中一本叫做《做难而正确的事》(英文名是 Fall in Love with the Problem, Not he Solution) 让我印象很深刻,它不仅是一本给我打兴奋剂的创业鸡汤,它还教会了我,什么是真正的 Make something people want.
这些书让我对做产品有了另一个体会:如果我想做一个影响范围非常大的产品,我就需要做让人上瘾的「毒品」,要做满足用户「贪嗔痴」的产品。因为 PMF (product-market fit) 的最重要的指标是用户留存率。
恰好我读到了一本《玩家思维:游戏设计师的自我修养》,了解到了游戏让人沉迷的原理,大概也能运用到产品中去。
今年上半年我的朋友启师傅来佛山,我们在先行书店见了一面,期间我们聊到,做互联网产品有点厌倦,想做一些真正看得见摸得着的东西,能让用户在手上把玩,然后赞叹一句 wonderful 的东西,而不是拿着手机给别人看,说「你看我写的这个 App…」。
于是我想到 18 年我曾经卖过一段时间的程序员贴纸,那时我发现国内没有人在做,在国外买又非常贵,动辄一张几美元。那时我联系了一家质量非常好的厂家,做了一批质量很好的开源项目 logo 贴纸,卖得非常不错。更重要的是,中国的程序员终于可以在国内买到质量又好又便宜的贴纸。不过因为我还在上班,有点忙不过来,最后关掉了店铺。
后来我在杭州参加 AdventurX 的活动,趁着机会又见了多年的网友 Linmi, 他是 Notion 中文社区的负责人。我们也聊到了这件事。他鼓励我重新把这件事做下去。
回到家后,我重新认真思考了这件事。我确实应该重新捡起来卖贴纸这门生意,但不能像几年前一样只卖贴纸。我相信程序员(或者泛互联网从业者)需要的不止是贴纸,我们有我们独特的文化,我们有我们真正发自内心热爱的东西,我们乐意把它展示出来。
所以我决定把这件事用经营一个品牌的方式重新去做,贴纸只是其中一个产品。无论在后来是卖贴纸还是卖其它东西,我希望能聚集一群有相同文化认同的朋友,做出这个群体喜欢的产品。我想了很久品牌的名字,最终还是冒了一个风险,取了一个只有程序员会懂的名字 PaddingLeft, 这是一个 CSS 属性的名字。幸运的是,我居然能买到 padding-left.com 这个域名。
我花了些时间选择工厂,甚至跑到了工厂观察他们的机器,和工厂聊价格排期。终于重新上线了店铺。
贴纸卖了一段时间后,其实没有赚到多少钱。期间我一直在想下一个单品应该做什么。恰好那段时间我一直想给自己买一条项链,何不就做项链?
起初我跟一些人聊这个想法,他们都不认可做项链,认为程序员没有戴项链的习惯。这个观察其实不无道理,可是在做这个品牌的时候,我其中的一个想法是可以通过 PaddingLeft 的产品,让用户在使用我们的产品的同时能增加自己的时尚属性,摆脱大众对互联网工作者的刻板印象。而且项链可以做得非常精致,也适合送礼。
这个想法有点自大,但我认为值得尝试。
第一批项链做出来后,卖得也不错。
做 PaddingLeft 的这段经历,虽然也和互联网有点关系,但后来我才慢慢意识到,我在做和做软件截然不同的东西。我对供应链、库存有了新的认识,这些是在做软件的时候不需要处理的问题。和传统行业的人打交道,沟通的方式也和在互联网公司里沟通的方式截然不同。关于这些,我想在以后可以专门再写一篇和大家分享。
在开单的喜悦过后,我又开始想,这到底是一门多大规模的生意?18 年我卖贴纸,我只是把它当作赚外快来看待,如果一个月能带来 2000 块的收入,我会觉得是不错的零花钱钱。但是现在,我是在为自己的生计赚钱,我要思考的问题变成了,从商业上来讲,这是一个值 2 万人民币的 market, 还是值 5 万,还是值 10 万?如果它只是一门值 5 万的生意,我有必要做下去吗?或者说,它有可能发展成价值 20 万规模的生意吗?它是一个可以「流动」的生意吗?
就在刚刚,又有人在店里下单买了些程序员贴纸,于是我走到工作台一张一张地放进包装袋。我边发货,边盘算这单赚了多少钱,得到的数字是 8 块。我忍不住笑了。我曾经的日薪是这一单的 100 多倍。我做的这件事情,它真的有意义吗?
没有人知道答案,我只能安慰自己,这件事总得有人做,而我适合做。我了解程序员、设计师、产品经理这些人喜欢什么,因为我就是程序员。每卖出一张贴纸,我都会给对应的开源项目捐一块钱,以现在的定价,我基本是在做慈善。现在也有很多店做程序员贴纸,但没有人这么做过,因为我做过开源,我知道开源项目的窘境,这就是文化的一部份,也是做这个品牌的意义。如果你曾经买过 PaddingLeft 的贴纸,你会发现我用的自封袋和普通的透明袋有点不同,因为我用的是环保可降解的自封袋。这对用户来说没有丝毫影响,但我挺享受这种自我感动,这也是其中的意义。
直到现在,我还不知道,我还要在海里游多久,才能游到浪潮之巅。我想起曾经的一场梦,梦到在一个饭局,张一鸣就坐我旁边,我说我会有一天像你这样的。张一鸣笑了笑,我也笑了笑,然后梦就醒了。
我的这些执着在多年后是否会成为笑话?Think different 广告中的那句「只有那些疯狂到认为自己能改变世界的人,才真正改变了世界」这句话,到底是不是真的?妈妈,你 10 年前和我说的,算命的说我 30 岁会创业成功,到底是不是真的?
2024-10-09 08:00:00
Sam Altman 最近有一个关于 AI 和写作的访谈,让我开始思考 AI 辅助写作这个课题。
在辅助生产代码方面,Cursor 和 GitHub Copilot 已经证明了 AI 和人类在编程方面的协作非常有效。通过代码的上下文和注释,加上人类显示声明需求,AI 能很好地完成写代码任务。
我在思考在写作的时候,是否也能有一个 Copilot 辅助人类更好地写作。
大部分人不会进行深度写作,根据二八法则,80% 的人在消费 20% 的人生产的内容。这 80% 的人,偶尔进行浅度写作,例如写社交网络的动态、写用于工作中用于信息同步的文档。这类写作,我认为 AI 可以辅助的地方非常有限,用户基本不会主动为这样的场景寻找专门的写作工具或到 ChatGPT 这样的聊天窗口专门改写润色。这样的场景将来会被系统级的 AI (如 Apple Intelligent) 解决。
有的人希望写作,但不知道应该写什么。我曾经在书店看到过一本书,叫《642件可写的小事》,如标题所言,里面有 642 个开头,可以随便选一个续写。现在也有一些这样类型的 App. 这些书和 App 乍看起来很有意思,能解决不知道写什么的问题,但用起来我发现我根本不想写,因为我对里面的话题毫无兴趣。
我认为 AI 能很好地解决这个问题,因为我们可以在 prompt 中告诉 AI 自己的爱好和关注的领域,来定制化地生成自己会感兴趣的创意写作话题。
Notion 流行后,很多笔记工具开始标榜自己是「思维的工具」(Tools for thought). 其实写作这个行为本身就是「思维的工具」。Sam Altman 在访谈中说「写作是思考的外化」(writing is externalize thinking),而且「写作是模糊想法的放大器」。应该有不少人有同样的感觉,我们每天有很多想法和灵感,我们以为我们对这些想法非常清晰,但其实如果试着把想法写下来(或说出来),才发现很多思考在头脑内部其实处于非常混沌的状态。只有通过思考的外化(交流、写作),才会发现思维的漏洞、连结零散的思维。在修补思维漏洞的过程中,混沌的想法会逐渐变得健壮 (robust). 思考和灵感就像一颗种子,它非常迷人,但在播种前,它什么也不是。写作就是播种,认知是你的土壤,它会长出你意想不到的枝叶,然后又生长出新的枝叶,这就是为什么「写作是模糊想法的放大器」。
造成在头脑中的想法非常混沌的原因,是人脑无法承受过高的「认知负荷」 (John Sweller 提出的理论) 。借助书写可以把信息扩展到外部记忆,使得人在处理复杂信息时能更好地理解和思考。
很多人害怕写作,认为写作有门槛,但我不这么认为。我认为只要会思考,就会写作;只要能和人正常沟通,就会写作。写作只有把文字变成作品被品味被评价才是一种有门槛的艺术。我们受学校教育的影响,把写作完全视作一种文学艺术,才让人对写作感到害怕。却没有人教育我们,写作是一种思维的工具,写作可以帮助我们思考。我们其实可以只为自己写作,它是没有门槛的。把写作视作和自己对话,你就会发现写作也就是那么一回事儿。和自己对话需要遣詞造句吗?不需要。需要遵循什么文章结构吗?不需要。
把写作看作是思维的工具后,我对 AI 辅助写作有了全新的思考角度。从表面看,我们似乎需要的是辅助我写作的 Copilot, 但在本质上我们需要的是辅助思考的 Copilot.
现在很多文本编辑器都有 AI 功能:自动补全、自动总结、选中文本 Ask AI, 重写、润色等等。但我对这些功能在写作中的作用非常失望,真正在写作时,这些功能都是非常 annoying 的,而这不止我一个人有这样的感受:
这些功能,完全不能称作写作辅助,它们只不过是文本处理辅助罢了。它们对写作毫无用处,甚至有反作用。它们对思考也毫无用处,无法「放大」我的思考。
当写作作为一种思维工具时,我不需要 AI 辅助我自动补全,甚至有些可以生成一个段落的文字。这不是写作,这是在制造垃圾。
到底什么样的形式是一个好的写作 Copilot, 我也没有答案,但我认为它一定不能是侵入式的。它应该在一旁默默地观察我写出来的想法,然后在合适的时候告诉我它对此的观点。它有比我多得多的知识量,可以做到:
也就是说,写作除了和自己对话以外,增加了和 AI 对话的一层。它可以提供灵感、帮助做 research, 写作风格指导等等的帮助。
虽然我希望有这么一个写作 Copilot 出现,但我觉得很难做出一个这样的 Copilot 出来。它的难点在于,不同类型的写作有着截然不同的需求,如果需要匹配不同的需求,最终还是会变成一个 Chat IM 的形态。上面提到的需求,其实直接使用对话也能解决,能进一步做的无非是在文本编辑器里加上选中文字展开对话,预设一些跟写作相关的 prompt 而已。
至于 AI 是否会扼杀写作,我不这么认为。Sam Altman 在访谈中也提到了这点:当你读到很好的作品,你会想去了解作者,这个作者经历的事情,他的思考方式,慢慢地和作者形成一个连结。这是 AI 做不到的。