AutoGPT:從單一 Agent 到視覺化工作流程平台

AutoGPT 是 AI Agent 領域的「始祖級」開源專案,自 2023 年 3 月發布以來,在 GitHub 上累積了超過 187,000 Star 和 46,000 Fork,被 Andrej Karpathy 稱為「提示詞工程的下一個前沿方向」。

早期 AutoGPT(現在稱為 Classic 模式)是一個純命令列的自主 Agent:你給它一個目標,它會自動分解任務、搜尋資訊、執行程式碼、儲存進度。這種「全自動駕駛」模式雖然驚豔,但在實際使用中面臨可控性差、除錯困難、難以復現等問題。

2024 年下半年,AutoGPT 團隊做出了一個關鍵轉型:將單一的自主 Agent 演進為一個視覺化低程式碼工作流程平台——這就是 AutoGPT Platform(內部代號 RND)。核心理念從「讓 AI 自己幹活」變成了「讓人類視覺化地編排 AI 幹活」。

這一轉變並非偶然。n8n 的 5 萬+ Star 證明了視覺化工作流程的巨大需求,LangChain 的 Chain 概念驗證了組合式 Agent 的可行性。AutoGPT Platform 將兩者融合:用 n8n 式的拖曳介面,編排 LLM Agent 的執行流程,同時保留 AutoGPT 生態的 Agent 能力。

目前 AutoGPT Platform 提供四種互動介面:

  • AutoPilot:用自然語言描述需求,AI 自動建構 Agent
  • Builder:視覺化拖曳建構工作流程(即 RND 核心)
  • Agent Dashboard:監控所有 Agent 執行狀態、成本、動作
  • Marketplace:社群共享的 Agent 範本市場

本文將重點深入 Builder(RND)的技術架構與實戰用法。

相關閱讀:如果你對其他 Agent 框架感興趣,推薦閱讀 Composio AI Agent 框架深度解析 和 Open Minis Agent 深度解析。

RND 是什麼:低程式碼 Agentic Workflow 建構器

RND(Research & Development 的縮寫,內部代號)是 AutoGPT Platform 的核心元件,一個低程式碼視覺化 Agent 工作流程建構器。它的核心思想是:將複雜的 AI Agent 行為拆解為可組合的 Block(塊),透過拖曳和連線的方式建構工作流程。

核心概念

1. Block(塊) Block 是 RND 的基本執行單元,每個 Block 封裝一個特定功能: - LLM Block:呼叫大語言模型(支援 OpenAI、Anthropic、本機模型等) - Data Block:資料獲取、處理、轉換 - Tool Block:呼叫外部工具(搜尋、程式碼執行、API 呼叫) - Logic Block:條件分支、迴圈、人工審核 - Integration Block:第三方服務整合(Reddit、Twitter、Slack、GitHub 等)

2. Graph(圖) 多個 Block 透過有向邊連接形成 Graph,定義資料流向和執行順序。Graph 支援: - 順序執行:Block A → Block B → Block C - 並行執行:Block A 同時觸發 Block B 和 Block C - 條件分支:根據 Block A 的輸出決定走 Block B 還是 Block C - 迴圈:Block A 的輸出作為輸入再次進入 Block A

3. Input/Output Schema 每個 Block 都有明確的輸入輸出 Schema,確保資料在 Block 間正確傳遞。例如:

JSON
// LLM Block 的輸入 Schema
{
  "prompt": "string (required)",
  "model": "string (optional, default: gpt-4)",
  "temperature": "number (optional, default: 0.7)"
}

// LLM Block 的輸出 Schema
{
  "response": "string",
  "tokens_used": "number",
  "cost": "number"
}

4. Execution Engine RND 的執行引擎負責: - 解析 Graph 結構,確定執行順序 - 管理 Block 間的依賴關係 - 處理並行執行和條件分支 - 記錄每個 Block 的執行日誌和成本 - 支援暫停、恢復、重試

與 Classic AutoGPT 的區別

特性 Classic AutoGPT RND (Platform Builder)
互動方式 命令列 + 自動迴圈 視覺化拖曳
可控性 低(黑盒執行) 高(每步可見)
除錯難度 難(日誌分散) 易(視覺化追蹤)
複用性 差(每次重新設定) 好(Graph 可儲存、分享)
學習曲線 陡峭(需理解 Agent 迴圈) 平緩(拖曳即可)
適用場景 探索性任務 可重複的業務流程

技術架構:基於微服務的分散式設計

AutoGPT Platform 採用微服務架構,核心元件包括:

1. 前端(Frontend)

  • 技術堆疊:Next.js + React + TypeScript
  • 核心功能:視覺化 Graph 編輯器、Agent 監控面板、Marketplace
  • 狀態管理:使用 React Query 管理伺服器端狀態
  • 即時通訊:WebSocket 連接後端,即時顯示執行進度

2. 後端(Backend)

後端分為多個服務:

REST Server(rest_server) - 提供 API 介面(Graph CRUD、執行觸發、使用者管理) - 技術堆疊:Python + FastAPI - 資料庫:PostgreSQL(儲存 Graph、執行歷史、使用者資料)

Executor(executor) - 核心執行引擎,負責執行 Graph - 解析 Graph 結構,按依賴關係排程 Block - 支援並行執行、條件分支、迴圈 - 與 RabbitMQ 整合,處理非同步任務佇列

WebSocket Server(websocket_server) - 提供即時執行日誌推送 - 前端透過 WebSocket 接收每個 Block 的執行狀態

Migrate Service(migrate) - 資料庫遷移服務,使用 Alembic 管理 Schema 變更

3. 基礎設施

  • Redis Cluster:3 節點 Redis 叢集,用於快取和會話管理
  • RabbitMQ:訊息佇列,處理非同步任務(如長時間執行的 Block)
  • FalkorDB:圖資料庫,儲存 Agent 關係和知識圖譜(實驗性功能)
  • PostgreSQL:主資料庫,儲存 Graph、執行記錄、使用者資料

4. Block 系統

Block 是 RND 的核心擴充點。每個 Block 是一個 Python 類別,繼承自 Block 基底類別:

PYTHON
from backend.blocks._base import Block

class MyCustomBlock(Block):
    class Input(Block.Input):
        prompt: str
        model: str = "gpt-4"

    class Output(Block.Output):
        response: str
        tokens: int

    async def run(self, input: Input) -> Output:
        # 實作 Block 邏輯
        result = await call_llm(input.prompt, input.model)
        return self.Output(response=result, tokens=len(result))

目前內建 100+ Block,涵蓋: - LLM 供應商:OpenAI、Anthropic、Groq、本機模型(Ollama) - 資料來源:Reddit、Twitter、YouTube、RSS、Web Scraper - 工具:程式碼執行器、HTTP 請求、檔案操作、資料庫查詢 - 整合:Slack、Discord、GitHub、Notion、Airtable、Google 套件 - AI 能力:影像生成(DALL-E、Stable Diffusion)、語音合成(ElevenLabs)、向量資料庫(Pinecone)

與 n8n / LangFlow / Flowise 對比

AutoGPT RND 並非唯一的視覺化工作流程工具。以下是與主流競品的對比:

特性 AutoGPT RND n8n LangFlow Flowise
定位 AI Agent 工作流程 通用自動化工作流程 LLM 應用建構 LLM 應用建構
開源 ✅ 完全開源 ✅ 開源(Fair-code) ✅ 開源 ✅ 開源
GitHub Star 187K(含 Classic) 50K+ 30K+ 30K+
Block 數量 100+(AI 專用) 400+(通用) 50+(LLM 專用) 50+(LLM 專用)
AI 能力 ⭐⭐⭐⭐⭐(原生 Agent) ⭐⭐⭐(需外掛) ⭐⭐⭐⭐(LLM 專用) ⭐⭐⭐⭐(LLM 專用)
通用整合 ⭐⭐⭐(AI 場景為主) ⭐⭐⭐⭐⭐(全場景) ⭐⭐(LLM 為主) ⭐⭐(LLM 為主)
視覺化編輯器 ✅ 優秀 ✅ 優秀 ✅ 優秀 ✅ 優秀
自託管 ✅ Docker ✅ Docker/npm ✅ Docker ✅ Docker/npm
雲託管 ✅ agpt.co ✅ n8n.cloud ❌ ❌
Marketplace ✅ 社群範本 ✅ 範本庫 ❌ ❌
學習曲線 中等 低 低 低
適合場景 AI Agent 自動化 通用業務自動化 RAG/Chatbot RAG/Chatbot

選型建議

選 AutoGPT RND,如果: - 你需要建構複雜的 AI Agent 工作流程(多步驟推理、工具呼叫) - 你需要 AutoGPT 生態的 Agent 能力(自主任務分解、自我反思) - 你想要一個專注於 AI 的原生平台,而非通用工具加 AI 外掛

選 n8n,如果: - 你需要通用業務自動化(CRM 同步、郵件處理、資料遷移) - 你需要 400+ 現成整合(Slack、Gmail、Notion、資料庫等) - 你不需要複雜的 AI Agent 邏輯,只需簡單的 LLM 呼叫

選 LangFlow / Flowise,如果: - 你只需要建構 RAG 應用或 Chatbot - 你想要最輕量级的方案(Flowise 單檔啟動) - 你不需要複雜的工作流程編排,只需簡單的 Chain

關鍵差異:Agent vs Chain

AutoGPT RND 與 LangFlow/Flowise 的核心區別在於執行模型:

  • LangFlow/Flowise:Chain 模式,線性執行,輸入 → LLM → 輸出
  • AutoGPT RND:Agent 模式,迴圈執行,輸入 → LLM → 工具呼叫 → 觀察 → LLM → ...

例如,一個「研究並寫報告」的任務: - Chain 模式:LLM 生成報告(無法搜尋最新資訊) - Agent 模式:LLM 決定搜尋 → 呼叫搜尋工具 → 分析結果 → 決定再搜尋 → ... → 生成報告

這種 Agent 迴圈是 AutoGPT RND 的獨特優勢。

快速上手:安裝與第一個 Agent 工作流程

環境需求

  • Docker 和 Docker Compose V2
  • 至少 4GB 記憶體
  • 10GB 磁碟空間

安裝步驟

1. 複製儲存庫

BASH
git clone https://github.com/Significant-Gravitas/AutoGPT.git
cd AutoGPT/autogpt_platform

2. 設定環境變數

BASH
cp .env.default .env

編輯 .env 檔案,新增你的 API Key:

BASH
# LLM 供應商
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...

# 可選:其他整合
REDDIT_CLIENT_ID=...
REDDIT_CLIENT_SECRET=...
SLACK_BOT_TOKEN=xoxb-...

3. 啟動服務

BASH
docker compose up -d

首次啟動會拉取映像檔、初始化資料庫,大約需要 3-5 分鐘。

4. 存取介面 開啟瀏覽器存取 http://localhost:3000,註冊帳號後即可使用。

建立第一個 Agent 工作流程

讓我們建構一個簡單的「新聞摘要 Agent」:

步驟 1:建立新 Graph - 點擊「Create New Agent」 - 命名為「Daily News Digest」

步驟 2:新增 Block 從左側面板拖曳以下 Block:

  1. RSS Reader Block - Input:https://news.ycombinator.com/rss - Output:articles(文章列表)

  2. LLM Block - Input:

    • prompt:"請為以下新聞生成一句話摘要:{{articles}}"
    • model:gpt-4
    • 連接到 RSS Reader 的輸出
  3. Text Formatter Block - Input:"📰 今日新聞摘要:\n\n{{llm_response}}" - 連接到 LLM 的輸出

步驟 3:連接 Block - RSS Reader → LLM(將 articles 傳給 prompt) - LLM → Text Formatter(將 response 傳給範本)

步驟 4:測試執行 - 點擊右上角「Run」按鈕 - 檢視執行日誌,確認每個 Block 的輸出 - 最終輸出顯示在 Text Formatter Block

步驟 5:儲存並複用 - 點擊「Save」儲存 Graph - 下次可直接執行,或匯出為 JSON 分享給他人

提示:你可以在 Marketplace 找到更多社群範本,直接匯入使用。

實戰案例:Reddit 自動化行銷 Agent

讓我們建構一個更複雜的實戰案例:Reddit 自動化行銷 Agent。這個 Agent 會自動監控特定 subreddit,分析帖子內容,生成相關的評論,並在人工審核後發布。

工作流程設計

Reddit Monitor → Content Analyzer → Comment Generator → Human Review → Reddit Poster

詳細設定

1. Reddit Monitor Block

JSON
{
  "subreddit": "MachineLearning",
  "sort": "hot",
  "limit": 10,
  "time_filter": "day"
}
  • 監控 r/MachineLearning 的熱門帖子
  • 獲取過去 24 小時的前 10 個帖子

2. Content Analyzer Block(LLM)

JSON
{
  "prompt": "分析以下 Reddit 帖子,判斷是否與 AI 工具相關:\n\n標題:{{post.title}}\n內容:{{post.content}}\n\n回答 YES 或 NO,並說明原因。",
  "model": "gpt-4"
}
  • 篩選與 AI 工具相關的帖子

3. AI Condition Block - 條件:analyzer_response 包含 "YES" - 如果為真,繼續執行;否則跳過

4. Comment Generator Block(LLM)

JSON
{
  "prompt": "為以下 Reddit 帖子生成一條有價值的評論,推薦我們的 AI 工具 AutoTool:\n\n帖子:{{post.title}} - {{post.content}}\n\n要求:\n1. 自然、有幫助\n2. 不要過度推銷\n3. 提及 AutoTool 如何解決帖子中的問題",
  "model": "gpt-4"
}

5. Human in the Loop Block - 類型:Approval Required - 顯示生成的評論內容 - 等待人工審核(通過/拒絕/編輯)

6. Reddit Poster Block

JSON
{
  "action": "reply",
  "post_id": "{{post.id}}",
  "text": "{{approved_comment}}"
}
  • 發布審核通過的評論

執行流程

  1. 監控階段:每小時執行一次,獲取最新帖子
  2. 分析階段:LLM 篩選相關帖子
  3. 生成階段:為每個相關帖子生成評論
  4. 審核階段:暫停等待人工審核
  5. 發布階段:發布審核通過的評論

成本估算

假設每天處理 10 個帖子: - RSS Reader:免費 - Content Analyzer:10 × 500 tokens = 5,000 tokens ≈ $0.15 - Comment Generator:5 × 1,000 tokens = 5,000 tokens ≈ $0.30(假設 50% 通過篩選) - Reddit Poster:免費 - 總計:約 $0.45/天,$13.5/月

注意事項

⚠️ 合規性提醒: - 遵守 Reddit 的 Self-Promotion Guidelines - 不要過度行銷,保持內容有價值 - 明確揭露利益關係(如適用) - 避免在禁止推廣的 subreddit 發布

進階用法

1. 自訂 Block 開發

如果內建 Block 無法滿足需求,你可以開發自訂 Block:

建立 Block 檔案

PYTHON
# backend/blocks/my_custom_block.py
from backend.blocks._base import Block
from pydantic import Field

class MyCustomBlock(Block):
    class Input(Block.Input):
        api_key: str = Field(description="API Key")
        query: str = Field(description="Search query")

    class Output(Block.Output):
        results: list
        count: int

    async def run(self, input: Input) -> Output:
        # 呼叫外部 API
        response = await self.http_get(
            "https://api.example.com/search",
            headers={"Authorization": f"Bearer {input.api_key}"},
            params={"q": input.query}
        )

        return self.Output(
            results=response["data"],
            count=len(response["data"])
        )

註冊 Block 在 backend/blocks/__init__.py 中新增:

PYTHON
from .my_custom_block import MyCustomBlock

重啟服務後,自訂 Block 會出現在編輯器中。

2. API 整合

AutoGPT Platform 提供 REST API,可以透過程式設計方式控制:

建立 Graph

BASH
curl -X POST http://localhost:8000/api/graphs \
  -H "Authorization: Bearer ***" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My Agent",
    "blocks": [...],
    "links": [...]
  }'

觸發執行

BASH
curl -X POST http://localhost:8000/api/graphs/{graph_id}/execute \
  -H "Authorization: Bearer ***" \
  -H "Content-Type: application/json" \
  -d '{
    "input_data": {
      "query": "What is AI?"
    }
  }'

查詢執行狀態

BASH
curl http://localhost:8000/api/executions/{execution_id} \
  -H "Authorization: Bearer ***"

3. 部署到生產環境

Docker Compose 生產設定

YAML
# docker-compose.prod.yml
version: '3.8'
services:
  rest_server:
    environment:
      - DATABASE_URL=postgresql://user:***@db:5432/autogpt
      - REDIS_URL=redis://redis:6379
    deploy:
      replicas: 3
      resources:
        limits:
          cpus: '2'
          memory: 2G

  executor:
    environment:
      - MAX_CONCURRENT_EXECUTIONS=10
    deploy:
      replicas: 5

使用 Kubernetes 對於大規模部署,建議使用 Kubernetes: - 使用 Helm Chart 部署(社群維護) - 設定 Horizontal Pod Autoscaler - 使用 Ingress 暴露服務 - 設定 PersistentVolume 儲存資料

4. 效能最佳化

並行執行 - 在 Graph 中設計並行分支 - Executor 會自動並行執行無依賴的 Block

快取策略 - 使用 Redis 快取 LLM 回應 - 對重複查詢直接返回快取結果

批次處理 - 使用 Iteration Block 批次處理資料 - 避免在迴圈中逐個呼叫 LLM

局限性與未來展望

當前局限

1. 資源消耗 - 完整部署需要 4GB+ 記憶體 - 多個微服務增加了運維複雜度 - 不適合輕量级場景(Flowise 更合適)

2. 學習曲線 - 相比 n8n,概念較多(Block、Graph、Schema) - 需要理解 Agent 迴圈和工具呼叫機制 - 除錯複雜工作流程需要時間

3. 生態成熟度 - Block 數量(100+)少於 n8n(400+) - 部分整合不夠穩定(實驗性功能) - 文件和社群資源相對較少

4. 成本控制 - 缺乏內建的成本預警機制 - 複雜 Agent 可能產生高額 LLM 費用 - 需要手動監控 token 使用

未來發展方向

根據 GitHub Issues 和 Discord 討論,AutoGPT Platform 計劃:

1. 多 Agent 協作 - 支援 Agent 之間的通訊和協作 - 建構 Agent 團隊,分工完成複雜任務

2. 增強的視覺化 - 即時執行流程圖(類似除錯器) - 效能瓶頸分析 - 成本熱力圖

3. 更多整合 - 企業級 SaaS 工具(Salesforce、HubSpot) - 本機工具(檔案系統、資料庫) - 硬體控制(IoT 裝置)

4. 效能最佳化 - 更輕量级的部署選項 - 邊緣計算支援 - 離線模式

5. 商業化 - agpt.co 提供雲託管服務 - 企業版功能(SSO、稽核日誌、SLA) - Marketplace 付費範本

常見問題(FAQ)

Q1: AutoGPT RND 和 Classic AutoGPT 有什麼區別?

A: Classic AutoGPT 是命令列自主 Agent,適合探索性任務;RND(Platform)是視覺化工作流程平台,適合可重複的業務流程。RND 提供拖曳式介面、更好的可控性和除錯體驗,是 AutoGPT 的主要發展方向。

Q2: AutoGPT Platform 需要多少資源?

A: 最低設定:4GB 記憶體、2 CPU、10GB 磁碟。推薦設定:8GB 記憶體、4 CPU、20GB SSD。如果使用雲託管(agpt.co),無需本機資源。

Q3: 如何新增自訂 Block?

A: 在 backend/blocks/ 目錄建立 Python 檔案,繼承 Block 基底類別,實作 Input、Output 和 run 方法。重啟服務後即可在編輯器中使用。詳見官方文件的「Custom Blocks」章節。

Q4: AutoGPT Platform 支援哪些 LLM?

A: 支援 OpenAI(GPT-4、GPT-3.5)、Anthropic(Claude)、Groq(Llama、Mixtral)、本機模型(透過 Ollama)。可以在 LLM Block 中切換模型,不同 Block 可以使用不同的 LLM。

Q5: 如何控制 Agent 的成本?

A: 1) 在 LLM Block 中設定 token 限制;2) 使用較便宜的模型(如 GPT-3.5)處理簡單任務;3) 快取重複查詢的結果;4) 監控 Dashboard 的 cost 統計;5) 設定預算預警(即將推出的功能)。

總結評價

AutoGPT RND(Platform)代表了 AI Agent 工具的重要演進方向:從黑盒自主 Agent 到視覺化可控工作流程。

優勢

✅ 視覺化編排:拖曳式介面降低了 Agent 開發門檻 ✅ 強大的 Block 生態:100+ 內建 Block,涵蓋主流 AI 能力和第三方服務 ✅ Agent 迴圈:支援複雜的多步驟推理和工具呼叫 ✅ 開源免費:完全開源,可自託管 ✅ 社群活躍:187K Star,Discord 社群活躍

不足

❌ 資源消耗大:微服務架構需要較多資源 ❌ 學習曲線:概念較多,上手需要時間 ❌ 文件不完善:部分功能缺少詳細文件 ❌ 穩定性:部分整合功能仍在實驗階段

適用場景

推薦使用: - 需要複雜 AI Agent 工作流程(多步驟、多工具) - 需要視覺化和可控性(除錯、稽核) - 需要 AutoGPT 生態的 Agent 能力 - 團隊有技術能力部署和維護

不推薦使用: - 簡單的 LLM 呼叫(用 LangFlow/Flowise) - 通用業務自動化(用 n8n) - 資源受限的環境(用雲託管或輕量工具)

評分

維度 評分 說明
功能完整性 ⭐⭐⭐⭐ 核心功能完善,部分整合待完善
易用性 ⭐⭐⭐ 視覺化介面友好,但概念較多
文件品質 ⭐⭐⭐ 基礎文件齊全,進階用法不足
社群活躍度 ⭐⭐⭐⭐⭐ GitHub Star 和 Discord 活躍度極高
效能 ⭐⭐⭐ 微服務架構有開銷,但可接受
總體評分 4.0/5 AI Agent 工作流程的首選開源方案

最終建議

如果你需要建構複雜的 AI Agent 工作流程,並且願意投入時間學習和部署,AutoGPT RND 是目前最強大的開源方案之一。它將 n8n 的視覺化編排與 AutoGPT 的 Agent 能力結合,為 AI 自動化提供了全新的可能性。

對於輕量级場景,建議考慮 LangFlow 或 Flowise;對於通用業務自動化,n8n 更合適。但對於需要真正 Agent 能力(自主決策、工具呼叫、多步推理)的場景,AutoGPT RND 是不二之選。

專案位址:https://github.com/Significant-Gravitas/AutoGPT

官方文件:https://docs.agpt.co

雲託管:https://platform.agpt.co