AI Engineer Europe 2026 · 演講 · 2026-04-30 · 19 分
用 Markdown 取代 worktree 程式
Replacing 12K LoC with a 200 LoC Skill · David Gomes,Cursor
Cursor 把 Git worktree 功能從大量程式碼改寫成 skill 與 sub-agent,刪掉約 15,000 行。David Gomes 說明換來什麼、失去什麼,以及怎麼補。
概要
- 刪掉約 15,000 行Cursor 原本為 worktree 寫了建立、管理、隔離、judge 與清理等一整套程式,新做法只靠 skill 與 sub-agent。David Gomes 說新版「幾乎一樣好」,維護成本低很多。
- 兩個既有功能拼起來worktree 指令與 best-of-n 都用 Markdown 描述。David 說 best-of-n 那份只有大約 40 行,舊版大概是 4,000 行程式碼。
- 多了舊版做不到的事聊到一半可以切進 worktree、多個 repo 的專案可以用,best-of-n 的父 agent 也能整合各家實作的優點。
- 最大的代價是 agent 會跑偏舊版的隔離是強制的,新版靠 prompt 要求模型待在該目錄,長對話裡模型可能忘記。另外功能更難被發現,論壇上也有不滿的聲音。
- 用 evals 與 RL 補強David 用 Cursor CLI 寫 evals,檢查模型有沒有在主要 checkout 做事,並打算把這類任務加進 RL 訓練。
- 下一步在新的 agent 視窗做更原生的 worktree 實作,並研究不依賴 Git 的本機平行化方式。
原話
▶ 00:20“how Markdown is basically the new code.”
Markdown 基本上就是新的程式碼
▶ 10:18“Worktrees are kind of an advanced thing”
worktree 算是進階功能,David 說只有愛平行化的 Cursor 重度使用者才會用
▶ 12:46“It was physically impossible for it to do so. Now we're trusting the model.”
舊版 agent 物理上不可能碰到 worktree 以外的檔案,現在則是信任模型
▶ 15:31“Writing these kinds of evals is actually super, super easy.”
寫這類 evals 其實非常非常簡單
延伸
- 新的 agent 視窗裡更原生的 worktree 實作,David 沒有說時程。
- 不依賴 Git 的本機平行化方案,David 只說之後會再分享,沒有透露是什麼。
章節
點時碼直接跳到原片的那一段。
- 開場:Markdown 是新的程式碼David 說 Cursor 最近用一份 skill 取代了應用程式裡大量的程式碼、依賴與測試。
- 回顧 worktree 功能worktree 是獨立的 checkout,讓多個 agent 平行作業互不干擾,並可用 best of n 讓不同模型做同一件事再比較。
- 舊實作有多複雜建立與管理 worktree、讓 agent 不能跳出去、judge、system reminders,還有清理使用者留下的大量 worktree。
- 大規模刪除新實作刪掉約 15,000 行程式碼,David 說幾乎一樣好,維護輕鬆很多。
- 用 skill 加 sub-agent 重做worktree 指令的 skill 教模型建立 worktree、跑使用者設定的 setup script,並留在那份 checkout 裡。
- best-of-n 的 skill為每個模型開一個 sub-agent 與 worktree,等全部完成後由父 agent 評論與比較,約 40 行 Markdown。
- 跨平台與「留在原地」內含 Windows、Linux、Mac 的指令;最難的是要用強硬的 prompt 要求模型不要離開 worktree。
- 其他指令與為何做成 command還有套用與刪除 worktree 的指令;做成 command 是為了讓 prompt 由伺服器端更新,使用者不必升級。
- best-of-n 示範同一個任務交給五個模型,各自在自己的 worktree 工作,最後父 agent 比較結果,使用者還能要它合併不同版本的優點。
- 新做法的好處維護成本低、能中途切換、支援多 repo 並各開一個 PR、judge 時父 agent 掌握更多脈絡。
- 論壇上的反應舊版是挑一個結果就好;新版推出後,論壇上有人不滿意,David 說他們持續在追。
- 缺點:agent 會跑偏舊版隔離是強制的,新版靠模型自己遵守,長對話可能忘記;另外看得到建立過程所以感覺比較慢,入口也更難找。
- 改進:evals 與 RL用 evals 改 prompt;上一版模型沒有針對這類環境做過 RL,所以要把任務加進訓練流程。
- 寫 evals 的經驗用 Cursor CLI 的 headless 模式加兩個 scorer 測試;David 發現各家模型差很多,Composer 與 Grok 表現比較好。
- 接下來的計畫在新的 agent 視窗做更原生的 worktree 實作,繼續改善 skill。
- 不依賴 Git 的平行化worktree 佔磁碟空間、且只適用 Git,他們正在研究其他本機平行化的做法。
名詞
- Cursor
- David 任職的公司與產品,這場講它的 worktree 功能怎麼重做
- Git worktree
- 獨立的 checkout,讓多個 agent 平行作業而不干擾彼此
- best of n
- 把同一個任務交給多個模型,各自完成後比較結果
- skill / sub-agent
- Cursor 既有的兩個功能,新的 worktree 實作就是用這兩個拼起來
- Composer
- Cursor 自家的模型,在 David 的 evals 裡表現較好
- Braintrust
- David 舉的 eval 工具,說用這類工具寫 eval 非常簡單
- Cursor CLI
- 可以 headless 執行,David 拿來跑 evals







