Kitze 呈现了一场充满活力而又幽默的演讲,深入探讨了 AI 时代软件开发的演变。他将“氛围编码”(指不加批判地接受 AI 生成的代码)与“氛围工程”(一种开发者运用技术专长策略性指导 AI 智能体的方法)清晰地区分开来。演讲内容涵盖了前端开发的现状、Composer One 等工具带来的变革性影响,以及开发者成功所需的新能力。Kitze 还回应了对 AI 将取代开发者工作的担忧,指出虽然初级职位可能受到冲击,但专注于“氛围工程”和维护遗留系统的高级工程师仍将具有不可估量的价值。他强调了理解上下文、进行结构化提示以及对 AI 能力与局限性持谨慎态度至关重要。
内容概要
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 上关注我,去我的网站。谢谢你们听我发牢骚。

