SSD Nodes Learn Hosting plans →
指南 Matt Connor作者: Matt Connor · 已更新 2026-08-30

如何在 VPS 上打造自己的 AI agent

了解 AI agent 的核心迴圈:模型讀取狀況、呼叫工具,再接收結果並持續執行。本文說明工具、MCP、記憶體與安全機制,協助您在 VPS 上自行建立 agent。

AI agent 的實際定義

AI agent 是圍繞 language model 建立的迴圈。模型讀取目前狀況並決定一項動作,您的程式執行該動作,結果再傳回模型,迴圈持續執行,直到任務完成。這就是整個概念。一般 chatbot 回答一次後便停止。agent 會在每次回合之間執行實際動作,持續運作,直到達成您指定的目標。這個迴圈很小,您花一個下午就能自行寫出來;從頭開始分階段學習建立 agent便是從這裡開始,之後再加入工具、記憶體與安全機制。

動作才是重點。language model 本身只能產生文字。它無法讀取檔案、呼叫 API 或執行命令。agent 會提供一組模型獲准使用的工具,以及要求使用這些工具的方法。模型想要搜尋網頁或寫入檔案時,不會自行執行工作。它會產生結構化要求,您的程式執行工具,結果再作為模型下一次讀取的內容傳回。模型提供判斷能力;您的伺服器提供執行動作的能力。

並非每項任務都需要 agent,預設一律使用 agent 是常見錯誤。若步驟事先已知,一般 script 會更簡單、更快速,也更可靠。「每小時擷取此頁面並以電子郵件寄給我價格」是排程工作,不是 agent。只有在執行路徑無法事先固定,且模型必須查看找到的內容並決定下一步時,才應建立 agent。agent 的代價是不可預測性,因此只有在彈性能帶來實際效益時,才值得承擔這項代價。

工具:代理程式如何運作

工具是你提供給模型的任何能力。你必須充分描述工具,讓模型知道何時應使用它。讀取檔案、執行 shell 命令、查詢資料庫、傳送訊息,都是工具。每個工具都有名稱、簡短說明及輸入項目清單。工具由你定義,模型決定何時呼叫。Web search 通常是最值得先加入的工具。如果你已經執行自己的 SearXNG instance,也可以將它設為代理程式的搜尋後端,不必支付商用搜尋 API 的費用。

無論使用哪個模型,運作機制都相同。模型會傳回結構化要求,指出工具名稱並填入輸入值。你的程式收到要求後,執行對應的函式,再於下一個回合將結果傳回。模型讀取結果後,會呼叫其他工具,或撰寫最終答案。Function calling 是所有代理程式底層的連接機制,而驅動這個迴圈只需要幾行一般程式碼。

這也是你實施控制的地方。模型可以要求執行命令,但在你的程式選擇執行前,任何命令都不會執行。你可以在這個間隙加入危險操作的核准提示、限制工具可存取的範圍,以及記錄代理程式所有操作的日誌。代理程式的安全性,取決於你提供的工具,以及在工具前面設定的檢查機制。

MCP:連接工具的標準方式

為每項服務手動撰寫全新的整合,很快就會變得乏味。Model Context Protocol(MCP)是解決這個問題的開放標準。你不必分別為檔案、資料庫與 issue tracker 撰寫新工具,只要將 agent 指向已經把這些系統公開為工具的 MCP server。agent 只需使用一種通訊協定;實際系統的操作則由 server 負責。

這種方式的優點是可重複使用。其他人為你所使用的服務撰寫的 MCP server,可以直接提供給 agent 使用,不必新增整合程式碼;而你撰寫的 server,也能供任何支援該協定的 agent 使用。部分自架應用程式現在也提供自己的 MCP server:openGym,一個運動追蹤器提供唯讀 MCP server,因此 agent 可以回答訓練歷史相關問題,但無法修改任何資料。這對 VPS 很重要,因為你可以將 MCP server 以獨立的小型服務執行在 agent 旁邊,並且只授予各服務所需的存取權限。如果這些 server 背後的系統位於 VPS 無法直接存取的網路,例如家中或辦公室的資料庫,透過 subnet router 將該網路公布到你的 tailnet,就能讓 agent 透過私有位址連線,而不必將任何服務暴露到公開網際網路。我在在 VPS 上執行 MCP server中介紹設定方式。

記憶與檢索

語言模型在不同呼叫之間不具備自身記憶。每一回合都必須提供目前工作所需的全部資訊。對於短工作而言,這沒有問題,因為整段對話都能放入單一請求。可容納的內容量取決於 context window,而透過 Ollama 提供服務的自架模型,預設值通常偏小,會在不明顯的情況下捨棄最舊的回合。因此,在責怪 agent 忘記事情之前,先將 num_ctx 設為符合迴圈產生的流量通常值得採用。對於較長的工作,則必須自行管理記憶,以下有兩種值得了解的模式。

第一種是暫存記事本。提供 agent 一個可讀寫的檔案,並要求它在工作過程中記錄所學內容。在下一回合或下一個工作階段,它讀回該檔案,接續先前的工作。這種記憶以純文件形式存在,之所以可行,是因為 agent 將檔案視為另一個工具。

第二種是檢索。當 agent 需要從大量文件中取得知識,而這些文件不可能全部放入單一請求時,請將文件儲存為可搜尋的形式,並在需要時只擷取相關內容,放入模型目前可見的內容中。這種模式稱為 retrieval-augmented generation,簡稱 RAG。agent 提出問題後,程式碼找出少量相符的段落,只有這些段落會傳給模型。儲存區位於你的伺服器上,因此私有文件不會離開伺服器。

多個代理程式,一個協調器

一個具備多項工具的代理程式已足以處理大多數工作。當工作規模較大,或自然分割成多個部分時,改用另一種架構會更合適:由協調器代理程式將工作委派給專門的子代理程式。協調器會將目標拆成多個部分,交給針對該類工作建立的子代理程式,再整合處理結果。委派需要讓各部分互相通訊的管道,而最簡單的做法就在你的伺服器上:同一台 VPS 上的兩個 Claude Code 工作階段可以互相傳送訊息。在建立自己的協調機制之前,這是低成本了解工作交接方式的方法。

這種架構的優點是能集中工作焦點。子代理程式的職責明確,工具集也較小,做出的決策通常比同時處理所有工作的通用代理程式更好;彼此獨立的部分也能同時執行。代價是需要進行協調,而且這項成本確實存在,因此除非任務明確需要,否則應維持使用單一代理程式。先從簡單的方式開始,只有在某個代理程式明顯不堪負荷時,才加入其他代理程式。

自架或代管:哪種模式執行你的代理程式

模型是代理程式中唯一不必自行執行的部分,而選擇模型的運行位置是你需要做出的最大決策。透過 API 存取的代管模型,能在無須自行維運的情況下提供最強的推理能力:你傳送文字,便會收到文字回應。自架模型則在自己的伺服器上執行,能讓每個請求維持私密,採固定成本而非按 token 計費,也不依賴其他服務持續運作。取捨在於能力與維運工作量。最佳的代管模型仍領先於你能自行執行的模型,而自架模型則需要足夠的記憶體才能載入。

最後一點是實務上的限制。模型必須符合伺服器的記憶體容量;如果使用 GPU,也必須符合其視訊記憶體容量。硬體無法容納的模型將無法載入。規劃自架代理程式前,請先確認你要使用的模型是否符合現有機器的容量:

ToolWill your model fit your server?

如果容量不足,你有三種做法:選擇較小的模型,使用更積極的量化方式縮減模型,或使用代管 API 執行推理,只將工具與資料保留在伺服器上。許多自架代理程式會先透過 VPS 上的 Ollama 使用本機模型,再針對最困難的步驟改用代管 API。

伺服器是最危險的部分

能夠執行 shell 命令並寫入檔案的代理程式功能強大,這正是它危險的原因。模型的判斷力雖然良好,但並不完美;錯誤的指示、程式錯誤或惡意輸入,都可能讓原本有用的代理程式誤刪檔案或洩漏秘密。安全性工作並非可有可無,而在伺服器上,這是最重要的部分。

幾個習慣就能涵蓋大部分安全需求。請以專用的非特權使用者執行代理程式,絕不要使用 root,如此一來即使發生錯誤,影響範圍也有上限;同樣的原則也適用於以非特權使用者執行服務。請將 API keys 等秘密資料排除在程式碼之外,並僅允許該使用者讀取。對接觸系統的工具建立 sandbox,讓代理程式只能存取確實需要的內容。如果不想手動撰寫每項檢查,值得安裝的 DeepSeek Harness plugins 已提供可直接使用的元件,涵蓋工具權限規則、prompt injection 掃描,以及代理程式停止前可使用的資源上限。若要查看強化實際自架代理程式的完整範例,請參閱在 VPS 上安全執行 OpenClaw。如果希望使用代管模型提供推理能力,在 VPS 上使用 Claude 建立代理程式的配套指南會採用相同概念,並在其中指定模型。

完整範例請參閱建立 OpenClaw 風格的個人代理程式,其中會套用這些元件。如果希望直接執行完成品,請從在 VPS 上自架 Hermes Agent在自己的伺服器上執行 Agent Zero開始;2026 年最佳自架 AI 代理程式則會並列比較本文介紹的所有現成選項。

FAQ

AI agent 與 chatbot 有何不同?

chatbot 回應訊息後就會停止。agent 會執行一個循環:模型決定要採取的動作,由程式執行該動作,再將結果傳回模型,持續重複直到任務完成。兩者的差異在於,agent 會在每次回應之間採取實際動作,呼叫工具讀取檔案、執行命令或查詢服務,而不只是產生文字。

在 VPS 上執行 AI agent 需要 GPU 嗎?

只有在自行代管模型時才需要。agent 循環、工具與記憶體都是一般程式碼,在沒有 GPU 的一般 VPS 上即可正常執行。當您想在自己的硬體上執行語言模型時,GPU 才會變得重要,因為模型必須能載入記憶體。如果透過 API 使用代管模型,繁重的運算會在其他地方執行,因此一般規格的 VPS 即已足夠。

什麼是 MCP?建立 agent 時需要使用它嗎?

MCP(Model Context Protocol)是用來將 agent 連接至工具與資料來源的開放標準。您不一定需要使用它,因為也可以手動撰寫每個工具。MCP 可讓您重複使用現有伺服器來處理常見服務,並只需為自有系統建立一次介面,即可供任何 agent 使用,省去這些工作。隨著整合項目增加,MCP 會變得更實用。

讓 AI agent 存取我的伺服器安全嗎?

只要加以隔離,就可能安全。能夠執行命令的 agent,其安全性取決於執行它的帳號,以及您允許使用的工具。請以非特權使用者身分執行,避免讓它接觸 secrets,將會存取檔案系統的工具放入 sandbox,並要求對難以復原的動作先取得核准。請將 agent 視為具備高靈活性的未受信任程式碼,只提供完成任務所需的權限。