Pieter Levels,作为一人创业型技术人,以其传奇的创业历程和独特的工作方式,成为了众多开发者与创业者的灯塔。
自 2012 年起,他凭借自学成才的编程技能,踏上了一条充满挑战的创业之旅,至今已亲手启动了令人瞩目的 70 个创业项目,其中 40 个成功运营,其中有 4 个项目让他收获了巨额财富,仅一个明星项目 Nomad List 的年盈利就高达 210 万美元。
即便面对高达 95%的项目失败率,Pieter 坚信“ship more”的哲学——勇于尝试,快速迭代,他坚信只要持续不断地推出新项目,成功终将到来。
Pieter 的生活方式同样令人向往,他是一位真正的“数字游民”,足迹遍布全球 40 多个国家,150 多座城市。他喜欢一边环游世界,一边在酒店房间里以不太健康的坐姿游走于 HTML、jQuery、PHP 和 SQLite 等技术中。他坚持“Build in public”的原则,将自己的每一次尝试都毫无保留地展现在公众面前,这种开放与透明的态度,让他收获了大多数人的喜爱。
在 Lex Fridman 的播客中,Pieter 深入分享了他一个人如何在 12 个月内孵化出 12 家创业公司的心路历程,如何学习 AI、了解最新技术动态以及从 0 到 1 启动项目、编程技能的学习路径、技术选型等内容。
以下是访谈实录,经编辑。
不赚钱的软件没人做
Lex FridmanLex :就是说 12 个月内建立了 12 家初创公司。搞第一家初创公司的时候感觉怎么样?你当时是什么状态……坐在电脑前的时候,你对自己要构建的东西想清楚了吗?
Pieter Levels:稍微有点想法吧,因为我做了个 YouTube 频道,还给这个频道制作了名为 Panda Mix Show 的网站。里面主要是些电子音乐的混音作品,比如那种咚次哒次的回响贝斯、高科技还有浩室舞曲。
Lex Fridman:我看到其中一个还写着 Flash。当时你在用 Flash 吗?
Pieter Levels:对呀,我的 CD 专辑就是用 Flash 搞出来的。我还卖过 CD 呢。
Lex Fridman:好,这里给年轻的朋友解释一下,Flash 就是一种软件,当时算是挺有突破性的。
Pieter Levels:虽然已经很老了,但那会 Flash 真的很酷。
Lex Fridman:没错。还有叫什么来着……哎呀我怎么想不起来了。对,ActionScript,一种编入。
Pieter Levels:对的,就是 ActionScript,Flash 里的。基本就相当于那时候的 JavaScript。
Lex Fridman:这个形容很贴切。当时我以为未来的互联网肯定就靠它了,所以花了很长时间认真学习。
Pieter Levels:后来是被乔布斯给干掉了。
Lex Fridman:乔布斯把它给干掉了。乔布斯当时说,“Flash 很烂,大伙别用了”,于是大家就说,“行呗。”现在回头看,乔布斯说得挺对的,是吧?
Pieter Levels:我也说不好。但 Flash 确实是个比较封闭的平台,但讽刺的是苹果自己也不怎么开放。但当时乔布斯确实说“它太封闭了,大家不该使用,Flash 有安全问题。”现在想想,这话说得有点避重就轻,乔布斯想要用话术让大家感觉 Flash 很差劲。实际上 Flash 挺酷的。
Lex Fridman:没错,当时确实很酷。但问题是,GIF 动图曾经也很酷。不过它们最终还是以各自不同的形式回归了,比如 GIF 现在成了互联网模因的重要载体。反正我印象里 GIF 是真挺酷的,这话完全不是在讽刺。能在互联网上看到跳舞的兔子之类在动的内容,真的非常令人兴奋。
Pieter Levels:那时候有很多个人主页,大家把一切内容都居中显示。还有崭露头角的 GIF 动图,比如戴着头盔在灯光下狂舞,回想起来太美妙了。
Lex Fridman:所以你当时只是在做最基本的 HTML 开发……
Pieter Levels:是的,但我必须得学习点硬核编码知识,所以不妨先从这里起步。每月创办一家初创公司其实挺好的,这样能逼着自己学习编程、掌握基础知识。但我的知识体系仍然非常零散,这也没办法,毕竟我拿不出很多时间来系统探索……我只有一个月的时间来做一件事,就是说时间周期已经固定在那里了。我对时间要求很严格,还把日程专门整理成了一篇博文放在 Hacker News 上。很多人都看过,并且评论说“你这也太夸张了”。这其实就是在给自己加码,因为已经公开给大家看了,所以我就必须得做到。
Lex Fridman:那你还记得自己搞的第一个项目是什么吗?
Pieter Levels:我记得是 Play My Inbox。因为当时我们朋友之间会用邮件发送很酷的音乐作品。那时候 Spotify 好像还没出现呢。大概是在 2013 年,我们相互会发送音乐和 YouTube 链接。Gmail 上有相当一部分邮件内容就是“这首歌太棒了,赶紧听听”之类,但却无法自动访问。所以我做了一个应用,它能登录大家的 Gmail、提取电子邮件并找出带有 YouTube 链接的电子邮件,之后创建成一个曲库。其实它在本质上就是 Spotify,我的朋友们都很喜欢。
Lex Fridman:是怎么实现的,靠抓取吗?通过 API 完成的?
Pieter Levels:不是,它用的是 POP,POP 还是 IMAP 来着。实际上它会检查你的邮件。现在看其实它是有隐私问题的,因为它会提取用户所有的电子邮件来查找 YouTUbe 链接,但我这边不会保存任何内容。总之还挺有意思的。第一款产品就获得了媒体报道,我记得它还是得到了某些科技媒体的关注,大家都说“这很酷”。它并不能赚钱,因为里面压根没有付费按钮,但大家确实是在使用。我估计用户大概能有个几万人吧。
Lex Fridman:这主意真心不错。我很好奇现在怎么没有这样的功能了?为什么市面上没有出现能够访问 Gmail 并从中提取有用汇总信息的工具?
Pieter Levels:是啊,我们应该告诉 Gmail“别显示所有电子邮件,只显示带有 YouTube 链接或者类似内容的邮件。”谷歌怎么就是不做呢?
Lex Fridman:整的应用生态系统,但好像这事从来没有真正……
Pieter Levels:千万别这么干,我从来没见过……
Lex Fridman:也有人做过……比如说我就见过 Boomerang 之类的应用程序,有些还相当不错。但不知道为什么后来都销声匿迹了,可能是因为不太容易赚钱吧。
Pieter Levels:是的,我认为大家打心底里不想为这些扩展和插件付费,因为它们看起来不像是真正的应用程序。所以人们普遍不会太重视这类产品。大家会有种固有观念,就是“插件就应该免费。无论是在 Google Sheets 还是别的什么地方,我绝对不会为自己使用的插件付费。插件有什么资格收钱?”但如果去访问专门的网站,大家的观念马上就变了。“好吧,我确实需要这款产品,我会为它付费,因为它是真正的独立产品。”所以哪怕二者背后的代码是完全相同的,插件在吸引付费方面就是很吃亏。
Lex Fridman:明白。同样的功能可以通过扩展,比如说 Chrome 扩展在浏览器端实现。
Pieter Levels:对呀,但谁会花钱买 Chrome 扩展嘛。几乎没人愿意。
Pieter Levels:所以没人做应该是因为赚不到钱吧。
Lex Fridman:挺遗憾的,但恐怕现实如此。
Pieter Levels:Chrome 扩展只能作为初创公司业务的补充。比如说你们开发了一款独立产品,同时还有一个配套的 Chrome 扩展。
Lex Fridman:我其实很希望 Chrome 扩展能够发展成独立产品,也希望 Chrome 能够开放通道让用户轻松支付费用……其实我能想象到很多产品完全可以转化成扩展的形式,比如社交媒体上的很多改进功能。
Pieter Levels:比如 GPT。各种 ChatGPT 扩展是收费的,现在开发者还能从 OpenAI 那边获取收益分成。我自己就做了不少。
12 个月内创建 12 家初创公司,怎么做到的?
Lex Fridman:为什么这回就能收到钱呢?好吧咱们稍后再聊这事。回归主题,在 12 个月内创建 12 家初创公司是个很酷的想法。那在 30 天内建立起业务到底该怎么做?这事在当时难吗?
Pieter Levels:我觉得最困难的部分,就是搞清楚我们不需要什么、不该构建什么,因为我们的时间非常有限。首先登陆页面是跑不了的,之后就是构建独立的产品,毕竟有产品才能说服人们为之付费。那需要建立登录系统吗?也许不需要。当然我们也可以开发一些简陋的登录系统。比如说 photo AI,在注册之后可以用 Stripe Checkout 付款,然后获得一个登录链接。刚开始的时候,我只提供一个带哈希的登录链接,使用这样的静态链接进行登录虽然非常简单、但却不太安全。毕竟根本没有任何验证,所以链接泄露出去就完了。现在我们有了真正的 Google 登录,但在当时还是隔了一年时间。总之因为时间有限,所以一定要保证业务在简单之余还要足够完整。我得专注去搞能够快速构建出来的东西。
所以说需要的就是钱、Stripe、构建产品和开发登陆页面。我还得考虑人们怎么找到自己的产品,比如说会把它放到 Reddit 上。可是要怎么在 Reddit 上做宣传,又不会被当作传播垃圾内容的坏人?我觉得实话实说没有用,就像“大家好,我在做初创公司,请大家试试我的产品”……别闹了,没人感兴趣,而且内容会被瞬间删除。唯一可行的方式就是 Reddit 上某个子频道有很多人都遇到了类似的问题,而你恰好解决了这个问题,那你就可以说“大家好,我做了这款工具,可能会解决你的问题”。也可以说“暂时免费”。这样效果应该不错。但总之一定要有针对性,搞清楚自己的开发成果到底适合哪些人。
如何学习 AI
Lex Fridman:在学习各种最先进的 AI 工具方面,你对大家有什么样的建议?比如你提到一直有新模型在推出,那你自己要如何关注趋势并且把握住一切?
Pieter Levels:我觉得首先大家需要关注 X。现在的 X 很出色,已经成为整个 AI 行业的信息交互枢纽。那帮人有个特点,就是都在使用动漫头像。其实有个朋友专门问过我这个问题,“我该关注哪些账户才能及时了解最新 AI 动态?”我说“上 X,关注那些既关注 AI、又关注动漫的账户。”我给他们发了一些 URL,把他们都给逗笑了,说“这都是些啥呀?”但不开玩笑,那帮家伙都是真正的 AI 领域从业者。他们都在技术大厂供职,而且会在 X 上发布各种各样的消息。他们中有很多人都是匿名的,而且有趣的是他们更愿意使用动漫头像。我自己倒是不会用,但那些人就是在行业内游走,然后发布自己发现的有趣内容。比如说他们会分享研究论文。所以,要想跟上 AI 发展趋势,那就上 X。
Lex Fridman:我现在的关注列表里几乎都是搞 AI 的。但 X 上头乐子也不少,大家吵来吵去的,我有时候为了解闷也会去看。
Pieter Levels:我之所以喜欢 X,就是因为那里是创意的根源。他人发布的内容能够激发我们自己的创作欲。看到其他人分享自己的发现很有意思,之后我自己也会想“好吧,要不我也搞点什么出来。”总之在逛过 X 之后,我就很像模仿其他人的思路并试着使用 AI 模型。比如说手动输入点内容、设置参数等等,尝试能不能用 AI 制作一个应用程序或者网站。
Lex Fridman:那你能不能再聊聊 photo AI 到底是怎么逐渐完善、分步优化的?
Pieter Levels:反正我就是搞了个 photo AI,而且有很多人已经用起来了。每个月用户大约会生成 100 万张左右的照片。我会测试参数,增加生成照片的步骤数或者更改采样器,某种程度上类似于调度器。市面上还有很多 DPM 工具,其实我对它们完全不懂,但我知道可以从中做出选择,然后顺利生成图像。生成的图像质量各异,我有时候甚至判断不出哪个更好。于是我会自己手动操作和测试。后来我想,“为什么不让这些用户去做测试呢?”毕竟他们每个月都会搞出上百万张照片来。于是我会在大约 10%的用户身上随机做参数测试,然后看看他们是否喜欢相应的结果,这一点可以从是否采用和下载来判断。我就是这么把握优化方向的。之后 我会进行 A/B 测试,观察不同参数的重要性、哪些参数设置更好而哪些比较差等等。
Lex Fridman:就是通过这样的方式,你慢慢看清了哪些模型的运行效果更好。
Pieter Levels:是的。然后只要发现数据足够有说服力,我就可以把所有用户都切换到相应的参数组合,并确定这样能带来突破性的质量优化。简单来讲,就是借助用户的力量来提高自己的产品。当他们注册时,我会告诉他们“我们会进行抽样,包括使用随机参数对您的照片进行测试。”这样做效果很好,我再也不用自己亲自做大量测试了,因为光靠用户测试就足够达到边际递减的优化程度。在他们的帮助下,我慢慢找到了最合适的参数组合,大概就是这样。
Lex Fridman:所以说,整个工作流程就是关于参数、模型,还有让用户们帮助你在模型和参数空间中进行探索。
Pieter Levels:但有一说一,Stable Diffusion——我当时用的是 1.5 版本,现在 2.0 版本已经来了,还有 Excel 版——越新的版本质量越差。所以核心用户仍在使用 1.5 版,因为它不是所谓“阉割版”。他们实际上阉割掉了功能,以换取更好的安全性和其他功能。所以大多数人仍然在坚守 Stable Diffusion 1.5。与此同时,Stable Diffusion 倒闭了,CEO 也已经跑路。主要是因为赚不到钱,而且公司里也发生了很多戏剧性的状况。总而言之,他们给每个人带来了可供使用的开源模型,他们筹集到数亿美元,但至今都没有多少真正的收益。可无论如何,他们都让每个人免费用上了开源模型,而且做得非常出色。这事挺不容易的,感谢他们。
Lex Fridman:你是说,你们用的不是最新版本?
Pieter Levels:对呀,而且神奇的是明明 Stable Diffusion 筹集到了好几亿美元,但最终受益的反而是那些刚刚诞生的早期初创公司,比如说我。大家围绕大模型开发出了使用其功能的小程序。现在他们已经在新模型上收费了,但对用户来说新版本的实际表现并不太好,而且也不那么开放了。
Lex Fridman:是的。这事说来确实有趣,毕竟开源在 AI 领域的影响如此之大,但其背后的商业模式却让人琢磨不透……无论如何,整个生态系统中的企业都用上了开源模型,这绝对可喜可贺。
Pieter Levels:所以说它就像之前的开发框架,只是他们没有花钱去买市场占有率,也没有在平台上收费。
Lex Fridman:那咱们回到专业知识和创业思路的问题上。聊了这么多,你既没有找到明确的创业思路,也仍然还在学习知识的道路之上。那你要怎么判断哪个思路是好的?摆在面前的可能性那么多,你要如何选择一个值得投入时间和精力的方向?
Pieter Levels:唉,其实大多数情况下我自己也说不清楚。大概就是感觉,我会选择感觉上最适合自己的。毕竟我现在不可能搞一家太空公司,对吧?虽然挑战性永远存在,但我可以先从力所能及的部分做起……
Lex Fridman:好奇问一句,你真的考虑过“太空公司”吗?
Pieter Levels:哈哈,怎么可能。 我倒是非常关注小行星采矿,像是买入小行星、从那里采掘矿石,再带回来卖掉。发射任务可以花钱雇别人搞定,所以唯一需要的就是搞出一台能在小行星上运行并且把自己送回来的机器人。所以,这事没准能成……
Lex Fridman:但我觉得小行星采矿和机器人技术都很困难啊。
Pieter Levels:是啊,哪个都不简单。
Lex Fridman:所以把这俩加一块,真的能搞定吗?
Pieter Levels:肯定是搞不定呀。但现实就是这样,“我们选择一条道路并不是因为它真的容易,而是我们以为它会很容易。”没错,我就是这么看待小行星采矿的,而这也是我会考虑这个方向的原因。
Lex Fridman:这可不是随便做个网站,那是小行星采矿,不同重力环境下的挑战太多了。
Pieter Levels:是的,也许我的主意让自己看起来像个白痴,但实际操作难度已经很低了。至少跟制造火箭相比,采矿还是要简单得多。
Lex Fridman:所以你会使用 SpaceX 之类的服务完成太空发射。
Pieter Levels:是的,会雇用 SpaceX 来发射这只机器狗或者其他什么形式的装置。
Lex Fridman:那么,你是真的把“小行星采矿”列成备选创业方案了?
Pieter Levels:对呀,只是我给它起了个名字,叫“Trello”。
Pieter Levels:直到现在我还在用 Telegram 记录自己的想法,这样日后便于查询。每当有什么好主意,都会记下来。
Lex Fridman:你会在 Telegram 上亲手打字记录?
Pieter Levels:平常更多是用 WhatsApp,对吧?其实它就像是“给自己发消息”的功能,整个体验跟之前的记事本也差不多。
Lex Fridman:所以,你会在 Telegram 上自己跟自己说话。
Pieter Levels:对呀,就像用记事本的感觉,防止自己忘掉什么。之后我还会专门把内容整理出来。
Lex Fridman:我特别喜欢你这种尽量不使用复杂系统或者其他工具的习惯。现在人们会经常使用 Obsidian、Notion 之类的系统,其实做的也就是做笔记之类的事情。而你是能靠记事本解决的,就不依赖其他工具。
Pieter Levels:对呀,而且我发现 YouTube 上有不少用户都在这么做……网上有很多所谓的“生产力大师”,他们会用笔在 iPad 上绘制好看的备忘。我也有一台 iPad,所以也学着用笔在上面勾勾画画,就像手绘的日历一样。很多人都在这么用,其中学生居多,还可以随意上色呢。但做了一个礼拜之后,我突然反问自己这到底是在搞什么……花里胡哨的没啥意思,不如直接整理成一条信息发给自己,这样就足够了。
Lex Fridman:说起灵感,你分享过一条推文,解释了为什么我们脑袋里冒出的第一个想法往往就是最好的。你认为原因在于,第一个原因可能长期潜伏在我们的意识深处,实际上已经在大脑当中酝酿了数周、数月甚至是好几年。八个小时的思考,永远无法跟这些无休止在大脑后台中打磨的意念相媲美。所以如果面对花八个小时提炼出来的主意跟突然出现在自己脑海中的念头,那么这个念头往往会更好。毕竟那是我们不知不觉间已经思考了很多年的结果,这真的很有趣。
Pieter Levels:是的,这种浮现出来的状态很奇妙。我们的潜意识就像沸腾的水,而在它准备就绪时就如同微波炉“叮”地响了一声。猛然之间,我们就有了一个绝佳的想法。
Pieter Levels:对呀,很多很多,而且我也习惯了这样思考。
Lex Fridman:这东西已经在脑袋里藏了很久了。
Pieter Levels:没错。但出现之后,我还会对它再做打磨,就像送回厨房再热一热。
Lex Fridman:因为有时候想法还没有完全成熟。
Pieter Levels:这就像是一锅正在沸腾的创意靓汤,我的大脑就是这么工作的,相信大多数人也是如此。
Lex Fridman:但具体也要看时机吧。有时候之所以要让它回锅重煮,不只是因为我们自己还没准备,现实世界其实也还没准备好。
Pieter Levels:是的,所以很多时候,初创公司的创始人们提出的想法都太超前了。确实是这样。
怎样学习新的编程语言
Lex Fridman:你最擅长的一种能力,就是学习新鲜事物。你会先冒出一个想法,然后尝试去实现,之后再学习实现过程中所需要的一切技能。这样我们既可以做探索,又不需要一口气学习太多的知识。所以我不禁要问,你到底是怎么学习的?你要怎么快速掌握自己需要的技能?举例来说,你曾经参加过一场为期 30 天的 3D 学习课程,而且要求自己必须在 30 天之内掌握自己需要的全部 3D 知识。
Pieter Levels:是的,我曾经去学过虚拟现实(VR)课程,因为它跟 AI 一样也掀起过热潮。2016 年和 2017 年那会,虚拟现实突然出现,最早就是 HTC Vive,就是苹果 Vision Pro 之前广受瞩目的重量级 VR 头显。我当时在想,“这应该会流行起来吧,所以最好抓紧时间学习。”当时我还对 3D 一无所知,于是安装了 Unity 和 Blender 并且开始学习相关知识。我觉得这是一项新兴技术,肯定会流行起来。这样只要自己掌握这方面的技能,就可以迅速投身到开发当中。总之学习这事对我来说很有趣,因为总会有人问我“你是怎么学会编码的?我到底要不要学习编码?”我的回答是“我也不知道。”我每天都在学习,这听起来似乎有点像陈词滥调,但我真的每天都在消化新的东西。
比如说,我每天都会在谷歌上搜索或者向 ChatGPT 询问如何解决某些问题。我的技能储备每天都在扩大,所以大家永远都不能停止学习。而且学习这件事本身,就应该是个永不止步的过程。所以真正的问题在于,你到底想前往何方?你有多想理解当前某个特定问题?你有强烈的求知欲吗?你愿不愿意一辈子都以这样的方式生活?
所以我觉得保持学习的最好方式,就是多找事做、别让自己闲下来。要做的事确定了,但我们又不知道要怎么做成,那该学的东西自然就明确了。比如说如何制作一个网站,我们可以在网上搜索相关词条,或者现在也可以直接问 ChatGPT“我要如何制作一个网站?第一步该做什么?”它会为我们生成代码。把代码复制下来,保存成文件的形式,再通过谷歌浏览器或者其他什么浏览器打开。现在我们就已经有了最简单的网站,接下来可以做调整了。这样下一个问题就是“我要如何添加功能按钮?要如何添加 AI 功能?”总之通过这样的行动序列,我们可以比硬啃书本或者教程更快地掌握新知识。
Lex Fridman:其实我一直有点好奇,到底要怎么依靠 AI 模型解决“如何制作一个网站”这样的问题?难道说 AI 模型会提供最基本的解决思路,比如定义网站的用途、选择域名、选择网络托管服务提供商、选择网站/构建器/CMS、构建平台、使用 Wix 之类的?
Pieter Levels:是的,它会推荐使用 Wix 或者 Squarespace 来制作一个登陆页面。
Lex Fridman:那如果说我想自己编程来做网站开发,又该怎么在聊天中表达?比如从创建基础页面入手设计自己的网站。
Pieter Levels:对,这么说就可以。甚至可以问要如何启动网站、如何推广网站。
Lex Fridman:哦对,还有启动网站,这也很重要。
Pieter Levels:是的,而且整个过程就像在跟人聊天一样。
Lex Fridman:就这么聊网站开发中的每个环节。
Pieter Levels:整个使用感受其实有点像 Google Analytics。
Lex Fridman:但靠这种方式应该搞不出 Nomad Lists 这么复杂的网站吧?
Pieter Levels:其实可以。
Pieter Levels:其实整个过程没你想象得那么复杂。现在的网站构建工具已经非常先进了,我们面对的就是一个可以点击的图像网格,然后一层层页面打开就行。
Lex Fridman:但我要怎么学习编程呢?比如随便选择一种编程语言。
Pieter Levels:我个人推荐 FreeCodeCamp。可以按主题获取相当的学习资源,每天定时练习 30 到 60 分钟的编码技巧。最重要的是长期坚持下去。另外还有加入 Reddit 这样的编程社区……那可是个大宝库。
Pieter Levels:总之我觉得这是个很好的起点。设想一下,对于一个什么技能都不具备的人,如今这个时代已经让建立网站甚至创办一家初创公司成为了可能。也正因为如此,AI 技术在教育领域的力量才会如此强大。世界各地的人们都可以向大模型提问,然后根据指引构建自己的项目。
优秀的作品不只要开发出来,还要会宣传
Lex Fridman:好的,现在我就明白了。之后就是构建、构建、再构建。反正无论是 AI 大模型还是 Web 开发方面的编程教程,真正把它用起来才是最重要的。只要脑海中有项目的雏形,它终归是可以落地的。我很喜欢 12 个月内创办 12 家初创公司的想法,再极端点甚至可以每天都搞个新项目。最重要的就是行动起来、着手构建,让成果投入运行并且每天完善一点点。这真是场很酷的实验。
Pieter Levels:我认为这就是人们常说的灵感。有一个女生在 160 天里做了 160 个网站。她做的当然都是些迷你网站,但至少确实通过这种方式学会了编码。所以我认为给自己设定点挑战是件好事。大家也可以去参加编码训练营,但我觉得时至今日编码训练已经有点落伍了。在我看来,最好的办法就是从舒适区冲出来,给自己设定目标然后强迫自己开始学习。这需要很强的自律能力,否则根本就坚持不下去。而且编码……编码有着非常陡峭的学习曲线,有时候真的很让人头痛。也正因为如此,所以大多数人一直也掌握不了这门技能。
没错,坚持做下去、永不言弃,而且完成一件事往往需要一种紧迫感。所以当我们记录下自己要做的事情,比如整理成 Hood Maps 或者工作原型后,才会有种无形的压力存在。刚开始我们会很恐慌,“哎呀接下来该怎么做?”之后我们会上网求助,尝试理解各种不同的选择和解决方案。但只要能熬过这一步,之后我们就有了能够尝试的成果,而成功带来的喜悦会迅速激发我们大脑的多巴胺分泌、让人愿意投身于这种正向的激励循环。
实话实说,这种感觉太神奇了。而且我还是全程直播,人们可以在 YouTube 上随时观看。所以当方案奏效时,那种感觉真的如梦似幻。更重要的是,我绝不会目标设得太远。我只是紧紧盯住接下来要解决的问题,这样一个个推进下去,最终就会得到完整的应用程序或者网站等等。有时候让人做不下去的原因,就是因为大家把眼光放得太远了。这就像这幅海报,想要一蹴而就把它画出来根本就不可能,但如果能只关注一下件事、下一个小挑战,它也就慢慢神奇地显现出来了。
Lex Fridman:而且心里面得相信这事难不倒自己。
Pieter Levels:没错,这点很重要。一定要保持乐观的心态,因为每个人都会遇到非常困难的问题,而且很多大问题甚至跟技术无关,而是那种开放性的选择。也许人们根本就不喜欢你的网站,也许你得因此被迫放弃自己投入很多精力的网站。总之什么样的事情都有可能发生。
Lex Fridman:在众目睽睽之下公开展示自己的开发过程是种什么体验?你应该是想快速获取人们的反馈并且灵活迭代吧?这肯定会起到一定的督促作用,但人们的批评也会带来很严重的负面影响。
Pieter Levels:太对了,所以有时候我觉得那些说话难听的网民也不全是坏人,我发现很多人提出的意见都颇具价值。总之先剥离开那些纯情绪的宣泄,比如你的网站太烂了等等,试着把大家最不满意的部分删掉。网站很烂,那是个人判断,但对方为什么会这么判断?根据对方的解释,你会发现其实这背后也是有逻辑在的,比如说注册流程太麻烦,或者数据方面有问题。他们会说这些数据完全就是瞎掰,于是我就得提高数据质量。现在网上很多人会直接无视反对的意见,我觉得这是种很蠢的一刀切行为。当然,互联网上也有不少无脑仇视一切、辱骂一切的家伙,X 上这种情况就不少见,所以需要大家认真甄别。总而言之,要想在 X 上混得走、吃得开,一定得让自己的脸皮厚起来。其实我也屏蔽了很多人,到现在我可能已经拉黑了快 15000 人了。我查了一下,过去十年之间我屏蔽掉了这么多人。这种感觉真的是……
Pieter Levels:对呀。
Pieter Levels:相当于是每年拉黑 1500 个人。我不喜欢拉黑,因为对方会生气。他们会截屏发帖说“看,这家伙把我拉黑了。”但也无所谓,对于毫无营养的谩骂,我会直接让他们消失,有这功能真挺好。
Lex Fridman:既然你提到了 Reddit,那 Hood Maps 上过 Reddit 首页吗?
Pieter Levels:上过呀,哎呀真是太神奇了。当时我的服务器差点瘫痪了,我查看 Google Analytics 时发现网站上有 5000 人左右,简直疯狂。当时是晚上,真是让我难以置信。老实说,其实现在很多应用程序都是靠在 TikTok、YouTube reels 和 Instagram reels 上发宣传短视频才火起来的。所以如果大家制作了自己的应用程序,最好也能做一条宣传视频,比如说“我开发了这样一款应用程序,它是这么用的。我要向大家解释制作它的原因,它能解决这样或者那样的问题等等。”只要视频好看、有吸引力,那应用程序就会流行起来。我还记得 TikTok 上有一条视频,让软件的每月流水一下子就多了 2 万美元左右。效果实在是惊人。
Pieter Levels:是别人,我其实不认识。他们写过很多关于 AI 意见领袖的文章,还展示了各种 AI 应用程序。一旦某条视频爆红,他们就会向相关人士索取报酬。我在其中做了点相关工作,后来就分到了大概 4000 美元。现在我自己也会这么做,发现效果确实不错。TikTok 是个体量庞大的用户获取和生态建设平台。我认为这种随机的用户获取方式是最好的,比直接买广告位更好。因为刚起步的时候,我们其实都没钱去买广告。所以用更自然的方式,或者写条能让应用程序获得大家关注的热门推文才是正道。
Lex Fridman:也就是说,先要开发出优秀的产品,并且让自己的账户拥有足够多的关注者,这样就能让成果被他人注意到。这样只要产品足够优秀,也终归于流行起来。
Pieter Levels:是的。而且在 X 和其他各种平台上,我们往往并不需要特别多的粉比,包括 TikTok 和 Instagram reels 都是如此,它们都有类似的推荐算法。所以真正重要的就是内容要优质,而不是粉丝量要多大。只要有一少部分人(比如说 300 个人)观看过你的内容并且真心喜欢,那算法就会把内容推送给 1000 个人,如此反复。这样优质的内容最终总会被越来越多的人看到。无论你是有 50 万粉丝、1000 万粉丝还是更多都不重要,现在是个内容为王的时代。
如何依靠产品赚到钱?
Lex Fridman:你的盈利理念是什么呢?又是怎么从自己构建的成果中赚钱的?
Pieter Levels:这个嘛,很多初创企业都是从免费用户起步的,所以我们可以开放注册通道并免费提供应用程序。但对我来说,这种方式效果并不太好,因为我觉得把免费用户转化成付费用户其实非常困难。在我看来,如果当初是在拿风险投资来做创业,那吸引免费用户是没问题的,因为我们可以把资金花在广告上、预测这几百万的受众中有多少人愿意掏钱。如此一来,前期的免费试用和注册引导才有价值。但无论如何,这样的过程必须步步小心,即使这样结果也很难向着我们预期的方向发展。
所以我倒是觉得最好一开始就向用户们收钱。所以最重要的就是展示应用程序、告诉大家怎么使用登陆页面,再辅以演示图文或者视频。等搞清楚了产品是干什么的,那用户就得付钱了。可能是 10 块钱、20 块钱甚至是 40 块钱。我个人觉得每个月应该至少收 10 块钱,毕竟 Netflix 每月订阅费就是 10 美元。而且 Netflix 可是家大公司,他们能够负担得起相对较低的订阅价格。而如果我们只是个独行侠式的开发者,全靠自己来开发应用程序,那至少得从付费用户身上收取 30 美元甚至更高,这样才能有所回报。别不好意思,大家都需要赚钱。
Lex Fridman:收费其实更有利于建立起真正关心产品的社区。
Pieter Levels:说的没错,应该创建一个像 Discord 这类的产品社区。每款 AI 应用程序都有自己的 Discord,这里成为开发人员和用户们的大本营,可以沟通关于功能需求的信息,最终成为一股推动构建的合力。这已经成为当下的常态。而且对于刚刚起步的创业者,吸引 1000 名付费用户已经相当困难了。而如果向他们收取 30 美元,那每个月就有 3 万美元进账,这笔收入算是相当可观的了。
Pieter Levels:够过上好日子了。
Lex Fridman:没错,生活质量那是相当高了。但可能还需要抽出一部分来支付高昂的服务托管成本吧?
Pieter Levels:有可能,但这是另一码事了。我得确保自己的利润率足够高,所以会尽量把成本保持在很低的水平。我不雇人,而且会积极跟 AI 服务提供商磋商,比如“能不能再算便宜点?”这是我发现的小技巧,大家可以直接给服务商发邮件说“能不能给我打个折?现在的服务费太贵了。”对方会很果断地回应“当然,五折你看行吗?”真的,就是这么轻松。以前我根本不知道,原来还可以直接发邮件去谈条件的。尤其是当下经济衰退,只要直接把诉求提给服务商就行了。但请注意,还是得表现得诚恳些,别故意装横说什么“给我折扣,不然我就去另外一家服务商那了”,那人家脾气上来了可能会说“走好不送”。只要好好沟通,25%的折扣甚至是 50%的折扣都很有可能。很多人可能以为网站上公布的 API 或者其他服务价格就是一口价,其实完全不是这么回事。
Lex Fridman:而且你还是当着大家的面直播谈业务的。
Pieter Levels:对,所以对方更愿意拿出诚意来。
Lex Fridman:你向全世界传递着友爱与和谐的氛围,而且实际上也在真正尝试创造很酷的东西。凭着这份努力,很多公司就肯定愿意跟你合作。
Pieter Levels:有点这个意思,虽然其中也有我自己的独门秘方,但哪怕没有……
Lex Fridman:单纯用坦诚和友善,也能换来不错的结果。
Pieter Levels:另外还要看我们自己的业务规模。有时候如果多在 X 上发点宣传贴,那获得的折扣往往会更大。
Lex Fridman:没错,而且对这样的公开项目,直接收费就省去了很多发布宣传帖或者说垃圾邮件的需要。
Pieter Levels:而且必须承认,付费用户的质量就是要更高。
Pieter Levels:我没有恶意哈,但免费用户就是更难伺候。特别是对于 AI 初创公司,往往需要面对数百万的受众。因为你没办法控制他们以怎样的方式滥用你的应用程序,甚至利用它实施黑客攻击等,所以一切后果都会转化成针对你的辱骂。
Lex Fridman:互联网上也说过类似的情况。你还提到了 4Chan 涌入 Hood Maps 的情景。
Pieter Levels:是的,但我对 4Chan 没意见。虽然也谈不上喜欢吧,反正你懂我的意思。他们太疯狂了,而且有时候论坛用户搞的事情真的很好笑。
Lex Fridman:哪件事让你印象最深。记得 Netflix 曾经出过一部纪录片,讲的是反社交网络之类的内容,其实挺有趣的,这就是 4Chan 的精神。
独自编码
Lex Fridman: 所以说,你经常独立开发软件,而且大部分时间也都是一个人工作。到底为什么要选择这样的方式呢?
Pieter Levels:我觉得我不太擅长跟其他人合作。我当然知道合作的好处,只是我很难信任其他人。
Lex Fridman:我想明确一下,你的意思是不相信其他人能把工作做好?
Pieter Levels:没错。而且我也不想没完没了地开会去对齐思路。人不用多,只要有三个人在,最终得到的就一定是妥协之后的结果。欧洲就是这么衰落的,好像有个专有名词形容这种状态。反正人们相当于是被迫坐在一个房间里,只有谈出了各方都能接受的政治协议之后才能散会。但我认为这只会滋生平庸。
如果说想法平庸、公司平庸、文化平庸,那最终的结果就必然是失败。一定得有个说了算的人,不然还不如万事自己来。我就是这么想的,也是这么做的。我倒也有少数几个能信任的朋友,还跟他们一起创办过公司,但那是因为我们已经相识很久了。Andre,他是极少数我愿意与之共事的人之一,但这只是极少数。
Lex Fridman:那面对多位合作伙伴,你要怎么把事情做成?你是怎么跟 Andre 一起搞开发的?跟其他人之间又该怎么接洽相处?
Pieter Levels:基本分工就是他负责写代码,而我在 X 上发布成果。就是说我其实是管产品宣发和制定产品策略的。比如我负责告诉他这里应该更好、那里应该更好。但编码工作基本上只交给同一个人,由他负责是因为他会用 Ruby 开发,但我不会。我只会用 PHP。
Lex Fridman:所以你从来没跟其他人长时间一起合作编码?
Pieter Levels:这辈子从来没有过。
Lex Fridman:你觉得这背后的原因是什么?
Pieter Levels:我也说不上来,反正我就喜欢坐在自己的笔记本电脑前面闷头编程,不想跟其他人交流。
Lex Fridman:不对吧,我感觉你是从来没遇到过志同道合的开发者……
Pieter Levels:其实我还真遇到过。当时 Photo AI 项目就有位 AI 开发者,名叫 Philip。当时雇他是看中了他的 Python 技能,AI 开发讲的就是 Python,但我不会。当时有很多涉及模型的工作,特别是功能改进之类。他工作了 10 个月,帮了我很多忙。
哎呀,记得当时我也试过学习使用 Python、Numpy 还有包管理器,但对我来说这些东西实在太难学了,而且我也没有那么多时间。如果是 10 年之前,我应该能静下心来把这事搞懂,但现在不可能了,通宵达旦只为掌握一门语言已经不适合我了。
Lex Fridman:因为你的角色已经变了,没必要非得掌握一门编程语言。也就是说,你所关注的其实是 AI 和新事物,而不是语言本身。总之你从来不会让其他开发者参与你自己编写的 PHP jQuery 代码。顶多偶尔交流一下,比如告诉他们该干什么、别干什么。
Pieter Levels:嗯,最长的密切协作时间也就是一个礼拜。之后就结束了。
Pieter Levels:因为他想重写所有代码。
Pieter Levels:当时他对我们的 jQuery 不满意,所以建议“我们应该用 Vue.js 重写所有内容。”我说,“你确定吗?难道就不能留着 jQuery 别动吗?”他说“不行啊,老哥。”当时我就感觉需要改的东西太多了,后来我们花了几周时间整理了一下工作量,发现这事太耗时了。
Lex Fridman:我倒是很喜欢跟这样的人一起工作。在跟其他人协作时,我会先预设他们就是有史以来最聪明的人。所以我会认真观察他们的代码或者开发的成果,努力从中发现他们的天才之处。反正作为参与其中的一分子,我们得了解其他人、真正关注其他人,再以此为基础讨论哪种办法更好。
Pieter Levels:你说的没错,但那只适用于少数顶尖开发人员,是那种已经把技术融会贯通了的天才。他们可以掌握任何技术栈,但这样的人实在不多,可以说是从业者中的前 5%了。这里没有冒犯的意思,可我们能接触的大多数开发者都不属于这种情况……根据我的观察,大多数从事常规工作的人们都不太擅长自己的专业,甚至连不少医生都是这样。
Pieter Levels:当我们意识到这一点时,就会发现人们在工作中往往表现得非常平庸,特别是在开发和编码当中。
Lex Fridman:我觉得对开发者来说,很重要的一项技能就是要有自己的调性和风格……
Pieter Levels:太对了,真的。这代表一种代码敏感度。
代码敏感度是什么?
Pieter Levels:是的,这是个我自己造的词,但我觉得事情就是这样。你得能够理解代码、体会到代码的细微差异,然后在这样的基础之上再提出调整建议。可大多数人并不是这样,他们只是看到了 jQuery 中存在问题,然后就觉得应该出手重写。
Lex Fridman:但我觉得 jQuery 很好啊,功能很强大。PHP 也是一样,特别是如你所说,随着版本的发展,PHP 已经成为一种非常严肃的编程语言且速度极快。现在的 PHP 性能真的挺有优势。
Pieter Levels:比 Ruby 快多了,没错。
Lex Fridman:所以对于关心性能表现的开发者来说,PHP 绝对令人满意。而且各种编程语言现在也都有自己庞大的社区,还有各种各样功能完备的框架。所以具体使用哪种语言其实越来越不重要了。如果从合作者的角度看,我觉得你已经非常成功了,交付了那么多的开发成果。
所以如果我是这位新人,在加入之后我会先耐心观察和学习,而不会默认把你当成那种不了解情况的领导。我会假定你是个天才,是有史以来最聪明的开发者,第一步是先从你身上学习。这样我就能从代码中理解你的想法和思路。在此之后,如果需要添加另外一项小功能,我就会努力按照跟你相似的风格进行编写。
我的目标就是让你开心、让你满意。只有这样,你才会开始尊重我、信任我,真正开启我们之间的合作关系。但我确实不太清楚现在物色一位优秀的开发人员到底有多难。
Pieter Levels:我承认其实没有那么难,优秀的开发者是存在的。可能是我需要尝试多雇点从,多跟人打打交道。
Lex Fridman: 多给他人机会,也多给自己机会。
Pieter Levels:这肯定会耗费我很多时间和精力。但这完全是值得的,只是我还没想清楚自己到底要不要这么做。毕竟我自己的老办法现在还是能解决问题。没错,很多人都说 Nomad List 看起来很笨拙,设计得也不精巧。好吧,我会尝试改进设计,把这项工作写进待办事项清单。只要坚持做下去,这些问题都可以解决。
快速发布
Lex Fridman:但有一点不能否认,那就是你非常擅长自己做的工作。我看过 Photo AI 的界面,你用的是 jQuery。其实整个设计都特别有风格,界面让人印象深刻。另外还有 Nomad List,界面也有很高的水准。
Pieter Levels:谢谢,过奖了。
Lex Fridman:而且这些全是你一个人做的,包括其中的每一项元素、每一个小功能,所有的一切……
Pieter Levels:没错,就靠我自己一个人。其实很多人都说我设计的东西有点多动症嫌疑,因为里面塞的元素太多,完全不符合当下极简主义的设计取向。
Lex Fridman:我明白你的意思。但这里的信息虽然多却都很有用,以简洁的方式进行传递,同时仍然时尚且有趣。在我看来,所谓极简主义其实只在不需要传达任何信息、同时又希望看起来很酷的时候才适用。
Pieter Levels:有点道理,是那种装腔作势式的漂亮,对吧?
Lex Fridman:不管是不是装腔作势,但一定要无用,这样才谈得上极简。而简洁之所以少个“极”字,就是因为它没那么极端,只强调以干净的方式传递大量信息。反正在我看来,你的成果已经非常出色了。
Pieter Levels:这些都是从我脑海的画面里扒下来的。有时候我的设计过程,就像是在把脑袋里的东西誊抄出来。
Lex Fridman:无论如何,最终效果非常漂亮,所有元素的间距都恰到好处。字体也很好,非常易读。
Pieter Levels:我自己肯定也是满意的,但有时候会不太确定自己的喜好到底普不普适。
Lex Fridman:你经常这样直接做生产部署吗?有没有类似试验场的环境?
Pieter Levels:还真没有。之所以这么干,就是因为我太懒了,压根不愿意在自己的笔记本电脑上设置一个临时服务器。所以现在我会把成果直接部署到生产环境,哪怕有时候也会惹出问题。但好消息是大多数情况下效果都还不错。毕竟我在用 PHP、Lint 和 JSON,系统会随时提示我哪里有错误。具体来说,过去 12 个月里我大约执行了 3.7 万次 Git 提交。期间我也会做一点小小的修改,然后把结果发送到 GitHub。GitHub 向服务器发出 Web 请求,Web 服务器执行拉出、部署生产环境,之后就跟广大用户见面了。
Lex Fridman:从你键入命令开始,延迟大约是多少?
Pieter Levels:一秒吧,一般不会超过两秒。
Lex Fridman:这么说你有种天赋,可以放心大胆做变更,又不必担心犯下严重的错误?
Pieter Levels:还真是这样,很多人都带着感叹问我,“你是怎么做到的,你的服务器怎么就不会瘫痪?”因为我在编写代码的时候非常细心。其实我也知道,这样的方式放在任何大企业都肯定会惹出大麻烦。但对个人来讲这样却能大大提高效率,让我的开发工作推进得飞快。如果在 X 上看到了 bug 报告,我甚至会用秒表计时来监督自己用多长时间能够解决。
比方说只用短短两分钟,我就能把 bug 修复好。这对我来说才是解决问题之道。至于在有些大厂里,提交的 bug 报告要等整整六个月才能处理,这简直太可怕了。总之我愿意帮助用户迅速解决问题,他们也喜欢这种得到重视的感觉。但我同时也理解为什么成规模的企业做不到。
Lex Fridman:我倒是觉得成规模的企业肯定还有更好的办法,毕竟无论是个人还是组织,软件开发工作都必然涉及测试阶段、筹备阶段和开发阶段,还有多个用于存储状态数据的表格和数据库……
Pieter Levels:别忘了申报文书。
Lex Fridman:这一切都搅成了一锅粥,涉及多个不同团队。这样下去,怎么能搞好开发呢?
Pieter Levels:而我好像就代表着比较积极的另外一个极端。
Lex Fridman:但如果你能把工作做得更安全一点,只需要一点,就太好了。
Lex Fridman:谷歌目前正痴迷于开发 AI,想要证明自己有能力在 AI 领域占据主导地位。那为什么不用多语言音频作为引子展示谷歌的 AI 应用方式,帮助更多人冲破不同语种之间的壁垒呢?
Pieter Levels:也许是因为很多从业者更关注自己的职业晋升,而不是酷炫或者说更有价值的成果产出吧。
Lex Fridman:我觉得这倒未必是出于私心,而是整个体系的运转不允许……
Pieter Levels:就是受到了体制的限制。
Lex Fridman:体制就是倾向于打压那些变革性的元素。
Pieter Levels:其实我在跟合作的大公司接触时,也遇到过类似的情况。我跟那边的很多雇员沟通过,他们也在努力做实事、能力非常出众,而我总爱给他们泼冷水,比如说“朋友们,我跟 20 个人谈了六个月,却一点成果都没有。”他们只能苦笑着说“我知道,我们也在尽自己所能。”对,我知道,所以这是种系统性的僵化。
Lex Fridman:是的,我不知道还有没有更好的词,但也许自上而下的专制式介入有时候也不是坏事,比如让 CEO 直接介入。就拿 YouTube 举例,可以由高层强制推动多语言音频项目的落地。它就应该成为最高优先级。
Pieter Levels:我觉得大企业,特别是美国的大企业,有很多事情更强调流程合规。必须要走完整个流程,所以科技大厂永远也不可能采用我这种独行侠式的行事风格。那里的一切工作都必须按部就班,以事前约定好的方式推进。
Lex Fridman:所以我的答案还是一样,专制或者叫独裁形式的力量。比如说乔布斯就经常这么干,我接触过的很多有魄力的领导者也是这样,他们无视法务、无视规章、强行推进。
Pieter Levels:对,有时候只有这样才能做成事。
Lex Fridman:无视公关、无视其他人的意见。他们会放权给工程师,听取一线员工的建议,而且要求本周之内就要拿出一定成果。事情就是这样做成的。
Pieter Levels:规定是可以改变的。比如 YouTube 发布了这项 AI 配音服务,但诉讼中涉及到一些法律问题,那么法条就会随之发生变化。在一路上诉之后,最高法院会做出考量和裁定,这样无论结果是好是坏,都将在法律层面有所体现。因此最重要的就是把功能推出去,这样才能改变社会、改变法律框架。而如果犹豫不定、毫无行动,一直害怕触及法条边界,那就永远不可能改变现实。