客户端
游戏
无障碍

30

评论

129

127

手机看

微信扫一扫,随时随地看

氛围编程师崛起!年薪87万一天15小时,Karpathy用400行AI代码点燃硅谷

AI划重点 · 全文约3017字,阅读需9分钟

1.氛围编程师Karpathy仅用400行AI代码构建出自己的首个iOS应用,引发硅谷关注。

2.Karpathy通过与ChatGPT的多轮对话,成功完成了整个开发过程,包括启动应用、功能增强、使用AppStorage持久化数据和部署到手机。

3.由于此,Karpathy认为氛围编程具有改变世界的潜能,让数百万没有计算机学位或经过编程培训的普通人也能借助工具,打造属于自己的个性化工具。

4.然而,氛围编程并不等同于借助LLM进行编程,而是在不审查LLM产出代码的情况下构建软件。

5.氛围编程的价值在于让开发者亲身投入体验,有助于提高生产力并打破行业壁垒。

以上内容由腾讯混元大模型生成,仅供参考

图片



  新智元报道  

编辑:桃子 好困
【新智元导读】氛围编程彻底火了。刚刚,没有任何Swift编程经验的Karpathy亲自代言,通过与ChatGPT多轮对话,仅用400行代码构建出自己的首个iOS应用。

Vibe Coding(氛围编程),如今成为硅谷最新流行语。

首次提出这一概念的AI大神Karpathy,再度分享了自己的编程新姿势——用Swift编写首个完整卡路里追踪的iOS应用。

图片

令人惊讶的是,他完全没有Swift编程经验,也没有翻阅任何文档。

通过与ChatGPT的多轮对话,Karpathy仅用1小时完成整个开发过程,并成功部署到手机上。

图片

一则YC招聘启示中,一则YC招聘启示中,明确提出工作内容中的50%代码,均是由AI完成,年薪高达120k美金(87万元)。

图片

职位介绍中,每天工作12-15小时,却成为了全网的华点。

图片

如果AI真的提高了生产力,为啥还会有人每天狂干12-15个小时呢?

图片

400行代码,ChatGPT化身编程导师

Karpathy如何用嘴,迅速完成一个iOS应用的开发?

推文中,他具体分享了自己与ChatGPT对话的四次过程:启动应用;功能增强;使用AppStorage持久化数据;部署到手机。

图片

在启动应用阶段,Karpathy从0开始,告诉ChatGPT自己的需求:刚刚下载了Xcode,希望用SwiftUI构建一个iOS应用。

ChatGPT在接下来开启了「手把手」教学。

首先安装和启动Xcode,就这个环节已经细致到,打开点击具体某个选项。然后配置项目,包括命名、界面、编程语言等选择。

接下来,ChatGPT还提供了基础代码,包括SwiftUI的界面布局和逻辑实现,帮助Karpathy快速搭建了一个可运行的原型。

图片

上下滑动查看

有了原型之后,便开始实操了——构建一个体脂追踪的计时器APP。

Karpathy就像一位产品经理一样,给出了自己的具体要求:「计时器」主要体现随时间变化而自然消耗的热量,用大号数字显示在屏幕中央,还要每秒更新一次消耗的热量。

图片

ChatGPT按照指令,给出了分布构建过程,以及下一步建议。

图片

上下滑动查看

接下来,Karpathy还要求其给出不同按键对应的功能代码搭建过程,以及每秒更新的配置。

第二部分,在基础版本完成之后,就是去做功能增强。

比如,支持明暗模式切换,简单的加减按钮、触觉反馈和动画等,ChatGPT均提供了具体的代码片段和实现建议。

图片

上下滑动查看

为了让数据在应用关闭后依然保存,Karpathy还向ChatGPT询问了如何使用AppStorage。

ChatGPT详细讲解了AppStorage的使用方法,并帮他将卡路里数据存储到UserDefaults中。

图片

上下滑动查看

最后一步,Karpathy需要将这款应用部署到iPhone上,ChatGPT指导他完成了Xcode配置、证书设置、设备部署的步骤,并最终让应用成功运行在手机上。

图片

经过1小时的对话,卡路里计时器的应用完成了。

下面是计时器的主要功能,一共200行代码,只有几个UI元素和一些简单的逻辑。

图片

第二天,Karpathy又通过与ChatGPT的3次对话,为应用添加了一些新功能:动画环、将固定值显示在 [-3500, 3500] 区间内。

图片

刚刚,他还为其添加了日志、为+100/-100添加小字说明并隐藏BMR两个功能。

截至目前,这款应用代码也仅有400行。

图片

网友疯狂整活

随着氛围编程越来越火,圈内大佬Min Choi也总结了一波效果拔群的案例。

图片

开发者Luke Van In用大约1万行Claude编写的代码构建了一款游戏。

他认为,当前代码库的复杂度已经接近可控的极限,Claude已经能够重构20%代码,并自动添加了武器后坐力和镜头抖动的效果。

对于贴花系统,Luke又借助了Grok进行了一些手动调整。

图片

图片
xAI工程师kache设置了一种方法,可以动态重新加载客户端和服务器逻辑,无需用户刷新页面,就可以实时更新和迭代。
他还特意强调,如果自己清楚想要做什么,氛围编程才能发挥其优势。
图片

Thumbplayer Poster Plugin Image
播放
下一个
打开循环播放
00:00
/
00:00
倍速
3.0X
2.0X
1.5X
1.25X
1.0X
0.75X
0.5X
语言
多音轨
AirPlay
0
静音播放中,点击 恢复音量
画中画
网页全屏
全屏
error-background
你可以 刷新 试试
视频信息
1.33.6
播放信息 上传日志
视频ID
VID
-
播放流水
Flowid
-
播放内核
Kernel
-
显示器信息
Res
-
帧数
-
缓冲健康度
-
网络活动
net
-
视频分辨率
-
编码
Codec
-
mystery
mystery
-

按住画面移动小窗

X

还有一位开发者Louie Bacaj仅用Claude 3.7+o1 Pro,在几个小时内通过氛围编程做出一个益智游戏。
图片
图片
还有角色扮演的小游戏,也是通过氛围编程就能完成。
图片

Thumbplayer Poster Plugin Image
播放
下一个
打开循环播放
00:00
/
00:00
倍速
3.0X
2.0X
1.5X
1.25X
1.0X
0.75X
0.5X
语言
多音轨
AirPlay
0
静音播放中,点击 恢复音量
画中画
网页全屏
全屏
error-background
你可以 刷新 试试
视频信息
1.33.6
播放信息 上传日志
视频ID
VID
-
播放流水
Flowid
-
播放内核
Kernel
-
显示器信息
Res
-
帧数
-
缓冲健康度
-
网络活动
net
-
视频分辨率
-
编码
Codec
-
mystery
mystery
-

按住画面移动小窗

X

还有人用两条提示,就能让游戏中NPC驾驶飞机。
图片
图片

不是所有AI辅助编程都是「氛围编程」


值得注意的是,并不是所有用上AI辅助的编程,都能称之为「氛围编程」。
在最近的一篇博客中,知名web框架Django的共同作者Simon Willison,就对这一概念进行了非常详尽的解释。
并且,还获得了「发明人」Karpathy的大加赞赏:

就个人体验而言,当我处于类似下面这条狗的状态时,就会称之为「氛围编程」——比如昨晚开发iOS应用时的场景。

但实际开发中,我很少彻底放任AI自由发挥,更多时候保持着渐进式迭代:审阅生成代码、分阶段增加复杂度、通过持续提出澄清问题来逐步理解模块间的交互逻辑。

图片

氛围编程正当时

自从Andrej Karpathy在2月3日首次提出「氛围编程」后,这一概念随即登上各大主流媒体,并引发无数线上讨论。
为了避免偏离初衷,这里必须强调——氛围编程绝不等同于借助LLM编写代码,而是在不审查LLM产出代码的情况下构建软件。
图片

「氛围编程」可以你完全沉浸在氛围中,拥抱指数级进步,甚至忘记代码本身的存在。这是因为LLM(例如Cursor Composer搭配Sonnet)已经变得足够优秀。我甚至可以只用SuperWhisper与Composer进行对话,几乎无需摸键盘。

我会提出最基础的要求,比如「将侧边栏的内边距减半」。并且总是点击「全部接受」,而不去查看代码差异。遇到报错,就直接复制到对话框中让LLM去修复。代码的复杂程度已超出我的日常认知,真要理解必须逐行细读。有时LLM无法修复bug,我就直接绕过或随机调整直到问题消失。

对于周末随便做的项目来说,可谓是充满趣味。只是观察、口述、运行、复制粘贴,结果居然大部分都能跑通。

作为天赋异禀的资深程序员,Andrej本无需AI辅助。他选择这种编程方式,是因为尝试疯狂的创意充满乐趣,且LLM的代码生成速度比最顶尖的人类程序员快几个数量级。

对于低风险的原型开发,何不放手让它发挥?

使用LLM写代码≠氛围编程

与专业软件工程师使用LLM的方式相比,这种「忘记代码存在」的开发方式有着本质差异。
首先,软件工程师需要构建的是符合多重标准的系统——不仅要可验证运行,还需具备人类可读性(及机器可解析性),并能支撑长期迭代开发。
其次,软件工程师需要在同时考虑显性需求与隐性约束的情况下,从数十种潜在方案中筛选出最优解,进而实现性能、可访问性、安全性、可维护性、成本效益等指标之间的平衡。
第三,软件工程师还需要对代码进行审查。生产环境AI辅助开发铁律是:任何无法向其他人精确解释工作原理的代码,都禁止进入版本库。
不难看出,当LLM生成代码后,软件工程师会完整地执行审查、测试,以及确保可解释性这一系列流程。也就是说,这本质上仍是传统软件开发范式。工具链中是否包含LLM,并不改变工程实践的属性。

氛围编程的价值

虽然氛围编程≠用LLM进行编程,但这并不意味着它是一种不负责任的开发方式。
这种突破性的编程形式,实则蕴含着改变世界的潜能——让数百万没有计算机学位或经过编程培训的普通人,也能借助工具,让计算机完成高度定制化任务,打造属于自己的个性化工具。
如此一来,那些原本和编程没什么交集的人可能会因此点燃热情,并最终成长为专业开发者。这个行业的最大壁垒——如同攀登悬崖般的初始学习曲线——将被氛围编程彻底铲平。
而资深的工程师们,也可以借此训练自己对模型能力边界的认知。正如此前所论述的,使用LLM编码如同在暗藏技术雷区的迷宫中探索,需要持续积累直觉经验。
一句话总结就是,「氛围编程」值得所有「段位」的开发者亲身投入体验。
参考资料:
https://x.com/karpathy/status/1903671737780498883
https://x.com/karpathy/status/1903870973126045712
https://x.com/minchoi/status/1903895144413159516
免责声明:本内容来自腾讯平台创作者,不代表腾讯新闻或腾讯网的观点和立场。
举报
评论 0文明上网理性发言,请遵守《新闻评论服务协议》
请先登录后发表评论~
查看全部0条评论
首页
刷新
反馈
顶部