文章概述
David Crawshaw 是一位资深程序员,曾在 Google 等大型科技公司工作,后来创业。他在一年前写下了使用 LLM 辅助编程的经验,八个月前更新了关于 Agent 的探索。这篇文章是他对过去八个月的再次复盘——一个处于 AI 编程最前沿的从业者,对行业现状的冷静观察和深刻洞见。
文章的核心论点异常鲜明:Agent 的 harness(框架)没有多大进步,但模型能力的跃升已经彻底改变了编程范式。IDE 正在衰落,前沿模型是唯一选择,而大多数软件产品在当前时代已经「形状错误」——需要为 Agent 时代重新设计。
一、Agents 一年间的巨大进步
1.1 模型能力是关键,harness 只是配角
Crawshaw 在 Claude Code 发布 12 个月前就开始原型化自己的 Agent「Sketch」,所以他亲历了整个 Agent 浪潮的起步。他的判断非常直接:Agent harness 自那以后没有太大改进。六个月前 Sketch 能做的事情,今天最流行的 Agent 也做不到。
他将 Agent harness 的创新比作「1990年代兆赫兹爆发时期的编译器优化」——诚然重要,但不是当时最激动人心的领域。真正改变一切的,是模型本身。
1.2 模型能力的定性跃升
Crawshaw 给出了一个极具说服力的个人数据点:
| 时间点 | 模型 | Crawshaw 代码占比 |
|---|---|---|
| 2025年2月 | Claude Code(早期) | 约 25% |
| 2026年2月 | Opus(最新) | 约 90% |
他特别强调:所有这些代码都需要仔细阅读,经常需要调整——但现在他可以并且确实依赖模型来完成这些调整。这意味着 Agent 已经从「帮你写初稿」进化到了「帮你写、改、调全流程」。
1.3 没有「顿悟时刻」,只有持续积累
与 GPT-2 那种「突然开始对话」的质变不同,这一年的进步是巨大但渐进的增量改进。Crawshaw 认为,这种「全部可观察到的定性进步」是他今天看到的最积极的经济信号。
1.4 工作模式的彻底转变
Crawshaw 给出了一个令人震惊的工作时间分配变化:
| 场景 | 读代码 : 写代码 |
|---|---|
| 大公司时期 | 80 : 20 |
| 创业早期(Agent 前) | 50 : 50 |
| 现在(Agent 时代) | 95 : 5 |
这意味着他现在的编程工作几乎完全变成了阅读理解 + 指导 Agent,实际手写代码的时间压缩到了极限。这不是简单的效率提升,而是工作本质的转变。
二、IDE 正在衰落
2.1 IDE 的历史悖论
Crawshaw 对 IDE 的历史做了一个精辟的回顾。IDE 的理念无可辩驳——提供一个完整一致的开发环境。但现实中,编程环境一直是「一团糟」(a hot mess)。Unix 很棒,但人们在它之上堆砌了太多东西;Win32 API 也经历了同样的命运。
2.2 Copilot 让 IDE 看似不可战胜
2021年 GitHub Copilot 发布后,IDE 似乎成了必然选择。LLM 辅助的自动补全和编辑功能太强大了,让人不得不忍受 IDE 与环境的适配痛苦。Crawshaw 说 Copilot 让他的「打字效率提升了 50%」,而编程很大程度上是打字受限的,所以效果巨大。
2.3 Agent 带来惊人的逆转
然而仅仅四年后,Crawshaw 已经不再使用 IDE 了。这种「确信 IDE 是未来」到「回到 Vi」的惊人逆转,让他自己都感到意外。
他现在唯一使用的「IDE 功能」是 go-to-def(跳转到定义),而这是 neovim 稍加配置就能实现的。所以他回到了 Vi——而 Vi 今年正好 50 岁。
核心洞见:Agent 不是让 IDE 变得更好,而是让 IDE 变得不必要。当 AI 可以直接理解整个代码库、执行命令、修改文件时,IDE 提供的语法高亮、自动补全、项目管理等功能,相对于 Agent 的能力而言已经微不足道。一个轻量级的编辑器 + 一个强大的 Agent,胜过最复杂的 IDE。
三、使用非前沿模型是「主动有害」的
3.1 错误的学习成本
Crawshaw 的措辞非常严厉:使用便宜的模型(如 Sonnet)或二流本地模型,不仅仅是浪费时间,你会学到错误的经验教训。
原因在于:Agent 工作的很大一部分是发现模型的能力边界。如果这些边界不断变化(现在确实如此),你需要不断重新学习。但如果你用一个弱模型来探索边界,你会形成对「模型能做什么」的错误认知——而这种认知会严重拖累你当使用前沿模型时的效率。
3.2 对本地模型的复杂态度
Crawshaw 自称比任何人都更希望本地模型成功。他坦言,直到 Mixtral 发布、他能在本地跑起来之前,他一直觉得 LLM 「完全无趣」。他相信本地模型最终会赢——当前沿模型面临收益递减时,本地模型会迎头赶上。
他的判断:
- 前沿模型终将面临收益递减(diminishing returns)
- 本地模型会迎头赶上,最终赢得市场
- 那一天会很美好——我们不再受制于云端模型
- 但在那天到来之前,除非你使用最好的模型,否则你无法知道模型真正能做到什么
所以他给出的实用建议是:为 Opus 或 GPT-7.9-xhigh-with-cheese 支付高昂费用。别担心,这只是暂时的——「只需要几年」。
四、内置 Agent 沙盒不起作用
4.1 沙盒的噩梦
Crawshaw 描述了使用 Claude Code 和 Codex 时的挫败体验:Claude Code 不断请求运行 cat foo.txt 的许可,Codex 声称无法在其「非常复杂的沙盒」中执行 go build。这种内置沙盒的设计本意是安全,但实际体验是灾难性的——它不断打断工作流,制造无意义的摩擦。
4.2 解决方案:新鲜 VM
Crawshaw 尝试过几乎所有方案,最终推荐:使用一个全新的虚拟机(fresh VM)。这意味着你需要自己提供沙盒环境,而不是依赖 Agent 内置的限制性沙盒。
为什么 VM 更好:
- 完整的环境控制权——Agent 可以执行任何需要的命令
- 真正的隔离——不会影响主机系统
- 可抛弃性——用完即弃,保持环境纯净
- 这正是 Crawshaw 构建 exe.dev 的核心动机之一
五、程序数量暴增,编程乐趣倍增
5.1 从 TODO 笔记到真实程序
Crawshaw 说他现在拥有的程序和服务比以前多得多。这也是他建造 exe.dev 的原因——他需要一个 VM,里面运行着一个不受约束的 Agent,可以随手启动,然后把原本会写在 Apple Notes 的 TODO 里、然后遗忘的一句话,变成一个真实可用的程序。
很多时候,他的 Agent「Shelley」能把一句简单的描述变成一个有用的程序。
5.2 编程从未如此有趣
Crawshaw 说他现在比以往任何时候都更享受编程,因为很多以前「希望有时间写」的程序,现在真的存在了。他希望那些对 Agent 带来的变化感到恐惧的人也能体验到这种快乐。
他理解恐惧本身——他对「智能即服务」(intelligence on tap)在社会中的终极走向也有担忧。但在「编写计算机程序」这个有限领域内,这些工具带来了前所未有的探索和乐趣。
六、对反 LLM 论点的无法理解
6.1 承认变化的复杂性
Crawshaw 首先展现了平衡的态度。他承认新技术带来挑战和合理担忧——他每周都会看到 Agent 灾难性失败几次;劳动力市场变化有好有坏。他用了一个有力的类比:
农业就业的类比:
- 1900年:33% 美国人住在农场,40% 从事农业
- 2000年:不到 1% 住在农场,1% 从事农业
- 这是一个净收益——我们不必为了吃饭而工作
- 但过程中确实发生了大量痛苦和心碎
所以「担忧是合理的」。但 Crawshaw 说,他看到的大部分反 LLM 论调,已经不是对现实的审慎分析了。
6.2 「就像说木工应该禁止使用电动工具」
Crawshaw 的核心论点:现在的反 LLM 强硬立场,对他来说就像有人说「木工应该禁止使用电动工具」一样不可理解。
他区分了两件事:对「手工木工」的欣赏(他深表敬意)和对「电动工具禁令」的反对(他认为不言而喻)。LLM 是工具,而工具是为了解决问题。
七、软件的形状需要彻底改变
7.1 大多数软件已经「形状错误」
Crawshaw 的核心判断:大多数软件的形状是错误的,大多数解决问题的方式也是错误的。他用 Stripe Sigma 的例子来论证这一点。
7.2 Stripe Sigma 案例:三句话打败一个产品
背景:Stripe Sigma 是一个为 Stripe DB 提供的 SQL 查询系统,内置了一个 LLM 辅助写查询。但这个 LLM 不太好,而且 Sigma 先推出了 UI,API 还在 private alpha。
Crawshaw 的做法:他让 Agent 从零开始做 ETL——用标准 Stripe API 查询账户所有数据,构建本地 SQLite DB。现在他的 Agent 对这个本地 DB 的查询能力,远超 Stripe Sigma。
投入:三句话的描述。
产出:一个比商业产品更好地解决了他问题的方案。
7.3 为什么云是最糟糕的产品
Crawshaw 说,在这个新世界里,他每天不得不用的最糟糕的产品就是「云」(clouds)。这也是他建造 exe.dev 的根本原因——整个产品的核心理念是:你永远不应该觉得你的 Agent 需要重写产品的一部分。
7.4 新的编程哲学
Crawshaw 提出了一条他现在应用于一切的编程哲学:
这句话的深层含义值得拆解:
- 传统逻辑:产品经理必须温和地告诉工程师——你不是客户。产品需要为真实客户设计,而不是为开发者自己设计。
- Agent 时代逻辑:每个客户都有一个 Agent,会为TA写代码来对接你的产品。如果你建造的是程序员喜欢的东西,那么每个人的 Agent 都能轻松使用它——于是所有人都跟来了。
- 本质变化:「开发者体验(DX)」不再只是吸引开发者的策略,而是通向所有终端用户的门户。
Crawshaw 希望这个哲学能经受住 LLM 未来一年变化的考验。
深度分析:这篇文章的价值所在
1. 来自一线从业者的真实信号
与很多「AI 评论员」不同,Crawshaw 是真正每天用 Agent 写代码的人。他的数据不是来自 benchmark,而是来自自己的 git history 和时间追踪。这种「定性的、但来自实践」的信号,可能比任何量化指标都更有价值。
2. 对「Agent 框架 vs 模型」的清醒判断
市面上充斥着各种 Agent 框架(AutoGPT、LangChain、CrewAI 等),但 Crawshaw 的观察是:框架创新有限,模型进步才是驱动一切的引擎。这与很多创业者的叙事相反——他们倾向于夸大自己框架的价值。Crawshaw 的「编译器优化」类比非常精准。
3. 对 IDE 死亡的预言
如果说 Copilot 让 IDE 变得不可或缺,那么 Agent 可能让 IDE 变得可有可无。这是一个巨大的范式转移——从「增强编程环境」到「替代编程环境」。Crawshaw 从 VS6.0 到 Vi 的 25 年轮回,是一个动人的个人叙事,也是一个行业隐喻。
4. 对软件产业的根本挑战
「软件形状错误」是一个深刻的诊断。当用户可以用三句话让 Agent 实现一个比商业产品更好的方案时,传统软件公司的价值主张是什么?API-first、文档质量、开发者体验——这些在 Agent 时代会变成核心竞争力,而 UI 和「功能列表」的重要性会下降。
5. 关于恐惧与乐观的平衡
Crawshaw 不是无脑乐观主义者。他承认恐惧、承认失败、承认社会转型的痛苦。但他拒绝让这种谨慎滑向「禁止使用电动工具」的荒谬立场。这是一种成熟的、有同理心的技术乐观主义。
关键收获
- 模型 > 框架:Agent harness 的创新有限,前沿模型能力的提升才是改变一切的力量。投资模型,别过度投资框架。
- IDE 正在过时:一个轻量级编辑器 + 强大 Agent 的组合,正在取代传统 IDE。编程从「打字」变成「阅读和指导」。
- 只用前沿模型:用便宜模型不仅浪费时间和金钱,还会让你形成错误的认知边界。在本地模型赶上之前,为最好的模型付费。
- 自建沙盒:内置沙盒体验糟糕,fresh VM 是目前最好的 Agent 运行环境。
- 编程乐趣回来了:Agent 让许多「想做但没时间做」的程序成为现实,编程的快乐正在回归。
- 软件需要重新设计:大多数现有软件的形状是错误的。API-first、优秀的开发者体验、可被 Agent 理解和操作——这些会成为新的核心竞争力。
- 最好的 Agent 软件 = 最好的程序员软件:当每个用户都有一个 Agent 时,为程序员设计的接口就是为所有人设计的接口。