📌 本文重點
- Deer-Flow 把長時間任務拆成可控模組
- 透過記憶體與子代理協作支援長期、多階段任務
- 搭配沙盒與工具調用,可快速做出實用自動化 Pipeline
只要先把任務切成模組、再讓 Agent 自己排程與記憶,Deer-Flow 能幫你把「要跑幾小時」的專案變成一條可控又可復用的自動化流程。
專案連結:bytedance/deer-flow
核心功能:把「長時間任務」拆成可控模組
這一節先講概念,但每個小節都會對應到你可以馬上去做的事。
1. 任務調度:讓 Agent 分段跑,而不是一口氣硬撐
Deer-Flow 的定位是「long-horizon SuperAgent harness」,核心就是任務調度(scheduler):
- 把大任務拆成多個
stage(例如:資料收集 → 清洗 → 分析 → 報告) - 每個
stage由一個或多個子代理(subagents)負責 - 調度器會決定:
- 什麼時候喚醒哪個子代理
- 什麼時候暫停、重試、或改走另一條路徑
你可以把它想像成「AI 版本的 Airflow + 任務導向的聊天界面」。
💡 關鍵: 把長任務拆成多個
stage,讓scheduler分段調度subagents,可以大幅降低單次失敗風險並提升整體可控性。
你可以馬上做的事:
- 打開專案的
examples/資料夾,看官方提供的flow定義(多半是 YAML 或 Pythonpipeline)。 - 想一個你日常會重複做的 3–4 步驟任務(例如:抓資料 → 存
DB→ 寫summary),在筆記上先畫出 3–4 個方框,對應到未來的stage名稱。
2. 記憶體管理:讓 Agent 記得「之前做過什麼」
長時間任務的難點,不是算力,而是「上下文會爆掉」。
Deer-Flow 幫你管的是:
- 短期記憶(
working memory):某個子任務當下需要的上下文 - 長期記憶(
long-term memory):歷史任務紀錄、重要結果、被標記的關鍵中間產物 - 記憶裁剪:把不重要的對話 /
log丟掉,只保留後續階段會用到的東西
這樣一來,你可以讓同一個 Agent:
- 早上先跑一輪資料爬取
- 下午再接續早上的結果繼續清洗與分析
你可以馬上做的事:
- 在官方
demo裡,找到記憶相關設定(通常會指定儲存路徑或使用向量資料庫)。 - 先用預設的本地檔案儲存方式,觀察它怎麼把多輪任務寫進
log/memory,了解自己之後可以在哪裡接入自己的資料庫。
3. 子代理協作 + 工具調用:像組一隊虛擬實習生
Deer-Flow 支援多個 subagents,每個都可以:
- 使用不同的
LLM(例如:一個負責寫程式,一個負責資料分析) - 綁不同的工具(
HTTP、資料庫、內部API) - 透過
message gateway互相傳遞任務與結果
同時,它內建「工具調用」的框架:
LLM輸出「要用哪個工具 + 參數」- Deer-Flow 幫你實際執行(例如發
HTTP請求、查DB) - 把結果再丟回
LLM繼續推理
你可以馬上做的事:
- 在
tools或skills相關的範例中,找到HTTP request或資料庫工具的例子。 - 把它改成呼叫你公司內部一個可公開測試的
API(例如:/health、/status),確認整條「LLM決定 → 工具執行 →LLM使用結果」流程可用。
4. 沙盒執行程式碼:讓 Agent 先在安全盒子裡試錯
Deer-Flow 特別強調 sandboxes:
- Agent 產生或修改程式碼時,不會直接在主機上執行
- 而是丟到隔離環境(容器 /
sandbox子進程)裡跑 - 出現錯誤時,
log會被收集回來給LLM參考,做下一輪修正
這一點非常適合以下情境:
- 讓 Agent 自動寫爬蟲、清洗腳本
- 讓 Agent 幫你布署一個小型服務(只在
sandbox測試通過後才進正式環境)
你可以馬上做的事:
- 在官方
demo裡跑一個「code sandbox」相關示例,看它怎麼把程式碼丟到沙盒執行。 - 把
sandbox內部要執行的腳本換成你平常會用的簡單任務,例如:讀取一個CSV,輸出JSON。
適合誰用:3 個具體場景
場景 1:長時間資料爬取與整理
典型流程:
- Agent A:負責定義爬取策略(網站列表、節奏控制)
- Agent B:實際發
HTTP請求、解析HTML/API - Agent C:清洗資料、存進資料庫
- Agent D:最後產出摘要報告(例如每天一份
Markdown摘要)
Deer-Flow 的用法:
- 每個 Agent 是一個
subagent - 任務調度器負責安排「今天要爬哪些」、「昨天失敗的要重試」
- 記憶體管理幫你記住爬過哪些
URL,避免重複
行動建議:
- 選一個你每天都會看的公開資料來源(例如某政府開放資料
API),用 Deer-Flow 做一個「每日抓取 +insert DB+ 產出報表」的pipeline。
場景 2:從需求到部署的自動化小專案
你可以把它當成一個「AI junior developer」:
- Agent 讀取你的需求(功能描述、預期輸入輸出)
- 在
sandbox裡生成與跑單元測試 - 修正錯誤
- 最後產出可部署的腳本或
Dockerfile
搭配本地 LLM(例如 Qwen 3.6 27B,搭配 MTP 加速,參考:這篇 Reddit 分享),你可以完全在內網完成這一串。
💡 關鍵: 搭配
Qwen 3.6 27B與MTP,有實務經驗分享可達到推理速度約「2.5×」提升,使本地端長任務也具備實用性。
行動建議:
- 挑一個小腳本需求,例如:
- 定期掃描資料夾,壓縮過期檔案
- 監控某個
API latency,超標就寄信 - 讓 Deer-Flow 的 Agent 在
sandbox中生成並測試這個腳本,再由你審核後部署。
場景 3:定期報表生成(營運、行銷、IT 系統狀態)
想像每週要手工做的:
- 把資料庫中的數據抓出來
- 做一些聚合 / 分析
- 輸出
PowerPoint或Markdown報告
Deer-Flow 可以這樣組:
- 工具:資料庫查詢工具(連到你的
PostgreSQL/MySQL) - Agent:
- 一個負責定義查詢與聚合邏輯
- 一個負責把結果轉成自然語言與圖表描述
- 調度:排成
cron-like任務,每週執行一次
行動建議:
- 從一個最簡單的報表開始,例如「每週新用戶數」,用 Deer-Flow 將流程自動化,先做到:
- Agent 查
DB→ 產出一份Markdown報告存檔 → 你手動審閱
怎麼開始:最小可行 Pipeline
下面是一條「週末就能跑起來」的最簡路線。
步驟 1:環境與安裝
- 準備一台有
Python 3.10+的機器(本機或雲端皆可)。 - 進入命令列:
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow
python -m venv .venv
source .venv/bin/activate # Windows 用 .venv\Scripts\activate
pip install -r requirements.txt
- 確認可以跑官方
demo(通常在examples/):
python examples/basic_flow.py
目標:先看到一個完整任務從「開始 → 調用
LLM→ 調用工具 → 結束」的log。
步驟 2:接上一個開源 LLM(本機或雲端)
你有兩條路:
- 本機模型:用
llama.cpp或Ollama跑Qwen 3.6之類的模型 - 雲端 API:用
OpenAI、Anthropic或其他OpenAI-compatible服務
以 OpenAI 介面為例,Deer-Flow 通常會在設定檔或程式中要求:
llm_config = {
"endpoint": "https://your-openai-compatible-endpoint/v1",
"api_key": "YOUR_KEY",
"model": "qwen-3.6-32b-instruct" # 或其他你有的模型名
}
行動建議:
- 如果你已經有在用本地模型,直接把你熟悉的
OpenAI-compatible endpoint(例如vLLM、自建server)填進來,確認 Deer-Flow 可以正常發出completion/chat請求。
步驟 3:串一個最簡單的工具(HTTP / 資料庫 / 內部 API)
以 HTTP 工具為例,你可以新增一個 tool:
from deer_flow.tools import register_tool
import requests
@register_tool("get_status")
def get_status(url: str):
resp = requests.get(url, timeout=10)
return {"status_code": resp.status_code, "body": resp.text[:1000]}
然後在 Agent 的工具清單中加入 get_status,讓 LLM 可以呼叫它:
Prompt裡描述:「有一個工具get_status(url)用來檢查服務狀態」- 將你的內部
/healthAPI當成第一個測試目標
行動建議:
- 先讓 Agent 自己決定:
- 什麼時候要呼叫
get_status - 呼叫後如何解讀結果(例如:狀態碼非
200就記錄成incident)
週末練習腳本:從官方 demo 改成你的業務任務
把以上步驟變成一個可執行的「週末計畫」:
- 跑起官方 demo
- 目標:看到完整的
log與結果 - 換成你的 LLM
- 本地
Qwen/ 雲端API任一種 - 串一個工具
HTTP或資料庫擇一- 改寫 flow
- 讓 Agent 幫你跑一個真實業務任務,例如:
- 每日抓一個內部
API的統計數據 - 存到一個簡單的
SQLite/CSV - 產出一行
summary
- 每日抓一個內部
做到這裡,你就已經擁有一個「專門幫你跑重複工作幾小時」的長跑 AI SuperAgent 雛型,接下來再慢慢加 stage、加子代理,就能讓它接手越來越多的例行任務。
💡 關鍵: 先完成最小可行
pipeline,再逐步增加stage和工具,可以在風險可控下循序擴張自動化範圍。
🚀 你現在可以做的事
- 到 GitHub 下載並跑一次
bytedance/deer-flow的官方examples/basic_flow.py- 挑一個你日常 3–4 步驟的例行任務,畫出對應
stage,準備改寫成 Deer-Flowpipeline- 接上你的第一個實際工具(例如內部
/healthAPI),驗證「LLM決策 → 工具執行 →LLM消化結果」這條鏈路在你環境中可用


發佈留言