别费心搞氛围编程
Don't Bother with Vibe Coding

原始链接: https://www.soeren.codes/articles/do-not-bother-with-vibe-coding

“氛围编程”(vibe coding),由Andrej Karpathy推广,对初创公司来说是一种危险的趋势。它优先使用AI生成代码,而不需要深入理解软件工程原理。虽然AI可以提供初始速度提升,但依赖缺乏CI/CD、安全、文档、测试和基础设施经验的“氛围程序员”,会产生巨大的风险。 这些人无法正确地编写文档、测试或维护代码,导致技术债务增加,阻碍长期速度。初创公司承担不起这种后果,因为每个工程师都必须理解完整的软件开发生命周期。虽然AI可以成为经验丰富的工程师的宝贵工具,他们可以批判性地评估其输出,但在缺乏基础知识来发现和纠正错误的缺乏经验的人手中,它是有害的。避免招聘“氛围程序员”以防止未来出现问题。

Hacker News上的一篇讨论围绕着“氛围编程”(vibe coding)展开,讨论对象是Domu Technology(一家AI驱动的债务催收初创公司)发布的一则招聘“氛围程序员”的职位信息。评论者们对这个术语表示难以置信和觉得好笑,同时也对该公司每天12-15小时的高强度工作时间以及入职培训中需要进行催收电话的环节感到震惊。 许多人认为这个招聘信息要么是恶搞,要么是该公司为了吸引风险投资机构而做出的绝望尝试。一些人强调了同时要求“氛围编程经验”和期望AI生成50%代码的荒谬性。另一些人则质疑该公司的价值主张及其以自动化债务催收为中心的伦理问题。 虽然一些人承认AI工具可以用作高级自动补全或用于个人项目,但人们仍然对将“氛围编程”用于生产级代码持怀疑态度。人们担心这可能会导致代码混乱,并需要经验丰富的工程师来审查和维护代码。这场讨论反映了人们对围绕AI的炒作及其潜在误用的更广泛焦虑。
相关文章

原文

Vibe coding is everywhere nowadays, ever since Andrej Kaparthy from OpenAI coined the term on X. Silicon Valley is already jumping on the trend and hiring Vibe Coders. As with a lot of things AI, I think it's a trend that's actively harmful. I'd even go as far as saying that you should reject anyone applying for your startup if they claim to have vibe coding experience.

Why? Because it'll cause you to lose a lot of velocity, increase tech debt and burn a lot of your money in the long run. These are all things a startup cannot afford, especially early-stage.

Overwhelmingly, vibe coding is currently embraced by those with little to no experience in professional software development. When I say professional, I'm explicitly not talking about coding. This is easy to learn, and is something that AI is actually somewhat good at (depending on prompting, language and framework). I'm talking about things surrounding the code:

  • A good CI/CD setup, mindful of security and automation
  • Good documentation
  • Knowledge about infrastructure needs
  • Unit and integration tests
  • Deep understanding of the code

Early-stage, every engineer should have a deep understanding of these four points. Enterprise teams may have the luxury of having separate teams, but early stage startups do not. I've explicitly highlighted the last point, because the entire premise of vibe coding is that you do not need to understand the code at all. This also means that vibe coders won't be able to document their code or set up independent tests, let alone have any knowledge about the surrounding infrastructure needs and CI/CD setup.

As an aside: What I mean by independent tests is that letting the AI set up the unit or integration tests for its own code somewhat defeats the purpose of having tests in the first place.

Vibe coding may give you an initial velocity boost when everything works seamlessly, but when it comes to "boring work" such as documentation and testing, it's impossible to keep up the same kind of velocity if there's no deeper understanding of the code.

That's not to say AI is useless. I use AI daily, whether it's for repetitive work in coding or otherwise running my business. I've also sometimes let AI do quite heavy lifting; for example, the frontend for my latest weekend project, SquadUtils, was done almost entirely by Claude. It's important to note, though, that I was always able to reason about the code and guide Claude in the correct direction if it made mistakes.

And that brings me to the main point: AI can bring a net velocity increase to your team if it's employed by professional software engineers with years of experience building products, precisely because they can tell when and where the AI made a mistake. Put it into the hands of someone that just graduated a coding bootcamp two weeks ago, though, and you'll pay the price down the line once the initial velocity wears of.

联系我们 contact @ memedata.com