跳到主要内容

从"提示工程"到"氛围编程":我们如何与 AI 协作构建软件?

·1 分钟

你是否曾感觉,与 AI 协作编程时,与其说是在下达精确指令,不如说是在营造一种“氛围”或“感觉”,引导它走向你期望的解决方案?

最近,我观看了一段引人深思的 YouTube 视频,主讲人 Tom 分享了他在使用 AI 工具进行“Vibe Coding”(我将其译为“氛围编程”)的经验与最佳实践。这不仅仅是一系列技巧的罗列,更揭示了人机协作编程范式正在发生的深刻转变。本文将为你梳理视频中的核心观点,并分享我对此的几点思考。

核心心法:将 AI 视为一门需要“沟通”的新语言 #

视频的核心观点是,我们应该停止将 AI 视为一个简单的指令执行者,而是把它当作一门全新的编程语言来看待。这意味着,你需要为它提供充足的上下文、清晰的目标和必要的背景信息,才能获得高质量的输出。模糊的指令只会得到平庸甚至错误的结果。

高效“氛围编程”的战术与策略 #

基于上述心法,Tom 分享了一系列极具操作性的实战技巧:

1. 规划与测试先行,而非代码先行

  • 先写测试用例:不要让 AI 编写测试,而是手动编写高阶的集成测试用例。这相当于为 AI 的编码工作设定了清晰、严格的“验收标准”,能有效约束其行为,确保功能按预期实现。
  • 先规划架构:在动手编码前,花时间与 AI(如纯语言模型)一同规划项目的范围和架构。将规划结果存为 Markdown 文件,然后分步实施,每一步都进行测试和版本提交。这避免了直接编码导致的混乱。

2. 严格的版本控制与风险管理

  • 严守 Git 流程:在AI介入前,确保代码库是干净的。一旦 AI 把事情搞砸,你可以轻松回滚到上一个稳定版本。这是与 AI 协作的“安全网”。
  • 警惕“兔子洞”:时刻监控 AI 是否陷入了重复生成无效代码的怪圈。一旦发现,立即暂停,重新评估问题或让 AI 自我反思失败的原因。

3. 优化 AI 的工作环境与输入

  • 善用多种 AI 工具:Tom 建议同时使用 Cursor 和 Windsurf 等工具,因为它们各有千秋。例如,Cursor 响应快,适合前端任务;而 Windsurf 则能处理更复杂的代理和提示修改。
  • 提供本地文档:将项目依赖的 API 文档下载到本地,让 AI 可以直接访问。这能极大提升它在遵循特定库或框架规范时的准确性。
  • 输入方式多样化:除了文本,还可以利用截图来向 AI 展示 UI 错误或设计灵感,甚至使用语音输入来加速指令下达。

4. 扩展 AI 的角色边界

  • AI 也是你的老师:可以让 AI 详细解释它生成的代码,这对于学习新技术或语言非常有帮助。
  • 处理非编码任务:利用 AI 处理配置 DNS、设置托管、创建并调整图像等任务,全方位提升开发效率。

我的几点思考:这不仅仅是技巧,更是思维模式的革命 #

Tom 分享的经验,表面上是“术”,但其背后蕴含的是“道”的转变。

1. 从“工程师”到“架构师+指挥家” “氛围编程”这个词非常传神。它意味着开发者的角色正在从亲手砌砖的“工程师”,转变为设计蓝图的“架构师”和引导 AI 乐团演奏的“指挥家”。我们的核心工作不再是逐行编写实现逻辑,而是定义问题、规划路径、设定约束,并对最终结果进行验证和整合。代码实现这一环节,则在很大程度上交给了 AI 这个“超级实习生”。

2. 基础工程能力变得更加重要 视频反复强调测试、架构规划和版本控制,这恰恰说明,在 AI 时代,扎实的软件工程基础非但没有过时,反而变得前所未有的重要。因为 AI 会放大你的输入,一个清晰的规划会产出优秀的代码,而一个混乱的想法则会制造出一堆难以维护的“代码屎山”。没有严格的工程规范作为护栏,AI 的强大生产力很可能成为一场灾难。

3. “上下文”是新的生产资料 无论是提供测试用例、架构文档,还是本地 API 文档,其本质都是在为 AI 提供高质量的“上下文”。未来,一个优秀开发者的价值,或许不再仅仅体现在他能写出多精妙的代码,更体现在他能否为 AI 精准、高效地构建解决问题所需的完整上下文。管理和组织这些上下文本身,就将成为一项核心技能。

总结

“氛围编程”不仅仅是一种新潮的说法,它深刻地揭示了人机协作的新范式。我们正从一个精确控制的时代,迈向一个模糊引导、高效协同的时代。正如视频最后所说,AI 模型日新月异,我们必须保持开放心态,持续试验。

与其担忧被 AI 取代,不如主动学习如何成为一名优秀的“指挥家”,掌握与 AI 共舞的艺术。这或许就是未来十年软件开发者的核心竞争力所在。