Pluveto

“ Tell me, what is it you plan to do with your one wild and precious life?”

留一点地方给自己“古法”编程吧

本文无 AI 辅助创作,请放心食用。

我看了一下自己最近纯手工编程的项目,是开源仓库 Noteman,最近更新时间是 Mar 29, 2025,距今一年多。而真正还在大规模手搓代码,大概是在 2023 年之前

——对上了,22年11月30日,OpenAI发布ChatGPT3.5,自那以后,无论是让 AI 生成之后我再 Copy(大约是在 2023~2025,基本用的是免费的 GPT 和 Gemini Pro 2.5)还是转向纯 Coding Harness(最近两年是诸如 Claude Code 或是 Codex CLI),我再也没有完全手搓代码了。哪怕是去年自己曾经一些极其复杂逻辑,AI 自己理解不了也给不了太好方案的情况下,也依然是让 AI 生成了部分相对不动脑的代码。


然后最近接触了一些刚毕业的校友,我发现他们几乎四年来从来没有自己完整手写地做完过任何一个编程作业——而他们的独立编程能力也十分堪忧。基本上可以说沦为了传话筒,没有 AI 就丧失工作能力只能发呆。他们可以面不改色地面对 AI 写出来的质量非常糟糕的代码,因为他们完全看不出来有任何问题。他们也几乎从未认真了解过 Clean Code 等原则,当我提到 SRP、OCP 时他们往往觉得这些东西过时了,或者应该封装成 Skill 然后就万事大吉了。

例如有个人长期把 Git、Docker 之类操作全部交给 AI,虽然不会手打命令(哪怕切出分支都不记得怎么做),但他们觉得自己已经掌握了 Git 和 Docker。然而据我观察他们并未如我们前 AI 时代的人那样建立了良好的心智模型,一旦遇到一些复杂的局面就只能全权交给 AI 但无法理解,就如一个产品经理遇到 AI 生成的前端代码报错那般。


所以,我想发表一个暴论,AI 时代,每个程序员一定要留一个完全手写的项目。

对老手而言,意义在于能对冲能力退化的风险,在 AI 作用受限时维持技术接管能力。毕竟依然不存在能理解如项目负责人那般周全的上下文的 AI,这块再聪明也没用。依然会有许多情况 AI 跑偏了,或者环境确实受限,或者极端点出现一段完全无法使用 AI 的时期,那么依然能够亲自进入系统解决问题,是你作为 Senior 的实力的证明。

对新手而言,长期来看,在不断设计、反思中手写代码,可能反而是更高效的训练。甚至可以说,保留一点手搓代码,是走向资深工程师的捷径,因为你的多数竞争者已经完全交给 AI 了。而他们享受不到手搓代码带来的一些意外的好处。


是的,手搓代码其实是有一些好处的!因为手搓代码可以迫使你频繁地在最细节的层面,做出有意义的决策。

举个例子,我最近也开始手搓一个迷你的 RTOS 叫 MiniRT。里面就涉及到大量的决策细节,比如亲手设计 Task 结构的时候,你必须思考哪些字段是最重要和最必要的(例如栈指针、任务状态等字段)。如果交给 AI,基本上大家会看 AI 的方案 Sounds good 就觉得 OK 了,然后不知不觉设计已经变得相当复杂,而你实际上不太清楚他是怎么演化到这样的复杂地步的,心里对整套系统也没有清晰的图景——哪怕你已经 review 了每个 PR。因为 Review 的时候往往你也是觉得看起来合并,就准了。然而不知不觉系统已经被 AI 写成屎山,甚至出错,这个时候才回过头来看设计,智商再高也会有种云里雾里的感觉。

所以手写的价值就是让你不得不仔细斟酌每个设计决定。这种过程是相当锻炼人的,任何经历过无 AI 时代,靠查 CSDN、Stack Overflow、翻书甚至翻论文来手搓代码的人的都能理解我刚刚说这些意味着什么。


所以我建议大家尤其是新人一定要体验一下手搓代码,最好能给自己一块自留地可以长期手搓,如果是和现实业务相关就更好(玩具项目毕竟复杂度还是远不及现实),在这个过程中积累一手的编码设计决策经验,会让你非常快速地成长。哪怕今后 Review 代码和指挥 AI 重构,也会不容易被忽悠。

这和一些传统企业要求高级经理必须从基层做起是一样的,如果没有亲自做过,就很容易缺乏一些不可言说的判断力,被手下的 Agents 忽悠,总之,你写代码就会产生类似外行领导内行的奇妙场景。


而且编程的情绪体验也是很重要的一部分。和 AI 协作编程时,我的基本流程是先出 Design Doc(类似于战略),再出 Implement Guide(类似于战术),最后让 Agents 去施工。这个过程中我约等于 CTO,倒是很锻炼人的架构能力——我会让 AI 反复地拷问我,确保大方向上没有任何歧义和差错。

然而这个过程并不那么畅快,我经常会感觉到有种信息过载的感觉。

相比以前和同事慢慢讨论方案,一边一行行实现一边迭代重构相比,动脑的强度实际上高了很多,然后等待 AI 出工的过程中往往又会有点无聊,对于结果的不可控性和 AI 代码的理解困难性等方面又会让我有点焦虑。

纯手搓代码能够很好地互补这一点——我暂时离开了 AI 驱动的高峰值功率的生产节奏,能够平稳地享受专注的创造,感受心流带来的平静。可以说纯 AI 开发很糟糕地打破了编程的这一部分乐趣。

哎,真有点怀念古法编程时代。


最后叠个甲,我这里的“古法”编程的定义是,项目全部代码亲手编写,不以对话或其他方式让 AI 生成代码。但可以和AI讨论细节实现,至于用不用必须自己判断。用 Fitten 之类的 Tab 补全一行代码是 OK 的。我也不反对生产中用 AI 提效,也不试图说服坚决抵触手写者。本文只想写给仍想保有技术掌控力与完整创造经验的程序员。

2026 年 7 月于昆明

沉沦

我们是人,我们本不需要灯红酒绿的刺激,只需要在大地上奔跑,在大树下看太阳,在吃饭时感受食物的质感和气味,在困倦时闭上眼什么也不想地休息。

我从来看不起那些为了一时的快乐,毁掉自己的人生的人。我看不起明明有重要的考试却依然沉浸于手游的人。我看不起明明可以正常工作,却去乞讨的人。我看不起倾家荡产赌博的人……总之,我看不起自甘堕落的人。

直到有一天,也许是因为长久的加班,又也许是因为别的什么原因,我感觉到从未有的空洞。我好像很痛苦,又好像不是很痛苦。我好像很累,但又好像还能活动。我看向曾经感兴趣的一切事物,却感觉一切都失去了光彩。我成为一个无趣的人。当我关掉下饭的视频,一声打出吃完螺狮粉的臭嗝之后,我发现自己变成一具空壳。我发现当下难以忍受,超越理智地难以忍受。我发现我是孤独的,无法与任何人建立连接。这并非是没有人爱我了,而是我停止了感受,却无法再开启。我变成了那些我看不起的人,我自动地寻求廉价的刺激,但又在刺激满足之时就已经感觉无聊。我和 AI 无止尽地聊天,而它只是换种方式重复我的呓语,我成为了熵增的一个环节。

我开始接受自己是一个普通人,是一个我曾经鄙视的那种傻逼。质疑傻逼,理解傻逼,成为傻逼。没有体验过傻逼所在情境的人,没有资格评价傻逼的傻。油箱空了怎么拧方向盘车都不会走。不过,我还不想成为纯粹的傻逼,所以我要去找个咨询师,然后开点药了。

张雪峰死了。我也发现我的抗压能力是真的强,但是正如网友所说,“如果你只能活到41岁,那么选任何专业都没有意义”。

欲望的本质是匮乏

最近在戒欲。借此有了观察自身的宝贵机会。

欲望来临,乃至旺盛的时候,我的感觉是迫切想要“得到”。几乎所有念头都被满足欲望的心魔控制,只留下一个极小的观测窗口。通过那个窗口,我默念那些智慧的告诫,在平时,这些告诫可斩断轻微的欲望,但对旺盛的欲望无济于事。所有的心思会不自觉地被引向寻找连接 A 与 B 的路径,A 是此刻,B 是快乐。

欲望会把 B 包装成美好的东西。当你深夜馋得不行的时候,你想要的是立刻吃你所期望的那种美食。大脑把得到“美食”设定了一个高得不可思议的预期。如果平时你只愿意花10元解决温饱,极端口渴的时候,你会愿意花100元购买一瓶可乐。

但是,不是所有欲望都像可乐之类的低危害,也不是所有欲望都能真正得到满足。这个时候,欲望就成了恶念。他引诱你获得立刻的“好处”,代价是牺牲一个似乎遥不可及的利益。欲望强烈的时候,二者都如同架上杠杆,好处被许诺得无限大,坏处被许诺得无限小甚至不存在了。你的当下相对于那个许诺的好处,似乎变成一种或沉重或躁动的折磨。人在痛苦的时候,总执拗地认为这种痛苦将会长久地延续。

我克制住了。我想到我曾经听从心魔,但实际上从未真正满足。

当欲望的力量消退。理智重新占领高地,我们发现“欲望来得快去得也快”原来不是一个祈祷,而是一种事实,我们发现他之前许下的诺言是多么荒谬可笑,他造成的痛苦是多么的短暂。他短暂地把我们从人变成动物,总无法持久。

我最终发现,欲望的本质不是期望快乐,而是先把你变得痛苦,让你感到无比匮乏——所以我们把欲望的得逞叫做“满足”。

然而,快乐的预期是一个幌子,你永远只是短暂地满足,长久地看,重复地被剥夺平静,进入痛苦和匮乏。

因为只有处于匮乏的躁动之中,那些快乐的预期才能让你相信只要放纵就能满足。然而,人在清静的时候,对这些所谓的快乐完全不屑一顾。我们本身是可以感受到圆满和平静的。但那些原始的本能或者后天的驯化,剥夺我们的平静,打断你一条腿,然后引诱你购买一根拐杖。久而久之,就成了“瘾”,你将更频繁地感受到匮乏和剥夺。所以,觉察和断念是我们的武器,熟练运用后,可以拦住那些打破平静的邪念。如果不幸被迫匮乏,要意识到这是假的匮乏,只要坚持住,很快就能消散了。

本来无一物,何处惹尘埃。人本来是自由的,但这些看似美好的欲望却把我们拽入大大小小的牢笼,让人没有时煎熬等待,拥有时害怕失去,失去后懊悔遗憾。“今子有大树,患其无用,何不树之于无何有之乡,广莫之野,彷徨乎无为其侧,逍遥乎寝卧其下。不夭斤斧,物无害者,无所可用,安所困苦哉!”

再思考“热爱”

《明朝那些事儿》结尾说,千秋大业功名利禄,不如以你喜欢的方式度过你的一生。不知道什么时候,这代人的意识从赚钱,变成了追求活在当下、“Follow your passion.” 渴望找到自己热爱的事业,渴望可以投身于这样的事业,然后过一个值得的人生。

刚毕业的时候,我也是这么想的。当时我非常热爱编程,因为编程让我能够用代码组织自己的思想,把想法变成可运行的,甚至设计上非常优雅的程序。我喜欢造轮子,喜欢发明别人已经发明的东西——操作系统、编译器,乃至CPU。我不喜欢在别人的成果上雕花,因为我会觉得很没意思。

随着 AI 能力的增强,这种乐趣逐渐消散。我最多只需要把想法整理为容易理解的自然语言文档,以及在少数AI无法胜任的地方工作,大多数情况,例如设计一些小网页之类的,AI 可以很快完成。我几乎只需要进行修修补补的工作,或者做一些需要大量背景,AI 暂时无法理解的工作。但是可预见的是,未来这些方面 AI 几乎一定会达到和超过我的能力。我怀疑,之前热爱编程,是因为我可以用编程做出一些东西让我有一种优越感,觉得别人做不了的我可以做,而随着 AI 的提高,逐渐变成了大家都在 AI 的辅助下工作。

当然,我并不反对使用 AI,相反我非常感谢 AI 它将在未来让生产力达到一个新的顶峰。意味着人类同等时间的劳动,可以创造更多的财富。

扯远了,AI 并不是本文的核心。我思考的问题是,我的热爱呢?它应该是什么?我的热爱曾经是编程,这种感觉已经消退了。我还会一些别的东西,比如乐器、语言之类的,但是我不但水平一般,而且在过程中其实体会不到太多乐趣了。我也会周末去爬山,徒步,我也很享受过程,但是这也难以称得上热爱,更无法成为一种终身的事业。其实不止是我,和少数同龄人交流之后,发现大家都有类似的情况,在工作过之后尤甚。大家都有很多的爱好,但是普遍发现这种爱好无法自我循环强化。爱好更像是是一种高级消遣,它可以让我当下过得很好,消除我的无意义感(准确来说,是让我没工夫思考什么意义不意义的),然而,在以十年为尺度回顾,我还是会感到有些空洞,会感到人生缺乏一种指引。

我花了很多时间下意识地思考这个问题。也读到很多建议,比如有人说,看你回顾你所做的事情,看看哪些事情让你体验到了成就感的高峰。或者哪些事情,不止做完之后是快乐的,做的过程中也是快乐的?我还真找到了,就是写作。写作的时候,看着字源源不断地被我码出来,确实是非常即时的反馈。写完之后再回顾也觉得值得。但是我还是感觉,它称不上热爱的程度——因为我做不到废寝忘食,或者一有空闲就把时间放到写作上面,因为废寝忘食的内在是驱动力。我也没有专门提高写作能力的期望,比如写小说的都知道“Showing instead of telling”原则,就是说,比如你想描写快乐,你应该写这个人“笑着跳起,捶胸顿足,泪水纵横,手舞足蹈”,而不是写“他感到很快乐”。然而我写的时候,还是按老习惯来,所以显得很没文采,但我这样最没压力。扯远了,我只是觉得这些都是爱好,但谈不上热爱,热爱的标准就是强大的内驱力。

然后,经历了一些思考(此处省略一百万字)现在我忽然意识到一个事情。

请大家思考一个问题,那些让我们有现在生活条件的人,包括那些革命烈士、工人农民、你的长辈,他们希望你现在过怎样的生活?我想他们并不会强求你热爱什么,他们只希望你在有尊严、不受欺负的基础上,安安稳稳地活着过日子,能找到热爱挺好,找不到,也不赖,好吃好睡即可。

所以其实执着于寻找热爱,掩盖了背后真正的问题。真正的问题其实不是“如何找到热爱”“到底什么值得我热爱”“如何有激情地专注一件事”。热爱不是生活的必需品。充满感激地过好现在的生活,是无数人曾经的梦想。没有热爱,也可以生活得好好的。

真正的问题是:当我们嘴上说“热爱”的时候,我们真正需要的是使命,让你在完成日常的事情,完成休息,还有余力的时候,你可以为之添柴加火,从而当你面对死亡的时候,你会说,我除了过了普通人的还不赖的一生,我还做了一些有价值的事情,一些超越世界对一个普通人的期待的事情。

而对于寻找使命,我们就知道怎么做了。因为使命总是在共同体中发挥作用,这种价值只有在让其它人受惠的时候才发挥出来。所以,你应该像那些为人类做出贡献的先人曾经叩问自己那样,问:你希望你的后代,或者说下一代的普通人,过怎样的生活?回应这个问题时,我会想到现在中国仍然有数亿人月收入不足一千;许多人虽然生活不赖但做着没有尊严的工作,被迫加班和卑躬屈膝;许多人(包括曾经的我)在学校的体制中被压迫和侮辱;许多权贵等垄断生产资料的人假公济私等等。或者往小了说,你的长辈也许现在需要关心,你的家人需要更多收入来改善生活……无论大小,这种同理心就是使命的指引,当我们去做我们能做的去改变世界的时候,就是在履行使命了。

在犬儒主义、后现代主义和虚无主义当道的今天,许多人要开始嘲笑和解构这种想法。然而,我现在开始重视这种想法。因为人的思想和话语可以骗人,但是人的情感体验无法骗人。

记梦:考试

梦见在参加数学考试。考试时我感到轻松和自信。然而快要结束的时候,我和初中的同学李和同学杨对答案,发现一道题我犯了很低级的加法错误,另一道题我完全不对,实际上没有想到正确的解法。看着他们手拿把掐的样子,我感到很自卑。最后临交卷我改了自己的答案。老师是高中的凹老师。

S 形排布的墙体隔开两台电梯,我乘坐绕后的一侧的电梯下楼,经过一个长廊的时候,看到一个荧幕在播放宣传片,上面的人在痛斥上一任领导的治理。然后还播放了一些澳大利亚的风光。

我走到一个超市,有一些很可笑的文具销量很高——比如超大超厚的透明胶带。当然许多人买走这个不是为了学习,而是用来缠住自己的双手,就像木乃伊的双手,因为他们相信这样可以让自己更自律。而我只挑选我真正需要的东西。


半梦半醒的时候,我内心有一个声音告诉我,要追溯每一个观点的源头,这样就能知道哪些观点真的是我的,还是被植入的。