為什麼不是 Cursor / VS Code

你已經有 Cursor 了,或者 VS Code 加上一個 agent 外掛,用得也很順。那為什麼要為了同一件事去學 SSH 和 tmux?

答案跟「哪個比較好用」沒有關係。這是一個架構上的差別,而且這個差別只在你不在電腦前面的時候才會現形。

差別在架構,不在偏好

GUI IDE 裡的 agent,是那個 GUI 程式的一部分。它活在應用程式的 process 裡,狀態存在那個視窗的記憶體裡,輸出畫在那塊畫布上。這代表它需要一塊螢幕、一個已登入的桌面 session、還有一個坐在前面的人。關掉視窗,agent 就跟著結束——這不是設計上的疏忽,是它本來就長在那個 process 上。

CLI agent 的介面則完全是另一種東西:一條位元組流。它讀進來的是字元,吐出去的也是字元,中間沒有任何一段需要圖形。而字元流最關鍵的性質是——它可以被接上、拔掉、再接回去。tmux 之所以能做到這件事,是因為一個 80×24 的字元矩陣可以被完整地存下來,然後重新畫到任何一塊螢幕上:你的筆電、你的手機、你朋友的 iPad。內容不會因為換了裝置而失真,因為那些內容本來就只是字元。

所以 CLI agent 能遠端,不是因為它比較 geek,也不是因為用文字介面的人比較厲害。是因為一塊像素畫布沒辦法被序列化後重新接上,而一個字元矩陣可以。這是能力上的差別,不是品味上的差別。

同一個情境,跑兩次

把這件事講具體一點。假設你在下班前丟了一個大重構給 agent,它估計要跑二十分鐘以上,而你現在要走了。

Cursor 開著 tmux + Claude Code
合上筆電 agent 停 agent 繼續跑
兩小時後 打開,脈絡斷了,重跑 手機打開,看到它做完了

右邊那一欄之所以成立,關鍵不在 agent 有多聰明,而在那個 session 從頭到尾就不住在你的筆電上。它住在那台沒關過的機器上,你的筆電只是曾經接上去看過它而已。你合上蓋子,斷掉的是那條連線,不是那個工作。

Cursor 現在也有雲端背景 agent,闔上筆電一樣能繼續跑——但它續的是 Cursor 自己遠端沙箱裡的那份副本,不是你機器上這一份,跟本站另一篇提到的網頁版 agent、Codespaces 是同一類東西,不是左欄「Cursor 開著」這種本機用法的例外。

「那用遠端桌面(VNC)不就好了?」

這是最常見的反駁,而且理論上完全講得通:既然桌面留在那台機器上,用 VNC 連回去,Cursor 一樣是開著的,不就解決了?

理論上可以,實務上不行,原因是兩者傳的東西根本不同層級。VNC 傳的是像素,SSH 傳的是字元。一整塊螢幕更新是幾百 KB 到幾 MB 的影像資料;同一塊畫面用字元表示,是幾 KB 的文字。這中間是千倍量級的頻寬差距,而且它是天天都會被你踩到的那種差距——在捷運上、在電梯裡、在訊號只剩一格的地方,VNC 會退化成一格一格的幻燈片,滑動一次要等三秒才畫出來;同樣的網路條件下,SSH 的字元照樣即時。

再說,就算頻寬完全不是問題,你面對的還是一個為滑鼠和 1440p 螢幕設計的桌面 UI,被塞進一塊六吋的觸控螢幕裡。點一個選單要先放大、再對準、再點——用觸控操作一個沒有為觸控設計過的介面,本身就是折磨。

誠實地收尾

這不是說 GUI IDE 不好。坐在桌前寫 code,IDE 常常更好用——跳轉定義、重構、除錯器,這些手機上都做不到。真正的分工是:IDE 適合「你在場、你主導」;CLI agent + 遠端適合「它在跑、你抽查」。效率高的人兩個都用:白天在 Mac 上用 IDE,出門用 Agentmux 接回同一個專案的同一個 agent。

Agentmux 不是要取代你的 IDE。它取代的是坐在椅子上等