Limboy
The secret inside One Million Checkboxes

Teens wrote secret binary messages in One Million Checkboxes. I found them.

非常有意思的一个故事。作者(还在上大学)花了两天时间做了一个「百万格子」(有点像 reddit 的 r/place),每个格子是一个 checkbox,可以 check 和 uncheck,每个 box 的状态会同步到当前在线的其他玩家。功能其实非常简单,但后来的发展就有点戏剧性了。

37 Signals 内部的产品研发周期(Cycle)是 6 周。足够长,可以从 0 开始,实现某个 Feature,又足够短,可以让你看到 Deadline 就在那。6 个星期之后,不会马上进入下一个开发周期,而是会有 1 - 2 周的间歇期,这段时间可以从项目中抽离出来,做一些 side projects,研讨下个周期要做的事,重构代码等等。

Once a six week cycle is over, we take one or two weeks off of scheduled projects so everyone can roam independently, fix up something, pick up a pet project, reflect, and generally wind down prior to starting the next six week cycle. Ample time for context switching. We also use this time to firm up ideas that we’ll be tackling next cycle.

Jason(CEO) 会在每个 Cycle 开始前发一份公告,罗列这个 Cycle 要解决的一些问题,不会涉及到具体的实现或设计,主要描述问题现状以及解决后的状态。

这篇文章 详细阐述了 Six Week Cycle 到底是怎么运作的,比如 Idea 是怎么来的,Pitch 是什么(可以理解为 RFC),谁决定要做哪些 Feature,Jason 和 DHH 是如何参与的,等等,非常详细。

The Baked Data architectural pattern

I’ve been exploring an architectural pattern for publishing websites over the past few years that I call the “Baked Data” pattern. It provides many of the advantages of static site …

Baked Data Architectural Pattern, 这个内容分发模式好像挺不错的,除了有 SSG 的诸多优势外,还支持执行 Server 代码,可以分发到各个 Serverless 平台(如 Vercel)。

核心原理是将 Data 分离出来,打包成一个只读的 Sqlite,放在 Server 端读取。需要额外做的一件事是当数据更新时,要同时更新这个 Sqlite 文件,并重新部署。

Building search-based RAG using Claude, Datasette and Val Town

Retrieval Augmented Generation (RAG) is a technique for adding extra “knowledge” to systems built on LLMs, allowing them to answer questions against custom information not included in their training data. …

这篇文章 详细阐述了如何用 Anthropic 结合 SQLite 的 full-text search 来实现 RAG,流程如下:

  1. 通过 Anthropic 的 tools 功能,将用户的搜索拆分为查询关键字。
  2. 通过这些关键字对 SQLite 进行全文检索得到按 rank 排序的匹配结果。
  3. 将匹配结果作为 assistant 的内容(即私有数据)结合用户的初始问题发送给 Anthropic。
  4. 返回的结果即包含了私有数据集的 LLM 回答结果。

主要使用到了 tools 将语义化的内容结构化,然后用了 full-text search 而不是 vector search,相对其他的 RAG 实现,这种方式好像更简单,不知道效果怎么样。(中文的效果一定不太好,因为 SQLite 的全文索引对中文不友好)。

Mental Health in Open Source

Some of my thoughts on my mental health during my journey in Open Source

Antfu 的这篇文章 描述了他全职做开源项目后的一些变化,主要是精神层面,有不少内容挺值得思考的。

It’s quite similar to "Make your hobby your job". It indeed has a great amount of benefits, like you will be more enjoyable and productive, but it also comes with obligations and responsibilities. When a hobby becomes a job, you lose the freedom to choose when and what to. Before, you would do your hobbies as after-work relaxation, but now when you want to relax with your hobbies, they become work.

Usually, people would say – in these three factors, you can only pick two. If you want to deliver a project faster, you might have to sacrifice the quality or have a smaller scope of features. If you want to have a high-quality and feature-rich product, you might have to sacrifice speed to deliver good stuff slowly, and so on.

So, to say, I usually pick Quality and Velocity. In the beginning, the scope of my projects was quite clear and small. I managed to keep the quality high, deliver things fast, and get feedback from the community quickly. At that time, I was able to stay productive and motivated to keep working on those projects.

英伟达 CEO Jensen Huang 早年的这个视频,提到了创业公司对失败的包容度,听着挺有道理的,主要有这么几点:

  • a tolerance for failure.
  • fail quickly and inexpensively.
  • change course as soon as you know it's a dead end using intellectual honesty. keep innovate.

很难第一次就做对,快速低成本尝试,诚实地判断这条路是否可行,再决定是否要继续或换方向。

这篇文章是 Tim Urban 在较深度(一周,总共 40 小时)地使用了 Vision Pro 后写的「用后感」,对比了 iPhone 刚出来时的场景。iPhone 并不是一出来就起飞了,而是像 S 曲线那样,一开始比较平缓,经过了几轮产品迭代后,才开始进入到陡峭部分(高速增长期)。

如果让我对目前的 Vision Pro 做一个简单抽象的话,它是一个可随身携带的有大屏幕的空间。你可以随意地进出这个空间,这个空间可以是设备自带的,也可以某个游戏/应用创建的虚拟环境,还可以跟别人共享这个空间。

它看起来很像是初代 iPhone,有着丝滑的体验,但少了些明确的使用场景和 Killer Apps。经过迭代之后,如果价格能下来,App 数量能上去,同时让在公共场合佩戴不那么尴尬,应该还是挺有吸引力的。

The Power of Less 这本书出自于 Leo Babauta,作者常年专注于自我提升,从 2007 年到现在,已经写了1000多篇文章,。

链接的内容是 Sivers 看完这本书后的一些笔记。核心思想是找到最重要的,忽略剩下的(Identify the essential,Eliminate the rest)。Identify essential 的过程也是一个梳理的过程,看看自己拥有什么,想要什么,哪些是必不可少的,哪些是不需要的。

找到 Essential 后,就可以投入大量的时间在它上面(有点像投资,通过分析找到有巨大回报的潜力股,然后重仓),这需要一些技巧,比如培养对应的习惯,先从简单的入手,设定明确的目标等等。文中摘录了这 6 个部分:

  1. Set limitations
  2. Choose the essential
  3. Simplify
  4. Focus
  5. Create habits
  6. Start small

我觉得这本书的精髓可以理解为构建一套目标系统和确保这套系统能正常运行的实践手册。

目标系统包括:

  1. 调研。明确值得追求的目标(Essential)
  2. 定目标。设置年度目标(6-12个月)
  3. 拆分。将年度目标拆分为月目标和周目标
  4. 计划。根据周目标,拆分每天要做的事,并明确在什么时间点去做,会花费多少时间
  5. 回顾。目标完成度,目标合理性,实践过程中的一些问题等,并作出相应的调整

实践手册包括:

  1. Limitation。减少在不重要事情上的时间投入,为重要事项安排不被打扰的时间段(Uninterrupted Time Block)。
  2. Routine。如早上醒来后要做什么(如 Review Goal,Set Time Block),入睡前要做什么。
  3. Flow。通过一些技巧来帮助进入 Flow 状态。
  4. Habits。一旦养成习惯,系统运行起来就会更加顺畅,可以参考福格行为模型

虽然没有看过全书,但从这篇总结来看,确实有不少值得吸收和反思的内容,但缺少了一个框架,所以会稍显凌乱。如果把这些内容与自己的思考和实践结合起来,构建一套适合自己的 guideline 或 principles,从长远来看,应该会很有帮助。

Tearing down the Rewind app

This ML-powered app records your entire screen, yet “doesn’t tax system resources.” How did they do it?

Rewind 是最近比较火的一款 AI 应用,它在 Mac 本地运行,可以记录屏幕上的文字和语音信息,可以通过搜索关键字来找到这些信息(只要这些文字曾经出现在 App 中,无论是网页还是聊天),可以看下这个 demo

它很好的解决了「好像在什么地方看到过,但记不起来了」这个场景。听着挺 Magic 的,这篇文章就对这项技术进行了逆向分析。它的主要工作流程是每隔 2 秒,对最 Top 的 window 截屏,利用 OCR 工具提取文字信息,存储到 SQLite,然后再将这些图片合并为一个 H.264 的视频文件(减少体积)。主要用到了以下工具:

  • Use accessibility APIs to identify the frontmost window.
  • Store the timestamps to a SQLite database in the user’s Library folder.
  • Use ScreenCaptureKit to hide disallowed windows, including private browser windows and a user-defined exclusion list.
  • OCR the screenshot on-device using Apple’s Vision framework, the same pipeline that powers Live Text.
  • Compress the screenshot sequence to an H.264 video with FFmpeg.

还会结合 OpenAI 的 Whisper 工具来将语音转为文字。这些工具单独拿出来,其实都没有太「高级」,但能想到这个 idea,并且将它们合理地运用并「组装」成一款优秀的产品,则更为不易。这可能也是 AI 时代,我们应该具备的品质:更创新,更综合。

Paul Stamatiou

A blog about technology, design and startups from a designer who codes.

在逛 Hacker News 时无意中发现的一个博客,点进来后,就立刻被吸引了。他目前是 Rewind 的首席设计师,同时也喜欢 Coding,这个博客就是它自己设计和编码的(基于 Jekyll),看着很舒服。从 2005 年开始写博客,到现在已经有 1200 多篇文章。摄影页面效果非常棒,沉浸感很强,比如在阿姆斯特丹的摄影集。还有一个专门的页面罗列了他在使用的工具,软件、硬件都有,咖啡壶、刀具、杯子、椅子等等,非常齐全。写起长文来也毫不含糊,比如这篇。没事翻翻他的文章或看看相册,应该会有所收获。

因为疲于回应「最近在做什么」,Sivers 做了这个 Now 页面,里面罗列了目前他在做的事(比如最近他在学 Python)。有了这个页面就可以回应「最近在做什么」这个问题了,同时也可以很礼貌地拒绝一些请求(不是针对个人,而是最近确实在忙这些事,抽不出时间)。我觉得这个想法很好,也做了一个类似的页面,不过叫 Doing,同时提供了历史记录,方便回顾。这个页面还有一个很好的用处:提醒你好好想想最近在做什么。我觉得你也应该有一个这样的页面。

「抑郁症」是个坏名字,就像把「骨折」命名为「赖床症」一样残忍

「抑郁症」这个名字太坏了。明明是一种生理上的疾病,但抑郁症这个名字太容易让人以为是想不开,或者不高兴。望文生

作者认为「抑郁症」这个名词的问题在于将一种生理上的疾病归为主观意愿,就像把「骨折」命名为「赖床症」一样残忍。抑郁 == 想不开,那想开点不就好了么,如果一直出不来,外人就会觉得是Ta自己不想出来,而不会觉得是被某些东西缠住了,挣脱不了,而出不来。这里的某些东西,可能很复杂,不是简单的开导就能解开的。

有了 ChatGPT 后,可以很方便地对抑郁症有个大概的了解,比如我让 ChatGPT 展开讲讲「抑郁症」,这是它给我的回复:

抑郁症是一种常见的心理疾病,也被称为临床抑郁症或抑郁性障碍。它会对个体的情绪、思维和行为产生负面的影响,并且可能干扰他们的日常生活。抑郁症是一种复杂的疾病,其原因可能是多种因素的综合作用,包括遗传、生理、环境和心理因素。

抑郁症的主要症状包括持续的悲伤、失去兴趣或快乐感、精力不足、睡眠问题(如失眠或过度睡眠)、食欲变化、注意力和集中力下降、自卑感、无价值感、内疚感、消极思维、自杀念头或行为等。这些症状可能会影响个体的日常功能,包括工作、学习、社交和人际关系。
...

多与大自然接触,多调动身体的运动机能(游泳、散步、跑步等),睡个好觉,这些对于保持良好的身心状态都有帮助,且成本不高,可以多尝试下。

Paul Graham 的这篇文章意在揭示「产出伟大的作品」的秘诀,这份秘诀可以用在不同的领域。文章很长,可以通过翻译插件(如沉浸式翻译)来提高浏览效率。

我认为能够产出伟大作品的人,都是艺术家,这个作品可以是一个数学公式,一首歌,一辆车,一道菜。所以在我看来这篇文章其实就是在讲如何成为艺术家。这些是我觉得值得记录的点:

  • 不要成为工具人太久。限制自主性和创造力的工作是失去热情的绝妙途径。
  • 不要过早退出。要做出惊艳的作品,光靠兴趣是不够的,还需要耐心、好奇心和对作品的高要求。
  • 不要担心感兴趣的事情太偏,重要的是感受它的魅力,以及向潜在受众展示它的魅力。
  • 也不要担心感兴趣的领域已被过度开发,深入探索,一定能找到那片空白处,那里就是你的舞台。
  • 最强大的动机有三个:好奇心、愉悦感和渴望做出令人印象深刻的事情。它们的结合是最强大的。
  • 增加自己被好运撞上的机会:保持好奇心,尝试很多事情,结识很多人,阅读很多书籍,提出很多问题。
  • 如果想为人们创造某样东西,确保它是他们真正想要的。最好的方法就是创造你自己想要的东西。写下你想阅读的故事;打造你想使用的工具。由于你的朋友们可能有相似的兴趣,这也将为你带来最初的观众。
  • 出色的工作通常需要花费大量时间来解决问题,这对大多数人来说可能是不合理的。你不能把这段时间看作是一种成本,否则它会显得太高。你必须在其中找到足够吸引人的乐趣。
  • 重视积累。我们通常会高估一天能做的事情,而低估了几年能做到的事情。
  • 尽量避开中间人,与你的受众直接交流,去感受他们的痛点,聆听他们的反馈,与他们产生连接。
  • 找到合适的工作场所和工作方式,可以在专注和发散两种模式之间方便地切换。
  • 与能够提升你能量的人为伍,同时也成为能够提升他人能量的人。

难得见到 Paul Graham 的一篇短文:如何获取新想法。我觉得先要区分下「想」和「想法」,前者可以非常 Creative,可能也具有可行性,但自己不是执行者,比如车内空间应该做成足够大,这样就能在车里办公了。后者具有可操作性,比如我会写程序,那么用代码来画画的这个想法,就可以付诸实践。

作者认为获取新想法的有效途径就是在自己所从事的领域找到空白处(我之前也写过一篇类似的文章),那些外人不太能注意到,而对自己却很明显的问题:为什么没有人尝试过 x 或者思考过 y 呢?

这样的空白几乎是普遍存在的,如果看不到,要么是观察地不够细致,要么还需要再放大。所以领域本身往往不是限制,能不能找到那个空白点可能更重要。

被密密麻麻英文吓到的同学,可以看下这篇中文翻译(PS:这篇文章也是结构化拖延的成果😂)。我们通常认为拖延是一个不好的习惯,文章的作者 John Perry(斯坦福大学哲学系教授)却巧妙地使用「战术拖延」完成了很多成就。

其奥义是那些必须完成的事情通常会产生一个反作用力,让你不想去做它,那么正好可以借助这个力去做相对更容易上手的事情。比如我想要画画,但对这件事我有种抵触心理(因为不熟练,虽然知道重要),于是就说服自己先做一些其他的事情,然后再来画。借助这股推力,我更新了博客的评论系统,完善了用代码画图的项目,添加了一些 Links。这些事情就像前菜一样,可以帮助你过渡到正菜。

毕加索的秘密 Le mystère Picasso

《毕加索的秘密》(Le Mystère Picasso,亨利—乔治·克鲁佐,1956年|80分钟|35毫米|黑白与彩色|有声)以悬疑片的手法记录了西班牙画家毕加索(1881—1973)的一次作画过程。...

这是一部拍摄于 1956 年的纪录片,记录了西班牙画家毕加索的一次作画过程。通常我们只能看到最终的画作,很少能看到艺术家的创作过程,尤其是像毕加索这个 level 的大师。在拍完影片之后,毕加索将拍摄过程中所画的 20 余幅画全部毁掉,这也让这部片子更显珍贵。

从制作角度来看,这可能是成本最低的一个纪录片了,就是把镜头对着一块玻璃画板,这样就能看到毕加索的作画过程,几乎没有对白和转场。同时这也是一部悬疑片,因为不知道将要画的是什么。

如果隐去毕加索的形象,对一个陌生人放这部纪录片,可能会觉得是一个小朋友在画画,但很快就会发现好像不简单,幼稚的笔触,天马行空的线条下,能看到一种严谨和神韵,随意而又精确。

毕加索对画画好像也有无尽的热情和精力,作画间歇,导演问:你累不累,要不要休息一下? 他说:累了也没关系。我可以连着画一夜,如果你愿意的话。

You can't trust Google

Google will eventually kill every single service you care about, if they can't find a way to directly monetize it with ads at a scale of billions. They're institutionally incapable of being in the product or service business, because neither products nor services butter Google's bread. Advertisement does. You can see this emphasis in a...

DHH 作为一名反垄断倡导者(Antitrust advocate),针对Google 的域名服务卖给 Squarespace事件,发表了一篇文章。核心思想如标题所说:Google 的服务是不能被信任的。理由很简单也很有说服力:Google 的核心业务是广告(因为广告最赚钱),如果某个服务的盈利不符合预期(达不到广告业务带来的盈利)就有被终止的可能。Google Domains 每年有1亿8千万美元的收入,服务着上千万的域名,还是被砍掉了。

这里这里罗列着近 300 个被 Google 抛弃的服务(如 Google Reader),如果一家公司推出的服务具有很强的不确定性,怎么放心把重要的信息托管在上面呢?

定时开窗,在清晨
和不同的风成为好朋友
勤换衣物,读一些诗
年轻的病人,也要趁年轻
日光尚早
把摊开的世界轻轻合上
让掉在缝隙里的自己
开口说话

徐云

徐云YOUTUBE唯一官方频道 骑行/户外/露营/ 欢迎来到我的频道

最近看得比较多的一位骑行视频博主,前一阵子刚完成了在国内的骑行,现在已经走出国门,骑向世界了,这个是他在 YouTube 上的账号(小破站上可以搜「徐云流浪中国」)。现在打开小破站,最主要的一件事就是看他更新了没有。

1,000 True Fans? Try 100 | Andreessen Horowitz

More than a decade ago, Wired editor Kevin Kelly wrote an essay called “1,000 True Fans,” predicting that the internet would allow large swaths of people to make a living off their creations, whether an artist, musician, author, or entrepreneur. Rather than pursuing widespread celebrity, he argued, creators only needed to engage a modest base...

KK 的 1000 True Fans 理念,大家应该不会陌生。其核心思想是通过 1000 个狂热粉丝(你产出什么都愿意购买的那种)每年支付他们一天的薪水(大约 $100),来实现可持续创作(每年收入约为 $100,000)。这篇文章将 Fans 的数量减少了 10 倍,但每个人支付的价格也提升了 10 倍。虽然从收入结果上看没什么区别,但其中的差异还是挺大的。

首先是创作思维上的差异,1000 Fans 更倾向于 Creator,而 100 Fans 更倾向于 Fans(有点为 Fans 量身定制的意思)。从付费行为上看,1000 Fans 是冲着 Creator 去的,通过付费来支持他们的创作;而 100 Fans 则是从 Fans 自身的需求出发,希望产品/作品能对自己有所帮助或启迪。

从可行性来讲,我觉得 100 Fans 比 1000 Fans 更可行。前者对创作者的要求没那么高(有 1000 个狂热粉丝是非常难的),同时也符合内在动机:我们的行为受到自主性(追求自主生活的冲动)、精通(渴望在某个重要领域变得更好)和目标(渴望为某个比自己更大的事物服务)的驱动。

还有很重要的一点是,这两个模型不是互斥的,创作者可以将他们的受众细分,并以不同的价格点提供定制的产品和服务。具体实现上可以通过社交网络、视频平台、Newsletter 积累一大批粉丝,然后其中的一部分成为 1000 True Fans(通过订阅、赞助等方式),还可以再为这些 Fans 中的一部分提供更高 Level 的服务(如专有内容、与创作者互动等)。

文中还列出了一些实现 100 True Fans 的途径,可以一并看下。无论哪种途径都要思考一下,为什么要每年支付 $1000?提供了匹配的价值了么?

这是白居易构想的晚年生活的样子,非常有画面感。一千多年以后,在科技发达的今天,这样的晚年生活依然是很多人憧憬的样子,也依然很难实现。

十畝之宅,五畝之園。
有水一池,有竹千竿。
勿謂土狹,勿謂地偏。
足以容膝,足以息肩。
有堂有庭,有橋有船。
有書有酒,有歌有弦。
有叟在中,白鬚飄然。
識分知足,外無求焉。
如鳥擇木,姑務巢安。
如龜居坎,不知海寬。
靈鶴怪石,紫菱白蓮。
皆吾所好,盡在吾前。
時飲一杯,或吟一篇。
妻孥熙熙,雞犬閑閑。
優哉遊哉,吾將終老乎其間。

前几日,卡辛斯基在狱中去世,享年 81 岁。于是重温了下 1995 年他发表于纽约时报和华盛顿邮报的宣言:论工业社会及其未来(Industrial Society and Its Future)。

PS: Discovery 出过以卡辛斯基为原型的美剧:[追缉:炸弹客],共 8 集,还原度较高,剧情设置地也很不错。

在聊「宣言」之前,简单介绍下卡辛斯基这个人。他生于1942年,从小就智慧超群(智商测试 167),16岁被哈佛大学数学系录取,25岁获得数学博士学位(密歇根大学),后成为 CMU 的助理教授,但不到两年就辞职了。在家待了两年后,搬到了在蒙大拿州郊外建造的偏远小屋。在那里过着简单的生活,几乎没有钱,没有电或自来水。

他的目标是自给自足,这样就可以自主生活,会骑一辆旧自行车去城里的图书馆读一些经典作品。本来一切都很好,直到这个地方变得不再安宁。

「如果我们能够活10倍的时间,是否也会觉得生命很短?」,Paul GrahamLife is Short 这篇文章里(更习惯中文的话,也可以看下我的翻译),问了这么一个问题,一直没有找到答案,直到有了孩子。时间这个连续的变量,变成了离散量(Tim Urban 在 The Tail End 中也提到了这点)。

你只有 52 个周末和你两岁的孩子在一起。如果有魔法的圣诞节从 3 岁持续到 10 岁,你只能看着你的孩子体验 8 次。8 次并不是很多的东西。好比你握了 8 颗花生,或者一个书架上有 8 本书可供选择,无论你的寿命有多长,数量肯定会很有限。

既然生命如此短暂,那么「人生苦短,莫把时间耗费在了 x 上」这样的论点就有很大的力量。如果可以的话,应该试着消除这些 x。

通过一些技巧可以避免 bullshit 的事情,比如有意识地把避免 bullshit 放在首位,而不是其他因素(如金钱和声望),有可能会找到那些能减少浪费你时间的雇主。如果是一个自由职业者或经营一家小公司,可以放弃或避开那些「有毒」的客户来减少 bullshit 的事情。

但更有可能的是,自己选择了那些 bullshit 的事情,比如在网上争论,或使用某个产品上瘾。如果生活中没有对自己来说重要的事情,就容易陷到 bullshit 的事情中,所以积极寻找这些重要的事情也很重要。

怎样的事情是重要的呢?一个启发式的问法可能是:将来你会觉得这件事重要么?比如跟朋友一起喝咖啡就可以是重要的事。

培养一种对你最想做的事情不耐烦的态度。在攀登那座山或写那本书或看望你的母亲之前不要等待。你不需要不断地提醒自己为什么你不应该等待。只是不要等待。

The Tail End — Wait But Why

No matter what your age, you may, without realizing it, be enjoying the very last chapter of the relationships that matter most to you. Make it count.

这是一篇我会一读再读的文章,也有翻译过。我们都知道人生短暂,可到底是怎么个短法?比如 「10 年」是个概念,我们很难在脑海里想象 10 年对应的画面,但如果换成 10 个冬天,跟父母在一起 100 天,画面就出来。Tim Urban(文章作者)对人生的时间进行了拆解,将它可视化,映射为各类事件,从而对剩余的时间建立更直观的感知。

文章的最后,作者总结了三条 Tips,我觉得很有价值,也希望自己能够做到。

  1. 跟你在乎的人尽量住的近些。 在同一个城市和其他城市相比,在一起的时间能差 10 倍。
  2. 注重优先级。 余下的时间要跟谁打照面取决于哪些人会在你的见面优先级列表上。确保这个列表是你自己而不是无意识的惯性设定的。
  3. 注重时间的质量。 如果跟你在乎的人相处的时间只剩 10%(与之前在一起的时间相比),当你和他们在一起时,把这个事实放在脑海中,并珍视那段时间。
Getting Started With Embeddings

We’re on a journey to advance and democratize artificial intelligence through open source and open science.

OpenAI 的 API 有提供 embeddings 的操作,前一阵子比较火的 chatpdf用到了 embeddings 技术,那 embeddings 到底是什么呢?

结合 三篇 文章 可以对 embeddings 有大概的了解。

简单来说,embeddings 就是将一些离散数据映射到用数字表示的向量数据。有了向量,就可以对它进行数学计算,比如通过计算两个向量的角度来度量它们之间的相似度。有了相似度,就可以对文本按相似度聚合(比如商品的正面、负面评价)、搜索、推荐(将人也用向量表示,然后与推荐目标计算相似度)等等。ChatPDF 能够突破 ChatGPT 的 token 限制,是先将 pdf 文本转为向量,然后计算与 query 相似度最高的文本片段,将它作为 context 传给 ChatGPT。

向量只有在特定的空间里才有意义,不然就是一堆无意义的数字。上学时接触到的向量空间通常是二维或三维的,在机器学习领域,这个维度可以达到几百甚至上千,维度越高,对语言的理解就会越精确。不同的模型有不同的维度,比如OpenAI 的 text-embedding-ada-002 有 1536 维,SentenceTransformersall-MiniLM-L6-v2模型有 384 维。

因为会用到大量的向量数据,也催生了向量数据库的发展,比如 Pinecone B 轮就融了 1 亿美元,这篇文章描述了什么是向量数据库,它跟传统的数据库有什么不同。

10 Ways You Can Use ChatGPT to Learn Better - Scott H Young

A compilation of some reader recommendations for how they use ChatGPT to study better.

超级学习者 Scott Young结合读者的反馈,分享了 10 个利用 ChatGPT 来帮助学习的技巧。因为 ChatGPT/GPT-4 的幻觉问题(一本正经的胡说八道)还没有彻底解决,所以完全依赖它的生成结果是有风险的,但可以利用它在其他方面的优势来帮助自己学习。

用来学外语 这是一项非常适合 ChatGPT 的任务,既能够听懂你说的话,又能给出符合语境的回复,简单来说就是会聊天,那用来学外语不是很合适?可以试一下这个 Siri 脚本

生成长文本摘要 ChatGPT 的总结能力也是很强的,用来 summarize 文章则再好不过,可以试下这个 chrome 插件

制定学习计划 这个之前没有看到过,试了下,确实可以!如果输入的 context 详细些(比如自己当前的能力是怎样的,希望在多长时间达到怎样的结果),给出的 Schedule 也会更有参考价值。

笔记搜索 这个是比较高阶的使用,会用到 LLM 的 embeding 特性。通常的笔记搜索只能完全匹配,如果忘了这个关键字的话,就很难再找到对应的笔记,而通过将 word 转为 vector,然后结合 OpenAI 的 API,就能找到与关键字距离最近的文字,这样就大大增加了目标笔记被找到的可能性。具体的使用姿势可以参考这篇文章


文中还提到了其他的使用姿势,可以去原文了解更多。

ChatGPT Prompt Engineering for Developers - DeepLearning.AI

Level up your use of LLMs with prompt engineering best practices. Learn to automate workflows, chain LLM calls, and build a custom chatbot.

吴恩达与 OpenAI 官方联合出品的 ChatGPT Prompt。只是看视频的话,B站有搬运。虽然 title 是 for Developers,但代码相对简单,可读性很高,即使对编程不太了解,也可以基本看明白。

视频不长,一共一个半小时左右,描述了如何从不同维度,结合合适的 prompt 去充分发挥 chatgpt 的能力。比如通过清晰的表达,就可以让 chatgpt 执行以下任务:

  • 将 context 通过特殊标记包起来,然后告诉 chatgpt 去 parse 该标记里的内容
  • 按固定格式给出结果,方便在程序中使用
  • 步骤拆解,比如把一段制作咖啡的文字拆解为清晰的执行步骤。
  • 通过 One Shot(给一个例子),让它汲取这个例子的精髓,之后我们再提问,就可以按照这个例子的风格给出答案。

除此之外,还可以实现文本总结(比如将客户对产品的 review 压缩成精简的几段话);模型推理(比如根据文本推测客户的情绪,并给出不同的回复内容);文本翻译;文本扩写(可以在内容基本相同的前提下,针对不同人群,写出不同风格的文字);聊天机器人。以前要借助专业领域的机器学习模型才能做的事情,现在通过大语言模型,结合到位的 prompt 就可以完成了,场景更多,还能做的更好。


PS: 如果觉得视频太长,不方便查找,也可以看下这个中文版的文字总结

Sal Khan(可汗学院创始人)在这个 TED 视频中分享了可汗学院使用 GPT-4 辅助学生学习的实践。

教育领域有一个著名的 2 sigma problem:接受一对一专业辅导的学生的表现比1(个老师)对多(30个学生)的学生会高出两个标准差(分别对应无专业辅导和有专业辅导)。简单来说,学生学不好,问题往往不在学生那里,如果每个学生都能获得专业的一对一辅导,他们的成绩就能得到显著提升。

借助 GPT-4, 可汗学院让每个学生都有了一个专业的辅导老师,知识渊博、极具耐心又懂得教学。编程卡住时,可以向它求助,它会分析代码,给出提示;数学答案错误,会通过引导式提问,找到你的症结所在;能够跟 AI 一起写小说(你写一半,它写一半,交叉进行);「阅读理解」会向你提问,并引导你找到答案;甚至能代入到某个小说中的角色,然后你直接与这个角色交流。

经过调教的 GPT-4 也能帮助老师进步,减轻老师负担,比如会告诉老师某个知识点相关的信息,甚至可以给出建议让老师如何来教授某一课程 (比如将学生分组,扮演不同阵营)。

要让 GPT-4 做到这些,可汗团队花了近 6 个月的时间 tuning、prompt engineering、context completion。Sal Khan 认为 AI 可以给教育带来巨大的积极的影响,让地球上的每个人都能有一个专业的导师。


大语言模型催生的 AI 变革已经成为趋势,「如何用好 AI 的能力来增强产品的竞争力」是很多创业者都在思考的问题,可汗学院的例子或许提供了一个思路。

My product is my garden

I’ve been part of the internet startup scene for a while. There are so many different camps: the bootstrappers, the VC-backed tech-bros, the crypto “investor...

这篇文章的作者将自己的产品比作花园,享受与它的互动,并感受到乐趣。因为是自己的花园,可以按照自己的喜好去规划花园,去选择植物,不用受制于其他人的想法(如投资人)。维护花园的过程会消耗较多的时间和精力,所以需要盈利,作者生活在南非,那里的生活成本比较低,通过自己的产品达到一个普通工程师薪资的收入也不难,有了这份收入就可以持续地打理自己的花园。

That’s what I want from my products. I want to putter about, feel connected to the process, and have fun doing so. I want to make things that don’t scale. To see people tuck into them and enjoy them as people, not as stats. I’ve done this fairly successfully with JustSketchMe. We have a small, diverse, and amazing community of artists and illustrators making awesome things. I’m trying to build a similar product with Bear Blog. Something niche but valuable. Something I can spend time on because I want to.

这就是我想从我的产品中得到的。我想在花园里四处闲逛,享受创作的乐趣。我想创作去规模化的产品。看到人们融入其中并享受它们,而不只是统计数据。我已经通过 JustSketchMe 相当成功地完成了这项工作。我们有一个小型的、多样化的、令人惊叹的艺术家和插画家社区,他们制作了很棒的东西。我正在尝试用 Bear Blog 构建一个类似的产品,小众但有价值。

作为对比,那些外向型的产品更像是花店,可能更注重如何售卖地更多,而忽略了花本身。这是两种不同类型的产品,面向的人群也不太一样,花园是 Something niche but valuable. 没有太大的野心,要占领市场多少份额,或达到一定数额的 MRR(Monthly Recurring Revenue),重点在于主人对花园的用心程度,与花园的用户互动,感受花园带给他们的乐趣。

teenage engineering

teenage engineering creates high quality, well designed, electronic products for all people who love sound and music.

用「音乐设备界的苹果」这个 Title 来概括 teenage engineering 这家公司我觉得还蛮贴切的。在设计上非常下功夫,会激发想要买的欲望,即使自己不是目标客户。「我知道这很不理性,但我就是想要」。

跟 IKEA 一样,teenage engineering 公司总部也在瑞典,但价格就不如 IKEA 亲民了,比如这个最新的便携麦克风售价为 $1199

除了产品本身,官网也非常有设计感,这种设计感不仅体现在那些大图和字体上,产品的浏览过程也是精心设计,非常有叙事感。一上来先用一张大图和一段精简的描述回答了「是什么」,然后用聚焦在产品本身的视频(顺便吐槽下微软那些华而不实的宣传视频)建立立体的感知,再通过文字和直接的图片(实拍图,而不是电商网站常见的广告图)来回答「为什么」,为什么这款产品值得购买,最后如果还想了解更多,则罗列了更细致的参数。