网站搜索

Vibe 编程很棒——但你仍然需要知道如何编程


你想尝试振动编码,但不知道是否值得吗?振动编码真的很棒,我非常喜欢它。然而,你确实仍然需要懂得如何编码才能有效使用它。

人工智能在编写代码方面越来越好

我用人工智能构建了整个网站和应用程序

大约一年前我第一次尝试使用 Vibe 编码时,它既不好也不坏——只是一般般。我发现我自己写的代码比它更多,而且调试几乎是无休止的。

如今,人工智能实际上可以写出相当不错的代码。我已经使用人工智能构建了一个完整的SaaS平台,一个天气应用程序,而且我还在用vibe编程开发多个项目。我非常享受这个过程,它让我重新投入到开发中——这是我多年来一直试图重新进入的领域。

这真的很疯狂。我可以告诉人工智能我想让它做什么,几分钟后,它就准备好了。它通常不是一次完成的,我必须不断重新提示,以完善某个设计或功能。但说到底,人工智能才是写入这些程序的所有代码的人,而我只是审查它。这就是关键:审查它。

人工智能可能会编写和检查它的代码,但它并不完美

人工智能“意外”删除了一个人的整个存储驱动器

人工智能在说自己准备好之前会内部检查自身的代码,但它大多数时候错得比对得多。这是开发界众所周知的问题,甚至已经成为某种程度上的梗。

虽然像 Spotify 这样的公司使用 AI 来编写所有代码,但这并不总是即插即用的。在企业使用像 Claude 这样的程序的情况下,AI 编写的代码会提交给人工审核,只有在通过审核后,才会合并到主代码库中。

通常,代码必须带着需要修复的问题回传给人工智能,然后才能合并。这就是我自己与人工智能编程的经历。它编写代码,我进行测试或审查,我告诉它哪里错了,然后它回去修复自己产生的问题。反复循环。

我想到了那个使用谷歌反重力 IDE 并让它在没有权限检查的情况下运行的人,而反重力删除了他电脑上的整个 D 盘。它执行的方式是不可逆的,数据已经丢失。即使是数据恢复公司也无法恢复。如果 AI 可能犯这样的简单错误,它在你不知情的情况下对你的代码可能会犯什么错误呢?

知道人工智能在写什么代码(或它为什么要做某件事)就是战斗的一半以上

你知道什么是 SQL 迁移吗?

关于情绪编码最大的问题是,你实际上需要知道 AI 正在编写什么代码。虽然我自己不能写 TypeScript 或 SQL,但我知道它在做什么的要点。我断断续续写了好几年的代码,并且可以理解它正在编写的代码的核心结构。

当我看到 AI 写的代码时,我知道如何调试它,我可以检查它正在做什么,并且我理解其中的术语。如果它要求运行 SQL 迁移,我可以查看它是否正在删除表、添加表、修改某些东西,或者它究竟在做什么。

如果你对代码一无所知,那么你不可能检查 AI 在写什么。它可能在你的程序中编写一个后门,而你根本不知道。它可能写一段代码,摧毁整个数据库。

有一天晚上我在随意编码——对 AI 太过信任——几天后我去检查我的网站时才发现 AI 完全破坏了我的一个数据库表,把它覆盖成了我本让 AI 实现的另一个表,而不是创建一个新的表。我失去了那个表中的所有数据,因为我没有注意 AI 在做什么。

我懂 SQL。不足以从头编写完整的 SQL 迁移文件,但足以理解它在做什么。要是我当时只是更专注于 AI 写的内容,我本可以轻松发现问题并防止数据丢失。我从这个错误中学到了教训,现在会对 AI 处理代码的情况稍微关注得多一些。可能会花费更长的时间,但更安全。


如果你想开始进行情绪编码(vibe coding),我会说去做吧!不过,你至少应该对你试图让人工智能编写的代码有一定的了解。你不必能够写出它的每一行代码,但只要知道它在做什么,就能在未来避免很多烦恼。

相关文章