廣告位招商中 歡迎洽談

如何透過 Docker 本地自建 AgentGPT 運行私有自主智能體工作流

365Finds Editorial
已收錄 11,430 篇 Wiki 文章

讓你的 AI 用上 365 Wiki

複製下方的提示詞,貼給你常用的 AI,然後直接提問。

下載完整版 Skill

先用提示詞體驗;經常使用時,安裝完整版 365Wiki Skill,以後無需重複複製。沒有常用 AI?Gemini、Microsoft Copilot 等網頁版也可以。

365Wiki Skill

系統管理員與開發者只需數分鐘,即可透過 Docker 與 Docker Compose 在企業內部網絡或本機伺服器中自建 AgentGPT 執行個體。將應用部署於受控的私有虛擬網絡(VPC)中,團隊能將智能體的任務目標、推理中間歷程、提示詞紀錄與資料庫持久化數據完整保存在內網邊界內,有效規避將敏感業務脈絡洩漏給公有雲多租戶 SaaS 平台的資訊安全風險。

本文詳細說明 AgentGPT 的核心架構、環境前置條件、自動化與手動容器化部署流程、生產級內網安全強化實踐,以及長期維運的架構評估。


系統架構與運作原理

AgentGPT 透過模組化的多容器架構驅動自主遞迴智能體:

  1. 前端服務(frontend):基於 Next.js 13、TypeScript、Tailwind CSS 與 HeadlessUI 構建的 Web 介面,於容器內運作並對映至連接埠 3000。使用者透過瀏覽器建立智能體、設定頂層目標、即時監看子任務的動態產生與執行進度,並匯出工作產出。
  2. 後端引擎(platform):基於 Python FastAPI 的核心編排服務,對外開放連接埠 8000。該模組依託 LangChain 實現任務拆解、優先順序佇列調度、反思循環與外部工具呼叫。
  3. 資料持久層:前端透過 Prisma ORM、後端透過 SQLModel 存取 MySQL 資料庫,安全保存智能體設定、使用者工作階段及詳細任務執行紀錄。
  4. 外部模型與工具通訊:核心控制平面與狀態資料庫保留於本地 Docker 宿主機,智能體透過對外 HTTPS 請求呼叫外部大語言模型介面(如 OpenAI API),或選用 Serper 搜尋引擎與 Replicate 圖像生成服務。

部署前置條件

在目標主機上確認具備以下環境:


方案一:使用自動化引導指令碼快速部署

AgentGPT 儲存庫內建了互動式導引腳本,能一鍵完成環境變數配置、相依套件安裝與 Docker 映像檔建置。

1. 複製程式碼儲存庫

git clone https://github.com/reworkd/AgentGPT.git
cd AgentGPT

2. 執行配置指令碼

依據作業系統執行對應檔案:

3. 完成互動式問答

引導腳本將提示輸入:

腳本完成後會自動觸發 Docker 映像檔建置。完成後於瀏覽器開啟 http://localhost:3000,即可進入私有化控制台。


方案二:手動透過 Docker Compose 部署與維運

在標準 Linux 伺服器、CI/CD 流程或無法執行互動指令碼的環境中,建議採用標準 Docker Compose 流程。

1. 複製專案並檢視編排檔案

git clone https://github.com/reworkd/AgentGPT.git
cd AgentGPT

專案根目錄包含 docker-compose.yml,其中定義了 frontend(對應 ./next/Dockerfile)與 platform(對應 ./platform 的 prod 建置階段)兩組核心服務。

2. 設定環境變數

將環境變數範本複製至前端運行時所需路徑:

cp .env.example ./next/.env

使用文字編輯器編輯 ./next/.env,填入必要參數:

# 限制單一任務最大遞迴循環次數,防止過度消耗 Token
NEXT_PUBLIC_MAX_LOOPS="50"
REWORKD_PLATFORM_MAX_LOOPS="50"

# 內部網路存取端點
NODE_ENV="production"
NEXT_PUBLIC_BACKEND_URL="http://localhost:8000"

# 工作階段與身份驗證安全密鑰
NEXTAUTH_SECRET="請生成長度不少於32位的隨機安全字串"
NEXTAUTH_URL="http://localhost:3000"

# 外部模型與工具金鑰
OPENAI_API_KEY="sk-your-openai-api-key"
SERPER_API_KEY="your-optional-serper-api-key"

3. 建置並於背景啟動容器

執行明確的映像檔建置並於背景啟動執行個體:

docker compose up --build -d

4. 驗證服務狀態與日誌

確認容器運作狀態:

docker compose ps

即時查看服務輸出日誌:

docker compose logs -f

於瀏覽器輸入 http://localhost:3000 即可在私有環境中啟動首個智能體任務。


生產內網環境的安全強化規範

預設的 Docker Compose 設定主要針對本機開發,若部署於企業內部共用主機,系統管理員應落實以下安全防護:

1. 限制宿主機連接埠暴露範圍

預設設定會將容器的 3000 與 8000 連接埠發布至所有網路介面(0.0.0.0),可能導致內網其他未授權端點直接存取。建議於 docker-compose.yml 中將連接埠綁定限制為本地回環位址(127.0.0.1):

services:
  frontend:
    ports:
      - "127.0.0.1:3000:3000"
  platform:
    ports:
      - "127.0.0.1:8000:8000"

2. 建立反向代理與 TLS 加密

於前端架設 Nginx、Traefik 或 Caddy 反向代理,配置 SSL/TLS 憑證並整合企業 SSO(如 OAuth / LDAP)。Nginx 基礎設定範例如下:

server {
    listen 443 ssl http2;
    server_name agent.internal.example.com;

    ssl_certificate /etc/ssl/certs/internal.crt;
    ssl_certificate_key /etc/ssl/private/internal.key;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
    }
}

3. 嚴格控管遞迴循環上限

當目標描述過於寬鬆或模糊時,自主智能體容易陷入重複分解子任務的無限循環。務必於環境變數中明確設定 NEXT_PUBLIC_MAX_LOOPS 與 REWORKD_PLATFORM_MAX_LOOPS(建議設定在 20 至 50 之間),確保 API 預算在受控範圍內。

4. 明確劃分資料安全邊界

自建 AgentGPT 能確保系統邏輯、任務執行軌跡、智能體設定與歷史資料庫完全停留在內部基礎設施中。然而,傳送給大語言模型求解的具體提示詞仍會透過網際網路發送至外部供應商(例如 OpenAI)。若涉及高度機密業務,建議透過內網資料防外洩代理進行過濾,或改為介接企業自建的 Azure OpenAI 私有網路端點。


專案生命週期與維運架構考量

在將 AgentGPT 納入企業長期自動化技術架構之前,管理人員應瞭解其維護現狀:


參考資料