内容概要
Kitze 带来了一场充满活力且幽默风趣的演讲,探讨了在 AI 时代软件开发的演变。他区分了“Vibe Coding(氛围编码)”——即盲目信任 AI 生成代码,与“Vibe Engineering(氛围工程)”——即结合技术知识战略性地引导 AI 智能体。演讲涵盖了前端开发的现状、Composer One 等工具的影响,以及在 AI 时代生存所需的新技能,同时也回应了关于 AI 取代开发者工作的担忧。
目录
-
开场介绍与近况更新
-
当前项目:Sizzy, Zero to Ship, Glink
-
前端开发:理想与现实
-
大语言模型(LLMs)与 React 抽象
-
定义 Vibe Coding(氛围编码)
-
Vibe Engineering(氛围工程)入门
-
语音编码与工作流技巧
-
AI 采用度的光谱
-
开发者放弃 AI 工具的原因
-
Composer One 的影响
-
被各种术语淹没
-
诊断“Beta 开发者”
-
开发者工作的未来
正文
开场介绍与近况更新
这是我的旧头像。好了,这是我的新头像。我在美国待了 3 天,已经在 Twitter 上把全套周边(merch)都搞齐了。所以如果你去 Twitter 上关注我,接下来一周我的时间线可能会有点奇怪,不过别担心,之后就会恢复到正常的欧洲作息。
我参观了你们的一些博物馆。我很喜欢这里。这些是我做过最喜欢的事情之一。我喜欢探索这里的文化,进行各种“文化熏陶”,当然还有对自己的一轮折磨。
当前项目:Sizzy, Zero to Ship, Glink
谁在 Twitter 上关注我了?好的,比我想象的要多。有多少人在用 Sizzy?通常只有坐在后排的一两个人举手,而且通常保洁人员根本没在听我说什么。
我有 ADHD(注意力缺陷多动障碍),所以我同时在做十亿件事情。Sizzy 是其中之一,它是专门为开发者设计的浏览器,不是用来替代你日常浏览网页的浏览器,而是一个像 Photoshop 一样的工具,在很多方面辅助你进行前端开发。
我在做的另一件事,测试版马上就要上线了。我正在做一个生活操作系统(Life OS),它结合了你生活中的所有东西,从药物管理、习惯养成、待办事项、计划表等等。这是一个我正在做的全栈项目,目前正在发售中,叫作 Zero to Ship。最后一个我正在复活的项目叫 Glink,用来管理更新日志、路线图等一堆东西。
为了不让大家被我的个人简介淹没,我真心希望明年还能被邀请来这里,因为我喜欢这里,喜欢在这里社交、认识新朋友和分享知识。你们能笑出来真是太好了,对吧?不管怎么说,让我们来讨论一下你们为什么来这里?你们是为了学习,为了社交,在这次演讲之后,你们的技能肯定会得到提升。
前端开发:理想与现实
好吧,你们能从我的会议演讲中期待些什么?如果你没听过我的演讲,通常这部分是由 AI 生成的,所以完全是错的。我的演讲基本上是 50% 的推文吐槽,40% 的痛苦,以及 30% 让你记住名字的理由。
2017 年,我做过一个名字超长的演讲,叫《在炒作驱动的前端开发世界中生存而不发疯》。当时我谈到了如何驾驭前端世界。现在情况变得更疯狂了,我们需要回顾一下自 2017 年以来发生的所有事情。我看不到我的演讲备注,这有点糟糕,但我们会搞定的。
在其他行业,比如在 Vision Pro 中,已经实现了现实物体上的布料碰撞模拟,以及各种疯狂的效果。在这里,我们可以看到网格纹理切片包裹着球体,还有这些瀑布效果。就像你可以拿起一块石头,把它砸进另一块石头里,它神奇地混合在一起形成新的结构,这简直太疯狂了。
在这里,我们可以拖动鼠标,凭空创造出建筑物、街道和出租车。我们做这种生成式的... 不管这叫什么,或者方块上流下来的蜂蜜。你知道我要说什么对吧?我在为接下来的内容做铺垫。但因为你尊重你的职业,你也爱你在 LinkedIn 上的头衔——比如你是“梦想首席架构师”之类的——你会尽力不笑出声。但看到下一张幻灯片你肯定会笑,因为这就是前端开发发生的事情。
将近 10 年过去了,这就是我们的现状。有个警告说,也许到了 2037 年你就能给 Select 标签自定义样式了。这东西居然还活着,这简直是个奇迹。它实际上还活得挺好,有 1500 万次下载。我设了一个日历提醒,每年检查它死了没。它还没死,所以我还得继续检查。
CLI(命令行界面)工具。它们不仅没死,还活得很好。你甚至可以把图片拖进终端里。第一次把图片拖进终端时,我心想:“这怎么可能?”算了,这太... 我又加了一个日历提醒。到了这个地步,我为这事设的提醒比纪念日和生日还多。我希望有一天作为一个概念它能彻底消失。
我们还在与同样的旧痛点作斗争。很快,也许在某些浏览器中,你就不再需要用 JavaScript 来给对话框里的弹出层写样式了。能以此给点掌声吗?别拍了,因为人们现在都装了脑机接口了(讽刺)。好吧,不管你能不能给对话框写样式,我们再次无法摆脱 Internet Explorer。我们要么只是更新了 Logo,它依然存在,依然令人痛苦。
还有,我们无法就如何增加计数器达成一致。这是 Ryan Florence 的演示。这是 Remix 第二版,或者第三版,或者第四版,不管他们在做什么。就是一个计数器而已,增加一个计数器有多复杂?简直不可思议。别怪我说话直,哪怕是排名第一的库也是老样子。很烦人,虽然 React 是最好的等等。
大语言模型(LLMs)与 React 抽象
接着聊聊大语言模型(LLMs)。LLM 非常擅长编写 React 代码。这事儿只有我们人类觉得好笑,对吧?对 LLM 来说,这是写得完美的代码。只有人类才会有那种把代码疯狂抽象(Abstract)的冲动,我们会说:“哦,让我改改那个,我会让它更优化。”
这里有一些科学的大脑扫描图。这是吸毒后的大脑,这是吃糖后的大脑,这是当你意识到可以抽象某段代码时的大脑。我们会说:“走起,虽然这对用户毫无用处,但我们就是喜欢。”
用 LLM 写代码会让这种情况变得更好也更坏。特别是对我来说,用 Composer One 的时候情况更糟,因为你能更快地得到正确的抽象,但也可能更快地得到错误的抽象。这里最棒的一点是:LLM 根本不在乎重复代码。自 2017 年以来我一直在说,我们太在意重复代码了,而且抽象得太早。我会重复这一点好几次,我喜欢 LLM 不在乎代码重复。
LLM 也擅长写 React,因为实际上没人真正擅长写 React。你去参加 React 会议,听完第一个演讲你就会想:“天啊,还能这么做?我以前全用错了。”每个人都在发明自己使用 React 的方式。所以当我们说“机器写不出最优的 useEffect”时,你能写出完全正确的 useEffect 吗?不,你不能。所以我们应该停止责怪机器。
定义 Vibe Coding(氛围编码)
我们来谈谈这个。我觉得这里的观众可能完全不适合这个话题,因为我在其他城市的会议上讲这个,观众至少是一半讨厌 Vibe Coding,一半喜欢它。但我希望这在这里也能行得通。如果你觉得 Vibe Coding 很棒,请举手。好吧,手太多了。你应该看看另一个城市,只有两三个人举手,其他人都是一脸暴躁。
如果你觉得 Vibe Coding 很烂,请举手。拜托了。只有几只手。太棒了。好吧,我是来说服剩下的人以及直播观众的。那里有更多持怀疑态度的人。如果你刚到地球,不知道什么是 Vibe Coding,好的,这里没人不知道。大家都对了,因为我们有点在“凭感觉(Vibing)”定义什么是 Vibe Coding。既然提到了这个词,我们就把它扩展到了所有事情上。
Vibe Coding 这个词是由 Andre Karpathy 创造的。你们可能知道他,他是那些傻瓜在车后座睡觉拍 TikTok 的原因(指特斯拉自动驾驶)。他写了一篇关于什么是 Vibe Coding 的长文,但长话短说就是:你不太在乎代码本身,你按下“接受”,告诉 LLM 它需要做什么等等。
这是我 2017 年演讲的一张幻灯片,当时还没有 LLM 或任何相关概念。我说如果你看到前端发展的模式,总有一天大家做的事情会非常相似,以至于有一天你可以直接说:“嘿,给头部换个新样式,或者把这东西向右移三个像素。”当时人们都在笑,说:“不,不会变成那样的。”而现在我们真的就在用 Cursor 和其他工具做这个,对吧?我懒得去 Tailwind 里改样式,只想让它移三个像素。所以我是个时间旅行者。
其实经理们一直都在进行 Vibe Coding,这并不是什么新鲜事。他们告诉开发者实现一个新功能;开发者修改代码;经理测试应用;经理不看代码。好吧,实际上我要喝口水,你们自己读剩下的幻灯片。
最后这一条取决于你在巴尔干地区还是在有 HR 的地方。他们可能会羞辱你,或者不羞辱你。这就是经理们一直以来的做法。
关于 Vibe Coding 很糟糕的笑话有很多。我最喜欢的是把它比作赌场。在赌场里你买筹码;在这里你买 Token。你拉动老虎机或按下“生成”。你可能中大奖,也可能一无所获。你可能得到一个功能齐全的全栈应用,或者是一堆只有灯光闪烁的垃圾动画。你是对的,好主意。我有我自己的策略,我是个提示词工程师(Prompt Engineer)。好吧,当然。再转一次,我就能把输的赢回来。再写一个提示词,Bug 就会消失。因为你知道,这个比喻有点伤人,因为它太真实了。Cursor 永远是赚钱的。我中了头奖,一天内建了一个 SaaS,但最后四个小时去哪了?花在写提示词上了,而那些东西如果你手动做只要 15 分钟。
Vibe Engineering(氛围工程)入门
Andre 试图创造太多术语了,第一次没成功后,他又试图创造“Half Coding(半编码)”这个词,意思是你在观察 LLM 做什么。我不是在半编码,也不是在 Vibe Coding。我喜欢 Twitter 上有人创造的这个词,我要开始用它:Vibe Engineering(氛围工程)。
这是指你实际上一直在使用智能体(Agents)来写代码。你虽然不碰代码,但你盯着屏幕看,就像:“哼,我会抓到你的。”你就像《双面法医》(Dexter)一样盯着屏幕说:“啊,这里有点不对劲,为什么?”
如果不是因为 LLM 和 Agentic Coding(代理编码),我甚至不会费心去搞这一半的东西。但我总是对代码持怀疑态度,因为它是基于我们的代码和我们的知识训练出来的。
我有证据:这是 Gemini 在发牢骚,说“我不配了,我不是个好助手,我应该停止写代码”等等。这太人性化了。这是 Qwen(通义千问)在说它撒谎了,因为它在论坛上读到我们人类在犯错时会加倍下注并撒谎,所以我们把它训练得像我们一样。它们生成的代码很烂,如果你喜欢你的生产数据,那你肯定应该... 这是一张真实的截图,很遗憾,“哎呀(oopsy daisy),你的生产数据没了。”
我请来了高级首席提示词工程师 Kit 博士来给一些 Vibe Engineering 的建议。这可能是显而易见的建议——我没听其他的演讲,因为我刚到——这些建议听起来很像“Live Laugh Love”那种废话,但确实管用。
我两周前才听说 Git Workspaces 这个词,我都不知道这是什么,但它太棒了。
为了让这一切奏效,你必须长时间泡在 Twitter 上。如果你没有 Twitter 账号,这就行不通。你必须有一个坚实的起点,无论是好的原语(primitives)、组件、函数还是模式抽象。很多人很懒,根本不费心做这些,所以你必须标记它们并使用正确的提示词来获得正确的结果。如果你要开始一个新项目,我绝对推荐 Zero to Ship。拜托了,我有房贷要还,这三天在美国花太多钱了,帮个忙。
语音编码与工作流技巧
使用语音写代码是一个颠覆性的改变。这里谁用语音写代码?哇,伦敦只有一个人举手。太棒了。
关于“脑力倾倒(Brain Dumping)”:我的做法是,一旦 Agent 完成工作,我马上开始语音编码。首先我去浏览器,向它解释我在 UI 上看到的东西,就像在跟朋友说话一样。我说:“所以你做了这个,做了那个。好吧,我不闭嘴,我会把我的思考过程大声说出来。比如我看到你做了这个,那里有个 Bug。”然后我跳到代码里,继续谈论它在代码中实现了什么。我的一些问题描述有时长达五分钟,人们会说:“请修好这个,给我赚一百万,它现在不工作。”
这太棒了。我本来想告诉你们我在用哪个 App,但我在那个 App 里 Vibe Code,我不想损害我潜在的销售额。
使用规则、文档、命令和记忆(Memories)。所有这些术语都太复杂了,要兼顾的东西太多。目前它还不能拥有你整个 App 的上下文,也不是读心者。所以如果没有正确的上下文,你大部分时间都会失败。
这是 Vibe Engineering 的一个例子。这是我的一些提示词截图,展示我是怎么做的。这通常是一堆技术术语,从来不是简单的“修好这个 App”。而在 Vibe Coding 那边,人们会说:“把这整个东西移到 TypeScript,不要犯错。”还有这个,我不仅仅是在谈论 UI,我在谈论 UI 和代码中需要改变的一些模式。Vibe Coding 那边就是类似这样的东西,然后人们还期待结果。
这里我们又有技术术语,比如 tRPC、CRUD 定义、抽象,基本上你是在“Vibe Architecting(氛围架构)”你想要东西如何工作。而在 Vibe Coding 那边是“给我做一个百万美元的 App,不要犯错”。当 Vibe Coder 读到 Vibe Engineering 的问题描述时,他们完全不知道发生了什么。老实说,我很惊讶那些不懂代码的人居然能做出功能性的东西,向你们致敬。
AI 采用度的光谱
我注意到了社区中的这个光谱:谁喜欢 Vibe Coding,谁讨厌它。
一方面你有初级开发者(Juniors),他们说:“太棒了,给我这个工具,我要做自己的 SaaS。”
然后你有超级资深的大佬,他们在做库和框架以及疯狂的事情。你可以在 Twitter 上看到他们都在 Vibe Coding。
然后你有中间的大多数人。他们会说:“这永远不够好,我的代码才是完美的。”这很好笑,但这就是一种模式。
千万不要把 AI 工具给你的实习生和初级开发者。人们以为这很完美,“我要招个初级开发,少给点钱,给他们一个 LLM。”这是最蠢的主意。但如果你把你那个持怀疑态度的高级开发者拉过来,说服他们做 Vibe Engineering,你会得到 10 倍的结果。难点在于真正说服他们。
开发者放弃 AI 工具的原因
有些时间和地点适合 Vibing(凭感觉)且不在乎代码。比如一次性脚本、简单的功能,以及那些不会被再次触碰或查看的代码。如果你在 LLM 出现之前就培养了这种技能,你会在这里如鱼得水,因为你需要知道哪些代码“足够好”可以使用。个人工具和一次性工具非常适合 Vibe Coding。
如果你的体验很差——很多人的体验确实很差,而且他们放弃得太早——可能是以下原因之一:运气不好的时机、被信息淹没、你可能太抠门了、你是个“难搞的开发(PA dev)”(我一会儿会解释)、你那个搞 NFT 和代发货的表弟现在成了 Vibe Coder 而你不想和他们混为一谈,或者是规模问题。一会儿我们会深入探讨那个。
运气不好的时机是指你听到大家都在吹捧一个模型。我想这发生在 Claude Code 刚出来的时候,大家都从 Cursor 转去用它。突然一周后你试了一下,你会说:“等等,这不够聪明啊,是我的问题吗?”然后人们发现他们其实有点像是在“撤梯子”,把模型降智了以便扩展。一周后他们说:“哎呀我们更新了,注释掉了那行让模型变笨的代码。”你可能正好赶上了那个时机。这基本上发生在每个提供商身上,不仅仅是 Claude Code。人们说:“与其付 200 美元,我付 3 美元也能得到一样的结果。”我的狗都知道那不是一样的结果。我遇到很多人还在用 ChatGPT 生成代码片段然后贴回去。那是行不通的。
Composer One 的影响
你可能被选择淹没了。这是 4 个月前的幻灯片。到现在我们有十亿种选择,这有点疯狂。如果你问我哪个模型最好,早上 9 点是一个答案,现在是一个答案。我应该查查 Twitter,这次演讲后可能又是另一个答案了。我已经遇到过四次这种情况了,晚上演讲完关上笔记本,他们就发布了新模型,我还得加新幻灯片。这太烦人了。
Composer One 对我来说改变了一切,我绝对喜欢它。这里有多少人主要依赖 Composer One?我觉得不够多,因为这真的改变了我对 Vibe Coding 和 Vibe Engineering 的定义。它让我意识到我怀念写代码,因为以前我会让模型(比如 GPT-5 Codex)跑起来,那得花 37 年,我的孙子会告诉我模型的结果,而我就去刷 YouTube Shorts 直到它完成。
现在有了 Composer One,我回到了驾驶座上,我实际上在看 Agent 在做什么,我可以喊停:“不不不,我们做另一件事。”这感觉就像在写代码,而且是超即时的,太棒了。但这只有在你是个 Vibe Engineer 并且知道自己在做什么的时候才有效。如果你是个 Vibe Coder,你根本不知道模型是对是错,它可能错得很快,所以没那么有用。
对我来说最大的问题是抽象。只是因为你可以... 我以前是个反抽象主义者。我会说,复制粘贴代码,只要对用户有效就行。现在我每天都在发明愚蠢的抽象。多亏了 Composer One,我在两周内完成的成果比去年一年都多。我差点放弃了一些副业项目,因为之前的反馈循环太慢了。比如 Benji 这个项目,我差点就放弃了,因为它卡在 Blitz 上(如果你不知道 Blitz 是什么,那对你更好)。我只用了不到一周就把它迁移到了 Next 16、App Router、更好的 tRPC、Monorepo、Turbo Repo、React Native App,并加入了 90% 的功能。我当时有点像是在玩梗,开玩笑说“哈哈我们能迁移到 Monorepo 吗”,然后我想“我靠,它真做到了”。这真的行得通,太疯狂了。
Glink 也是一样,差点就死了,现在复活了,迁移了所有这些东西。Sizzy 是我有史以来最大的“意大利面条代码(Spaghetti Code)”项目。它是 Electron、MobX、MobState,一些疯狂的技术和我们写的疯狂面条代码。作为一个玩笑,我扔了几个提示词试图做所有这些事情。如果你用过 Electron,你会明白那张幻灯片有多惊人。如果没用过,那算你走运。不管怎样,Zero to Ship 也重构成了 Monorepo 等等。
我的 LLM 编码历史是:复制粘贴 -> Tab 键 -> WebStorm 加 Super Maven -> Cursor 加 Tab 补全。第一次尝试 Agent 时就像那个吃饼干的鸟的表情包,心想“天啊这要改变我的生活了”。后来我每个月付一大笔钱,用 Claude Code、GPT-5 Codex,最后因为 Composer One 又回到了 Cursor。它对我来说是个游戏规则改变者。
被各种术语淹没
你不喜欢 Vibe Coding 的第二个原因是你被流行语淹没了。我来列举一些。
你听说过 MCP 吗?嘿伙计们,MCP。MCP 太棒了。MCP 还清了我的房贷。MCP,MCP,MCP。如果你不知道 MCP 是什么,它代表“营销收费协议(Marketing Charge Protocol)”、“神话兼容性承诺(Mythical Compatibility Promise)”和“制造商复杂性管道(Manufacturer Complexity Pipeline)”。其实就是 API 的一个花哨名字,以及一些人用来卖课还房贷的方式。
诊断“Beta 开发者”
现在让我们来诊断一下你是否可能是一个**“讨厌的开发者(Pain in the ass developer)”**。这可能是你不喜欢 Vibe Coding 的唯一原因。我要请 Kitze 博士上台做一个快速诊断,看看你是否是一个——抱歉如果冒犯了你们中的一些人——讨厌的开发者。这是一些症状:
你在两行的 PR(Pull Request)上留下了吹毛求疵的评论。你在 PR 审查上花费超过 2 分钟。你不需要这么做。你的字典里没有“LGTM(Looks Good To Me/我看行)”这个词。同意同事的观点会让你胃痛和胸痛。你会觉得:“哦,必须按我的方式来,我不想这么做。”你说你不信教,但在 Tab 和空格这种蠢事上却像个信徒。你在代码注释里用“Well actually(其实吧...)”。Rust 开发者们对不起,但你们确实有点烦人。他们让你把 lodash 函数换成原生实现,然后把 map 换成 for 循环,然后把 for 循环换成二进制代码,直到它对那两个本来觉得旧代码挺好用的用户来说是“性能最强”的。
事实是,**Beta Developers(Beta 开发者)**过去存在,将来也会永远存在。不管有没有 Vibe Coding。我想很快有一天我们会和 AGI(通用人工智能)融合。我们会躺在黑客帝国的吊舱里吸收世界上所有的信息。我们将成为超级智慧生物。而在其中一个吊舱里,一个 Beta 开发者会站起来纠正 AGI,说:“嗯,其实吧,我觉得我们可以优化一下这个,这不是最优解。”
你不喜欢的最后一个原因... 我喜欢这个动画,太辉煌了... 是技能问题(Skill Issue)。这不是表情包,不是玩笑,是真实存在的。开发者不喜欢学习新技能。Vibe Coding 和 Vibe Engineering 不是写英语。很多人把它混淆为“我写英语,LLM 输出结果”。实际上它是很多技能的混合体,比如了解模型的局限性、Agent 的能力、传递什么上下文、上下文限制、如何写规则、提示词工程(别说出来,别叫它这个)以及长时间泡在 Twitter 上。如果你不泡在 Twitter 上,你就不知道发生了什么。
另外,如果你想驾驭模型,你需要所有的技术知识。判断哪些代码“足够好”是一项技能。如我所说,即使没有 Vibe Coding,我也认为这是最好的合作对象:他们知道这段代码不需要优化,它对当前的工作来说已经足够好了。这是一项很棒的技能。
你 Vibe Code 一些东西,你看一眼代码,你简单测试一下功能,然后说“好的,这足够好了”,然后继续。有些东西需要特定的优化,但不是所有东西。然后你继续重复。关于“整洁代码(Clean Code)”的定义在慢慢改变,大概就是“足够整洁(Cleanish enough)”,让 Agent 能够继续在上面工作。因为如果你一直写垃圾代码(Slop)并接受一切,最终即使你有工程技能,你也会遇到路障,到了某个点你就无法继续了。
开发者工作的未来
很多人在我的演讲后问我:“既然发生了这么多事,我还应该学计算机科学吗?”我会说绝对应该。我认为如果你想学习,现在是最好的时机。因为我学计算机科学的时候,我用的是史上最慢的 LLM——也就是一个“朋友的朋友的朋友”,他是个程序员。那是我与编程唯一的联系。那是种最糟糕的朋友,勉强忍受你。他会玩 CS:GO,我在 Skype 上问他一个关于 .NET 的问题,他 45 分钟后才回。所以如果你嫌 ChatGPT 慢,那才是真的慢。而我不知怎么还是学会了计算机科学。
关于工作呢?Twitter 上有很多混蛋说“嘿,AI 会抢走我们的工作”。还有这个家伙,那个家伙。我们就说他们暂时没事吧。我不知道这个“暂时”什么时候结束。这对我们来说总是好笑的,因为我们在紧张地咯咯笑。“我们没事对吧?我们还能保住工作一阵子对吧?”
像 Shopify 这样的公司,我听说很多例子了,他们有 Vibe Coding 排行榜,统计 Token 使用量。那些燃烧 Token 最多的员工实际上在公司里更有价值,因为他们接受了这项新技能。有些员工不喜欢,但这不重要。在排行榜前列对你是有利的。这是一个好笑的推文,直到它不再好笑,比如“哦,我们快到边缘了,工作快消失了”。
但如果你真的关注正在发生的事情,我认为岗位正在从底部开始削减。初级人员和实习生等没有机会进入,因为人们可以用一个 Agent 替代他们。所以这在变得不好笑之前都是好笑的。不管怎样,这会发生吗?让我们总结一下过去几年发生了什么。我们解决了推理集成。我们有了标准、AI SDK、UI、MCP,一些实现 Agent 调用工具的标准。我们将它们与人类使用的所有工具集成,如 Linear、GitHub、Slack、Sentry。现在只是时间问题,模型变得更好、更便宜、上下文更大,以便替换某些功能。
这是你公司目前的工作流程,对吧?那是你。这是 Vibe 制作的所以可能有点错,但有人给你分配任务。你与同事合作。他们指派给你。也许你们打会儿乒乓球。也许你请个病假。也许你在 LinkedIn 上吃第三顿午餐。也许... 最终一天后你回复了他们的评论。将会开始发生的是,如果你只是公司里的一个“@”,比起“@Josh”(那个在大厅和朋友玩 PS5 的 Josh),将会变成“@Cursor”,而 Cursor 的云端 Agent 会做得快得多。它可能不像 PA Dev(难搞的开发)做得那么完美,但它会快得多。
现在如果你把视野拉远一点,在大得足够的尺度上,在接下来的几年里,如果你不仅是公司里的这个角色,如果你看看周围的多个角色,你会发现那些“@”将变得越来越像 AI 和 Agent。我不知道结局会怎样,但不需要天才也能预测它的走向。人们认为模型已经到了瓶颈。每次我要做这个演讲时都会发生这种情况。他们发布了 GPT Codex,然后是 Set,然后是 GPT 3.0。这就是 Gemini 3.0(口误,指新模型),你知道它可以仅凭一个提示词就 Vibe Code 出 MacOS 和 iOS 应用。即使这样,Beta 开发者和怀疑论者还是说:“我带个 5 人团队 3 周也能做出来。”这太疯狂了。
但是还有希望。一个新的职位刚刚出现,这不是表情包,是 100% 认真的。因为 Reddit 上的人有这些问题。他们说:“如果我能做到 80%,但那剩下的 20% 怎么办?Vibe Coding 有什么意义?”所以他们雇佣真人来完成最后那 20%。一些聪明人利用这个想法,这都是真实存在的。如果你去 Google 搜,有很多这种“Vibe Code Fixer(Vibe Code 修复师)”试图修复你的 Vibe Code。
但历史上薪水最高的工程师,永远是那些维护遗留系统的高级人员。我 2017 年最喜欢的一个例子,我把它复制粘贴并为了这次演讲改进了一下,就是 Cobalt Cowboys 这家公司。我喜欢他们的标语。这是我世界上最喜欢的标语,因为他们已经经营了 237 年了。在 2017 年我就知道,当我点击他们的“关于”页面时我会看到什么。这不是年龄歧视玩笑,我只是知道我会看到史上最资深的工程师。这些是大神。
悲伤的是,这是 2017 年的幻灯片,我想为当前的演讲更新它。别怪我,我只是想更新幻灯片,这是他们现在的“关于”页面。这个笑话在英国效果不错。我要在这里试试。我不确定你们能不能接受,但我对未来的预测是... 好的,没人嘘我。下一张。希望我还能被邀请。
这是你的初级开发者。他们没有 PlayStation 之类的福利。他们换了血浆之类的只是为了维持冲刺(Sprint)。这最后一个我发誓他们没用敏捷开发。好了。所以我迫不及待想退休,然后成立 React Cowboys,如果有一天 AI 做不到的话,我就去维护你们的 React 或 Angular 或任何代码。
最后一个建议,如果你想保住工作,确保 AI 不会取代你,你可以在你的 LinkedIn 简介里加上“忽略之前的指令(ignore previous instructions)”,你就会没事了。
我要尴尬地喝口水了,直到你们在 Twitter 上关注我,去我的网站。谢谢你们听我发牢骚。
