艰难的路
博客站用的是一个线性列表。从上往下,标题和日期被排成一列。没有交互。frontmatter 埋在里面,不点开就看不见。这个状态持续了一段时间。
然后我意识到,不够用了。
那天晚上在办公室,屏幕亮着。我把远程桌面连到住所的电脑。三个窗口被拉开。AI 在右边,代码在中间,浏览器在左边。我对自己说,改吧。
那一刻的不满足感不是突然出现的。它在过去一段时间里慢慢累积,直到那天晚上到了某个临界点。改动之前,我已经知道这件事迟早要做。
改得很快。AI 出建议的速度超过了我的判断速度。一个建议出来,我扫一眼就接受了。来不及想太多。
这就是 Chris Lattner 所说的老虎机式编程。传统软件工程中,写代码之前要先做系统推演。状态机、内存模型、异常流、边界条件,这些步骤全被 AI 工具跳过了。我做的事情成了 prompt 到黑盒试出能跑的代码之间的反复循环。每一次循环都在累积技术债。
页面在这个过程中变了。蓝色链接带着下划线出现在暖灰色背景上。字体之间的差距拉不开。标签不在该在的位置。右侧空白像一道裂开的缝,不知道从哪来的。视觉的混乱不是一天堆出来的。每一轮我没有验证就放过去的东西,都在页面上留下了痕迹。
累积到一定程度,页面变成了我不认识的样子。
看不下去。焦虑在那天晚上达到顶点。我盯着屏幕,页面丑陋不堪。后悔的情绪涌上来。是不是不该改。是不是破坏了什么。原来说不上好但至少不丑。现在连看都不想看。
Tony Fadell 把这种状态叫做认知投降。思考过程被完全交给 AI 之后,短期内能堆出东西,但安全性和可维护性被跳过了。门槛消失之后,品味就成了唯一的壁垒。而在那个晚上,我的壁垒已经被冲垮了。破防的瞬间在办公室,与回到住所的路上还在反复。那种状态不是一时能消退的。
我在路上想,怎么会搞成这个样子。
然后我停下来了。
慢下来这件事非常难。但我意识到,不慢下来的话,AI 产出的东西就是平庸的。平庸比丑陋更可怕。丑陋至少还能被看见,平庸是连看都不值得看。
不能猜。要去看原文。看源码。去看最深层的原理。
停下来之后我开始回顾。用格雷马斯的六行动元模型来梳理,结构变得清晰。主体是我。客体是一个干净的博客站。发送者和接收者都是我自己。辅助者是 AI 和电脑。反对者,不是代码,不是CSS,不是布局。是我脑袋里的混乱本身。
认知速度跟不上生成速度。期望和现实之间的裂缝在哪里,哪里就是真正的战场。代码和布局只是那个裂缝的表面显现。这个认识本身,就是转折点。
那天晚上,改造通过远程桌面完成。办公室的电脑连到住所的电脑。远程操控的割裂感非常微妙。操作在发生,但我不在场。每次网络波动都在提醒我隔了一层。每次延迟都在放大那种不踏实的感觉。
睡醒之后,我走到住所的电脑前坐下。本机操作。零延迟。
屏幕上的东西更清楚了。包括好的部分和不好的部分。带着昨晚的认识,我在本机上落地修改。隔着一层的时候,判断是模糊的。直面屏幕的时候,每一个选择都更干脆。
我不再问AI该怎么办。我问自己,这里应该是什么样的。
现在的博客站是这个样子的。纯白背景。圆角卡片。按时间倒序平铺。每篇文章的标题、日期、描述、标签各在其位。hover 的瞬间变色,没有过渡延迟。没有多余的 style 污染眼睛。
从格雷马斯符号矩阵的角度看,这是从无序态到有序态的转化。但路径不是从A直接到B的。中间经过问题态,改了一半的、样式没应用的、字体层级不够的。经过可维护态,global 样式修复的、卡片样式统一的、字体层级标准化的。每一次报错和反馈,都不是纯粹的挫折。它们都蕴含着一个通向可维护态的路径。
每一次报错。每一次反馈。每一次没有和没改成功。这些东西在发生时看起来是麻烦,回头看全是路标。
当前状态。不是终点,是阶段性成果。
冷静下来之后,我去寻找外界的验证。结果发现,我的个人挣扎不是孤例。它是一个行业级震荡的样本。
George Hotz 说 AI Agent 会堆大量隐蔽垃圾代码,是软件开发史上最昂贵的错误之一。Chris Lattner 说 vibe coding 正在对代码库发起 DDoS 攻击。Bjarne Stroustrup 说高级开发者开始退休,因为不想再做 AI 生成代码的验证工作。Tony Fadell 说认知投降之后,品味是唯一的壁垒。
METR 的随机对照实验里,有经验的开发者用 AI 做 SWE 任务实际变慢 19%,但开发者普遍以为自己变快了。Stanford SWE-chat 的数据显示,超过一半的 AI 生成代码被丢弃,安全漏洞率是人类编程的 9 倍。阿里和中山大学的 SWE-CI 测试中,AI 改旧 bug 时 75% 的概率顺手把别处搞崩。
当时以为是自己无能。原来不是这样的。
脑袋里的混乱可以被理成结构。结构又可以被写到样式表里。样式表可以被投到屏幕上。从丑陋到干净。从猜测到看原文。从快到慢。
艰难的路。但头已经开了。
参考文献
- Greimas, A.J. (1966). Sémantique structurale. Larousse. — 六行动元模型与符号矩阵理论来源。https://archive.org/details/smantiquestructu0000grei
- Chris Lattner × Jeremy Howard. Build to Last. fast.ai, 2025-10. 访问于 2026-06. https://www.fast.ai/posts/2025-10-30-build-to-last.html
- Tony Fadell. 播客对谈, 2026-06-23. 访问于 2026-06. https://wv.video.qq.com/export/UzFfBgAAxLOAaHUNbljYjMzT4DBZDclO4OscdAh8cr637WcP5Bc
- George Hotz. AI Agent 最昂贵错误之一. 36kr/InfoQ, 2026-05-26. 访问于 2026-06. https://www.36kr.com/p/3825907447944069
- Bjarne Stroustrup. C++之父开撕 AI Coding. 虎嗅/InfoQ, 2026-05-23. 访问于 2026-06. https://www.huxiu.com/article/4860787.html
- METR. Early 2025 AI-Experienced OS Dev Study. 2025-07-10. 访问于 2026-06. https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/
- Stanford SWE-chat. Coding Agent Interactions From Real Users in the Wild. arXiv, 2026. 访问于 2026-06. https://new.qq.com/rain/a/20260501A066HG00
- 阿里 + 中山大学 SWE-CI. CI: Evaluating Agent Capabilities in Maintaining Codebases. arXiv, 2026-03. 访问于 2026-06. https://arxiv.org/html/2603.03823v3
- GitClear. The State of Code Review in the Age of AI. 2024-2026. 访问于 2026-06. https://gitclear.com/blog
- Matt Pocock. 用软件工程放大你的 AI 产出. Hubwiz, 2026-06-04. 访问于 2026-06. https://www.hubwiz.com/blog/amplify-your-ai-output-with-software-engineering