你的 AI 應該在你睡覺時工作

如果你已經在用 Claude Code、Codex 這類 CLI agent 寫 code,大概感覺過一件怪事:做事的是它,被綁住的是你。

這篇講那個綁定是什麼、為什麼解得開,以及解開之後一天長什麼樣子。

先看清楚時間花在哪裡

一輪 CLI agent 的工作,節奏幾乎都是同一個樣子:

你講 30 秒 → 它跑 5–20 分鐘 → 它需要你決定一件事 → 重複

把一整天的比例攤開,吃掉時間的不是打字。你描述需求那 30 秒是全程最短的一段。之後就是等——等它讀完專案,等它改完十幾個檔案,等測試跑完。它停下來問「這個 migration 要不要順便處理?」,你回一句話,又是下一個五分鐘、二十分鐘。

一天下來,你輸出的內容可能不到十分鐘,被佔掉的是好幾個小時。那幾個小時不是工作,是待命。你什麼都沒做,但你不能走開,因為它隨時要你回一句話。

傳統做法把待命綁死在一台筆電上

在預設的做法裡,這種待命有實體位置。agent 跑在你筆電的終端機視窗裡,視窗連著那個 shell,shell 連著那台開著的機器。於是你只有兩個選擇:

坐著等。人留在椅子上,盯著一個大部分時間什麼都不會發生的畫面,只為了它問問題時能在三十秒內回答。一小時換三句回覆。

或者關掉筆電。合上蓋子,process 被停掉或直接死掉,session 沒了。agent 累積的脈絡跟著消失——它讀過哪些檔案、改到哪一步、為什麼選這個做法。晚點回來只能重開一個,整段重講一次,從頭跑。

兩個選擇都是在付同一筆代價。綁住你的不是工作,是那台機器的所在位置

三個零件,各解開一個綁定

這個綁定不是一整塊,是三層疊起來的。每一層都有一個存在幾十年的標準工具可以拆掉。三樣東西單獨看都很普通,疊在一起才是重點:

零件解開的綁定
CLI agent 是純文字 process,不需要圖形介面 → 可以住在別台機器
tmux session 釘在伺服器上,斷線照跑 → 待命不需要你在場
SSH + Tailscale 從任何網路安全接回,不開公網 port、不需固定 IP → 待命不綁定裝置與位置

順序有意義。先有 CLI,agent 才可能離開你的筆電,搬到家裡那台從來沒關過的 Mac mini 上。有了 tmux,session 才會釘在那台機器上,你的連線斷掉它照樣跑。有了 SSH 加 Tailscale,你才能從捷運上、從公司、從別人家的 Wi-Fi 接回同一個 session,而且不用在路由器上開任何一個對外的 port。

少任何一個都不成立。只有 CLI 沒有 tmux:斷線 agent 就死。有 tmux 沒有安全的連外方式:你只能在家裡的 Wi-Fi 下用它。

結論:待命的成本被壓到幾乎為零

三層都拆掉之後,待命的代價從一台筆電加一個固定位置,降到口袋裡的手機加十五秒

十五秒改變的是這件事的性質。你不再需要安排一段時間來顧它。排隊看一眼,等紅燈看一眼,睡前看一眼,回一句「用第二個方案」,把手機收回口袋。agent 繼續跑,你繼續過你的生活。

而且待命一旦不需要你在場,工作就能移到你本來就不在場的時間。丟一個重構任務給它,去吃晚餐。睡前開一個測試修復的 session,早上起來看結果。你那台機器本來每個晚上都閒著。

那其他做法呢?

要遠端碰到自己的 agent,路不只一條。放在同一組標準底下比,差別很清楚——尤其最後一欄,多數人是事後才發現自己卡在那裡。

做法 待命成本 脈絡存活 需要的網路設定 能不能真的改檔案
帶著筆電 要有包包、位子和電源 合上蓋子就停 不用,但機器得跟著你走 能,改的是本機的檔案
VNC 遠端桌面 需要一塊夠大的螢幕,還要用手指操作滑鼠 UI 桌面 session 留著就活著 要打通 VNC 或另外架 VPN
網頁版 agent 低,開瀏覽器就好 活在對方的伺服器上 不用 改的是雲端沙箱裡的副本,不是你機器上那份
Codespaces 這類雲端環境 低,但要能開瀏覽器 閒置久了容器會被回收 不用,但要把專案放上雲端,並依用量計費 能,但改的是雲端容器裡的那份 repo
通用 SSH App 手機就行 靠 tmux,撐得住 要自己處理安全連外 能,但操作介面是照桌面終端機直接搬過來的
Agentmux 手機,十五秒接回 tmux 在伺服器上,跟手機在不在無關 Tailscale,不開公網 port 能,改的就是你自己機器上那一份

最後一欄是分水嶺。跑在別人雲端沙箱裡的 agent,改的永遠是一份副本。你的 .env 不在那裡。你今天早上裝的那個內部套件不在那裡。那個只有本機跑得起來的資料庫也不在。

走 SSH 加 tmux 這條路,agent 就坐在你自己的機器上,用你的環境,改你的檔案。唯一的差別是這次你的手機在看著它。

不確定該從哪裡開始?先幫我判斷該走哪條路