孔乙己
Published:
中关村科技园的咖啡馆,格局和别处不同。
临街是一个曲尺形吧台,台面上常年摆着几台展示用的咖啡机,银亮的机身在灯下泛着冷光,随时能做拿铁、美式。来喝咖啡的,多是附近写字楼里的程序员。午后花二十八块钱,买一杯冰美式,靠在吧台边站着,掀开笔记本电脑,用 Cursor 或者 Claude Code 敲几段提示词,十几秒工夫,一个功能模块便生成了,连测试用例都附得齐齐整整。
这些程序员之间的谈话,向来很有意思:谁用了什么新模型,谁靠 AI 一个人顶了从前五个人的活,谁的 AI 创业公司又拿到了新一轮融资。
他们中间,唯有孔乙己与众不同。
他身材很高,常年穿一件洗得发白的格子衬衫,背一个鼓鼓囊囊的双肩包,鼻梁上架着黑框眼镜,镜片上总留着几道怎么擦也擦不净的指痕。每次来到店里,照例买一杯美式,坐下,打开一台旧ThinkPad。那机器贴满了历年技术大会的贴纸,密密层层,像一堵褪色的勋章墙。
然后,他便端端正正地敲起代码来。
键盘声极有节奏,啪嗒,啪嗒,清脆而固执。他从不用 Copilot,也不用任何 AI 工具,只一行一行地手写,他不像是敲击键盘,更像是把玩键盘。

他对人说话,总满口“单一职责”“开闭原则”“依赖倒置”,教人听得半懂不懂。
他一来,咖啡馆里便总有人看着他笑。
“孔乙己,你脸上又添黑眼圈了!”
他不回头,只盯着屏幕,慢慢说道:
“一个工厂模式,叫你们用 AI 生生写成这个样子……根本不符合里氏替换原则。”
“那你怎么连需求都交不出来?听说你们组上周又垫底了。”
孔乙己顿时涨红了脸,额上青筋微微绽起,争辩道:
“架构的事,怎么能叫交不出来?这是技术沉淀……技术沉淀,你们懂么?”
接着便是什么“领域驱动设计”“六边形架构”“整洁架构”之类,引得众人哄笑起来。店里店外,一时充满了快活的空气。
听人背后议论,孔乙己原先确是阔过的。
他毕业于国内顶尖高校,早年在 GitHub 上开源过一个颇有名气的框架,拿过上千颗星;也在大厂做过架构师,手底下带过十几个人的团队。那时他说一句“这样设计不对”,会议室里便没人敢轻易反驳。
只是后来,AI 编程兴起,人人争着拥抱新工具,他却偏像铁了心要和时代作对。
他逢人便说:“AI 写的代码,没有灵魂。”
别人问什么叫灵魂,他便从 SOLID 原则讲到二十三种设计模式,能讲上整整一个下午。
渐渐地,团队缩编,项目砍掉,他也离开了大厂。后来辗转几家中小公司,听说没有一处待得长久。
孔乙己喝完一杯咖啡,脸色往往便会好看些。
有一回,一个年轻人端着电脑凑过去,屏幕上是一段 AI 生成的代码,恭恭敬敬地请教:
“孔老师,您帮我看看,这段写得怎么样?”
孔乙己只扫了一眼,眼睛便亮了。
这是他最得意的时候。
他推了推眼镜,把自己的电脑转过去,逐行讲解:
“你看这里,违反了迪米特法则;这个类承担职责太多;这里该用策略模式,把这些 if-else 全拆掉……”
他说得很细,手指在屏幕上点来点去,声音也渐渐高起来,像个重新站上讲台的老教师。
年轻人听完,笑了笑,却没说什么,只把那段代码往 AI 对话框里一贴,敲下一行:
“请按 SOLID 原则重构以上代码。”
不过三秒,一份结构清晰、注释完整、模式规范的代码便跳了出来。
孔乙己张了张嘴,脸上一阵青一阵白,半晌,才低低说道:
“这……这不过是形似。它不懂为什么要这样写。”
可年轻人已经合上电脑,转身走了。
又过了些时日,他再来时,整个人已瘦了一圈。格子衬衫空荡荡地挂在身上,肩线都塌了。
他买了咖啡坐下,打开电脑。旁边的人瞥见,桌面上密密麻麻开着招聘网站的标签页,旁边摊着几份打印出来的简历。
可他仍旧固执地打开IntelliJ IDEA,一个字母一个字母地敲。
有人忍不住问:
“孔乙己,你当真不会用 AI?”
他沉默了许久。
“会一点……不是不会。”
声音很低,像从很远的地方飘来。
“我只是觉得,手写的代码……是有温度的。”
这一次,旁边的人没有笑。
那天下午,咖啡馆里出奇地安静,只听见制冰机偶尔发出一声轻响。
此后很长一段时间,再没人见过孔乙己。
后来听说,那一带写字楼空了大半,不少公司搬走了,也有许多人转了行。时代的浪潮经过中关村,不知卷走了多少人。
至于孔乙己,有人说在回龙观的出租屋里见过他,接些零散外包,一行一行手写代码,做着别人用 AI 十分钟便能完成的活;也有人说,他早已回了老家。
大约孔乙己的确是不在这个行业里了。但他的代码还在。只是如今,很少再有人看它。
直到如今,我偶尔打开某个老项目的代码仓库,还会翻到他留下的几段代码。
注释工整,命名严谨,设计模式用得恰到好处。它们安静地躺在那里,像一件精心雕琢的旧家具,置身于满屋 AI 生成的轻巧板材之间,显得格格不入。
却又有一种说不出的好看。
二〇三〇年四月二十八日









