摘要: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编程IDE(Cursor、Devon、GitHubCopilotChat):用户用英文/中文对话,让LLM在本地代码库上生成、修改、解释;AutonomySlider决定自动化深度。无代码Agent平台:如LangChainAgents、OpenAIFunctionCalling+外部工具,用户靠YAML/JSON描述意图,LLM负责决策与调用。特点:“源码”变成 Prompt + 配置文件 + 一系列工具调用。LLM 拥有推理、规划能力,可在运行时做出新行为;人类主要负责约束与验证(on-the-leash)。
二、LLM 的“计算机/操作系统”类比他用多重类比帮助定位 LLM:像“公用事业(utility)”提供按量计费的智力服务;像“操作系统(OS)”一样拥有不断演化的复杂生态;又像“60 年代的大机时代”,我们通过“终端”(聊天框)进行分时使用。
这些类比意在强调:LLM 不是一个简单 API,而是一台可编程、具有内存/工具/编排能力的新电脑,且 GUI 形态仍在早期探索。
他把 LLM比作“stochastic little spirits(随机模拟人类的灵魂)”,由自回归 Transformer 在海量文本上拟合而成,展现出拟人化的认知特征:广博但易遗忘、能推理也会“幻觉”。
这些缺陷意味着 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 产品也应当这样演进:辅助 → 增强 → 高自治/全自治,而不是一蹴而就。
文档与接口:把系统的说明写给 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)
来源:人人都是产品经理