Firecrawl Web Agent:Plan-Act-Observe 迴圈、Skills 系統、Subagent 並行——一個可以直接 Fork 的自主研究 Agent 框架
Firecrawl 把驅動自家 firecrawl.dev/app/agent 的核心代碼開源了。不是 demo,是真正在跑的生產 agent——用的是他們自己的 Spark 1 模型,底層是 LangChain Deep Agents,加上一套設計得不錯的 Skills 和 Subagent 系統。
如果你在考慮要不要自己搭一個能做 web research 的 agent,這個 repo 值得認真看一遍。
核心架構:Plan-Act-Observe 迴圈
框架的核心是一個持續迴圈:Plan → Act → Observe → repeat,直到任務完成。
這不是新概念,但 Firecrawl 的實作有幾個具體的設計選擇:
- Act 層綁定四種 web tool:Search(搜尋)、Scrape(抓取頁面內容)、Browser(互動操作)、Bash(執行腳本做後處理)
- Observe 層直接輸出結構化 JSON,不是讓模型自己決定格式
- Streaming 支援:每一步的思考和操作都可以即時串流回前端
整個 orchestration 交給 LangChain Deep Agents 處理,Firecrawl 自己的貢獻是 web tool 層和 Skills/Subagent 系統。
Skills 系統:SKILL.md Playbook 熱載
這是這個 repo 裡設計最有意思的部分。
Skills 是 SKILL.md 格式的可重用 playbook,agent 在需要時自動發現並載入——不是靜態 prompt,是動態的。
運作方式:
- 你把一個
SKILL.md放在指定位置 - Agent 在執行任務時掃描可用 skill
- 如果任務符合某個 skill 的觸發條件,自動載入並執行
這個設計的優點是模組化——你可以在不改核心代碼的情況下擴展 agent 的能力。加一個新的 research skill、一個特定網站的抓取 playbook、或者一個資料處理流程,都只是加一個 markdown 文件的事。
這個概念如果你用過 Claude Code 的 skill 系統,會很熟悉——本質上是同一個 pattern。
Subagents:並行任務執行
當主 agent 判斷某些子任務可以獨立執行時,它可以 spawn subagents——每個 subagent 有自己獨立的 session state。
實際應用場景:一個研究任務需要同時抓取五個來源,主 agent 把這五個抓取任務分給五個 subagent 並行執行,再把結果聚合回來。
這個設計對速度的影響是明顯的——sequential 抓五個來源和 parallel 抓五個來源,時間差距在複雜任務上會很大。
三層部署選項
各部署層的彈性程度(越高越可自訂)
Next.js template — 最快上手,有完整的 chat UI、streaming 顯示、結構化輸出呈現。適合想要一個完整可用產品的場景。
Express template — API server,適合作為後端整合到現有系統。沒有 UI,專注在 agent 邏輯本身。
Library — 最底層,只有 agent core 和 tool 設定。適合想完全控制架構、只借用 Firecrawl 工具層的情況。
安裝只需要兩個指令:
npx -y firecrawl-cli@latest init -y --browser
firecrawl create agent -t next
-t next 換成 -t express 或 -t library 就切換模板。
值得注意的事
模型依賴:預設使用 Firecrawl 自家的 Spark 1 模型。但因為接的是 firecrawl-aisdk,理論上可以換成其他模型——不過文件沒有詳細說明這個替換流程,實際動手前需要看源碼。
星數和成熟度:目前 45 stars、5 forks,是一個相對早期的 repo。537 commits 說明開發是持續在進行的,但社群規模不大,遇到問題自己解決的比例會比較高。
Skills 系統的文件:這是整個架構最有價值的部分,但目前文件不夠詳細。SKILL.md 的格式規範、觸發條件怎麼定義、有沒有官方範例——這些都需要翻源碼才能搞清楚。
適合誰用
如果你需要一個可以快速 fork 然後自訂的 web research agent 起點,這個 repo 是個合理選擇。Plan-Act-Observe 迴圈設計得清楚,Skills 系統有擴展性,subagent 並行也解決了真實的效率問題。
如果你要的是一個成熟的、有大型社群支援的框架,目前還不是。
Firecrawl 把自家生產 agent 的核心開源出來,這本身是個值得關注的信號——代表這套架構在真實環境下已經跑過了。