單一 Agent 的瓶頸
想像你請一個人同時做這些事:研究一個主題、寫報告、做簡報、產生配圖、發佈網頁。就算是天才,也會被壓垮。在研究筆記和簡報排版之間跳來跳去,他丟失細節。在報告草稿和網頁程式碼之間切換,他忘記前面想好的東西。
這就是你把複雜請求丟給單一 AI agent 時發生的事。一次做一件事。一個 context window。對話越長,前面的推理越模糊。它沒辦法退後一步,協調多條平行工作線。
DeerFlow 是字節跳動的回答:別讓一個 agent 做所有事。改用協調的方式讓很多 agent 一起做。
DeerFlow 到底是什麼
DeerFlow(Deep Exploration and Efficient Research Flow)是一個開源的 SuperAgent 框架。不是單一 agent。是一個協調層,負責產生、管理、合成多個子 agent 的工作。2.0 版在 2026 年 2 月 28 日上線。幾小時內登上 GitHub Trending 第一名。至今超過 89,000 顆星。
「框架」(harness)這個字很重要。框架不做拉車的工作,馬才拉。DeerFlow 不直接幫你寫程式或做簡報。它決定該產生哪些子 agent、每個拿什麼工具、帶多少 context、結果怎麼合併成完整輸出。
用廚房來比喻:單一 AI agent 是一個廚師什麼都做。DeerFlow 是廚房經理,指派備料人員切菜、甜點師傅做甜點、爐台廚師煎主菜,然後把所有人的成果組合成最終上桌的那道菜。
建在 LangGraph 和 LangChain 之上。後端 Python、前端 React。MIT 授權。支援任何 LangChain 相容模型:GPT-4、DeepSeek v3.2、Gemini 2.5 Flash(透過 OpenRouter)、字節跳動自家的 Doubao-Seed 系列等。
架構:四個層次怎麼疊起來
四個核心層次,像建築物的樓層往上疊。理解每一層,就能看懂整個系統為什麼這樣設計。
主 Agent(Lead Agent)
最上面:主 agent。接收你的請求,拆解成子任務,決定產生哪些子 agent,合成所有輸出。主 agent 是唯一看到全貌的元件。它維護高層級計畫,根據子 agent 回報即時調整。
子 Agent
每個子 agent 拿到範圍明確的任務。研究一個特定問題。寫一段程式碼。產生一張圖。子 agent 只收到它需要的 context -- 不是完整對話歷史。這是刻意的。研究電池技術趨勢的子 agent 不需要知道簡報排版子 agent 偏好什麼字體。
任務彼此獨立時,子 agent 平行執行。子 agent A 需要子 agent B 的輸出時,主 agent 安排順序。所有子 agent 回報完畢。主 agent 把結構化結果合成最終輸出。
核心模式:扇出,然後扇入。研究任務產生十二個子 agent,各自探索不同角度,收斂成一份報告。建網站任務產生分別負責內容、樣式和部署的子 agent。
沙箱
每個任務在隔離環境中執行。三種執行模式:
- 本地 -- 程式碼直接在主機跑。快。不用額外設定。沒有隔離。
- Docker -- 程式碼在容器中跑。每個任務有專屬檔案系統
/mnt/user-data/,包含uploads/、workspace/、outputs/。 - Kubernetes -- 程式碼在 K8s pod 中跑,透過 provisioner 服務。適合規模化部署。
沙箱不是裝飾品。子 agent 讀寫檔案、執行 bash 指令、檢視圖片,全在沙箱裡。子 agent 的程式碼當掉?影響範圍限制在容器內。你的主機完全不受影響。
技能和記憶
技能(Skills) 是用 Markdown 定義的結構化能力模組,包含 YAML frontmatter。每個技能描述一套工作流程:怎麼寫研究報告、怎麼做簡報、怎麼建網頁。DeerFlow 用漸進式載入,子 agent 真正需要時才拉入技能定義。Context window 保持精簡,而不是一開始塞進所有能力。
內建技能涵蓋研究、報告、簡報、網頁、圖片/影片產生。外部技能透過 Gateway API 安裝 .skill 檔案。
記憶(Memory) 跨 session 持久保存。DeerFlow 自動從對話中萃取使用者背景、事實和偏好。本地存儲,帶信心分數。Debounce 機制減少 LLM 呼叫。一週後回來,DeerFlow 記得你的專案背景、偏好的輸出格式、之前累積的知識。
值得了解的主要功能
InfoQuest 搜尋整合
DeerFlow 整合 BytePlus 的 InfoQuest 智慧搜尋和爬蟲工具。不只是搜尋包裝。InfoQuest 處理結構化爬取、內容萃取和結果排序,專為研究任務調校。子 agent 需要回答事實問題時,拿到的是過濾和結構化的搜尋結果,不是原始網頁。
Claude Code 橋接
claude-to-deerflow 技能值得注意,特別是已經在用 Claude Code 的開發者。它讓你直接從終端跟運行中的 DeerFlow 實例互動。提交研究任務。檢查狀態。管理 thread。上傳檔案。完全不離開 Claude Code。
工作流程:你在深度編碼中。忽然需要 API 遷移策略的背景研究。不用切到 DeerFlow 的網頁 UI,直接從終端送出研究任務。DeerFlow 的子 agent 扇出、研究、整理報告。你繼續寫程式。報告完成?拉回 Claude Code session。
MCP Server 支援
DeerFlow 內建核心工具(搜尋、網頁擷取、檔案操作、bash 執行),透過 Model Context Protocol(MCP)擴展。接上任何 MCP 相容 server,加入額外能力:資料庫存取、API 整合、自訂資料來源。HTTP/SSE MCP server 支援 OAuth token 流程做認證存取。
即時通訊管道
DeerFlow 連接 Telegram、Slack、飛書(Feishu/Lark),透過長輪詢或 WebSocket。不需要公開 IP。從手機的 Telegram 送出任務。DeerFlow 的子 agent 工作一小時。收到完成的報告。指令:/new、/status、/models、/memory、/help。
安裝設定
前置需求
- Python 3.12+
- Node.js 22+
- pnpm
- Docker(建議,提供沙箱隔離)
Docker 安裝(建議)
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow
# 產生設定檔和環境設定
make config
# 編輯 config.yaml 加入你的模型和 API key
# 模型設定範例:
# models:
# - name: gpt-4
# display_name: GPT-4
# use: langchain_openai:ChatOpenAI
# model: gpt-4
# api_key: $OPENAI_API_KEY
# 拉取沙箱映像並啟動所有服務
make docker-init
make docker-start
在 http://localhost:2026 存取 DeerFlow。Docker 把所有東西打包(後端、前端、Nginx 反向代理、沙箱),不用個別安裝。
本地開發安裝
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow
make config # 產生設定檔
make check # 驗證環境
make install # 安裝依賴
make setup-sandbox # 選用:設定 Docker 沙箱
make dev # 啟動所有服務(開發模式)
模型設定
DeerFlow 支援任何 LangChain 相容模型。config.yaml 接受模型列表,每個帶各自 provider 的參數。對 OpenAI 相容的 provider(包括透過 Ollama 或 vLLM 跑的本地模型),設定 base_url:
models:
- name: deepseek-v3
display_name: DeepSeek v3.2
use: langchain_openai:ChatOpenAI
model: deepseek-chat
api_key: $DEEPSEEK_API_KEY
base_url: https://api.deepseek.com
DeerFlow 與 Termdock 的協作方式
DeerFlow 在自己的框架中安排主 agent、子 agent、沙箱和結果彙整。Termdock 則提供桌面終端工作區及 CLI/API,讓使用者或 agent 在不同終端交付任務、讀取回覆。兩者都涉及協調,但介面和工作方式不同;不能假設多個 CLI session 必然只能由人手動傳話,也不能假設 DeerFlow 每個內部子 agent 都有獨立的 Termdock 終端。
實作流程:執行後交給另一個 CLI 複查
- 依 DeerFlow 文件設定並啟動服務;在瀏覽器查看它的介面,在 Termdock 終端查看實際可用的服務輸出或 log。
- DeerFlow 完成後,確認產出的檔案位置與任務要求。另開一個已安裝的 CLI session,交付這些資料,請它找出沒有來源的結論或缺漏。
- 核對原始來源及複查回覆,必要時把具體問題交回處理。兩個 session 的 context 不會自動合併;檔案與資料必須在雙方獲授權的範圍內。
也可以依 Termdock Agent 交接教學讓 agent 透過 CLI/API 開終端與讀取回覆。這個做法是複查 DeerFlow 的產出,不代表 Termdock 能直接檢視或控制所有 DeerFlow 內部子 agent。
限制和誠實的考量
資源需求
DeerFlow 不輕量。完整技術棧(LangGraph agent server、Gateway API、前端、Nginx、Docker 沙箱)需要相當資源。筆電上預期明顯的 CPU 和記憶體使用。Docker 比較乾淨但比單一 CLI agent 更重。
複雜度預算
DeerFlow 解決真實問題 -- 多 agent 協調。但增加一層抽象需要理解和維護。config.yaml、模型設定、技能系統、MCP server 設定、沙箱模式。都是可能壞掉的介面。簡單寫程式任務殺雞用牛刀。DeerFlow 在真正需要多個子 agent 平行做研究、產生內容、執行程式碼的任務上,才值得它帶來的複雜度。
字節跳動出品
MIT 授權開源。程式碼可完整審計。但它來自字節跳動,某些企業環境對字節跳動出品的軟體有政策限制。自行審閱原始碼並做評估。MIT 代表你可以 fork、修改、自架,完全沒有限制。
安全面
任何在沙箱裡執行程式碼、連接外部 MCP server、安裝第三方技能的系統,攻擊面都比單一 process 的 CLI agent 大。Docker 沙箱提供隔離。但技能安裝機制和 MCP OAuth 流程是值得在正式部署前審計的信任邊界。
模型成本
DeerFlow 放大模型用量。十個子 agent 就是十倍 LLM 呼叫。按 token 計費的方案下,複雜研究任務可能燒掉可觀的 API 額度。監控 token 用量,特別是在嘗試高子 agent 數量時。
誰該用 DeerFlow
DeerFlow 不是給所有人的。適合的開發者和團隊:
- 經常處理跨研究 + 程式碼 + 內容的任務。 調查主題、根據發現寫程式、產出報告或簡報 -- DeerFlow 的多 agent 協調確實省時間。
- 需要長時間任務的持久 context。 以小時計而非分鐘計。DeerFlow 的記憶和中間結果卸載處理單一 agent 會遇到的 context window 限制。
- 想把多個 AI 工具整合進同一個工作流。 MCP 支援和技能系統把搜尋、程式碼執行、圖片產生、自訂工具放在同一個協調器下。
- 團隊需要非同步 AI 任務提交。 Telegram/Slack/飛書管道讓成員不用進網頁 UI 就能提交任務和收到結果。
快速寫程式任務,用 Claude Code 或 Codex CLI 就好。跨越研究、程式碼和內容邊界的多步驟專案,DeerFlow 值得那個設定成本。