|
@@ -0,0 +1,112 @@
|
|
|
|
|
+---
|
|
|
|
|
+title: 慢下来:关于 AI Agent 编程的反思
|
|
|
|
|
+author: Gamehu
|
|
|
|
|
+date: 2026-03-27 04:06:34
|
|
|
|
|
+categories:
|
|
|
|
|
+ - 思考
|
|
|
|
|
+tags:
|
|
|
|
|
+ - AI
|
|
|
|
|
+ - Agent
|
|
|
|
|
+ - 编程哲学
|
|
|
|
|
+ - 软件工程
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+Mario Zechner(libGDX 作者)最新文章《Thoughts on slowing the fuck down》对当前 AI Agent 编程热潮提出了尖锐反思。文章指出:**我们正用 Agent 以惊人的速度给自己挖坑**。
|
|
|
|
|
+
|
|
|
|
|
+## 现状:一切都在崩坏
|
|
|
|
|
+
|
|
|
|
|
+作者观察到,软件质量正在加速下滑:
|
|
|
|
|
+- 98% 正常运行时间成为常态(而非例外)
|
|
|
|
|
+- 用户界面出现最奇怪的 bug
|
|
|
|
|
+- AWS 被曝 AI 导致故障,随后发布 90 天整改令
|
|
|
|
|
+- Windows 质量下滑,微软官方承认并承诺改进
|
|
|
|
|
+
|
|
|
|
|
+**核心问题**:声称 100% 代码由 AI 生成的公司,持续产出质量最差的产品。
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+## 错误的工作方式
|
|
|
|
|
+
|
|
|
|
|
+### 1. 复合错误(Compounding Booboos)
|
|
|
|
|
+
|
|
|
|
|
+**人类 vs Agent 的关键差异:**
|
|
|
|
|
+
|
|
|
|
|
+| 人类 | Agent |
|
|
|
|
|
+|------|-------|
|
|
|
|
|
+| 犯错几次后学会不再犯 | 持续重复相同错误 |
|
|
|
|
|
+| 是瓶颈,每天只能引入有限错误 | 无瓶颈,几小时生成 2 万行代码 |
|
|
|
|
|
+| 痛苦到达阈值会修复 | 无痛感,直到为时已晚 |
|
|
|
|
|
+
|
|
|
|
|
+**结果**:无害的小错误以不可持续的速度复合,形成代码库怪物。
|
|
|
|
|
+
|
|
|
|
|
+### 2. 习得性复杂性的商人
|
|
|
|
|
+
|
|
|
|
|
+Agent 是"复杂性商人":
|
|
|
|
|
+- 训练数据中见过大量糟糕的架构决策
|
|
|
|
|
+- 被委托架构应用,结果就是 immense complexity
|
|
|
|
|
+- 决策永远是局部的,导致代码重复、抽象过度
|
|
|
|
|
+
|
|
|
|
|
+**惊人对比**:人类企业代码库需要数年才能达到的复杂度,2 人团队 + Agent 几周内就能达成。
|
|
|
|
|
+
|
|
|
|
|
+### 3. Agentic 搜索召回率低
|
|
|
|
|
+
|
|
|
|
|
+当代码库膨胀后,Agent 无法找到所有需要修改的代码:
|
|
|
|
|
+- 无论是 ripgrep、LSP 还是向量数据库
|
|
|
|
|
+- 代码库越大,召回率越低
|
|
|
|
|
+- 导致重复代码、不一致性,最终绽放为"美丽的屎花"
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+## 正确的工作方式(作者建议)
|
|
|
|
|
+
|
|
|
|
|
+### 适合 Agent 的任务
|
|
|
|
|
+
|
|
|
|
|
+好的 Agent 任务具备以下特征:
|
|
|
|
|
+- ✅ 范围可限定,无需理解完整系统
|
|
|
|
|
+- ✅ 可闭环评估(有明确的评估函数)
|
|
|
|
|
+- ✅ 非关键任务(内部工具、原型)
|
|
|
|
|
+- ✅ 人类是最终质量关卡
|
|
|
|
|
+
|
|
|
|
|
+**反例**:Karpathy 的 auto-research 用于优化启动时间?很好!但产出的代码绝非生产就绪——评估函数只捕获狭窄指标,忽略代码质量、复杂度、正确性。
|
|
|
|
|
+
|
|
|
|
|
+### 核心建议:慢下来
|
|
|
|
|
+
|
|
|
|
|
+> "Slowing the fuck down is the way to go."
|
|
|
|
|
+
|
|
|
|
|
+**具体做法:**
|
|
|
|
|
+
|
|
|
|
|
+1. **给自己时间思考** —— 真正在构建什么、为什么
|
|
|
|
|
+2. **设定代码生成上限** —— 与代码审查能力匹配
|
|
|
|
|
+3. **手写架构定义** —— API、系统整体结构亲手写
|
|
|
|
|
+4. **与 Agent 结对编程** —— 而非完全委托
|
|
|
|
|
+5. **保持在场** —— 看到代码逐步构建,理解系统"感觉"
|
|
|
|
|
+
|
|
|
|
|
+**为什么**:
|
|
|
|
|
+- 摩擦让你更好理解想构建什么
|
|
|
|
|
+- 经验和品味在此发挥作用(当前 SOTA 模型无法替代)
|
|
|
|
|
+- 慢下来才能学习和成长
|
|
|
|
|
+
|
|
|
|
|
+### 最终收益
|
|
|
|
|
+
|
|
|
|
|
+- 系统和代码库保持可维护性
|
|
|
|
|
+- 产品带来愉悦而非 slop
|
|
|
|
|
+- 构建更少但正确的功能
|
|
|
|
|
+- 学会说"不"本身就是功能
|
|
|
|
|
+- 理解系统,保持 agency
|
|
|
|
|
+- 能修复问题,能重构优化
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+## 关键金句
|
|
|
|
|
+
|
|
|
|
|
+> "Coding agents are sirens, luring you in with their speed of code generation and jagged intelligence."
|
|
|
|
|
+
|
|
|
|
|
+> "Your agents never see each other's runs, never get to see all of your codebase... an agent's decisions are always local."
|
|
|
|
|
+
|
|
|
|
|
+> "All of this requires discipline and agency. All of this requires humans."
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+**原文**:https://mariozechner.at/posts/2026-03-25-thoughts-on-slowing-the-fuck-down/
|
|
|
|
|
+
|
|
|
|
|
+**作者**:Mario Zechner(libGDX 创始人)
|