Andrej Karpathy:软件正在第三次重写——从手写逻辑到 Vibe Coding 的未来

B站影视 港台电影 2025-08-25 13:54 2

摘要:AI 正在重塑软件开发流程,从 Karpathy 的“Vibe Coding”理念出发,我们可以预见未来产品开发的协作方式、工具形态与思维模式将发生根本变化。本文将帮助你理解这场技术变革对产品经理的影响,以及如何提前布局。

AI 正在重塑软件开发流程,从 Karpathy 的“Vibe Coding”理念出发,我们可以预见未来产品开发的协作方式、工具形态与思维模式将发生根本变化。本文将帮助你理解这场技术变革对产品经理的影响,以及如何提前布局。

Karpathy 认为软件正在经历第三次重大范式转变:

Software1.0(人类手写逻辑),到Software2.0(神经网络通过数据学习),再到Software3.0(用自然语言“编程”)。

这意味着人人皆程序员,“vibe coding” 正在成为现实。

LLM 代理必须被 on-the-leash 管理,先在 Autonomy Slider 的低档位验证可靠性,再逐步放宽权限;只有这样,才能防止 ‘over-reactive agents’ 一步到位、带来不可控风险,并保持快速的 Generation ↔ Verification 循环。

一、软件真的“又”变了:1.0 → 2.0 → 3.0Software1.0:纯粹的人写指令。Software2.0:数据+优化器生产权重,“权重就是代码”。Software3.0:Prompt就是程序,LLM成为可编程计算机;英语成了“主流编程语言”。

“We’re now programming computers in English.”(原话)

Software 1.0 —传统显式代码

操作系统内核:LinuxKernel、WindowsNT等。全部由人类工程师手写C/C++。经典后端/前端框架:Django、Spring、React、Vue……框架本身和业务逻辑都写成源码托管在GitHub。游戏引擎脚本”:UnityC#脚本、UnrealC++模块,玩法和规则由开发者逐行实现。

特点:逻辑确定、可读、可静态分析。主要产物是 .c / .cpp / .py / .js 等文本源码。

Software 2.0 —训练出的“权重就是代码

深度学习模型本身:AlexNet、ResNet、YOLO、StableDiffusion——网络结构由人写,但真正执行任务的是上亿个浮点数权重。HuggingFaceModelHub:上面存放的pytorch_model.bin/safetensors权重文件正是Software2.0的典型“代码单元”。自动驾驶感知栈:特斯拉早期Autopilot的视觉识别网络:摄像头帧→检测/分割结果,权重通过大规模标注数据训练得到。

特点:开发活动重心从“写规则”转向“准备数据+训练+调参”。产物是权重文件;人类几乎无法直接阅读或手改。

Software 3.0 —用自然语言+工具链来“写程序

ChatGPT/Claude/Gemini等LLMAPI:Prompt就是程序,调用接口即运行;复合调用+ToolUse组成“软件”。AI编程IDECursor、Devon、GitHubCopilotChat):用户用英文/中文对话,让LLM在本地代码库上生成、修改、解释;AutonomySlider决定自动化深度。无代码Agent平台:如LangChainAgents、OpenAIFunctionCalling+外部工具,用户靠YAML/JSON描述意图,LLM负责决策与调用。

特点:“源码”变成 Prompt + 配置文件 + 一系列工具调用。LLM 拥有推理、规划能力,可在运行时做出新行为;人类主要负责约束与验证(on-the-leash)。

二、LLM 的“计算机/操作系统”类比

他用多重类比帮助定位 LLM:像“公用事业(utility)”提供按量计费的智力服务;像“操作系统(OS)”一样拥有不断演化的复杂生态;又像“60 年代的大机时代”,我们通过“终端”(聊天框)进行分时使用。

这些类比意在强调:LLM 不是一个简单 API,而是一台可编程、具有内存/工具/编排能力的新电脑,且 GUI 形态仍在早期探索。

三、LLM 的“心理学”与编程语言:英文

他把 LLM比作“stochastic little spirits(随机模拟人类的灵魂)”,由自回归 Transformer 在海量文本上拟合而成,展现出拟人化的认知特征:广博但易遗忘、能推理也会“幻觉”

JaggedIntelligence(参差智力):在某些任务上超强,但在基础逻辑上却可能答错(如9.11与9.9比较)。AnterogradeAmnesia(顺行性遗忘):训练完成后不能持续学习,缺乏长期记忆。Hallucinations(幻觉):编造错误事实。PromptInjection(提示注入):容易被恶意指令欺骗。

这些缺陷意味着 LLM 不能直接放手自治,必须建立人类监督与约束机制。

由此,英文就是新的编程语言——写作高质量、可执行的自然语言指令,成为软件 3.0 的核心技能。

四、从“vibe coding(氛围式编程)”到落地难点

演讲中,他展示过以对话式方式快速拉起原型(“我说想要什么,它就去写代码、我再运行/改进”)。

容易的部分:用LLM迅速把“能跑的demo”做出来。困难的部分:让它稳定、可维护、可部署——这就是他反复提到的“demo≠产品”**鸿沟:demo是works.any,产品必须works.all(在所有用户、场景、输入上都稳。)。

五、部分自治产品:人机协同的最佳实践

这一节是整场的产品方法论核心,Karpathy 用 Cursor(AI IDE)Perplexity(AI 搜索) 做典型:

共同模式

LLM负责管理上下文与多轮调用,GUI让人类以极低成本审核与回滚。产品围绕“Generation↔Verification(生成↔验证)”的快速闭环搭建:LLM先给草案/diff/参考,人类快速看、快回退、快迭代

设计目标是:降低验证成本(如 diff 视图、颜色高亮、分组变更、一步撤销)。

Autonomy Slider(自治滑杆)

Cursor从“点按补全(tapcompletion)→修改一个chunk→改整个文件→放手改整个仓库”,让用户随时控制粒度**与授权边界。Perplexity的“Quicksearch→Research→Deepresearch”也体现了逐级放权:从快速回答,到综合检索/引用,再到更深入的研究流程,每一级都可人工中断与校验本质:先辅助、再增强、最后才可能通往全自动,逐级解锁

限制“过度兴奋”的代理比如往往会超额输出

不要一次性生成巨大改动,而是鼓励小步可控的提案;把AI“拴在短链上(keeptheAIonaleash)”,让人类保持主导与守门。GUI把审核成本压到最低(diff、颜色、批量/逐条、一步撤销),循环越快,误差越小

Autopilot 类比

他指出,特斯拉 Autopilot 的经验是“先把部分自治做对”:从车道保持/自适应巡航等辅助驾驶起步,逐步通向更高阶能力(如自动变道、自动泊车、召唤功能、复杂驾驶任务、城市道路自动驾驶(FSD Beta))

软件 3.0 产品也应当这样演进:辅助 → 增强 → 高自治/全自治,而不是一蹴而就。

六、把“给人用”的系统,升级为“给代理用(build for agents)”

文档与接口:把系统的说明写给 LLM 看(而非只写给人),例如提供 llms.txt、结构化/Markdown 友好的接口说明、确定性的调用约定、明确的输入输出示例。

协议与上下文管道:采用更标准化的工具协议(如他提到的 MCP 思路)与上下文构建器(例如把代码库/知识库喂给代理的工具),降低代理“摸黑”探索成本

七、教育与扩圈:人人都能“用英语编程”

LLM 既能当 Suit(增强),也能当Robot(完全代理);短期更看好前者。

他以 “Vibe Coding” 病毒推文为例:

不懂Swift也能一天做出iOS小App。自己造了MenuGen(拍菜单生成菜品图片),写代码只花几小时,真正耗时的是DevOps(登录、支付、部署)。

孩子们的 Vibe Coding 视频让他坚信自然语言编程是“入门毒药”,将解锁庞大新群体。

八、收束:十年尺度的“代理时代”

Karpathy 以“钢铁侠战衣”比喻:LLM 是人的能力放大器;但真正的转变不是一年两年能完成,而更像一个十年量级的演进,需要我们在产品层面设计“部分自治”的过渡形态,用快节奏的生成↔验证将其驯化到可靠可控。

Reference:Andrej Karpathy: Software Is Changing (Again)

来源:人人都是产品经理

相关推荐