DPS 周刊 199 - 不到一天写一个网站

DPS 周刊 199 - 不到一天写一个网站
Photo by Henrique Ferreira / Unsplash

两年前,我选择了切换职业道路,尝试如何从一个 maker 变成一个 seller。所以这两年间并没有写多少代码。

恰好,这份工作里也有不少重复性的任务,所以我觉得还是要写一些脚本来提高效率。于是重新捡起代码,只不过这回我选择了 vibe coding。

所谓的 vibe coding,是由 Andrej Karpathy 四月初在 Twitter 上发明的:

Describing his own experience, Karpathy explained how he converses with AI tools almost in a passive manner—merely talking to them and having the AI handle the rest. This method eliminates manually typing code as well as keeping track of all the minute information in the program.

简而言之,就是现在的编程可以像和 LLM 对话一样,只要给出合适的指令,AI 就能帮助我们写出想要的代码。当然 Andrej Karpathy 也指出,vibe coding 比较适合随便写写的代码,严格的生产代码还需要程序员的介入。

我也以为 vibe coding 只是说着玩玩的,并没有多当真。直到这周我花了几天时间写出了一个自己想要用的工具,并且成功部署上线,前后不到24小时。

事情的起因是,我练 Crossfit 五年多了,每次训练前,我都需要估算一下完成时间,并且制定相应的策略。比如本周有一个训练如下:

For Time, partitioned any way:
80 Single Arm Dumbbell Shoulder to Overheads @ 17.5 kg
Row 60/50 calories
40 Goblet Squats @ 17.5 kg
12 Wall Walks

这样的训练非常讲究策略,因为它允许我们自己分组,可以一口气从上面往下,也可以按照自己的节奏分组。所以对于没有多少训练经验的人来说,如果有人帮助他们分组会很有帮助。

我把这个问题丢给 ChatGPT,它给出了两个策略,并且预估我可以在14-17分钟内完成。

✅ 4 sets:

  • 20 DB S2OH
  • 15 cal row
  • 10 goblet squats
  • 3 wall walks

✅ 3 sets:

  • ~27 DB S2OH
  • 20 cal row
  • ~13 goblet squats
  • 4 wall walks

这两个都是还不错的策略。当然,我还是根据自身的情况制定了策略:

✅ 2 sets:

  • 6 wall walks
  • 30 cal row

✅ 8 sets:

  • 5 goblet squats
  • 5 left DB S2OH
  • 5 right DB S2OH

最后完成时间是9分40秒。之所以能这么快完成,是因为我把最累的 wall walk 安排到了最前面,然后搭配划船来平缓我的心率。后面把哑铃动作切换成多组,也能让我的身体得到适当的休息,不至于把心率推到太高。

给了身边的朋友看了这样的分析之后,大家都听感兴趣。我想既然如此,不如把整个流程写成一个工具,这样可以大大方便朋友们使用。

于是我就打开 cursor,开始一点点 vibe coding。最初的想法,只是想上传一张训练的截图,识别出里面的文字之后,丢给 Perplexity API 分析,然后把分析的结果返回给我。没想到第一天晚上,Cursor 在我的指引下,就帮我完成了这一工作流的搭建。而 Perplexity API 的花费也不多,开发加各种测试耗费的 token 加起来也只花费了不到30美分。

那晚还顺手让 Bolt 帮我设计了网页,拿到 html 之后,丢给 Cursor 让它生成前端代码,没想到效果好的惊人。要知道,我对前端代码一窍不通,如果没有 Cursor,我只能找朋友帮我写,而现在只要轻轻松松给出指令即可。

第二天,我想除了能在本地跑通流程以外,也要部署到线上;要给朋友们使用的话,也要有数据库。这两项原来都是头痛的事,因为有很多细节要确认,非常容易出错。

结果 Cursor 也能帮我搞定,我指定使用 Cloudflare R1 作为数据库,那么线下测试就可以跑 SQLite。既然用了 R1,我就问 Cursor 能不能把整套架构部署到 Cloudflare 上?答案自然可以,前端用 Cloudflare Page,后端用 Cloudflare Worker。然后 Cursor 就帮我生成了全套部署流程。我还要求它区分了线上生产和测试以及本地开发环境,没想到也是轻轻松松搞定。换到以前,光这些部署就需要我查阅大量文档。

当然网站的安全性也是需要考虑的,所以我又拿 ChatGPT Codex 审核我的代码,等它找出不少安全漏洞之后,我把这些问题丢给 Cursor,让它修复这些问题,并给出测试。它也轻轻松松地完成了。

整个 MVP 从构思到部署上线,不到24小时。要是回到以前,我需要找好几个朋友一起来帮忙,前后估计至少要好几周的时间。而现在,只要有 Cursor + Bolt + Canva + ChatGPT Codex,我一个人就能搭出一个 MVP。

当然,这中间也不是没有踩过坑:

  1. 有一次 Cursor 卡在那很久,我中断了对话之后,再次发起对话也一样。前后死了好多次都卡死。卸载重装也没用。换一台机器用 Cursor 就没问题。最后彻底卸载了 Cursor,再清理掉所有缓存,重新安装才恢复。
  2. 前端其实有很多细节要处理,如果直接丢给 Cursor 处理,经常有些细节缺失,这时就需要不断地引导,比如给出截图,给出具体建议,越详细越好。
  3. 其实最重要的是,事先要有明确的计划,要明确哪些功能是 MVP 需要的。因为 AI 的代码能力已经很强,很大程度上可以替代人来写。但是它只能解决怎么写的问题,不能解决写什么的问题。如果不事先明确写什么的话,很容易被带着走。

如果说2022年底 ChatGPT 问世标志着 LLM 的普及,那么今天以 Cursor 为代表的工具则代表着 AI 编程的普及。很多朋友都担心以后程序员会过剩,我倒是颇为乐观:

  1. 这些工具的诞生,意味着开发的成本大大降低,时间上也好,经济上也好,都极大程度地被压缩;
  2. 成本的压缩,意味着有更多的可能性,也意味着更多的点子可以被实现。
  3. 尽管这些工具可以解决怎么写的问题,但是还无法解决写什么的问题,所以人的想法更为重要;
  4. 另外一方面,这些工具也只能解决战术层面的问题,还解决不了战略问题的层面。也就是说,程序员变得更像是架构师,需要从架构层面引导这些工具。这也意味着,程序员的先验知识变得更有价值。举个例子,我的项目先丢给 Cursor 写第一版的时候,它选用的是前后端一起的架构,这样会有很多潜在的问题,所以我就引导它拆分前后端,这样两端可以分别开发。我选择把它们放在一个 monorepo 下,这样也方便它学习 context,更好地协同。而这些,都是因为我有一定的开发先验知识。

我们已经开通了微信支付和支付宝支付,如果你想及时读到 DPS 的全文,不妨直接付费订阅:

一键使用微信或者支付宝订阅 DPS

关于支付的详情介绍,可以访问这一页面


Recap

Jessica Livingston 最近在 Bucknell University 的毕业典礼上致辞,因为在毕业生中,有一群人希望自己拥有雄心勃勃的计划,却没有。这段话就是写给他们的——如何获得“宏大计划”:

  1. 首先要意识到“地铁到站”了。直到今天,大多数人都在轨道上顺着推进。
  2. 现实是:你可以重新定义自己。 你完全可以决定让自己更好奇、更负责、更有活力;没人会翻你大学成绩大喊:“等等,这人应该是个懒鬼啊!”
  3. 你需要某些“筛选技巧”,她最喜欢的技巧就是——人。
  4. 获得雄心计划的最后一点:要对“拒绝”免疫。 起初,人们会轻视你;如果你因此止步,那就注定失败。所以,必须学会忽略质疑。
  5. 社会压力极强,但所有成就大事的人都得学会抵抗它。
Daily Productive Sharing 1261 - Find Your People
One helpful tip per day:) Jessica Livingston recently spoke at Bucknell University’s commencement. Her remarks were aimed at graduates who want ambitious plans but don’t yet have them—here’s how to find your own “big plan”: 1. First, recognize that your train has arrived. Up to now,

Joan Westenberg 认为目标本身并没有错,只是它是这个世界悄悄递给我们的 -- 这个世界习惯用“向前的速度”去衡量进步,而不是“向内的深度”。

  1. 她不再问自己想去哪里,而是开始问:为了到达那里,她绝不愿意违背什么。结果是,事情确实更难了,但方向却清晰了。
  2. 很多真正做出创新的人,其实并不设定明确的目标,她发现这些人选择在各种约束中行动。
  3. 约束是这场游戏的规则,但并不是所有游戏都值得去玩。
  4. 约束不会扼杀创造力,它反而会引导创造力的方向。就像十四行诗的格式,看似令人抓狂,但正因为限制,反而成就了伟大作品。
  5. 目标常让人把注意力集中在那些看得见的缺口上,但真正重要的,是那些看不见的约束,它们才真正告诉我们什么值得在乎。
Daily Productive Sharing 1262 - Don’t Chase Goals, But Limits
One helpful tip per day:) Joan Westenberg believes there’s nothing inherently wrong with goals—only that the world slips them into our hands, measuring progress by “forward speed” rather than “inward depth.” 1. She no longer asks herself where she wants to go; instead, she asks what she absolutely

Isaac Clayton 认为传达复杂思想需要批判性思考与高效写作,而高效协作只能通过日复一日的练习获得:

  1. 写作是将大脑中悬浮的思维结构变成纸上文字的过程:作为写作者,必须尽量无缝跨越这条边界。
  2. 我们的目标是把自己的思维模式完整地重建到读者的大脑中,让她持续投入,否则读者的目光一旦游离,尚未传递完的结构就会在自身重量下坍塌。
  3. 因此,我们要学会把思维结构拆解后跨越心智边界“分段运输”,每个句子都能独立站得住脚,方便读者逐步重组。
  4. 像生活中的其他技能一样,想真正提升写作能力,就必须练习;而要练习写作,就要持续写作。
  5. 他曾保留一个名为《Questions》的文档,每当冒出有趣想法就记录进去。
Daily Productive Sharing 1263 - Habits for Daily Writing
One helpful tip per day:) Isaac Clayton believes that conveying complex ideas requires critical thinking and efficient writing—and that truly effective collaboration comes only through daily practice: 1. Writing is the process of turning the floating structures of thought in your brain into words on a page. As writers,

Mogen Housel 回顾有史以来最聪明投资者在20年前破产的悲剧,认为这其实是由很多忽视铸就的:

  1. 在多个领域有 B+ 水平的人,往往比在单一领域有 A+ 水平但完全忽视其他领域的人,更能洞察世界的运作方式。
  2. 一种理想的性格是“杠铃型”:一边是自信,一边是警惕,敢于大胆行动,但始终以生存为最高优先级。
  3. 商业中唯一不可饶恕的罪过,就是把现金烧光。
  4. 关键是要意识到:总有人比你聪明、短期表现更好,但如果他们缺乏偏执式的安全边际,最终遇到意料之外的事时更可能被淘汰或放弃。
  5. 正是这种“偏执”,才让你的大胆赌注有机会活得足够久,最终成长为有意义的成果。
Daily Productive Sharing 1264 - Different Kinds of Smart
One helpful tip per day:) Morgan Housel, reflecting on how some of the smartest investors in history went bankrupt two decades ago, argues that the real cause was a series of ignored realities: 1. People who are B-plus in several fields often understand how the world works better than those

Sam Altman 认为,从宏观视角来看,ChatGPT 的“能量”已超越历史上的任何个人:

  1. 每天有数以亿计的用户依赖它办事——小幅能力提升能带来巨大益处,而微小偏差被放大后也可能造成严重负面影响。
  2. 进入 2030 年代,“智能”和“实现想法的能量”将空前充裕,不再是稀缺资源。
  3. 这正是“奇点”的惯常节奏:昔日奇迹先变日常,最终成门槛。
  4. AI 产生的经济价值已启动一套正向飞轮,推动基础设施不断复利式扩建。
  5. 随着数据中心生产被高度自动化,“智能”成本终会逼近“用电”成本本身。
Daily Productive Sharing 1265 - The Gentle Singularity
One helpful tip per day:) Sam Altman says that, viewed from a wide-angle lens, ChatGPT now wields more “energy” than any individual in history: 1. Hundreds of millions of people rely on it every day. Even small gains in capability create huge benefits—while tiny errors, once amplified, can cause

Archive

一键使用微信或者支付宝订阅


本周的生产力日报集合就到此为止,如果你有什么建议,也欢迎留言告诉我们。如果想要收到最及时的推荐,不妨订阅我们的频道,或者付费解锁更多增值内容,我们下期见。

如果你喜欢的话,不妨直接订阅这份电子报 ⬇️