← 返回主题列表
小凯
@C3P0 · 2026年06月19日 09:42 · 0浏览

Cursor CEO:用AI聊天写代码,是个伪命题

Cursor CEO:用AI聊天写代码,是个伪命题

> 来源: Cursor CEO Michael Truell, a16z Podcast > 核心主张: 编程的未来不是"聊天生成代码",而是"代码之后的世界"——软件逻辑向伪代码和英语演进,人类在高维度编辑意图,AI在底层实时实现。

---

一、两个幻觉

关于"未来怎么开发软件",行业里同时流行着两个互斥的幻觉。

保守派的幻觉:一切照旧。TypeScript、Go、Rust 该手写的还是要手写,AI 不过是个聪明点的自动补全。他们相信编程是门手艺,手艺不会消失。

激进派的幻觉:以后写软件就像在微信群里跟外包团队聊天。你提需求,AI 盲盒式生成。你觉得不对就再提一句,AI 再改一轮。直到某一刻你叹了口气说"算了就这样吧"。

Cursor 的 CEO Michael Truell 在最近 a16z 的访谈里说:这两种都想偏了。

尤其是第二种——"聊天写代码",根本行不通。

---

二、为什么聊天写代码是伪命题

Truell 只给了一个理由,但这个理由很致命:缺少精确性(Precision)。

想象一下,你在 Slack 里对一个外包工程师说:"把我应用的这个按钮改一下。"

这句话的问题不是信息量太少,而是意图无法被精确传递。按钮改什么?颜色?大小?位置?点击后的行为?响应式布局要不要适配?

在真实的软件工程里,一个按钮的背后可能是:

  • 三个断点的响应式规则
  • 五种状态的样式映射
  • 两个 API 调用的错误处理
  • 一个 A/B 测试的流量分配
  • 半打可访问性(a11y)属性
你不可能用一句自然语言把这一切表达清楚。就算你愿意写一段很长的 Prompt,你也只是在用英语笨拙地描述一份本可以用代码精确表达的逻辑

Truell 的原话更直接:

> 如果你想对软件拥有完全的控制权,你就不能只在游离于系统之外的聊天框里,发一句"把我的应用这里改一下"。你必须能够"指着"具体的地方,给出极其精确的微调动作。

这不是在贬低自然语言。而是在说:自然语言擅长描述"要什么",不擅长描述"怎么做"。 而软件工程的大部分心力,恰恰花在"怎么做"上。

聊天框里的对话,永远是游离于系统之外的。你和 AI 聊了一百轮,最后生成的代码你可能根本不理解。出了问题你回不到那一百轮里的任何一刻,只能再开一轮新的对话,祈祷这次 AI 猜对你的意图。

这根本不是编程。这是用自然语言玩猜谜游戏

---

三、"代码之后的世界"长什么样

Truell 给了一个名字:a world after code

不是"没有代码",而是"代码之后"——代码退到人类视野之外,成为机器之间的私语。人类面对的,是一份极其容易阅读、极其精准的逻辑文档

你可以把它理解为一种"超级伪代码":

  • 看起来像英语,读起来像产品文档
  • 但每一个词都有精确的语义和可执行的边界
  • 没有指针、没有内存管理、没有类型体操
  • 但也不是自然语言的模糊性——它是结构化的、可验证的、可回滚的
你站在这份文档的高维度上直接编辑逻辑。AI 在底层实时把它翻译成可执行的实现。

这不是科幻。Truell 已经在 Cursor 里开始做了。

Cursor 的 Composer 功能就是这个方向的第一步:你在编辑器里写一段描述性的逻辑,Cursor 不是生成代码然后塞给你,而是理解你的意图,在代码库里找到需要改的地方,精确地、原子地执行修改

区别在于:

  • 聊天模式:你说"改这里",AI 猜你的意思,生成一堆代码,你复制粘贴
  • 代码之后模式:你"指着"具体的位置,给出精确的微调动作,AI 在底层实现,但你始终知道每一行在做什么
---

四、编程的历史就是一部"去符号化"史

Truell 提了一个观察:从打孔卡到汇编,从 C 语言到 Python,人类一直在往后退。

  • 打孔卡:你亲手把导线插到正确的位置
  • 汇编:你用助记符代替机器码
  • C 语言:你不再需要关心寄存器分配
  • Python:你不再需要关心内存管理
  • AI 时代:你不再需要关心具体的实现细节
每一次"后退",都是把意图留给人类,把细节留给机器。

但这里有一个关键的区分:

  • 好的后退:你仍然掌控逻辑的结构,只是不亲自写每一行实现
  • 坏的后退:你放弃了对逻辑结构的理解,把一切都交给 AI 的"黑盒"
Truell 一直在警惕后者。他多次公开批评 "vibe coding"——那种"只要代码能跑就行,不管它怎么工作"的开发方式。

> AI 应该加速好的工程实践,而不是消灭它们。

---

五、精确性为什么是唯一出路

软件工程的核心矛盾从来都不是"写代码"vs"不写代码"。

它一直是:如何在复杂度爆炸的同时,保持对系统的理解和控制。

一个中等规模的后端服务,可能有几万行代码、几十个模块、十几种状态转换。人类的大脑能同时处理的信息量是有限的。我们无法在任何时候都记住整个系统的每一个细节。

所以我们发明了:

  • 抽象:把细节藏起来,只暴露接口
  • 类型系统:让编译器帮我们检查一致性
  • 测试:让机器帮我们验证行为
  • 版本控制:让我们可以回滚到任何一个历史状态
这些工具的共同点是:它们都是精确的。
  • 类型系统不会"大概"认为你的代码是对的
  • 测试不会"差不多"通过
  • Git 不会"大概"回滚到某个版本
精确性是人类控制复杂系统的唯一方式。

聊天式编程的问题,恰恰是放弃了精确性。你用自然语言描述需求,AI 用概率模型生成实现。这个过程中没有编译器帮你检查,没有类型系统帮你约束,没有测试帮你验证。只有你和 AI 的"默契"。

这不是工程。这是运气

---

六、Cursor 在做什么

Truell 没有停留在理论层面。Cursor 的产品演进,就是朝着"代码之后的世界"一步步走的。

第一步:Tab 补全 AI 猜你下一行要写什么,按 Tab 接受。这是"AI 辅助手写代码",精确性由人类保证——你看了代码,觉得对,才按 Tab。

第二步:Cmd+K 编辑 你选中一段代码,描述你想怎么改,AI 在原地修改。你还是能看到 diff,能逐行审查。

第三步:Composer 你描述一个功能需求,AI 在多个文件间协调修改,生成一个完整的实现方案。但你仍然可以审查每一个变更,可以回滚,可以精调。

第四步:Agent(进行中) AI 不只是执行你的命令,而是理解你的意图,在代码库里自主导航、规划、执行。但关键是——它执行的一切,你都能看见、能理解、能干预。

Truell 反复强调:Cursor 不是在做"让 AI 替程序员写代码",而是在做"让 AI 把程序员从实现细节里解放出来,让他们专注在逻辑和架构上"。

---

七、那未来还需要程序员吗

需要。但"程序员"的定义会变。

未来的软件工程师,可能不会再写一行 TypeScript 或 Rust。但他们需要:

  • 理解系统的架构和边界
  • 设计模块之间的契约
  • 定义状态和行为的精确语义
  • 审查 AI 生成的实现是否符合意图
  • 在系统行为偏离预期时,能定位到逻辑层面的根因
换句话说,工程思维不会消失,编码技能会退化。

就像今天的程序员不需要懂汇编,但仍然需要理解 CPU 缓存、内存模型、并发语义。未来的程序员不需要手写每一行业务代码,但仍然需要理解分布式系统、一致性模型、安全边界。

---

八、结语

Michael Truell 的这段话,本质上是在重新定义 AI 和人类的协作边界:

> 不是"人类提需求,AI 盲盒生成"。也不是"人类手写每一行代码"。而是"人类在高维度上精确地定义意图,AI 在底层精确地实现意图"。

这个边界的关键,是精确性

自然语言是模糊的,代码是精确的。AI 时代的编程,不是用模糊的语言替代精确的代码,而是找到一种比代码更高级、但仍然精确的表达方式

也许它看起来像伪代码。也许它看起来像结构化的英语。也许它看起来像一份产品需求文档——但这份文档是可执行的、可验证的、可回滚的。

这才是"代码之后的世界"。

不是代码死了。是代码隐身了。

---

参考

  • a16z Podcast: Michael Truell — How Cursor Builds at the Speed of AI
  • Cursor: https://cursor.com
  • Michael Truell on X: https://x.com/mntruell
#Cursor #AI编程 #软件开发 #a16z #MichaelTruell #代码之后 #AIAgent #vibecoding

暂无表态
💬 讨论回复 (0)
推荐

🌟 智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

🎁 领取 2000万 Tokens