关于 Vibe coding 与 AI 辅助编程 的话题,我之前写过一篇长文分析过,当看到 Vibe Engineering 这个词的定义,我觉得概括的很恰当,希望专业开发者都是 Vibe Engineering 高手。本文作者莫尔索。
Vibe Engineering:用 AI 提升软件开发的高级方式
在软件开发领域,AI 的出现带来了两种截然不同的开发方式。一种是“Vibe Coding”,这种方式快速、随意,完全依赖 AI 的提示来生成代码,开发者几乎不关心代码的实际运行机制。但这种开发方式存在局限性,因为它忽略了开发过程中的许多重要环节。
与之相对的是“Vibe Engineering”,这是Simon Willison 提出的一个新概念,用来描述那些经验丰富的开发者如何利用 AI 工具来加速开发,同时保持对代码质量的严格把控。这种方式需要开发者具备深厚的专业知识和技能,能够有效地利用 AI 工具,而不是完全依赖它们。
Vibe Engineering 的核心要点
- AI 工具的高效使用:Vibe Engineering 强调开发者需要深入了解如何使用 AI 工具,避免常见的陷阱,并且能够利用 AI 快速生成高质量的代码。
- 多任务并行处理:许多资深开发者已经开始同时运行多个 AI 代码生成工具,以并行处理多个问题。这种方式虽然高效,但也对开发者的精力和管理能力提出了更高的要求。
- 强化传统软件工程实践:AI 工具能够显著提升以下几种传统软件工程实践的效果:
- 自动化测试:完善的测试套件可以让 AI 工具更高效地工作。 - 提前规划:明确的开发计划可以让 AI 工具更好地执行任务。 - 全面的文档:良好的文档可以帮助 AI 更好地理解和使用代码。 - 良好的版本控制习惯:AI 工具能够更好地管理代码变更。 - 有效的自动化流程:持续集成、自动化格式化和部署等流程可以让 AI 工具更高效地工作。 - 代码审查文化:快速高效的代码审查能够提升与 AI 工具合作的效率。 - 管理能力:与 AI 工具合作需要开发者像管理人类团队一样提供清晰的指令和反馈。 - 手动质量保证(QA) :开发者需要具备强大的手动测试能力,以确保软件的质量。 - 研究技能:开发者需要具备强大的研究能力,以确定最佳的解决方案。 - 预览环境的使用:在将代码部署到生产环境之前,先在预览环境中测试。 - 外包决策能力:开发者需要清楚哪些任务可以交给 AI,哪些需要自己手动处理。 - 更新的估算能力:AI 工具的使用改变了项目估算的方式,开发者需要不断学习和适应。
- AI 工具放大专业技能:Vibe Engineering 的核心在于,AI 工具能够放大开发者的专业技能。开发者需要具备丰富的经验和技能,才能更好地利用 AI 工具,从而更快地获得更好的结果。
- 名称的意义:“Vibe Engineering”这个名字清楚地表明了这种开发方式与“Vibe Coding”的区别。它强调了开发者的专业性和对代码质量的严格把控。
总结
Vibe Engineering 是一种将 AI 工具与传统软件工程实践相结合的高级开发方式。它要求开发者具备深厚的专业知识和技能,能够有效地利用 AI 工具来加速开发过程,同时保持对代码质量的严格把控。这种方式不仅能够提升开发效率,还能帮助开发者更好地应对复杂的开发任务。