跳转到主内容
博客

10天写了30万行代码,然后我全删了

一个技术外行用Claude Code做了个实验:10天堆出30万行代码,发现走不通,推倒重来。48小时后,不到1万行代码,端到端跑通了。代码是负债,不是资产。

5 分钟阅读
分享:

48小时,不到1万行代码,端到端跑通了。

我拿起那个小盒子,部署了一个刚发布两天的模型,看着推理结果跑出来。那一刻的感觉挺奇怪的——不是兴奋,也不是成就感,更像是一种"哦,原来真的可以"的恍惚。

顺便说一句,我完全不会写代码。从来没做过软件开发。

而在这次48小时之前,我还经历过另外一场10天的狂奔——产出了将近30万行代码,然后几乎全部删掉。

这件事让我想了很久。

一切的开始

一切的开始,是Claude Opus 4.6发布。

我第一次用的时候,真的被吓到了。不是那种"哇好厉害"的吓,是那种"等等,这东西能做到什么程度?"的吓。

我脑子里冒出一个念头:能不能让它帮我从零开始做一个项目?

我大概说了我的想法,它就帮我写了一个架构文档,然后开始开发。两天下来,做出了一个雏形。我看着它一行一行地写代码,心里有一种说不清的感觉——像是看着一个陌生人在帮我盖房子,我也不知道这房子结不结实,但它就是盖起来了。

做着做着,我开始琢磨一个问题:怎么才能让AI 7×24小时帮我干活,而且真正创造价值?

我想到了两条路:一是让它自己对照架构文档和代码,自己发现机会,自己实施;二是做大量的真实测试,在真实设备上跑真实操作,让它自己观察bug,自己修,直到链路跑通。

现在回想起来,这两条路都有点天真。但当时我是真的觉得可行。

于是我开始了一场疯狂的实验。人在外面旅游,我通过手机SSH + tmux的方式,远程操控整个开发过程。我消耗了夸张数量的token——具体多少我不说了,说出来有点心疼。

10天时间,这个项目累计到了将近20万行Go代码 + 10万行测试代码。

变成了一座庞大的代码山。

而诡异的是:这10天里,我一次都没有真正上手体验过这个产品。我就是让它写,写完review,继续写。

屎山上的挣扎

当我终于停下来,开始真正测试的时候,问题来了。

一个最基础的主要链路,根本不通。

我当时愣了一下。30万行代码,基础链路不通。

我就让AI按照测试结果来修改。改完再测,测完再改。反反复复,终于把这个链路跑通了。那一刻感觉还是蛮奇妙的——毕竟我是一个技术外行,10天时间真的跑通了一个复杂的平台软件。

但很快,我发现了一个更深层的问题:任何一个小改动,都需要消耗夸张数量的token。

20万行代码的项目,改动本身就极其吃力。就像在屎山上动土——又慢,每次改动效果经常不理想,还要花钱。我眼睁睁看着token消耗蹭蹭往上涨,心里开始发虚。

我开始反思:这2-30万行代码是10天肝出来的,看起来大部分代码都没有真正产生价值。我原本只是想到什么功能就让它来做,来实现,然后review,然后继续开发测试。

这不是在创造价值。这是在堆砌负债。

推倒重来

我做了一个决定:从零开始,重新做一个新项目。

这个决定下得不容易。30万行代码,说删就删,多少有点肉疼。但我越想越觉得,留着才是更大的浪费。

这一次,我花了很长时间和Claude Code进行深度的对话。

我问它:我到底要解决什么核心问题?这个问题的解决有什么社会价值?

说实话,最开始我的动机很简单——只是想vibe coding出一个类似公司去年做的产品,拿出来让大家大吃一惊,证明一个过去完全没代码基础的人也能搞出个还不错的产品。有点炫技的心态,我承认。

但现在我的心态变了。我想要做一些真正有意义的事情,解决一些对社会、对世界真正重要的问题。

这个转变是怎么发生的?我也说不清楚。可能是因为那30万行代码删掉的时候,我突然意识到:如果做的事情本身没有意义,那再多的代码也只是自我感动。

我们开始回到做一个产品最核心的过程:写MRD文档,写PRD文档,然后才是架构设计。

在架构设计阶段,我花了大量时间做Deep Research——选择架构上的组件,理解到底什么可以用、什么不该用,做一些关键的决策。

我逐渐意识到一个事情:

在Vibe Coding时代,实现变得很快,所以产品设计、哲学、原则以及架构选择的影响变得极其巨大。10天时间,就可以让AI发展出似是而非的屎山代码。后续所有的投入,都变成了持续不断的巨大浪费。

这一次,我变得审慎很多。

每一行代码,其实是liability(负债),而不是asset(资产)。

因为代码越多,AI维护就会越来越难。

48小时的克制

后来,我花了半天加一晚上的时间,做了一个我觉得有意义和价值的架构与产品。

把问题、创新、设计哲学,全都文档化写在了项目里。

开发的过程中,在大概5000行代码的时候,我就开始针对最核心的功能和组件做真实的测试。我把异构硬件、引擎、模型很早地带进来,做真实验证。

每次改动之前,我都会问:这是否违反了我明文写下来的设计原则与设计哲学?

经常要返工来改。

这个过程真的挺痛苦的。我意识到,哪怕是Claude Opus 4.6这样强大的模型,其实也并非那么无所不能。保持克制和精简,真的要花很多时间,反反复复地打好地基。有时候改一个东西,来来回回好几遍,我都开始怀疑自己是不是太较真了。

但后来证明,这种较真是对的。

48小时后,端到端跑通了。

在设备上的一键模型推理部署。测试了一些新的性能——一个刚出了两天的模型,跑在了我们的小盒子上面。

那种感觉真的很奇妙。不是兴奋,是一种"嗯,这条路是对的"的踏实感。

而这个时候,项目的代码量也没有很夸张。AI维护、改动、理解,也依旧不算贵、不算慢。

我判断:这个事情,真的可行了。

比真的写代码还累

整个过程,我发现用Coding Agent协作,其实比原本累得多。

很容易进入到心流状态——一个Claude Code在等,就开一个新的。卡住了,就再开一个新的。不断地回过来看每个的进展,做一些卡点的排除,走偏时候的纠偏,还要想明白对全局的影响。

5-6个小时之后,感觉像是打了一场高强度的游戏,而且是一个人三开进行操作的感觉。

脑袋发懵。身体被掏空。

我以前以为vibe coding是轻松的事情,让AI干活,自己躺平。真的做了才发现,不是这样的。它更像是从"写代码的人"变成了"同时指挥五个写代码的人的人"——你不用自己写了,但你要做更多的判断、协调、决策。

累是真的累。但也很上瘾。

后记

10天堆了30万行代码,然后删掉。

48小时,不到1万行代码,跑通了。

Vibe Coding不是一个让事情变简单的魔法。它是一个杠杆——可以放大你的效率,也可以放大你的混乱。

我现在会问自己一个问题:在开始之前,我有没有想清楚真正重要的事情是什么?

这个问题,AI帮不了我回答。