SSD Nodes Learn
指南 Matt Connor作者: Matt Connor · 已更新 2026-07-24

如何在 VPS 上使用 Claude 建立 AI Agent

本文深入探討如何結合 Claude Messages API、Tool Use 與 MCP 技術,將 Claude 作為推理核心並在您的 VPS 上運行 Agent 迴圈。透過將工具執行環境部署於自有伺服器,您能完全掌控 Agent 的執行範圍與資料安全性。

使用 Claude 建立 Agent 的含義

使用 Claude 建立 Agent,是指將 Claude 作為推理核心,而將迴圈 (loop)、工具 (tools) 與資料 (data) 運行於您自己的伺服器上。Claude 負責決定執行動作;您的 VPS 負責執行。您將任務與當前狀態傳送給 Claude,Claude 會回傳答案或要求使用某個工具;您的程式碼執行該工具並將結果傳回,此迴圈會持續進行直到任務完成。智慧化能力是透過網路呼叫的服務,而其周邊的所有環境皆由您掌控。

這種分離模式是其吸引力所在。您無需運行模型即可獲得頂尖的推理能力,同時能完全控制 Agent 可觸及的範圍,因為工具是在您擁有的硬體上執行。如果您已經建立過第一個 Claude 程式,first Claude app on a VPS guide 涵蓋了本指南所建構的基礎知識。

Claude 是大腦:Messages API

每一次呼叫 Claude 都會經過同一個端點:Messages API。您傳送目前的對話內容與 Agent 可能使用的工具列表;Claude 會回傳下一則訊息。該訊息會是最終答案,或是要求呼叫工具的請求。對於自行開發的路徑,並沒有獨立的「Agent API」:工具使用 (tool use) 是此單一端點的功能,而圍繞它的迴圈由您負責執行。

Claude 在呼叫之間是無狀態的 (stateless),這意味著它本身不會記憶任何內容。每次請求都必須攜帶完整的對話紀錄。您的程式碼負責保存歷史紀錄並在每一輪傳送,這就是 why each turn in a long session costs more tokens than the last。這並非限制,而是一種設計選擇:因為狀態儲存在您的伺服器上,您可以精確決定 Claude 能看到什麼,且任務的任何資訊都不會儲存在您無法控制的地方。

工具使用即是 Agent 迴圈

使用 Claude 建立 Agent 迴圈的描述非常簡單。您傳送一個包含工具的請求。Claude 讀取任務,若需要採取行動,會回傳一個包含工具名稱與輸入參數的工具使用請求。您的程式碼執行該工具,然後在下一輪請求中將結果傳回 Claude。Claude 讀取結果後,會要求使用另一個工具,或是寫出最終回覆。當它停止要求使用工具時,任務即告完成。

您可以手動用幾行程式碼寫出這個迴圈,許多人確實這麼做,因為這易於觀察且易於控制。官方 SDK 也提供了一個工具執行器 (tool runner) 來為您驅動迴圈:您提供工具函式,SDK 會處理呼叫 Claude、執行工具以及回傳結果的往返流程,直到 Claude 完成任務。無論哪種方式,結構都是相同的,執行器只是讓您不必自行撰寫迴圈。

三種建立方式,以及哪種適合 VPS

建立 Claude Agent 有三種方式,其差異在於您需要運行的機制規模。

第一種是使用您自己的程式碼搭配您自己的工具來呼叫 Claude API。您撰寫迴圈,或使用 SDK 的工具執行器,並將整個系統託管在您的 VPS 上。這是常見的選擇,因為它讓您對工具、資料與安全性擁有完全控制權,且它作為一般程式在您的伺服器上執行。本指南大部分內容皆假設採用此路徑。

第二種是 Claude Agent SDK。這是 Claude Code(程式碼開發 Agent),它被封裝成一個可供開發的函式庫。它內建了完整的 Agent 迴圈以及讀寫檔案、執行 shell 指令與搜尋的工具,因此您不需要從零開始組裝。它同樣運行在您的伺服器上,當您需要一個功能強大的檔案與 shell Agent,但不想自行構建框架時,這非常適合 VPS。一個需要讀取檔案並執行 shell 指令的 Agent 在無人值守運作前需要受限環境,running Claude Code safely on a server 涵蓋了權限系統、沙盒 (sandbox) 與隔離 (isolation) 選項。

第三種是 Managed Agents,由 Anthropic 負責運行迴圈,並託管執行 Agent 工具的沙盒。這是省事 (hands-off) 的選項:您需要操作的內容大幅減少,但 Agent 的工作空間位於 Anthropic 的基礎設施而非您的 VPS 上。當您希望減少維運工作且不需要工具在您自己的機器上執行時,請選擇此項。對於前兩種方式,您的伺服器才是 Agent 的家園,這也是本指南後續討論的主題。

使用 MCP 連接工具

無論您選擇哪條路徑,您都會希望將 Agent 連接到實際系統,而 Model Context Protocol (MCP) 是最簡潔的做法。MCP 是將工具與資料暴露給 Agent 的開放標準。您不需要為每個服務手動撰寫整合程式碼,只需將 Claude 指向一個已經將這些功能呈現為工具的 MCP 伺服器即可。您可以在同一個 VPS 上將 MCP 伺服器作為小型服務運行,每個服務僅擁有其所需的權限,我會在 running MCP servers on a VPS 中介紹。

選擇模型

Claude 提供多種模型,選擇模型是在能力、速度與成本之間進行權衡。截至本文撰寫時,主流選擇包括:Claude Opus 4.8 (claude-opus-4-8),用於複雜推理與長時間 Agent 運行的預設強大模型;Claude Sonnet 5 (claude-sonnet-5),平衡型選項,在許多任務上接近 Opus,但更便宜且更快;以及 Claude Haiku 4.5 (claude-haiku-4-5),用於簡單、高量步驟的最快且最便宜的模型。在它們之上是 Claude Fable 5 (claude-fable-5),這是處理最嚴苛工作時最強大的模型。在程式碼中使用精確的模型識別碼,請勿加上日期。

一個實用的模式是混合使用。讓較便宜的模型處理常規的工具呼叫,讓較強大的模型處理困難的決策。由於模型在請求中僅是一個字串,切換只需改動一行程式碼,因此建議從強大的預設模型開始,並在速度或成本比品質更重要的環節向下調整。

在您的 VPS 上作為強化服務運行

Agent 只有在持續運行時才有用,且只有在受到限制時才安全。在 VPS 上,這兩點都透過將 Agent 作為強化後的系統服務 (system service) 運行來實現,而非在終端機中手動啟動的程式。作為服務,它會在開機時啟動,在崩潰時重啟,並將日誌記錄到 journal 中。經過強化後,它以非特權使用者身份運行,僅擁有必要的權限,因此錯誤或錯誤指令的影響範圍是有限的。

最重要的一條規則是將您的 Claude API key 保留在伺服器端。該金鑰負責支付並授權每一次呼叫,因此它應存放於僅 Agent 使用者可讀取的檔案中,並作為環境變數載入服務,絕不可放在程式碼、儲存庫或任何瀏覽器可以觸及的地方。在此為您的 Agent 產生一個完整的強化版服務單元 (service unit):

ToolRun your agent as a hardened service

接著完成伺服器本身的設定。僅使用金鑰進行 SSH 登入,並鎖定您管理的帳戶,如 SSH hardening on a VPS 所示。如果您希望在開發時透過互動式工作階段驅動 Agent,running Claude Code on a VPS with tmux 是個很好的選擇。如果您想了解這些概念背後的原理,而不侷限於單一模型,關於 building your own AI agent on a VPS 的姊妹指南說明了其基礎。

如果您需要的是終端機程式碼助手,running a coding AI agent on a VPS 涵蓋了 Aider 與 Goose。

FAQ

我應該使用哪種 Claude 模型來建立 Agent?

從 Claude Opus 4.8 (claude-opus-4-8) 這個強大的預設模型開始,並以此為基準進行調整。Claude Sonnet 5 (claude-sonnet-5) 對於大多數工作來說更便宜且更快;Claude Haiku 4.5 (claude-haiku-4-5) 最適合簡單的高量步驟;而 Claude Fable 5 (claude-fable-5) 對於最困難的任務能力最強。常見的模式是針對常規步驟使用較便宜的模型,針對困難決策使用較強大的模型,因為切換只需改動一行程式碼。

我是在我的 VPS 上運行整個 Agent,還是由 Anthropic 運行?

這取決於您採用的方法。如果您針對 Claude API 撰寫自己的迴圈,或使用 Claude Agent SDK,則 Agent 完全運行在您的 VPS 上,僅有模型呼叫會發送到 Anthropic。如果您使用 Managed Agents,則由 Anthropic 運行迴圈並託管執行工具的沙盒,因此留在您伺服器上的內容較少。若要讓 Agent 運行在您自己的機器上,請使用前兩種方法之一。

Claude API 與 Claude Agent SDK 有什麼區別?

Claude API 是原始的 Messages 端點:您傳送對話與工具,並自行撰寫圍繞它的 Agent 迴圈,或使用 SDK 的工具執行器來驅動它。Claude Agent SDK 是一個高階函式庫(封裝後的 Claude Code),它提供完整的迴圈以及內建的檔案、shell 與搜尋工具。當您想自行定義一切時請使用 API;當您想要一個功能完備的 Agent 而不想自行組裝框架時,請使用 Agent SDK。

我如何在伺服器上保護我的 Claude API key 安全?

請將其保留在伺服器端並移出程式碼。將其儲存在僅 Agent 執行帳戶可讀取的檔案中,將其作為環境變數載入服務,絕不要將其提交至儲存庫或暴露給瀏覽器。由於每一次對 Claude 的請求都是從您的伺服器發出的,金鑰永遠不需要到達使用者裝置,這使得在伺服器上運行的 Agent 比嵌入在用戶端 App 中的 Agent 更容易保護。

建立 Claude Agent 需要自行託管模型嗎?

不需要。使用 Claude 時,模型是透過 API 呼叫的託管服務,因此不需要在 GPU 上運行任何東西。您的 VPS 運行 Agent 迴圈、工具與資料,而推理發生在 Anthropic 端。這讓一台配置普通的伺服器就能運行強大的 Agent。如果您想要完全本地化的模型,請參考關於建立自有 AI Agent 的指南中所述的自行託管路徑。