Andrej Karpathy 提出”Vibe Coding”:AI 时代的新型编程范式
“Vibe编程”提出者Karpathy近日又分享了他在vibe编程的最新感悟,梳理了提出了一般性的开发流程。
- 将所有相关内容塞入上下文,在开始编码前,将所有可能影响代码生成的相关文件、配置和信息提供给 AI。这有助于 AI 理解项目的整体结构和上下文,从而生成更准确和一致的代码。对于小型项目,尽可能提供所有信息。在大型项目中这可能需要一些时间。如果项目足够小,就直接塞入所有内容,例如:files-to-prompt . -e ts -e tsx -e css -e md –cxml –ignore node_modules -o prompt.xml
- 描述我们试图实现的下一个单一、具体的增量式更改。明确下一步要完成的具体任务,并将其分解为小的、可管理的步骤。在要求 AI 生成代码之前,先让它提供几种不同的实现方案,并分析每种方案的优缺点。这有助于我们了解不同的选择,并避免 AI 直接给出不理想的方案。
- 接着,选择一种方法,请求第一个代码草稿。 在权衡了不同的实现方案后,选择你认为最合适的方案,然后要求 AI 基于此方案生成初步的代码草稿。
- 审查/学习阶段,这是至关重要的人工参与环节。对于 AI 生成的代码中使用的不熟悉或不确定的部分,要主动查阅官方文档进行学习。同时,积极与 AI 沟通,要求它解释代码逻辑、澄清疑问,并根据需要进行修改。如果对当前方案不满意,要勇于回退并尝试其他方法。这个阶段的核心是学习和理解,而不是简单地复制粘贴 AI 生成的代码。
- 测试。对 AI 生成的代码进行全面的测试,包括单元测试、集成测试等,以确保代码的功能符合预期,并且没有引入新的错误。这是保证代码质量的关键步骤。
- Git 提交。只有在代码通过了充分的测试后,才将其提交到版本控制系统。这有助于保持代码库的稳定性和可追溯性。
在完成一个小的编码任务并提交后,可以向 AI 询问接下来可以实现的相关功能或改进的建议,从而形成一个持续迭代的开发流程。然后,重复上述步骤进行下一轮的开发。
总结
Karpathy 强调在使用 AI 辅助编码时,开发者需要保持高度的警惕和主动性,将 AI 视为一个知识渊博但需要严格监督的助手。整个流程强调小步迭代、人工审查、主动学习和持续测试,以确保最终代码的质量和可靠性。不过,当前的 AI 辅助编码工具在支持这种细致的流程方面还有很大的提升空间。
下面是笔者的一个vibe编程的例子和工具对比:
不止免费无限次Claude 3.5:字节 Trae 能否颠覆 Cursor、WindSurf?小项目亲测体验
Cursor vs Windsurf:谁才是最强AI Code editor?
公众号回复“进群”入群讨论。
(文:AI工程化)