📌 本文重點
- Deep Agents 讓 AI 像專職助理跑長流程
- 可自動調研、用多工具、多模型協作
- 完全自建自控,比封閉 SaaS 更可客製
給它一個問題,它會自動上網查資料、調工具、寫成 Markdown 報告——LangChain Deep Agents 解決的,就是過去只有 Perplexity、Claude 這類封閉產品才有的「自動調研 + 多步推理 + 多工具協作」能力,現在你可以自己部署掌控。
官方介紹與範例程式可見 LangChain 部落格與文件:https://python.langchain.com/docs/deep_agents/
參考解讀(英文):Towards AI:LangChain Just Made Frontier-Style Deep Agents Open Source
核心功能:讓 Agent 像「專職助理」一樣持續做事
1. 多步推理:自動拆解任務,不再只回答一個問題
一般 ChatGPT 類工具,回答完一輪就結束;Deep Agents 是會自己拆任務的「流程型助理」:
- 你只丟一句:
幫我比較今年主流開源 LLM,寫一份 Markdown 報告 - Agent 自己決定步驟:
- 搜索今年開源 LLM 清單
- 進一步查每個模型規格(參數量、效能、硬體需求)
- 彙整成表格 + 評語
- 最後輸出成 Markdown
💡 關鍵: Deep Agents 會自己規劃與拆解步驟,從一句任務描述完成整個多階段流程,而不是只回覆一輪答案。
你可以做的事:
- 寫「任務描述」而不是「一步一步指令」,例如:
“`text
幫我整理一份 2024 年可本地部署 LLM 的比較報告,條件: - 模型大小 7B–30B
- 適合在 24GB VRAM 內運行
- 需要列出評測來源與分數
“` - 把這段描述寫死在後端程式裡,前端只接使用者問題,就能幫同事省下一堆「怎麼問」的時間。
2. 多工具 / 多模型:像 Perplexity 一樣「邊問邊查」
Deep Agents 的設計重點是「會自己決定要用哪個工具」,典型會接:
- 搜索工具(如 Tavily、SerpAPI、自建搜尋 API)
- HTTP 工具(抓 REST API:GitHub、Jira、自家服務)
- 向量庫(如 Chroma、PGVector,查公司內部文件)
- 多個 LLM 模型(雲端 / 本地混搭)
你可以配置:
- 一個「大模型」負責推理與規劃(例如雲端的
GPT-4/Claude/QwenAPI) - 一個「便宜模型」負責簡單摘要(例如本地
Qwen 7B/DeepSeek 7B,參考:r/LocalLLaMA 模型比較表)
你可以做的事:
- 先接一個搜尋工具 + 一個 HTTP 工具:
- 搜索:Tavily 或 SerpAPI
- HTTP:LangChain 內建
Requests工具 - 讓 Agent 自己選:
- 有網路 → 先查
- 有內部 API → 優先打 API
3. 長任務鏈管理與錯誤恢復:不怕中斷的長流程
Deep Agents 預設支援:
- 任務狀態記錄:每一步做了什麼、用什麼工具
- 中途錯誤重試:API timeout / 工具失敗能重跑某步
- 可視化 trace(在 LangSmith 裡看完整呼叫鏈)
這讓它適合跑「需要 10–20 步」的長任務,例如:
💡 關鍵: 對需要 10–20 步、會呼叫多個外部 API 的長流程,Deep Agents 能維持完整狀態並在錯誤時自動重試,不會整個任務報廢。
- 連續調 5 個外部 API
- 多輪搜尋 + 逐段寫報告
你可以做的事:
- 在程式裡加入:
- 最大步數限制(防止無限迴圈)
- 單次任務總
token上限(防止爆成本) - 把 trace 連到 LangSmith 或 logging 系統,出錯時直接看哪一步掛掉。
適合誰用:三個具體場景
1. 技術團隊:自動化「調研 + 報告」Agent
使用情境:
- 每週要寫「某技術趨勢整理」
- 每次都要:Google → 點 10 個連結 → 摘要 → 整理成内部 wiki
用 Deep Agents 可以:
- 設定固定
Prompt: - 主題
- 需要標準小節(背景 / 優缺點 / 成熟度 / 相關開源專案)
- Agent 自動:
- 上網搜尋最新資料
- 過濾過舊或不相關文章
- 整理成 Markdown 報告
可立即行動:
- Fork 官方範例(見下方實作段落),改成輸出
.md檔,定期跑一個「技術雷達」任務。
2. 資料與營運團隊:自動週報 / 數據分析 Agent
使用情境:
- 每週要從 BI、資料庫、CRM 抓數字,整理成週報
Deep Agents 可以:
- 用 HTTP 工具接你的 BI / 數據 API
- 每週:
- Agent 調 API 拿數據
- 自動計算環比 / 年比
- 寫成「管理者看得懂」的自然語言結論
可立即行動:
- 先把一個「既有的 SQL 報表 API」包成工具,讓 Agent 負責:「怎麼解讀數字」而不是「查數字」。
3. 個人開發者:半自動運維助手(GitHub / Jira / 自家 API)
使用情境:
- 你一個人或小團隊維護多個專案,需要:
- 看 issue / PR 狀態
- 查 error log
- 開 / 關 ticket
Deep Agents 可以:
- 接:
- GitHub API(Issue / PR 摘要)
- Jira API(任務狀態)
- 自家監控或 log API
- 做到:
- 問:
這週專案 A 有哪些重大 bug? - Agent 自己去拉 GitHub / Jira 資料,整理成列表與優先順序
可立即行動:
- 先做「只讀版」:只拉資料不寫入,避免一開始就讓 Agent 動到 production。
LangChain Deep Agents vs 封閉產品
下表用「使用方式」角度,快速比較:
| 名稱 | 核心功能 | 免費方案 | 適合誰 |
|---|---|---|---|
| LangChain Deep Agents | 開源多步 Agent,工具任意擴充 | 開源,需自付模型 | 想自建 / 部署自家 Agent 的團隊 |
| Perplexity | 現成搜尋 + 答題 + 文件上傳 | 有免費層 | 想立刻用、不寫程式的使用者 |
| Claude Projects / Workflows | 團隊用流程型 Agent,整合在 Claude 內 | 有試用 / 收費方案 | 已採用 Anthropic 生態的公司 |
重點差異在:Deep Agents 完全自己掌控與客製,但需要你寫一點 Python 與 DevOps;Perplexity / Claude 比較像「即用即走」的 SaaS。
💡 關鍵: Deep Agents 是開源、可客製的方案,需要自付模型成本與運維,而封閉產品則以方便與免部署為主。
怎麼開始:從零搭一個「自動上網查 + Markdown 報告」Deep Agent
下面以 Python 為例,做一個簡單版本:給問題 → 自動上網查 → 輸出 Markdown 報告。
1. 安裝環境:Python + Poetry + LangChain
前置條件:
- 建議 Python 3.10+
- 安裝 Poetry(包管理):
bash
pip install poetry
建立專案:
mkdir deep-agent-report && cd deep-agent-report
poetry init # 按提示建立 pyproject.toml
poetry add langchain langchain-openai langchain-community
poetry add tavily-python # 當作搜尋工具
若要用其他模型供應商,改裝對應的 LangChain integration 即可,例如
langchain-anthropic、langchain-qianfan等。
2. 選模型:先雲端,之後再切本地
先用雲端(方便、快速試)
例如用 OpenAI 或對應的相容 API:
export OPENAI_API_KEY=你的_key
在程式裡:
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-4.1-mini", temperature=0)
你可以先選便宜模型(如
-mini/-lite),控制成本。
想切到本地 LLM 怎麼辦?
- 可以用 Ollama 或本地伺服器跑
Qwen/DeepSeek等模型 - 再用 LangChain 的
ChatOllama或 HTTP wrapper 包進來
from langchain_community.chat_models import ChatOllama
llm = ChatOllama(model="qwen:7b")
建議架構:
- 推理規劃:用雲端較強模型
- 摘要 / 重寫:用本地 LLM(成本較低)
3. 配置工具:搜尋 + HTTP(可選)
以 Tavily 搜尋為例:
export TAVILY_API_KEY=你的_tavily_key
from langchain_community.tools.tavily_search import TavilySearchResults
search_tool = TavilySearchResults(k=5)
如果你有自己的 API(例如:公司知識庫、專案清單):
from langchain_community.tools import RequestsGet
http_tool = RequestsGet()
之後你可以把兩個工具一起交給 Deep Agent,讓它自己決定何時使用。
4. 建一個最小可用 Deep Agent:問題 → 報告
下面是一個簡化範例(概念版),實際 API 以官方文件為準:
from langchain_deep_agents import DeepAgent # 假想匯入路徑,請以官方為準
agent = DeepAgent(
llm=llm,
tools=[search_tool, http_tool],
max_steps=12, # 防止無限迴圈
max_tokens=6000, # 控制成本
)
SYSTEM_PROMPT = """
你是一個技術研究助手,任務:
1. 收集最新公開資訊(優先使用搜尋工具)
2. 整理成結構化 Markdown 報告,包含:
- 摘要
- 主要發現
- 資料來源(附上連結)
3. 避免抄全文,請用自己的話重新整理。
"""
question = input("請輸入想調研的主題:")
result = agent.run(
system_prompt=SYSTEM_PROMPT,
user_query=question,
)
with open("report.md", "w", encoding="utf-8") as f:
f.write(result)
print("已輸出到 report.md")
你可以立刻做的事:
- 把
SYSTEM_PROMPT改成你團隊的報告模板 - 把
max_steps調小(例如 8),避免初期測試跑太久
5. 基本錯誤處理與成本控制
幾個實用建議:
- 限制任務長度與次數:
max_steps、max_tokens都要設- 外層再加一個「總執行時間」timeout
- 工具錯誤重試:
- 用 LangChain 的
retry機制(例如Retryingdecorator) - 搜尋失敗時,可以 fallback 到其他工具或直接回答「資料不足」
- 記錄花費:
- 把每次任務的 token 使用與工具呼叫次數寫 log
- 每週 review 哪些任務最花錢,是否可以改成「批次離線」處理
小結:讀完可以做的三步
- 先用雲端模型 + Tavily,照上面的範例跑出第一個 Markdown 報告 Agent。
- 替換 Prompt 和工具,改成符合你團隊需求的「技術調研」「數據週報」或「運維助手」。
- 再考慮本地 LLM + 更完整工具鏈,把敏感資料與成本問題一起收回自己掌控。
只要願意寫一點 Python,你就能把「Perplexity 那種會自己查、自己寫的 AI 助理」搬進自己的專案與內網。
🚀 你現在可以做的事
- 到 LangChain 官方文件頁面閱讀 Deep Agents 章節並 Fork 範例專案
- 建立一個
deep-agent-report專案,照文中步驟跑出第一個report.md- 把
SYSTEM_PROMPT與工具配置改成你的技術調研或數據週報模板,部署在內網試跑


發佈留言