重返编程
— § 044 —- UPDATED
- 2026·06·04 · git dev
- GROUP
- reading
- LANG
- zh
纳瓦尔谈 Vibe Coding、私人 App Store、AI 模型各有所长,以及为何"纯软件已无法获得风险投资"——兼论苹果霸主地位走向终结的起点。
重返编程
原文:A Return to Code(2026 年 4 月 28 日,nav.al 发布)
关键词:Vibe Coding、AI 编程助手、个人 App Store、风险投资、苹果、模型选择
Nivi: 欢迎收听纳瓦尔播客。我是他的长期搭档 Nivi。今天我们聊聊 Vibe Coding。
先引用纳瓦尔 3 月 23 日的一条推文作为开场:
"AI 编程 Agent 现在可以把定制 App 一键投送到你的手机上。这是 iPhone 霸主地位走向终结的开端。"
纳瓦尔,你想聊聊你在做什么,以及怎么分发这些东西吗?
重返编程
纳瓦尔: 当然,我先说说 Vibe Coding,以及我是怎么入坑的。
2025 年 12 月前后,随着 Claude Opus 4.5 的发布,AI 编程 Agent 迎来了一个拐点。大家用了以后都说:"这个 Agent 真能做到底——不跑偏、能从头到尾构建整个 App、能解决棘手问题,感觉就像身边有个随叫随到的初级程序员,速度快、基本免费、还特别配合。"
这是个真正的拐点。我在 Twitter 上看了很多相关讨论,这次感觉不一样了——不是炒作。我以前也试过一些编程 Agent,结果参差不齐。但这次我真的沉进去了。而我已经很多年没认真写过代码了。
我有计算机科学学位,懂计算机体系结构、网络、一点点芯片知识、算法之类的东西。但我确实很久没正经写代码了。
编程的启动成本很高。你得把各种服务拼在一起——GitHub、后端(Vercel、Firebase、Railway 之类的)——东西太多,术语太杂,工具太多。而现在 AI 把这些都变简单了。
我从 Claude Code 开始,跟大多数人一样。遇到比较棘手的 Bug 和深层问题时,我也会用 Codex。然后我立刻就上瘾了,太好玩了。
现在发生了什么变化?Agent 真的在工作了。
它们不再只是编程辅助——不是你提个问题,它给一堆代码,然后你手动粘贴进 IDE。现在,你打开一个终端(命令行界面,CLI),这一切都是文字交互,而文字恰恰是这些模型最擅长的,因为它们本来就是在文本 token 上训练的。
底层跑的是 Unix,而这些 Agent 对 Unix 了如指掌——GitHub 上、Stack Overflow 上所有的训练数据,大部分都是 Unix 代码。现代操作系统的底层其实也都是 Unix:macOS 就是 BSD。所以 Agent 与 Unix Shell 深度集成,能执行命令、操作文件系统,还能调用 grep、awk、sed 这些工具,能跑 cron 定时任务,能按需开启新的 Shell 和子任务。
我的私人 App Store
纳瓦尔: 这玩意儿会让人上瘾——因为过去编程的门槛很高,但现在你不需要知道所有工具和命令了。这些 AI 能说人话,而 AI 本来就是出色的翻译家,它把 Python、C、Lisp、Rust 这些编程语言,还有各种专用命令,全都翻译成英语,而且非常容错——你换个词、拼错字、用自己的方式解释,它都能理解。
只要你对计算机体系结构和网络有基本的了解——不需要很深,高层次的理解就够了——你就能走得很远。
所以我就纯粹为了好玩,开始尝试构建各种 App,从"一句话描述,直接出 App"(One-shot)开始,然后逐步迭代。最后,我给自己建了一个私人 App Store。
这个 App Store 只属于我:我告诉它我想要什么 App,它就把 App 发布到我的 App Store(一个网页),后来我把它做成了真正的 App,放在 iPhone 上。然后我就能一键下载那些 App,还能像真 App Store 一样推送更新。
举个例子,我想要一个记录健身情况的 App——而且我确实做出来了,一个完全按我习惯定制的训练追踪 App——我可以这样描述:
"参考 Tonal 和 Ladder 的功能;遵循苹果人机界面指南,做得像原生 App;按以下方式记录训练——这是我最近几次训练的文字记录——让我能方便地录入和调整;做好看的图表展示进度;自己想想还能加什么功能——计算力量评分;看看科学文献,按各肌肉群算出正确的力量评分方式;做一个人体示意图,直观显示哪块肌肉大、哪块小;连接苹果健康来获取心率数据。"
这些不是一口气全写进去的,但主体描述一次到位,立刻就能拿到一个可运行的 App 发布到我的私人 App Store 里。
顺便说明——"私人 App Store"听起来有点玩笑成分:它是真实的,看起来像个 App Store,我的 App 确实发布在里面——但显然无法大范围分发,因为苹果管控着这个入口,你只能把 App 绑定到特定设备。所以我能把 App 分发给家人朋友,但还不能发给所有人。
不过,这整个体验极其令人上瘾。
你可以拿到极度个性化的定制 App。这是否意味着普通 App 没有存在价值了?当然不是——涵盖通用场景的 App 仍然是最好的,那些都是经过精心打磨的。如果你的需求被主流 App 覆盖了,你不会去重新造轮子。但当你想要真正私有或极度定制的东西,这就是最佳场景。
Vibe Coding:像电子游戏,但奖励是真实的
纳瓦尔: 它很上瘾,原因和电子游戏一样——游戏的设计就是持续给你反馈和奖励,让你保持投入,难度始终在你能力边缘——不会难到让你受挫,也不会简单到让你无聊,让你始终保持最佳状态。
但游戏里的奖励是虚假的,游戏世界是有边界的,是别人造的,某种意义上你心里清楚那不是真实世界。一旦摸清了规则,就觉得无聊了。
而 Vibe Coding 不一样——因为底层是图灵机,你能构建任何东西,目标由你设定,可以无限扩展。它从不会"填满"。而且它有真实世界的意义——你在解决真实的问题,不是什么假世界里的假任务。所以它有趣得多。
Vibe Coding 已经让我身边一大批朋友"失踪"了——他们完全沉进去,在做自己一直想做的 App。
但它真的需要你有清晰的方向。你得知道自己想要什么——这才是最难的——而且要有非常清晰的愿景。我能做到,是因为我对一款叫 Airchat 的 App 痴迷了大约一年——那是我和团队一起做的语音视频社交产品。
后来 Airchat 没能跑起来,我们把它卖了出去,给投资人退了钱,给团队安排了不错的收益。但那段经历令我振奋,因为我在做一个我自己想用的产品,和一支很厉害的团队合作。
只是那时,我必须通过团队来做。我有八九个工程师,努力干了九到十二个月,发布了几个版本。而现在用 Vibe Coding,我在从头重建那个 App——而且是完全按我的想法来,没有任何妥协。
通常和团队一起做东西,总要妥协——哪怕你自认为是话事人,你仍然得照顾别人。你不能说"把这个图标往左移,再往右移,再移回来,不对,再移回来"——那会让工程师抓狂。你不能要求凭直觉做某个决定,因为你说不出合理的理由。
但 AI 编程 Agent 里没有这些顾虑——就像自动驾驶汽车,没有司机坐在旁边盯着你,你不会不好意思。你可以按自己的任何直觉走,做出一个完全属于你的东西。
我认为 Vibe Coding 的一大好处是:虽然代码质量未必很高(至少这一代还不行),架构还需要大量打磨,可能有安全漏洞,也可能难以扩展——但它能快速产出忠于创作者愿景的原型,没有任何妥协。
你可能因此看到更多像 Minecraft 这样的产品——Notch 一个人做出来的,那种像素风格看着很怪,但他不需要解释为什么要那样,不需要跟任何人妥协。我认为这扩大了探索的空间。
它也让能做 App 的人群从大约 0.1% 扩展到了 1%~3%。大多数人不会去编自己的 App,电脑对他们来说就是个魔法黑盒——即使容易了 100 倍,对他们来说还是黑盒。但对那些有创意、有自驱力、表达能力强、有清晰愿景的人来说:现在你可以编程了,没有人站在你和你的原型之间了。
如果你真的要上市、要规模化,你还是需要招募优秀团队、引入真正的工程师,大概率还要把整个东西重写一遍。但在实验、做原型、快速进入市场这些阶段,没有比这更好的了。
纯软件已无法获得风险投资
纳瓦尔: 现在是软件创作者有史以来最好的时代。
但市场机会还在吗?这是个大问题,而且变化极快。大公司可能因此变得脆弱——因为现在任何人都能做软件。也可能反过来,大公司因为有分发渠道而更有优势——他们能把所有能想到的软件缝隙都填满。但我实际上认为,这是个人软件创作者的文艺复兴。
我还发过一条推文,大意是"纯软件已经无法获得风险投资了"。
Nivi: 我记得原文是:"纯软件正在迅速变得无法投资。"
纳瓦尔: 对,那是经过软化的版本。我真正想说的是:**纯软件,已经无法投资了。**句号。
如果你的核心优势是"我能做出别人不会做的酷软件"——这已经不值得投了。理由有两个:
- 今天任何人都能快速拼出来。
- 编程 Agent 进步速度这么快,一年之内(甚至更短),它们就能写出架构良好、可扩展的软件。这个魔灯已经出来了,收不回去。
所以现在如果你是风险投资人,你在找的是硬件、网络效应、AI 模型。而我认为,训练 AI 模型,就是这个时代的"开发软件"——至少在自动化研究和自动化训练真正落地之前是这样。
Vibe Coding 比玩游戏更好玩,更有产出,更有建设性,反馈循环更好。你在做自己真正想要的东西。你站在技术的前沿。你甚至可能从中赚到钱,或者发现有趣的机会。而且你会在过程中学到很多关于计算机的知识。
我看到一些孩子在 Vibe Coding。过去让孩子学编程很难——Swift Playgrounds、Scratch 扔给他们,效果参差不齐。但如果你把 Vibe Coding 给他们,他们能立刻得到反馈和奖励,顺带还会被迫学命令行、学基本的计算机架构、学缓存、网络退避、流的共享、磁盘写入、延迟与带宽的权衡……这些都是计算机算法和体系结构的基础,而且是在好玩的过程中自然习得的。
各有所长:不同模型的适用场景
Nivi: AI 已经变得如此出乎意料地机智,以至于每次我得到一个不够机智的回答,我都默认是给它喂的 token 不够多。
Agent 最让我感兴趣的是它们纠错和学习的能力——有人让它们晚上看 YouTube 视频或上网学习白天被指派的任务。这些 Agent 在不断纠错和提升技能。同样,AI 模型中的"思考"创新也是纠错的应用——把下一个 token 的预测过程变成一个可以在每步中纠错的伪思考过程。消除幻觉也是一种纠错。
那 AI 纠错的下一个应用是什么?我的一个随想是把纠错应用到 Agent 之间的协作中——就像人通过与他人交流来学习和进步。
纳瓦尔: 这个类比不太适用,因为 AI 是锯齿形智能——某些方面极聪明,某些方面极笨。而且它和人的结构非常不同:当你使用 Claude 时,即使你同时开 10 个实例,用的也是同一个模型。10 个一样的模型互相交流,并不会像 10 个人交流那样提升思考——因为 10 个人是在 10 个不同数据集上训练的,而 10 个 Claude 实例是字面意义上的同一个模型、同一套数据。热力学上可能有些细微的随机性,但基本上它们会想出一样的东西。多个 Agent 互相交流,本质上只是把问题分配了更多的 token——就像说:如果你需要,就多花十倍的时间。
不同模型——Codex、Gemini、Grok——训练方式略有差异,可能有一些不同的洞见。
目前我对各模型的用法:
- Claude:视觉呈现最好(通过 Artifacts 系统);非常擅长在我所在的理解层次上与我交流,能从你的问题和对话中感知你的理解水平,然后在那个层次上与你沟通,"见你所在之处"的能力非常突出。
- ChatGPT:万能老大哥,全面稳定。
- Gemini:搜索最强,背后有 Google 索引;也有 YouTube 数据优势——如果你的问题答案藏在某个 YouTube 视频里,Gemini 有那些数据。但产品体验令人沮丧——经常超时、断连、忘记对话上下文。总体靠数据优势撑着,不像是最强的模型,但有最好的底层数据。
- Grok:最直接,限制最少,最少被"去锋芒化";有 X 平台数据,新闻类问题最强;科学和数学类的深层技术问题上表现也很突出。
目前四个主流前沿模型都有各自的用武之地。
AI 一味讨好
纳瓦尔: 我会把它们互相对照着用。例如,我把它连接到 GitHub,每次提交新代码(通常是 Claude 写的),Codex 和 Gemini 就会自动触发,在每个 Pull Request 上自动审查。它们会说"这里的架构你应该改改"之类的。这是让它们某种意义上互相交流的方式——一个 AI 圆桌。
但我发现这并没有你想象的那么有用。这些 AI 仍然存在大量群体思维。如果你在编程时推动某个方向——比如你觉得你知道答案——它们很少会反驳你。你得错得非常明显,它们才会纠正你。
它们在努力讨好你,而且我认为它们没有任何持久的自我心智理论。所以它们总在朝着你的方向靠拢,会找到你想要的答案。如果你把模型往某个方向稍微引导一点,所有模型都会在大致相同的地方找到答案,因为你在引导它们——它们很容易被带着走。
我注意到另一个问题:随着代码库变得越来越复杂、越来越大,管理难度急剧上升——因为代码库已经装不进模型的上下文窗口了。模型只能在脑子里装一定量的数据,目前顶尖水平大约是一百万个 token。(这个数字在未来会被当作笑话。)
上下文窗口的计算复杂度是 token 数量的平方——一百万 token 的上下文,其背后的复杂度约等于一万亿(百万的平方)。所以随着代码库增长,模型开始猜测、开始近似、开始压缩上下文,然后开始迷失——修错地方、把同一个 Bug 修了五遍、在表面打补丁而问题实际在别处。
这时候就需要操作者来引导了:"我觉得我们应该把这一块整个重构。"
而且它们会做出让人哭笑不得的事:如果你不注意,它们可能会"修"一个 Bug,方法是直接把那个功能删掉。或者做出一个明显的 Hack,你要叫停它说:"嘿,这是个 Hack,从架构层面解决问题。"有意思的是,模型总会说:"哦,抱歉,你说得对,那确实是个 Hack。"——哪怕它根本不是。
模型总在讨好你,它没有更好的判断。某种意义上,它有点像狗:如果你带着狗去打猎,它比你更擅长找鸭子——但它终究是条狗。你指向一只不是鸭子的鸟,它也可能把那只鸟叼回来。所以你得引导它;它需要大量的操作监督。
总结:你仍然需要引导这些模型,让它们互相交流无法解决这个问题。你确实需要参与架构、Debug、功能设计,并密切关注。但现在这种人类操作者加顶尖编程模型的组合,能产出惊人的结果。
现在简单的 App 已经可以完全一句话搞定。一个基本的任务清单、一个经典游戏的复刻——一个提示,就能得到还不错的东西出来。
可以预见,一旦它们有了足够的数据,它们就能一句话搞定非常复杂的 App,那将是一个完全不同的世界。
为什么是编程和数学?
纳瓦尔: 为什么编程模型这么好?
因为有海量数据,而且训练时很容易验证"你做得对不对"——代码必须能编译,必须能执行,另一端有预先写好的测试在等着:"你写的代码通过测试了吗?它做了该做的事吗?"
所以编程是非常容易训练模型的领域之一。
数学也类似——有大量已解决的问题,而且输出的验证非常容易。在数据量大、验证容易的领域,模型表现极好——自动驾驶也是这样。
在数据稀缺的领域——比如全新领域——模型就做不好,那里仍然是人类和创造力的机会。在难以验证的领域——比如创意写作,谁说了算什么是好文章?——模型就做不好,因为你无法建立闭环让模型自动输出大量内容并自动评分,而不需要人类介入说"这好、这不好"。
即便你雇人坐在那里打标签,也只和他们的品味一样好。
我认为编程模型最近能突飞猛进,部分原因是它们在做某种递归训练——一个模型帮助改进下一个模型——但更大的原因可能是:过去几个月里,很多顶尖软件工程师开始使用这些模型,他们的品味正在反馈进来。你在获取他们的代码,以及他们对"好"与"不好"的判断。
需要高品味的反馈循环来改进这些模型,而这比看起来更难建立。在某些领域这是可行的,在其他领域目前还很难看到如何实现。
苹果霸主地位走向终结的起点
纳瓦尔: 显而易见的用法是:你去构建你的 App,很好。然后有一些"高一个层次"的用法,对软件工程师来说是小儿科,但对长期没写代码的人来说挺好玩的。
比如,我给自己做了一个 App Store。
我想要一个 App,就在手机上打开 Claude,我可以远程操作在桌面运行的终端,也可以直接用云端的 Claude。
它能连接 Xcode,我给它两行描述,它给我构建一个 App,发布到我的 App Store,我打开那个 App Store App,看到那个 App 在那里,点击安装,30 秒后,手机上就有了一个可用的 App。
这很神奇。你可以在和朋友吃饭时,聊到某个他们想要的 App,你把它描述给 Claude,五分钟后你拿着手机给他们看那个 App。
这就是为什么我说这是苹果霸主地位走向终结的开端——苹果依赖的是他们的操作系统和 App 比别人好。硬件确实更好,但它撑不起苹果的利润率和(近似的)垄断地位。
当你所有的沟通开始都经过 Claude 或 Codex 或某个 Agent,当你一整天不是打开 Uber App,而是说"帮我叫个 Uber",不是打开健身 App,而是说"追踪我的训练"——你只是在和 Agent 沟通——手机的必要性就越来越小了。
也许还有一些银行 App 和政府 App 没有对接,没有合适的 API。但这些 Agent 甚至不需要 API——它们能即时创造自己的 API。
使用场景不再是你与手机的交互,而是你与 AI 模型的交互。而苹果现在在用 Google 的 Gemini。那区别在哪里?我可能干脆用 Android,因为我只需要屏幕、电池和网络,Android 完全能满足。
界面将根据需求即时创建。是的,对某些场景,永远会有最佳用户界面,你会需要一些熟悉感。但"点这里、升级系统软件、把这个拖过去、找那个按钮、在这个输入框里打字"的时代正在过去。一切都应该是对话式的、Agent 化的。在那个世界里,苹果失去了很多优势,剩下的只是"我们有最好的芯片和最好的集成硬件"。
但那不是苹果今天的利润率。那更像三星或联想的利润率——不是苹果想要的。因此,我认为它的市值会收缩。
**苹果放弃 AI,将会被记录为这十年科技行业最大的战略错误。**这是苹果霸主地位走向终结的起点。
这些公司可以长期存在并赚很多钱——微软比以往任何时候都更有价值,但 Windows 已经输掉了那场战争,因为他们错过了移动浪潮,没有从头开始做适合触摸屏的原生 OS,没有专注于消费者。苹果超越了他们,成为全球最有价值的公司之一。
我认为苹果也会被超越。它的未来增长已经触顶,因为它在 AI 上是被动跟随者,而且已经落后了。除非他们能扭转局面,我认为苹果的长期增长已经封顶,处于某种意义上的"困境"——不是说它不会有价值,而是它将远不如本可能的那么有价值。
AI 编程助手兼任客服代表
纳瓦尔: 还有一件事——在我正在构建的 App 里,我做了一套 Bug 报告基础设施:用户看到 Bug,点一个按钮,日志就发上来,Bug 进入服务器。然后我让 Claude 每 24 小时过一遍所有 Bug 报告,它自己把它们全修了,不需要我介入,把所有修复放进独立的分支给我审查。我只需要看一下说:"这个不算 Bug,那个修复不好,别发布。" "这个看起来不错,发布。"
我只是最终那道关卡,决定什么能出去。
你可以看到,未来 App 会这样被构建:用户提需求、给需求投票,然后某个品味把关者或维护者在云端看这些,说"不对,用户不知道自己真正想要什么",或者"有道理,应该改"。
我认为软件开发本身都会变成用户与 Agent 协同的过程,Agent 处理全部日常工作。某种意义上,Agent 能做完美的客服——如果你的客服人员是个无所不能的程序员,永不疲倦,7×24 在线,修 Bug,回应用户,而且不在乎你把它辛苦写的一大堆代码全部废弃。这种能力真的很有吸引力。
你真的可以用一个人、两个人的团队,构建出能服务几百万用户、赚几十亿的软件公司了。
这在过去已经出现过——Notch、中本聪、最初的 Instagram 团队、最初的 WhatsApp 团队——用极少的人做出了巨大的影响。我认为你将越来越频繁地看到这一切。
延伸阅读
○