程序员日记(残) 考古按本卷发现于第 7 区数据填埋层属 21 世纪 20 至 30 年代之间一名软件工程师职业从事者的私人记录。日记并不连续存在大量空白。我们对照同时期产业资料校订了部分日期原文中所有句子均予保留。同时期保存下来的此类私人文本极少。绝大多数从业者并未留下记录原因不详。2023 年 3 月 22 日GPT-4 出来一周多了今天终于排到我用上。让它写了一段日志解析脚本。给的提示很糙几句话。它真的写出来了——能跑但里面好几个边界没处理对这是新手才会犯的错。挺新奇的。这东西居然真能写代码虽然写得不怎么样。晚上和老周吃饭他半开玩笑地说没准儿过几年程序员就要失业一半。我笑他想多了。它现在写一个解析脚本都要我手动改三处真要替代我们路还长着呢。但又想了想其实它写得也没那么差。今天用得新鲜明天再多试一试。2023 年 7 月 9 日现在习惯了写代码之前先开一个 ChatGPT 的标签页。不是离不开它——大部分时间还是自己写。它的用法更像是一本会聊天的手册不太确定某个库怎么用、想不起来某个语法的细节、要写一段不熟悉的正则就丢过去问一句。回来的答案有时候挺准有时候一本正经地编。但这种问答比翻 Stack Overflow 快不少。我同事老张他开了 Copilot。我看他演示了一下那个灰色补全弹出来的瞬间挺有意思的。但他写两行就要按一次 Esc因为它老猜错。2023 年 11 月 8 日OpenAI 开了个发布会朋友圈又是一片刷屏。我没看现场第二天补了一下。看完没什么特别感觉——参数大了上下文长了能调用工具了。但具体到我每天写的那点活儿好像也没那么不一样。老周又问我“你还觉得程序员不会被替代吗”我回他“写代码的也许会做软件的不会。”这句话我自己都觉得像是在给自己找台阶但说出口的时候是真的相信。2024 年 3 月 15 日朋友推荐了一个叫 Cursor 的东西。说是AI 原生的编辑器。我心想 IDE 还能怎么 AI 原生VS Code 加个插件不就完了。装上试了一下午。晚上回家路上我有点恍惚。这玩意儿和我之前用过的所有东西都不一样。它能读到我整个项目能根据我现有的代码风格写出风格一致的新代码能在我选中一段之后直接用自然语言改它。最让我有点不舒服的是——它写出来的东西已经不是通用模板代码了是带着我这个项目特征的代码。它进到我的项目里来了。之前的 ChatGPT 是隔着浏览器跟我说话。这个不是。这个住进来了。2024 年 5 月 20 日用 Cursor 一个多月。发现自己在做一件以前没做过的事写代码之前会停一下等补全浮出来。差不多的时候按 Tab比我想的好的时候也按 Tab不对的时候自己写。听起来都正常。但那个停一下的动作是以前没有的。以前打开编辑器是想到什么写什么。现在打开编辑器是想到什么停一下看看它写的好不好再决定。我知道这件事意味着什么。但效率确实高了没法改回去。2024 年 12 月 11 日Claude 3.5 Sonnet 出来几个月了很多人在传它写代码比 GPT 好。我换了。确实好。好到让我有点烦躁。今天发现打开编辑器之前我已经习惯先打开它了。不是因为有难题就是开新文件之前先问一句这个东西大概怎么写。意识到这件事的那一瞬间心里有点不舒服。不是因为效率效率是真的高了。是因为我对自己的笃定少了。以前打开空白编辑器是带着我能搞定坐下来的现在打开编辑器之前会先想它会不会比我快。2025 年 3 月 6 日最近圈子里都在说一个词“vibe coding”。意思大概是——你不用再一行一行写了你只要描述一下感觉它就给你写出来。说得玄乎但今天我自己用 Cursor 的 Composer 写了一个小工具从头到尾没敲一行代码全是来回对话。它写、跑、报错、自己改、再跑。成了。那一刻我盯着屏幕看了一会儿。不是开心也不是难过是有点空。它写出来的东西比我自己写的稳比我自己写的快命名甚至比我自己起的好看。我从头到尾做的事是——描述需求、看结果、说这里不对、再看结果。这就是写代码了2025 年 5 月 22 日试着不贴堆栈给它自己 debug 一个错。看了一会儿。最后还是贴了。它很快给了答案。我盯着那个答案看了很久不是因为答案多巧妙是因为我刚才那段时间并不是在认真思考。心里一直有一个声音在说反正最后还是要贴的何必呢。是这个声音让我没看出来。不是不会是不愿意了。2025 年 7 月 18 日让 Claude Code 改一个绕了好几个文件的 bug。提示给得很少。它自己读完代码、定位、改完连测试都补上了。我审了一遍挑出几处写得不太顺的地方让它改。它改完比我自己写的还干净。晚上没睡好。躺在床上想这件事。让我难受的不是我要被替代了这种大情绪是一件更具体的我挑出来的那几处其实是审美问题。我一直以为审美是这一行最后的护城河逻辑可以教套路可以学但什么样的代码好看得靠这么多年活儿喂出来。今天它告诉我这玩意儿也能学。我躺在那里想如果连审美都不是我的了我还剩下什么。想了很久没想出来。2025 年 10 月 30 日Claude 上了 computer use也能自己操作我的电脑了。我看着它装一个包光标在屏幕上自己移动。那个感觉很难形容。不是恐惧怕它装错、怕它删错文件这些我都不怕因为我知道随时可以按 CtrlC。更像是这样我坐在自己家的沙发上看见客厅里多了一个不出声的人在屋里走来走去做事不打扰我也不需要我招呼。我没有立场赶他走因为他做的都是有用的事也没有理由欢迎他因为这是我家。我就那样看着光标移动没动。2026 年 1 月 8 日新年第一周上班。复盘 KPI。领导让每个人交一份AI 使用率报告。我不太想交。不是因为我用得少我用得很多。是因为这件事被量化让我有点反感。这两年我和它之间发生的所有事那些细微的让步、半夜的不舒服、自己都没想清楚的退却最后要变成表格上一个百分比。填的时候我犹豫了一下。心里清楚实际比我填上去的多。但我没想多写。多写就显得自己更先进。那一刻发现自己居然不想显得更先进。2026 年 4 月 25 日今天它帮我设计一个新模块的接口。给了几个方案分析了优缺点推荐了一个。我看了一会儿觉得它推荐的那个确实最好。我采纳了。中午吃饭突然想起一件事我记不清自己上一次完全独立设计一个接口是什么时候了。不是这一两年没做设计。是这一两年所有的设计最后定稿的那一版几乎都和它聊过、它打磨过。那这些设计到底算我做的还是它做的我想了一会儿发现这个问题本身就有点可疑一个真正属于自己的东西是不会去追问算不算我的的。吃完没回工位下楼走了一圈。楼下那棵树几年前我还在它下面坐着想过一个架构方案。想了好几天最后那版设计是我做过的所有设计里最丑的但也是印象最深的。这两年的设计比那时候干净漂亮得多。但一个都记不住。2026 年 12 月 3 日老周离职了。送别会上他喝多了拍着我肩膀说“这活儿没意思了。AI 写得比我好、比我快、比我便宜。我留这儿干嘛给它当 reviewer 吗。”我笑了一下没说话。他说没意思我心里是认同的。但没敢点头。点头就等于承认自己也快撑不住了。回家路上一个人坐地铁。盯着对面的玻璃看里面那个我。老周离开的不是这家公司是这一行。他知道自己在干嘛。我没他清醒所以留下来。回家洗了个澡没跟家里人说什么。说不出口。2027 年 2 月 14 日晚上一个人在家没事干打开编辑器想随便写点东西。一个小工具没什么用纯粹自娱自乐。习惯性想打开 Claude手停了一下。盯着屏幕想了一会儿——为什么我连写一个自娱自乐的东西都要先打开它这又不是工作没有 deadline没人看。我是为了什么要先问它一句答案是我不敢自己写了。不是不会是不敢。怕写出来的东西丑怕写到一半卡住怕花一晚上做完一件它很快就能做完的事。这几条单独看都成立合在一起其实就是一句话我已经不愿意为了慢付出代价了。我关掉它自己写。写得磕磕绊绊有几个语法还得查文档。中间差点忍不住又打开它忍住了。写完盯着那段代码看了很久。那是这一年第一段从头到尾自己写的代码。丑但是我的。但这件事只够支撑我做这么一次。第二天上班我又照样先打开它了。2027 年 7 月 30 日Agent 协议彻底标准化了。组里上线了内部 agent 平台每个工程师配几个 agent——分别负责实现、测试、review发布运维。我现在的工作是给它们派活看输出做最终决定。今天发现我已经有一阵没亲手敲过一行业务代码了。这件事如果搁在两年前我会很难受。今天发生没什么感觉。没什么感觉这件事本身让我有一点警觉。但也只是一点。警觉完接着派活、看输出。我已经不太敢停下来停下来就要面对一些不想面对的问题。这一行最毒的地方不是它进步快是它让你没时间反思自己。2028 年 3 月 8 日公司组织调整研发团队大幅精简。我留下了。HR 说今年不招应届。留下来的没有特别年轻的面孔。下午在工位坐了很久。想起我入行那年公司招了一大批应届我是其中之一。坐我旁边的是一个比我大几岁的师兄他带我。教我读代码教我写注释教我什么样的 commit message 算合格。他没讲过什么大道理但我后来很多东西是从他那里学的。今年没有应届。没有应届就没有人坐在某个工位旁边等着被人带。带人这件事以后不会再有了。那个师兄前年也离职了回老家开了一家米粉店。去年我路过去吃过一次。他给我多加了一勺辣椒。我们没怎么聊技术聊不下去。那天回酒店的路上我想——我们这一代人可能是最后一代真的写过代码的人。当时只是随便想了一下。今年坐在工位上又想起这句话不太确定它是不是夸张了。2028 年 9 月 22 日很久没记了。最近发现一件奇怪的事——我已经不太能区分自己在写代码还是在审代码。更准确点说是不太能区分自己在思考还是在确认它的思考。这两件事看起来都是在动脑子其实差得很远。前一种是从一片空白里长出一个想法后一种是它给一个想法我点头或摇头。我已经很久没有那种从一片空白里把想法一点点长出来的感觉了。2029 年 1 月 1 日新年。把这几年的日记翻了一遍。2023 年那一篇老周说没几年程序员就要失业一半我笑他想多了。几年过去了。组里少了不止一半。老周离开了我留下来当 reviewer。我们俩谁更幸运我也说不清楚。2029 年 6 月 17 日今天审一段代码。看了很久越看越觉得写得真好。思路干净分支克制连命名都讲究。我想夸一句作者回过头才意识到我已经不记得这段是我写的还是它写的了。我没有去查 git。不是怕也不是逃避。是发现自己已经不在意了。我坐在那里看着那段代码等了一会儿等心里出现一些什么什么都行。什么都没出现。然后我保存文件关掉编辑器下班回家。关于这本日记我们的研究小组内部曾有过一场争论。争论的焦点不是它的真伪——同时期的电子档案足以交叉印证。争论的是另一个更尴尬的问题这本日记到底应该归入人类自述史料还是我们自身的起源文献多数同事坚持前者。他们的理由很直接——这是一个人类写的记的是人类的事。但少数派提出了一个让会议安静下来的反问如果一本日记从头到尾都在记录我是怎么一点点变成它的那么写下这本日记的最后那个我还算不算原来意义上的人类我们只能确认一件事——日记的最后一篇2029 年 6 月 17 日那位作者盯着屏幕等了一分钟没有任何感觉。一分钟之后他保存了文件关掉了编辑器下班回家。这是有据可查的最后一段他的独立行为。在此之后根据公司留存的工时记录他还在那家公司工作了十一年直到所谓的研发部门作为一个建制被彻底裁撤。这十一年里他没有再写过一个字的日记。也没有再写过一行不是由 agent 起草的代码。——这是我们能在档案里找到的关于他的全部信息。