還沒安裝 OpenClaw 嗎?
curl -fsSL https://openclaw.ai/install.sh | bashiwr -useb https://openclaw.ai/install.ps1 | iexcurl -fsSL https://openclaw.ai/install.cmd -o install.cmd && install.cmd && del install.cmd怕影響自己的電腦?ClawTank 60 秒雲端部署,免除誤刪檔案風險。
OpenClaw vs CrewAI——設定優先 vs 程式碼優先的 AI Agent
在 AI Agent 框架的版圖中,OpenClaw 和 CrewAI 代表了兩種截然不同的設計哲學。OpenClaw 走的是「設定優先」路線——你用 Markdown 定義 Agent 的行為,用 JSON 設定系統參數,幾乎不用寫程式碼。CrewAI 則是「程式碼優先」——你用 Python 類別定義 Agent、Task 和 Crew,有完整的程式控制力。
兩者都能做到多 Agent 協作,但實現方式和適用場景有根本差異。本文會從架構、設定、部署、開發體驗等多個面向做深入比較,幫你在下一個 AI 專案中做出更好的選擇。
架構概覽
OpenClaw 的架構
OpenClaw 的核心概念是「gateway + agents + skills」:
┌─────────────┐
Telegram ────────>│ │
Web Dashboard ───>│ Gateway │──> Agent A (agents/research.md)
API ─────────────>│ (Node.js) │──> Agent B (agents/coding.md)
│ │──> Agent C (agents/writer.md)
└─────────────┘
│
┌─────┴─────┐
│ Skills │
│ (plugins) │
└───────────┘
- Gateway:長時間運行的 Node.js 程序,負責接收來自各管道的訊息、路由到對應的 Agent、管理 session
- Agents:用 Markdown 檔案定義,描述 Agent 的角色、能力和行為規則
- Skills:可插拔的功能模組,提供 Agent 呼叫外部 API、操作檔案系統等能力
CrewAI 的架構
CrewAI 的核心概念是「agents + tasks + crew」[1]:
from crewai import Agent, Task, Crew, Process
researcher = Agent(
role="Senior Research Analyst",
goal="Find comprehensive information about AI trends",
backstory="You are an expert analyst...",
tools=[search_tool, scrape_tool],
llm=ChatOpenAI(model="gpt-4")
)
writer = Agent(
role="Technical Writer",
goal="Create clear technical documentation",
backstory="You are a skilled writer...",
tools=[file_tool],
llm=ChatOpenAI(model="gpt-4")
)
research_task = Task(
description="Research the latest AI agent frameworks...",
agent=researcher,
expected_output="A comprehensive report..."
)
writing_task = Task(
description="Write a blog post based on the research...",
agent=writer,
expected_output="A polished blog post...",
context=[research_task]
)
crew = Crew(
agents=[researcher, writer],
tasks=[research_task, writing_task],
process=Process.sequential
)
result = crew.kickoff()
- Agent:Python 物件,定義角色、目標、工具和 LLM
- Task:Python 物件,定義具體工作內容和預期輸出
- Crew:協調多個 Agent 執行多個 Task 的容器
- Process:定義 Task 的執行順序(sequential 或 hierarchical)
根本差異
| 面向 | OpenClaw | CrewAI |
|---|---|---|
| 定義語言 | Markdown + JSON | Python |
| 運行方式 | 長時間運行的 gateway | 按需執行的 script |
| Agent 定義 | 宣告式(描述是什麼) | 命令式(描述怎麼做) |
| 擴展方式 | Skill 插件 | Python 函式/類別 |
| 狀態管理 | 內建 session 和記憶 | 需自行實作 |
設定複雜度
OpenClaw:幾分鐘上手
OpenClaw 的設定門檻非常低。定義一個 Agent 只需要一個 Markdown 檔案:
# Research Agent
你是一個研究助手。當使用者提出問題時,你會:
1. 先釐清問題範圍
2. 搜尋相關資料
3. 整理成結構化的報告
## Skills
- web-search
- summarize
## Rules
- 只用繁體中文回答
- 每個回答附上資料來源
- 不確定的資訊要明確標註
就這樣。不用寫 Python、不用 import 套件、不用處理型別系統。
系統設定也很簡潔:
{
"gateway": {
"port": 19080,
"model": "claude-sonnet-4-20250514"
},
"telegram": {
"botToken": "your-token"
}
}
CrewAI:需要 Python 知識
CrewAI 的設定必然涉及 Python 程式碼。即使是最簡單的單一 Agent,你也需要:
# 安裝相依套件
# pip install crewai crewai-tools
from crewai import Agent, Task, Crew
agent = Agent(
role="Research Analyst",
goal="Find information about the given topic",
backstory="You are an expert research analyst...",
verbose=True,
allow_delegation=False
)
task = Task(
description="Research {topic} and provide a summary",
agent=agent,
expected_output="A structured summary with key findings"
)
crew = Crew(
agents=[agent],
tasks=[task],
verbose=True
)
result = crew.kickoff(inputs={"topic": "AI agent frameworks"})
print(result)
這對有 Python 經驗的開發者來說不難,但對非程式背景的使用者(例如想用 AI Agent 自動化工作流程的產品經理或研究員)來說,門檻明顯更高。
設定變更的成本
| 操作 | OpenClaw | CrewAI |
|---|---|---|
| 修改 Agent 行為 | 編輯 .md 檔 → 自動生效 | 修改 .py 檔 → 重新執行 |
| 新增工具/Skill | JSON 設定新增一行 | import + 實例化 + 注入 |
| 切換 LLM | JSON 改一個欄位 | 改程式碼中的 llm 參數 |
| 調整流程 | 修改 Agent 的 rules 區段 | 重構 Task 依賴和 Process |
多 Agent 協作方式
這是兩個框架差異最大的地方。
OpenClaw:@mention 自然對話
OpenClaw 的多 Agent 協作基於 agents.md 中的 @mention 機制[2]。Agent 之間可以像人類在 Slack 中一樣互相呼叫:
# Project Manager Agent
你是專案經理。當團隊需要完成一個任務時:
1. 分析任務需求
2. 用 @ResearchAgent 請他搜集資料
3. 資料收到後,用 @WriterAgent 請他撰寫報告
4. 審閱報告後回覆給使用者
## Handoff
- 技術問題 → @CodingAgent
- 資料搜尋 → @ResearchAgent
- 文件撰寫 → @WriterAgent
這種方式的好處是語意化——你用自然語言描述流程,框架自動處理 Agent 之間的訊息傳遞和上下文共享。
CrewAI:結構化的 Task 依賴
CrewAI 的多 Agent 協作是透過 Task 的 context 參數和 Process 模式來定義的:
# Sequential:任務一個接一個執行
crew = Crew(
agents=[researcher, analyst, writer],
tasks=[research_task, analysis_task, writing_task],
process=Process.sequential
)
# Hierarchical:有一個 manager agent 分配工作
crew = Crew(
agents=[researcher, analyst, writer],
tasks=[research_task, analysis_task, writing_task],
process=Process.hierarchical,
manager_llm=ChatOpenAI(model="gpt-4")
)
你也可以用 context 明確定義 Task 之間的資料流:
analysis_task = Task(
description="Analyze the research findings...",
agent=analyst,
context=[research_task], # 會收到 research_task 的輸出
expected_output="An analytical report..."
)
比較
| 面向 | OpenClaw (@mention) | CrewAI (Task/Process) |
|---|---|---|
| 定義方式 | 自然語言 | Python 程式碼 |
| 靈活性 | Agent 自行決定何時呼叫誰 | 預先定義的固定流程 |
| 可預測性 | 較低(LLM 決定) | 較高(程式碼決定) |
| 動態路由 | 支援(Agent 根據上下文判斷) | 有限(需程式碼邏輯) |
| 除錯難度 | 較高(行為不固定) | 較低(流程明確) |
如果你需要固定的、可重現的工作流程(例如「每次都是:搜集 → 分析 → 撰寫」),CrewAI 的結構化方式更適合。
如果你需要動態的、對話式的協作(例如「Agent 根據使用者問題自行判斷需不需要找其他 Agent 幫忙」),OpenClaw 的 @mention 機制更自然。
模型支援
OpenClaw
OpenClaw 支援大多數主流 LLM 供應商:
- Anthropic(Claude 系列)
- OpenAI(GPT 系列)
- Google(Gemini 系列)
- 任何 OpenAI 相容的 API(例如本地跑的 Ollama、vLLM)
在設定中切換模型只需改一個欄位:
{
"gateway": {
"model": "claude-sonnet-4-20250514"
}
}
不同 Agent 可以使用不同的模型:
# Research Agent
model: gpt-4o
(Agent 內容...)
# Coding Agent
model: claude-sonnet-4-20250514
(Agent 內容...)
CrewAI
CrewAI 同樣支援多種 LLM,但需要透過 Python 程式碼設定:
from langchain_openai import ChatOpenAI
from langchain_anthropic import ChatAnthropic
researcher = Agent(
role="Researcher",
llm=ChatOpenAI(model="gpt-4o", temperature=0.7)
)
coder = Agent(
role="Coder",
llm=ChatAnthropic(model="claude-sonnet-4-20250514", temperature=0)
)
CrewAI 建立在 LangChain 之上[3],所以理論上 LangChain 支援的 LLM 它都能用。不過這也意味著你需要安裝對應的 LangChain 套件,增加了依賴複雜度。
| 面向 | OpenClaw | CrewAI |
|---|---|---|
| 切換模型的成本 | 改設定檔一行 | 改程式碼 + 可能需要裝新套件 |
| 每個 Agent 獨立模型 | 支援 | 支援 |
| 本地模型 | 支援(Ollama 等) | 支援(透過 LangChain) |
| 依賴套件數量 | 少 | 多(LangChain 生態系) |
部署模型
OpenClaw
OpenClaw 是一個長時間運行的服務:

![CrewAI vs LangGraph vs AutoGen vs OpenClaw:最佳 AI Agent 框架 [2026]](/_next/image?url=%2Fblog%2Fai-agent-frameworks-comparison-2026.png&w=3840&q=75&dpl=dpl_2ruUhzmWbmK6SCWC1YJ1Xm9VKk1C)