i陆三金 25-08-02 20:14
微博认证:AI博主

近期看到的最好的讲 Vibe Coding 的视频,演讲者 Erik Schluntz 是 Anthropic 的技术人员,专注于研究代码生成 agent,Anthropic 那篇著名的《Building effective agents》作者之一。

1. 什么是“氛围编程” (Vibe Coding)?

- 普遍误解: 很多人认为“氛围编程”仅仅是大量使用AI来生成代码。

- Andrej Karpathy 的激进定义: Erik Schluntz 引用了 Andrej Karpathy 的定义,认为真正的“氛围编程”是“完全沉浸于氛围中,拥抱指数级增长,甚至忘记代码本身的存在。” 这意味着你不再关心底层的代码实现,只关注最终的目标和结果。

- 风险: 这种方式存在风险。演讲展示了一个例子:一个非技术人员使用AI工具(Cursor)构建了一个SaaS应用,但由于不理解代码,其API密钥被泄露,应用遭到攻击。

- 现状: 目前,成功的“氛围编程”大多应用于低风险场景,如制作小游戏,因为即使有bug,后果也不严重。

2. 为什么要在乎生产环境中的“氛围编程”?

核心驱动力:指数级增长

Erik Schluntz 展示了METR的图表,指出AI能够完成的任务时长每7个月翻一番。

这意味着,今天AI能帮你完成1小时的任务,一年多以后就能完成一整天的工作量,再往后可能是一周的工作量。

当AI生成的代码量大到人类无法逐行审查时,我们就必须学会信任和管理AI,而不是微观管理每一行代码。

3. 如何负责任地在生产环境中“氛围编程”?

- 核心理念:“忘记代码的存在,但不能忘记产品的存在!”

这借鉴了其他领域的管理模式,比如CEO不需要懂会计的所有细节,但会通过审计和抽查关键财务数据来验证工作;产品经理(PM)不需要会写代码,但会通过使用产品来验证功能是否符合要求。

关键在于找到一个你可以验证的抽象层。

- 一个重要的警告:技术债

功能正确性可以通过测试来验证,但代码的可扩展性、可维护性(即技术债)很难在不审查代码的情况下验证。

解决方案: 将代码库分为“核心架构”和“叶子节点”。

核心架构 (Core Architecture): 系统的基础和主干,需要人类深度理解和精心设计,确保其健壮和可扩展。

叶子节点 (Leaf Nodes): 依赖于核心架构但自身不被太多其他部分依赖的功能模块(如特定的UI组件、独立的API端点等)。这些是进行“氛围编程”的理想区域,即使存在一些技术债,其影响也是局部的,易于重构或替换。

4. 成功的“氛围编程”实践要点

Erik Schluntz 分享了他和团队使用 Claude 大规模重构代码(22,000行代码变更)的成功案例,并总结了以下关键点:

🌟成为Claude的产品经理 ,引用肯尼迪的名言:

不要只问“Claude能为我做什么”,而要思考“我能为Claude做什么”来帮助它成功。

像对待新员工一样,提供清晰的背景信息、上下文、代码示例和明确的目标。前期投入15-20分钟精心准备提示(Prompt),远比反复修改AI生成的劣质代码更高效。

🌟专注于叶子节点,而非核心架构:

将AI的创造力应用于那些不影响系统整体结构、易于隔离和验证的部分。

🌟可验证性是关键 :

设计可验证的输出。例如,通过单元测试、端到端测试、压力测试等方式,确保AI生成的功能在产品层面是正确和稳定的。

🌟记住指数级增长:

AI的能力正在飞速发展。今天看似遥远的“氛围编程”可能在不久的将来成为常态。现在开始学习如何与AI协作,将是未来软件工程师的核心竞争力。 http://t.cn/A6FpFDxS

发布于 北京