Databricks SSH 可跑 Claude Code 與 Codex:登入、檔案保存與運算費用怎麼安排?
Databricks SSH 可直接執行 Claude Code 與 Codex。看懂 Unity Gateway、CLI 版本、暫存聊天歷史、背景程序與雲端運算費用,安排代理工作。
資料團隊想讓程式代理修筆記本,常先卡在本機套件與雲端環境不同,或模型入口需要另外設定。
Databricks SSH 在 2026 年 11 月 5 日新增 Claude Code 與 Codex 支援,讓代理直接在既有運算環境執行。
它們透過工作區的 Unity Gateway 呼叫模型,並使用 SSH 工作階段的身分驗證,減少額外安裝與連線設定。
但遠端執行也代表歷史紀錄、檔案與運算費用會跟著遠端環境的生命週期走。
我會優先推薦給已在 Databricks 進行互動開發的團隊,先分清持久資料與暫存目錄,再讓代理接手特定修改。
要看懂這個差別,先得確認 SSH 連過去後,程式究竟在哪一台機器跑。
Databricks SSH 把哪些工作移到遠端?
SSH 連線讓 Python 環境與程式執行位於遠端運算,而編輯器仍是熟悉的本機入口。
SSH 是加密的遠端連線方式。連進 Databricks 之後,編輯器可以留在本機,Python、筆記本核心與程式執行則位於所選的雲端運算環境。
這和只把 Spark 指令送到遠端有所不同。SSH 把整個開發環境接到遠端,因此代理執行套件、讀檔與操作工作目錄,也會受到該環境的設定影響。
官方文件列出 serverless、AI Runtime 與專用單一使用者叢集等路徑。Serverless 由平台管理運算資源,經典專用叢集則要符合版本與管理條件。
對既有資料團隊來說,優點是比較容易讓代理用到和專案相同的套件與資料位置。不必先在本機複製所有環境,再花時間處理兩邊版本不一致。
不過,SSH 互動開發和執行不受信任程式的隔離沙盒有不同用途。官方另提供 Databricks Sandbox,不能只因為遠端執行,就假設代理已被放進那種輕量隔離環境。
因此,這次更新最直接改善的是工作位置與設定交接。代理能在資料工作旁邊執行,後續仍要沿原本工作區的權限、網路與運算政策處理。
代理進入相同環境後,模型連線與身分的設定也能一起沿用。

Claude Code 與 Codex 如何使用 Unity Gateway?
內建啟動器替代理設定模型閘道,認證使用 SSH 工作階段的既有身分。
Unity Gateway 是工作區用來連接模型與管理相關存取的閘道。代理把模型請求送到這裡,而不是要求每位使用者另外在遠端填一份獨立服務設定。
使用者連進支援的運算後,可以在終端機執行 claude 或 codex。內建啟動器會使用 SSH 工作階段的憑證認證,第一次啟動時再下載必要的代理工具。
因此,這裡的便利是不用額外安裝與手動設定代理入口,並非完全沒有安裝動作。首次連線仍需要下載工具,網路限制也會在那個階段影響啟動。
代理使用的是工作階段已取得的身分,並沒有因為換成自然語言操作,就另外取得所有模型與資料的管理權。工作區必須先啟用閘道,而且使用者要有欲用模型的存取權。
官方也提醒,若使用者自行安裝 claude 或 codex,自己的版本會優先執行,而且不會自動套用 Unity Gateway 設定。同一個命令名稱,因此可能走不同的連線路徑。
若啟動失敗,內建流程會先檢查閘道是否可達、模型存取是否可驗證。這讓團隊能把沒有模型權限與套件下載失敗分開,避免只把所有問題都當成代理壞掉。
這份便利需要先滿足版本、模型存取與網路條件。
CLI 版本、運算類型與網路要先確認什麼?
代理需要 CLI 1.23.0 以上,且支援的運算型態與一般共享叢集不同。
11 月更新日誌要求本機 Databricks CLI 1.23.0 以上,才能使用這次內建代理。CLI 是命令列工具,一般 SSH 的最低版本與代理功能要求並不相同。
連線必須從本機開始,不能從另一個遠端環境或 Docker 容器啟動。這個條件會影響原本把所有開發入口都放在容器裡的團隊,不能直接照搬相同啟動位置。
經典運算需要專用、單一使用者叢集,Runtime 17.0 以上並啟用 Unity Catalog。共享叢集不受支援,因此多人共用的既有運算不一定能直接沿用。
Serverless 則需要開啟連接埠轉送;若選 GPU,還要符合 AI Runtime 的啟用條件。工具能執行,不代表每個工作區都已具備相同運算型態。
首次啟動需要從 GitHub、Node.js、PyPI 與 npm 等官方工具來源下載內容。如果運算網路沒有對應的 HTTPS 對外存取,即使模型閘道已啟用,安裝仍可能失敗。
SSH 隧道流量使用工作區的 HTTPS 端點與 WebSocket,不需要另外打開連接埠 22。企業網路若阻擋 WebSocket 升級,問題會出現在連線建立,而不是某個 Python 套件。
每個叢集最多十條 SSH 連線,不活躍工作階段也可能在一小時後中斷。這些限制說明它是互動開發入口,不能僅因能接終端機,就當成任意數量的永久代理服務。
成功啟動後,最容易被忽略的下一件事,是工作實際存在哪個路徑。
關掉運算後,哪些紀錄與檔案會消失?
代理工具與聊天歷史放在遠端家目錄,保存時間取決於運算型態。
預設連線打開的是暫存目錄,並不是使用者的 Workspace 專案。若直接讓代理在目前目錄產生檔案,很容易把重要成果留在會消失的位置。
官方列出 /Workspace、/Volumes 與 /dbfs 會跨叢集重啟保存。家目錄等本機路徑則屬於暫存,重新啟動或終止運算時不能依賴它們留下來。
代理工具、設定與聊天歷史本身也放在運算家目錄。Serverless 關閉後會失去這個目錄,專用叢集則能跨 SSH 工作階段保留,但到叢集重啟或終止仍會消失。
因此,關閉一個終端機、關閉 SSH 隧道與重啟整台運算,是三種不同事件。某個檔案目前還找得到,不能推論它已成為跨重啟的正式保存資料。
非互動命令也有相同問題。放在 -- 後面的代理命令,會從運算家目錄開始,而非工作區家目錄,所以提示中的「我的專案」仍要對應具體路徑。
依賴套件也需配合運算型態管理。經典叢集可以用叢集套件與啟動設定,serverless 則依支援的基礎環境處理,當次安裝不會自動變成永久環境。
筆記本核心也應選用 SSH 工作階段提供的 Python 環境。編輯器連上遠端後,若仍選錯解譯器,套件或執行結果便可能和叢集原本的環境不同,因此連線成功還不等於程式環境已對齊。
一般 Python 檔案也不會自動有筆記本裡熟悉的所有全域物件,例如 spark 或 dbutils。依官方指引明確匯入與建立所需連線,才能讓代理產生的程式在正確環境執行,而不只是表面語法看起來合理。
這些安排讓資料保存與模型對話分成兩層。重要程式、需求與必要結果應進入合適的持久位置,而不只是留在代理目前還能讀到的聊天歷史裡。
資料保存不等於程序會繼續執行,離線後的任務還有另一層生命週期。
SSH 中斷後代理會繼續工作嗎?
預設隧道關閉會停止它啟動的程序,保留背景程序需要在啟動連線時選擇。
預設情況下,最後一個使用者斷線後,隧道會等候一段時間再關閉,預設等待為十分鐘。隧道關閉時,也會停止它啟動的程序。
這包含以 tmux、setsid 或 nohup 等方式放到背景的工作。這些工具能讓程式脫離目前終端機,但不會自動改變 Databricks 隧道自己的程序清理規則。
若要保留背景工作,需要在啟動隧道時加入 --keep-detached-processes。這個模式會在尚有背景程序時保持隧道,讓使用者之後重新接回。
模式在隧道開始時就固定。若舊隧道沒有啟用,後來用相同旗標連入不會替舊程序補上保留條件,而會建立另一條隧道。
在專用叢集上,新隧道還會立刻停止舊隧道,結束原本工作階段及背景程序。因此,等長任務跑到一半才補設定,可能和原本想保住工作的目的相反。
即使保留背景程序,仍受到 --server-timeout 的最大生命週期限制,而且計時從工作啟動開始算。它不是從使用者最後斷線的那一刻重新給一段完整時間。
到最大時間後,serverless 背景程序會停止。經典叢集的程序可能繼續執行,但會失去對工作區與磁碟區掛載的存取,因此長任務輸出仍應依官方建議使用 SDK 或 REST API 保存。
延長程序生命也延長運算使用,因此連線設定必須和費用一起看。
哪些任務適合互動隧道,哪些應改用 Jobs?
需要與既有環境互動的修改適合 SSH,長期排程或大型訓練更適合專用作業入口。
背景程序持續存在,就會讓運算繼續執行並產生費用。即使只是開著一個沒有實際工作的 tmux 工作階段,也會被算成仍在執行的背景程序。
經典叢集在這種模式下不會自動終止,所以「我已關掉 IDE」不能當成費用已停止的證據。關閉連線只描述本機不再連著,遠端是否停止要看運算狀態。
官方沒有在這篇功能說明給出一個適用所有任務的固定總價。費用會受到運算型態、持續時間與模型使用影響,不能把省去設定解讀成免運算或免模型費。
如果需要立即停止叢集,可以從工作區的運算管理頁終止或停止它。這是實際資源管理,和把視窗關閉、讓隧道等待一段時間後退出不同。
互動式 SSH 較適合改程式、檢查資料與執行一段可掌握的工作。官方對較長工作建議使用 Jobs 或 Bundles,而多節點、長時間訓練則有 AI Runtime 的專用提交入口。
這些工具保留不同的工作生命週期,團隊不需要把所有代理任務都塞進同一條連線。先決定成果如何保存、任務何時停止,才比較容易選出合適入口。
若只是想在熟悉的編輯器裡操作既有遠端專案,這次整合能減少代理連線設定。但若目的是讓陌生程式長期自主運行,仍應重新評估隔離、排程與資源管理方法。
先選一個可保存成果的專案目錄,確認模型權限與停止方式,再開始代理任務。
Databricks SSH 常見問題 FAQ
Databricks SSH 需要開放連接埠 22 嗎?
不需要。官方隧道透過 HTTPS 與 WebSocket 連到工作區,因此要確認的是這些流量能通過企業網路。
代理聊天歷史會永久留下嗎?
歷史位於遠端家目錄。Serverless 關閉或專用叢集重啟後可能消失,不能把它當成持久成果保存位置。
nohup 能保證關掉連線後繼續嗎?
不能只靠它。預設隧道會清理所啟動的背景程序,需要事先選定保留模式,而且仍受到最大生命週期限制。
延伸閱讀:AWS 公開 Claude Code 遠端代理範例:AgentCore 如何交回 PR,費用與資料邊界怎麼看?
延伸閱讀:Databricks 與 SAP 擴大合作:企業資料如何接到 Genie、代理與應用?
結論
已在 Databricks 開發的團隊,可以先選一個持久專案目錄,確認 CLI、閘道與模型權限,再啟動一項範圍清楚的代理任務。把斷線、保存與停止運算的規則一起安排,才能讓省下的設定時間真正變成可接手的工作成果。