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帮不了我回答。