EP 4472024-10-062:29:04
Cursor 創辦團隊談 AI 寫程式的未來
Michael Truell、Sualeh Asif、Arvid Lunnemark、Aman Sanger
Cursor 四位創辦人談 Tab 怎麼預測下一步、套用修改為何難,以及為什麼想把控制權留給寫程式的人。
Cursor Team: Future of Programming with AI | Lex Fridman Podcast #447在 YouTube 看 ↗
重點6 條
- 編輯器要快、要好玩:他們認為做出好的 AI 編輯器,關鍵不是功能多,而是反應快、用起來有樂趣,這也是決定自己做編輯器、不做 VS Code 插件的原因。
- Cursor Tab 在猜你的下一步:不只是補字,而是預測下一次要改哪裡、該跳去哪一行,背後靠稀疏模型(MoE)與類似 speculative decoding 的技巧兼顧速度與準確。
- 套用修改比想像中難:前沿模型很會寫出修改的草案,但準確套進檔案是另一個難題,於是他們訓練了專門的 Apply 模型來做這件事。
- 模型很不會校準 bug 的嚴重程度:即使是最聰明的模型,主動找 bug 時也分不清哪個問題會搞垮伺服器、哪個只是小瑕疵,他們認為這是 AI 大量接手寫程式前必須先解決的事。
- 本地模型現在不現實:多數使用者的電腦根本跑不動,模型也只會越做越大;他們反而更擔心資料集中到少數幾家 AI 公司手上,聊到用同態加密做「加密推論」的構想。
- 未來想保留人的控制權:不想把寫程式變成對聊天機器人下指令、然後撒手不管,而是持續放大人的判斷與品味,靠 AI 消掉那些不需要動腦的打字。
時間軸24 段
他們認為編輯器該快、該好玩,這比功能多寡重要,也是決定自己做編輯器的起點。
幾位創辦人原本都是 Vim 使用者,換用 Copilot 後深受震撼;後來拿到 GPT-4 內測資格,讓他們確信該做出一個新的編輯器。
他們認為只要在功能推陳出新的速度上超前對手,就能在這波浪潮裡贏,VS Code 插件的身分做不到這件事。
Tab 不只補字,還要猜接下來該改哪裡、跳到哪一行,目標是消除「沒有資訊量」的打字動作。
用稀疏模型(MoE)撐住又長又密集的輸入,再用類似 speculative decoding 的做法讓生成變快。
模型改的東西越大,人要審查就越累,他們在想辦法把該看的地方標出來、其餘的淡化,減少逐行覆核的負擔。
前沿模型很會寫出修改草案,但準確套進檔案很難,於是訓練了專門的 Apply 模型,再用 speculative edits 讓套用變快。
目前綜合表現最穩的是 Sonnet;也點出 SWE-bench 這類公開 benchmark 常被訓練資料汙染,不能反映真實使用情境。
把該塞進 prompt 的資訊拆成元件、依優先權排版,讓有限的 context window 用在刀口上。
覺得 agent 概念很酷,但多數任務還沒到能放手交給它的程度,比較適合範圍小、定義明確的工作。
從 KV cache 重複利用、RL 訓練用到的 pass@k,講到 MQA、GQA 與 DeepSeek 提出的 MLA 怎麼壓縮快取。
Arvid 提出的構想:開一個隱藏視窗讓 AI 在背景改程式碼、拿 linter 回饋,卻不影響使用者看到的畫面。
比起做新功能,更想要 agent 先抓出「這裡怪怪的」;但即使最聰明的模型,也分不清哪個問題會搞垮伺服器、哪個只是小瑕疵。
談用 proof 取代 unit test 的長期願景,也聊到要不要做「抓到 bug 才收費」的付費機制。
想讓 AI 能實際跑程式驗證自己,也講了資料庫要能像程式碼一樣開分支,以及用 Merkle tree 同步本機與伺服器的程式碼狀態。
多數使用者的電腦根本跑不動,模型又只會越做越大,本地化的優勢正在消失。
擔心所有人的資料最後都集中到少數幾家 AI 公司手上,提出用同態加密做「加密推論」的構想。
在「靠檢索找出相關程式碼」與「直接把程式碼訓練進模型權重」這兩條路之間權衡。
討論 test-time compute 的意義、process reward model 與 outcome reward model 的差別,也回應「Copilot 整合 o1 後 Cursor 是不是要收了」的質疑。
從蒸餾、故意生成 bug 再訓練抓 bug 模型,到用可驗證的答案篩選模型輸出,一一舉例說明。
談生成與驗證哪個比較容易,接著半開玩笑猜測 AI 什麼時候能拿到數學界的費爾茲獎。
除了模型大小,還要考慮推論成本與 context 長度;就算給無限的錢,真正稀缺的還是好點子與扎實的工程。
不想做成對聊天機器人下指令就撒手不管,而是持續放大人的判斷與品味,還舉了一個花五天手動搬程式碼的真實例子。
用「人機混合工程師會比純 AI 系統更會做判斷」這段宣言,為整場對談收尾。