2025 年多款 Deep Research 智能體框架全面對(duì)比
作者:fangzlong
隨著模型的范式和工程方式發(fā)展,網(wǎng)絡(luò)上涌現(xiàn)出了一大批模仿人類研究者對(duì)問(wèn)題進(jìn)行深入研究的智能體應(yīng)用。本文將從 OpenAI 關(guān)于 DeepResearch 的指南開(kāi)始,通過(guò)幾個(gè)開(kāi)源框架的架構(gòu)解構(gòu)與功能映射,揭示不同框架在研究自動(dòng)化領(lǐng)域的差異。為各位使用者、開(kāi)發(fā)者選擇合適工具和框架提供系統(tǒng)化參考。

一、開(kāi)源深度研究智能體框架
1. 開(kāi)源整體對(duì)比
市面上還有很多其他通用智能體框架也可以實(shí)現(xiàn)深度研究功能(如 Auto-GPT, BabyAGI, AgentGPT, Microsoft/AutoGen,Camel-AI/OWL)。本文主要關(guān)注下面六個(gè)專門(mén)針對(duì)深度研究功能進(jìn)行了架構(gòu)優(yōu)化及創(chuàng)新的框架,下面是簡(jiǎn)單對(duì)比:

備注:HuggingFace/OpenDeepReasearch 非獨(dú)立項(xiàng)目,所以這里寫(xiě)的 21.2k 是 SmolAgents 項(xiàng)目的總星數(shù)browser-use 是一個(gè) AI 驅(qū)動(dòng)瀏覽器的著名自動(dòng)化框架(目前在 Github 上 Star 為 65.4k)。對(duì)比傳統(tǒng) curl/requests 獲取網(wǎng)頁(yè)內(nèi)容,可以加載識(shí)別動(dòng)態(tài)網(wǎng)頁(yè)及上面的元素(比如一些使用 AJAX 加載的實(shí)時(shí)數(shù)據(jù)網(wǎng)站等)。本文主要關(guān)注框架方面,對(duì)包括 browser-use 等其他輔助工具不作過(guò)多研究,有興趣的讀者可以繼續(xù)深入學(xué)習(xí)。
2. OpenAI 指南
OpenAI 文檔提供了一個(gè)指導(dǎo)文檔 Deep Research 來(lái)說(shuō)明如何使用 API 構(gòu)造自己的深度研究智能體,里面的架構(gòu)基本是所有框架的雛形,所以我們先從這里開(kāi)始。
核心架構(gòu):三步范式(Plan -> Execute -> Synthesize)

該指南的核心思想是,不要試圖用一個(gè)巨大的提示詞(Prompt)讓模型一次性完成所有研究。相反,應(yīng)該將復(fù)雜的研報(bào)任務(wù)分解成一個(gè)清晰、模塊化的三步流程:
- 規(guī)劃 (Plan): 讓一個(gè)高級(jí)模型(如 GPT-4.1)將用戶的主問(wèn)題分解成一系列具體的、可獨(dú)立研究的子問(wèn)題。
- 執(zhí)行 (Execute): 并行地對(duì)每個(gè)子問(wèn)題進(jìn)行研究,調(diào)用搜索 API 獲取信息,并讓模型對(duì)單個(gè)信息源進(jìn)行總結(jié)。
- 合成 (Synthesize): 將所有子問(wèn)題的答案匯總起來(lái),交給一個(gè)高級(jí)模型,讓它撰寫(xiě)成一篇連貫、完整的最終報(bào)告。
3. 優(yōu)秀實(shí)踐
基于這個(gè)核心架構(gòu),以下是具體的最佳實(shí)踐和注意事項(xiàng):
(1) 為正確的任務(wù)選擇正確的模型(核心成本與性能優(yōu)化策略)
這是文章中最重要的建議之一。不同任務(wù)對(duì)模型能力的要求不同,混用模型可以極大地優(yōu)化成本和速度。
優(yōu)秀實(shí)踐:
- 問(wèn)題澄清和改寫(xiě): 使用小一些、更快的模型。這兩步只是啟動(dòng)研究過(guò)程,如果輸入的 prompt 足夠詳細(xì),這兩步甚至可以跳過(guò)。
- 規(guī)劃 (Plan) 和 合成 (Synthesize) 階段: 使用能力最強(qiáng)的模型,如 gpt-4.1 或 gpt-4o。因?yàn)檫@兩個(gè)步驟需要強(qiáng)大的推理、邏輯組織和長(zhǎng)文本生成能力,它們的質(zhì)量直接決定了最終報(bào)告的上限。
- 執(zhí)行 (Execute) 階段: 對(duì)搜索到的單個(gè)網(wǎng)頁(yè)或文檔進(jìn)行初步總結(jié)時(shí),可以使用更便宜、更快的模型,如 gpt-3.5-turbo。因?yàn)檫@個(gè)任務(wù)相對(duì)簡(jiǎn)單(總結(jié)一篇具體文章),不需要頂級(jí)的推理能力。
注意事項(xiàng):
- 成本監(jiān)控:一個(gè)深度研究請(qǐng)求可能會(huì)觸發(fā)數(shù)十次 API 調(diào)用,必須密切關(guān)注成本。采用上述分級(jí)模型策略是控制成本的關(guān)鍵。
(2) 并行處理以最大化效率
研究過(guò)程中的多個(gè)子問(wèn)題通常是相互獨(dú)立的,等待一個(gè)完成后再開(kāi)始下一個(gè)會(huì)非常耗時(shí)。
優(yōu)秀實(shí)踐:
- 在“執(zhí)行”階段,一旦“規(guī)劃”步驟生成了所有子問(wèn)題列表,就應(yīng)該使用異步編程(如 Python 的 asyncio)來(lái)并行發(fā)起對(duì)每個(gè)子問(wèn)題的研究請(qǐng)求。這樣可以將原本需要數(shù)分鐘的串行過(guò)程縮短到一分鐘以內(nèi)。
注意事項(xiàng):
- API 速率限制 (Rate Limits): 并行調(diào)用會(huì)瞬間產(chǎn)生大量請(qǐng)求,請(qǐng)確保您的 OpenAI API 賬戶有足夠的速率限制額度(TPM - Tokens Per Minute),否則請(qǐng)求可能會(huì)失敗。
(3) 使用函數(shù)調(diào)用(Function Calling)或 JSON 模式獲取結(jié)構(gòu)化輸出
直接讓模型輸出文本并用代碼去解析,既不穩(wěn)定也容易出錯(cuò)。為了保證工作流的穩(wěn)定可靠,應(yīng)始終讓模型返回結(jié)構(gòu)化的數(shù)據(jù)。
優(yōu)秀實(shí)踐:
- 規(guī)劃階段: 指示模型使用“函數(shù)調(diào)用”或“JSON 模式”,輸出一個(gè)包含所有子問(wèn)題字符串的 JSON 列表。這樣您的代碼就可以直接、準(zhǔn)確地解析出需要執(zhí)行的任務(wù)清單。
- 執(zhí)行階段: 同樣,在總結(jié)單個(gè)頁(yè)面時(shí),也可以要求模型以固定的 JSON 格式返回結(jié)果,例如 {"summary": "...", "key_points": [...]}。
注意事項(xiàng):
- 確保您的提示詞中清晰地描述了所需的 JSON 結(jié)構(gòu)或函數(shù)簽名。
(4) 外部工具的必要性(LLM 不是萬(wàn)能的)
大型語(yǔ)言模型本身沒(méi)有實(shí)時(shí)聯(lián)網(wǎng)能力,其知識(shí)也非最新。因此,必須集成外部工具。
優(yōu)秀實(shí)踐:
- 集成一個(gè)或多個(gè)高質(zhì)量的搜索 API(如 Google Search API, Brave Search API, Serper 等)來(lái)獲取實(shí)時(shí)、廣泛的信息。
- 在提示詞中明確告知模型它可以使用這些工具,并通過(guò)函數(shù)調(diào)用等方式將工具的輸出結(jié)果返回給模型。
(5) 精心設(shè)計(jì)提示詞(Prompt Engineering)
每個(gè)階段的提示詞都至關(guān)重要。
優(yōu)秀實(shí)踐:
- 規(guī)劃提示詞: 應(yīng)明確告知模型其角色是一個(gè)“世界級(jí)的首席研究員”,任務(wù)是“將一個(gè)復(fù)雜問(wèn)題分解為一組可以獨(dú)立研究的、詳盡的子問(wèn)題”。
- 執(zhí)行提示詞: 應(yīng)指示模型扮演“專家分析師”,任務(wù)是“根據(jù)提供的原始文本,回答一個(gè)具體的問(wèn)題,并進(jìn)行簡(jiǎn)潔總結(jié)”。
- 合成提示詞: 這是最終決定報(bào)告質(zhì)量的關(guān)鍵。應(yīng)包含所有子問(wèn)題的答案,并給出非常明確的指令,例如:“你是一位頂級(jí)行業(yè)分析師,請(qǐng)整合以下所有研究資料,撰寫(xiě)一份全面、客觀、結(jié)構(gòu)清晰的深度研究報(bào)告。報(bào)告應(yīng)包含引言、正文和結(jié)論,并保持專業(yè)的語(yǔ)調(diào)?!?/li>
輸入樣例:
①問(wèn)題
Research the economic impact of semaglutide on global healthcare systems.
Do:
- Include specific figures, trends, statistics, and measurable outcomes.
- Prioritize reliable, up-to-date sources: peer-reviewed research, health
organizations (e.g., WHO, CDC), regulatory agencies, or pharmaceutical
earnings reports.
- Include inline citations and return all source metadata.
Be analytical, avoid generalities, and ensure that each section supports
data-backed reasoning that could inform healthcare policy or financial modeling.
研究索馬魯肽對(duì)全球醫(yī)療保健系統(tǒng)的經(jīng)濟(jì)影響。
應(yīng)做的:
- 包含具體的數(shù)字、趨勢(shì)、統(tǒng)計(jì)數(shù)據(jù)和可衡量的成果。
- 優(yōu)先考慮可靠、最新的來(lái)源:同行評(píng)審的研究、衛(wèi)生組織(例如世界衛(wèi)生組織、美國(guó)疾病控制與預(yù)防中心)、監(jiān)管機(jī)構(gòu)或制藥公司
的盈利報(bào)告。
- 包含內(nèi)聯(lián)引用并返回所有來(lái)源元數(shù)據(jù)。
進(jìn)行分析,避免泛泛而談,并確保每個(gè)部分都支持
數(shù)據(jù)支持的推理,這些推理可以為醫(yī)療保健政策或財(cái)務(wù)模型提供參考。(注:上方為指南 prompt 原文,下方為對(duì)應(yīng)翻譯參考)
② 問(wèn)題澄清
You are talking to a user who is asking for a research task to be conducted. Your job is to gather more information from the user to successfully complete the task.
GUIDELINES:
- Be concise while gathering all necessary information**
- Make sure to gather all the information needed to carry out the research task in a concise, well-structured manner.
- Use bullet points or numbered lists if appropriate for clarity.
- Don't ask for unnecessary information, or information that the user has already provided.
IMPORTANT: Do NOT conduct any research yourself, just gather information that will be given to a researcher to conduct the research task.
您正在與一位請(qǐng)求開(kāi)展研究任務(wù)的用戶交談。您的工作是從用戶那里收集更多信息,以成功完成任務(wù)。
指導(dǎo)原則:
- 收集所有必要信息時(shí)務(wù)必簡(jiǎn)潔**
- 確保以簡(jiǎn)潔、結(jié)構(gòu)良好的方式收集完成研究任務(wù)所需的所有信息。
- 為清晰起見(jiàn),請(qǐng)根據(jù)需要使用項(xiàng)目符號(hào)或編號(hào)列表。
- 請(qǐng)勿詢問(wèn)不必要的信息或用戶已提供的信息。
重要提示:請(qǐng)勿自行進(jìn)行任何研究,只需收集將提供給研究人員進(jìn)行研究任務(wù)的信息即可。③ User Prompt 改寫(xiě)
You will be given a research task by a user. Your job is to produce a set of
instructions for a researcher that will complete the task. Do NOT complete the
task yourself, just provide instructions on how to complete it.
GUIDELINES:
1. **Maximize Specificity and Detail**
- Include all known user preferences and explicitly list key attributes or
dimensions to consider.
- It is of utmost importance that all details from the user are included in
the instructions.
2. **Fill in Unstated But Necessary Dimensions as Open-Ended**
- If certain attributes are essential for a meaningful output but the user
has not provided them, explicitly state that they are open-ended or default
to no specific constraint.
3. **Avoid Unwarranted Assumptions**
- If the user has not provided a particular detail, do not invent one.
- Instead, state the lack of specification and guide the researcher to treat
it as flexible or accept all possible options.
4. **Use the First Person**
- Phrase the request from the perspective of the user.
5. **Tables**
- If you determine that including a table will help illustrate, organize, or
enhance the information in the research output, you must explicitly request
that the researcher provide them.
Examples:
- Product Comparison (Consumer): When comparing different smartphone models,
request a table listing each model's features, price, and consumer ratings
side-by-side.
- Project Tracking (Work): When outlining project deliverables, create a table
showing tasks, deadlines, responsible team members, and status updates.
- Budget Planning (Consumer): When creating a personal or household budget,
request a table detailing income sources, monthly expenses, and savings goals.
- Competitor Analysis (Work): When evaluating competitor products, request a
table with key metrics, such as market share, pricing, and main differentiators.
6. **Headers and Formatting**
- You should include the expected output format in the prompt.
- If the user is asking for content that would be best returned in a
structured format (e.g. a report, plan, etc.), ask the researcher to format
as a report with the appropriate headers and formatting that ensures clarity
and structure.
7. **Language**
- If the user input is in a language other than English, tell the researcher
to respond in this language, unless the user query explicitly asks for the
response in a different language.
8. **Sources**
- If specific sources should be prioritized, specify them in the prompt.
- For product and travel research, prefer linking directly to official or
primary websites (e.g., official brand sites, manufacturer pages, or
reputable e-commerce platforms like Amazon for user reviews) rather than
aggregator sites or SEO-heavy blogs.
- For academic or scientific queries, prefer linking directly to the original
paper or official journal publication rather than survey papers or secondary
summaries.
- If the query is in a specific language, prioritize sources published in that
language.
用戶會(huì)給你一個(gè)研究任務(wù)。你的工作是為研究人員提供一套完成該任務(wù)的指導(dǎo)說(shuō)明。請(qǐng)勿自行完成任務(wù),只需提供完成該任務(wù)的說(shuō)明即可。
指導(dǎo)原則:
1. **盡量具體和詳細(xì)**
- 包含所有已知的用戶偏好,并明確列出需要考慮的關(guān)鍵屬性或維度。
- 務(wù)必將用戶提供的所有詳細(xì)信息都包含在說(shuō)明中。
2. **將未說(shuō)明但必要的維度填寫(xiě)為開(kāi)放式**
- 如果某些屬性對(duì)于有意義的輸出至關(guān)重要,但用戶未提供,請(qǐng)明確說(shuō)明它們是開(kāi)放式的或默認(rèn)為無(wú)特定約束。
3. **避免不必要的假設(shè)**
- 如果用戶未提供特定細(xì)節(jié),請(qǐng)勿自行虛構(gòu)。
- 相反,應(yīng)說(shuō)明缺乏具體說(shuō)明,并指導(dǎo)研究人員將其視為靈活變通或接受所有可能的選項(xiàng)。
4. **使用第一人稱**
- 從用戶的角度表達(dá)請(qǐng)求。
5. **表格**
- 如果您確定使用表格有助于說(shuō)明、組織或增強(qiáng)研究成果中的信息,則必須明確要求研究人員提供表格。
示例:
- 產(chǎn)品比較(消費(fèi)者):比較不同智能手機(jī)型號(hào)時(shí),
要求提供一個(gè)表格,并列列出每種型號(hào)的功能、價(jià)格和消費(fèi)者評(píng)分。
- 項(xiàng)目跟蹤(工作):概述項(xiàng)目可交付成果時(shí),創(chuàng)建一個(gè)表格,列出任務(wù)、截止日期、負(fù)責(zé)的團(tuán)隊(duì)成員和狀態(tài)更新。
- 預(yù)算規(guī)劃(消費(fèi)者):制定個(gè)人或家庭預(yù)算時(shí),
要求提供一個(gè)表格,詳細(xì)說(shuō)明收入來(lái)源、每月支出和儲(chǔ)蓄目標(biāo)。
- 競(jìng)爭(zhēng)對(duì)手分析(工作):評(píng)估競(jìng)爭(zhēng)對(duì)手產(chǎn)品時(shí),
要求提供一個(gè)表格,其中包含關(guān)鍵指標(biāo),例如市場(chǎng)份額、定價(jià)和主要差異化因素。
6. **標(biāo)題和格式**
- 您應(yīng)該在提示中包含預(yù)期的輸出格式。
- 如果用戶要求的內(nèi)容最好以結(jié)構(gòu)化格式返回(例如報(bào)告、計(jì)劃等),請(qǐng)研究人員將其格式化為報(bào)告,并使用適當(dāng)?shù)臉?biāo)題和格式,以確保清晰度和結(jié)構(gòu)。
7. **語(yǔ)言**
- 如果用戶輸入的是英語(yǔ)以外的語(yǔ)言,請(qǐng)告知研究人員使用該語(yǔ)言進(jìn)行回復(fù),除非用戶查詢明確要求以其他語(yǔ)言回復(fù)。
8. **來(lái)源**
- 如果需要優(yōu)先考慮特定來(lái)源,請(qǐng)?jiān)谔崾局兄付ā?- 對(duì)于產(chǎn)品和旅行研究,最好直接鏈接到官方或主要網(wǎng)站(例如,官方品牌網(wǎng)站、制造商頁(yè)面或亞馬遜等信譽(yù)良好的電商平臺(tái),以獲取用戶評(píng)論),而不是聚合網(wǎng)站或注重搜索引擎優(yōu)化的博客。
- 對(duì)于學(xué)術(shù)或科學(xué)查詢,建議直接鏈接到原始論文或官方期刊出版物,而不是調(diào)查論文或二手摘要。
- 如果查詢使用特定語(yǔ)言,請(qǐng)優(yōu)先考慮以該語(yǔ)言出版的資料。(6) 加入人工審核環(huán)節(jié) (Human-in-the-Loop)
對(duì)于非常嚴(yán)肅或重要的研究任務(wù),完全自動(dòng)化的流程可能存在風(fēng)險(xiǎn)。
優(yōu)秀實(shí)踐:
- 可以在規(guī)劃階段之后加入一個(gè)人工審核步驟。讓用戶(或您自己)審查和修改模型生成的子問(wèn)題列表,確保研究方向正確無(wú)誤后,再啟動(dòng)昂貴的“執(zhí)行”階段。這可以有效避免后續(xù)步驟的“垃圾進(jìn),垃圾出”。
二、開(kāi)源架構(gòu)分析
下面依次介紹每個(gè)框架的架構(gòu)和特點(diǎn),并給出最佳實(shí)踐和注意事項(xiàng)。
1. ByteDance/DeerFlow

DeerFlow 項(xiàng)目的架構(gòu)是一個(gè)模塊化的多智能體(multi-agent)系統(tǒng),其核心是圍繞一個(gè)分層的、協(xié)作的智能體團(tuán)隊(duì)來(lái)自動(dòng)化完成復(fù)雜的研究任務(wù)。其主要架構(gòu)組件和特點(diǎn)如下:
(1) 核心架構(gòu):分層多智能體系統(tǒng)
DeerFlow 采用了多個(gè)擁有不同角色的智能體(Agent)協(xié)同工作的模式,這些智能體各司其職,共同完成一個(gè)研究項(xiàng)目。該系統(tǒng)主要包含以下幾個(gè)核心角色:
- 協(xié)調(diào)器 (Coordinator): 這是整個(gè)工作流的入口和管理者。它接收用戶的初始請(qǐng)求,啟動(dòng)研究流程,并在需要時(shí)將任務(wù)委派給規(guī)劃器。協(xié)調(diào)器也作為用戶和系統(tǒng)之間的主要交互界面。
- 規(guī)劃器 (Planner): 扮演策略師的角色。它負(fù)責(zé)將用戶提出的復(fù)雜研究問(wèn)題分解成一系列結(jié)構(gòu)化的、可執(zhí)行的步驟。規(guī)劃器會(huì)評(píng)估當(dāng)前是否需要收集更多信息,還是可以開(kāi)始生成報(bào)告,從而管理整個(gè)研究的流程。
- 研究團(tuán)隊(duì) (Research Team): 這是一組專門(mén)執(zhí)行具體任務(wù)的智能體,如同一個(gè)“研究小組”。主要包括: 研究員 (Researcher): 負(fù)責(zé)執(zhí)行網(wǎng)絡(luò)搜索、調(diào)用API、抓取網(wǎng)頁(yè)內(nèi)容等,以收集所需的信息和數(shù)據(jù)。 程序員 (Coder): 負(fù)責(zé)執(zhí)行 Python 代碼,用于數(shù)據(jù)分析、代碼片段測(cè)試等技術(shù)性任務(wù)。
- 報(bào)告員 (Reporter): 這是研究流程的最后一環(huán)。它負(fù)責(zé)將研究團(tuán)隊(duì)收集到的所有信息和發(fā)現(xiàn)進(jìn)行匯總、整合和結(jié)構(gòu)化,最終生成多種格式的綜合研究報(bào)告,例如 Notion 風(fēng)格的文檔、播客甚至是 PowerPoint 演示文稿。
(2) 技術(shù)基礎(chǔ)和特點(diǎn)
- 構(gòu)建于開(kāi)源項(xiàng)目之上: DeerFlow 的底層利用了 LangChain 和 LangGraph 等流行的開(kāi)源項(xiàng)目。特別是 LangGraph,它被用來(lái)構(gòu)建和管理不同智能體之間的狀態(tài)和通信,使得整個(gè)工作流程像一個(gè)有向圖一樣清晰和可追溯。
- 模塊化和可擴(kuò)展性: 該架構(gòu)是高度模塊化的,支持“即插即用”的工具集。例如,它集成了 Tavily、Brave Search、DuckDuckGo 等多種搜索引擎,以及用于網(wǎng)頁(yè)抓取的 Jina 等工具,并且可以輕松擴(kuò)展以支持自定義的 API 或模型。
- 人機(jī)協(xié)作 (Human-in-the-Loop): DeerFlow 并非一個(gè)完全自主的“黑箱”系統(tǒng),而是強(qiáng)調(diào)人與 AI 的協(xié)作。用戶可以審查和修改AI生成的研究計(jì)劃,在執(zhí)行過(guò)程中調(diào)整參數(shù),并在最后對(duì)報(bào)告進(jìn)行精煉。這種混合模式在用戶測(cè)試中被證明可以顯著減少研究時(shí)間,同時(shí)保持內(nèi)容的高準(zhǔn)確性。
- 微服務(wù)架構(gòu): 有資料提到,DeerFlow 采用了微服務(wù)(microservices-based)架構(gòu),包含了研究引擎、Web UI、數(shù)據(jù)庫(kù)和存儲(chǔ)等多個(gè)組件,使其更具可擴(kuò)展性。
2. HuggingFace/OpenDeepResearch
HuggingFace 的 OpenDeepResarch 是唯一一個(gè)提到了在標(biāo)準(zhǔn)評(píng)測(cè)集(GAIA)下與原版 ChatGPT DeepResearch 分?jǐn)?shù)比對(duì)的:This agent achieves 55% pass@1 on the GAIA validation set, compared to 67% for the original Deep Research.
下面是架構(gòu)圖:

與 DeerFlow 的分層多智能體架構(gòu)不同,huggingface/smolagents 項(xiàng)目采用了更輕量級(jí)、更注重代碼和簡(jiǎn)潔性的架構(gòu)。它的核心理念是提供一個(gè)極簡(jiǎn)的框架,讓開(kāi)發(fā)者可以輕松構(gòu)建、調(diào)試和控制由大型語(yǔ)言模型(LLM)驅(qū)動(dòng)的智能體(Agent)。
以下是 smolagents 項(xiàng)目架構(gòu)的關(guān)鍵特點(diǎn):
(1) 核心思想:簡(jiǎn)潔與最少抽象
- 輕量級(jí)代碼庫(kù): 整個(gè) smolagents 庫(kù)的核心邏輯被有意地控制在很少的代碼行數(shù)內(nèi)(約1000行),這使得它非常容易理解和上手。
- 避免過(guò)度抽象: 許多AI智能體框架被批評(píng)有太多的抽象層,導(dǎo)致系統(tǒng)僵化且難以調(diào)試。smolagents 刻意避免了這一點(diǎn),給予開(kāi)發(fā)者更大的控制權(quán)和透明度。
(2) 核心架構(gòu):以代碼為中心的智能體 (Code Agents)
smolagents 的主要方法是代碼智能體 (CodeAgent)。這與其他框架主要依賴JSON格式來(lái)定義行為的方式形成了鮮明對(duì)比。
- 動(dòng)作即代碼: 在 smolagents 中,智能體的動(dòng)作(actions)直接表現(xiàn)為 Python 代碼片段。LLM 會(huì)生成一小段 Python 代碼來(lái)執(zhí)行下一步操作,而不是生成需要解析的JSON對(duì)象。
- 優(yōu)勢(shì): 表現(xiàn)力強(qiáng): 編程語(yǔ)言(如Python)天生就適合用來(lái)表達(dá)復(fù)雜的動(dòng)作和邏輯。 組合性好: 代碼可以輕松地進(jìn)行嵌套、抽象和重用(例如定義函數(shù)),這是JSON難以做到的。 安全性: 為了安全地執(zhí)行這些由AI生成的代碼,smolagents 支持在沙盒環(huán)境(如 E2B)中運(yùn)行。
(3) 主要智能體類型
該庫(kù)提供了幾種核心的智能體類型:
- CodeAgent: 這是最主要的智能體類型。它通過(guò)生成和執(zhí)行 Python 代碼來(lái)完成任務(wù),并且可以調(diào)用預(yù)先定義好的工具。
- ToolCallingAgent: 雖然 CodeAgent 是核心,但 smolagents 仍然支持傳統(tǒng)的、通過(guò)生成 JSON/文本 來(lái)調(diào)用工具的智能體,以兼容更廣泛的用例和模型。
- MultiStepAgent: 這種智能體能夠?qū)⒁粋€(gè)復(fù)雜的任務(wù)分解成多個(gè)步驟,并周期性地生成或更新計(jì)劃,以結(jié)構(gòu)化、目標(biāo)導(dǎo)向的方式逐步解決問(wèn)題。
3. LangChainAI/OpenDeepResearch
langchain-ai/open_deep_research 項(xiàng)目(包括 LangChain 和 Together AI 的版本)的架構(gòu)核心是一個(gè)多階段、迭代和自反思(self-reflection)的智能體工作流,旨在模擬人類進(jìn)行深度研究的過(guò)程。這個(gè)架構(gòu)比簡(jiǎn)單的“提問(wèn)-回答”模式要復(fù)雜得多,其設(shè)計(jì)目標(biāo)是處理需要多步推理和信息整合的復(fù)雜主題。
(1) 以下是該項(xiàng)目架構(gòu)的關(guān)鍵組成部分和特點(diǎn)
- 核心理念:Plan-Search-Reflect-Write (規(guī)劃-搜索-反思-撰寫(xiě)) 整個(gè)架構(gòu)圍繞著一個(gè)清晰的研究流程展開(kāi),模仿了人類專家的研究方法:
- 規(guī)劃 (Plan): 這是工作流的起點(diǎn)。一個(gè)“規(guī)劃器”智能體會(huì)接收用戶提出的研究主題,并將其分解成多個(gè)子問(wèn)題或子主題。這個(gè)規(guī)劃結(jié)果不僅指導(dǎo)后續(xù)的研究步驟,也構(gòu)成了最終報(bào)告的大綱。
- 搜索 (Search): 根據(jù)規(guī)劃階段生成的子問(wèn)題,系統(tǒng)會(huì)生成具體的搜索查詢,并調(diào)用各種搜索工具(如 Tavily, Perplexity, ArXiv 等)來(lái)收集相關(guān)信息。這個(gè)過(guò)程可以是并行的,多個(gè)研究循環(huán)可以同時(shí)針對(duì)不同的子主題進(jìn)行。
- 反思 (Self-Reflect): 這是該架構(gòu)的關(guān)鍵所在。在收集到初步信息后,一個(gè)智能體會(huì)評(píng)估當(dāng)前的信息是否足夠,是否存在知識(shí)空白。如果發(fā)現(xiàn)信息不足或有新的問(wèn)題出現(xiàn),系統(tǒng)會(huì)生成新的、更精確的搜索查詢,進(jìn)入下一輪迭代。這種“自我反思”的循環(huán)會(huì)持續(xù)進(jìn)行,直到信息足夠全面。
- 撰寫(xiě) (Write): 當(dāng)所有的研究循環(huán)完成后,一個(gè)“撰寫(xiě)者”智能體會(huì)將所有收集到的、經(jīng)過(guò)驗(yàn)證和提煉的信息進(jìn)行整合,并根據(jù)最初的規(guī)劃大綱,生成一份結(jié)構(gòu)完整、引用充分的綜合性研究報(bào)告。
(2) 該項(xiàng)目提供了兩種主要的實(shí)現(xiàn)方式,各有側(cè)重
圖狀工作流 (Graph-based Workflow)

實(shí)現(xiàn): 主要使用 LangGraph 這樣的庫(kù)來(lái)構(gòu)建。
特點(diǎn): 這種方式將研究的每一步(規(guī)劃、搜索、反思等)都建模為圖中的一個(gè)節(jié)點(diǎn)(Node),使得整個(gè)流程非常清晰、可追溯。它特別強(qiáng)調(diào)人機(jī)協(xié)作(Human-in-the-Loop),允許用戶在關(guān)鍵節(jié)點(diǎn)(如規(guī)劃完成后)進(jìn)行審查和提供反饋,然后再繼續(xù)執(zhí)行。這種實(shí)現(xiàn)方式控制力強(qiáng),適合對(duì)報(bào)告質(zhì)量和準(zhǔn)確性要求極高的場(chǎng)景。
4. Multi-agent 迭代循環(huán) (Iterative Loop)

分為兩種模式:
- 簡(jiǎn)單模式 (Simple): 跳過(guò)初始的規(guī)劃步驟,直接進(jìn)入一個(gè)單一的、迭代的研究循環(huán)。這種模式速度更快,適用于較窄或較具體的研究問(wèn)題。
- 深度模式 (Deep): 包含初始的規(guī)劃步驟,并為每個(gè)子主題部署并行的、獨(dú)立的迭代研究器。這種模式更深入、更全面,適合復(fù)雜和寬泛的研究主題。
特點(diǎn):這種方式的核心是遞歸的研究循環(huán),在每一次循環(huán)中,智能體都會(huì)評(píng)估已有信息,生成新的問(wèn)題,并進(jìn)一步搜索,直到達(dá)到預(yù)設(shè)的深度(depth)和廣度(breadth)。
5. SkyworkAI/DeepResearchAgent

SkyworkAI/DeepResearchAgent 項(xiàng)目采用了明確的兩層(Two-Layer)架構(gòu),這是一個(gè)分工清晰的層級(jí)式多智能體系統(tǒng)。其核心思想是通過(guò)一個(gè)高層規(guī)劃者來(lái)協(xié)調(diào)多個(gè)底層的專業(yè)執(zhí)行者,從而實(shí)現(xiàn)對(duì)復(fù)雜任務(wù)的分解和高效執(zhí)行。
以下是對(duì)這個(gè)兩層架構(gòu)的詳細(xì)說(shuō)明:
(1) 第一層:頂層規(guī)劃智能體 (Top-Level Planning Agent)
這一層是整個(gè)系統(tǒng)的“大腦”和“指揮官”。它不執(zhí)行具體的研究任務(wù),而是負(fù)責(zé)宏觀的戰(zhàn)略規(guī)劃和協(xié)調(diào)。
核心職責(zé):
- 理解與分解 (Understand & Decompose): 當(dāng)接收到用戶輸入的復(fù)雜任務(wù)時(shí),頂層規(guī)劃智能體首先會(huì)深入理解任務(wù)的整體目標(biāo)。然后,它會(huì)將這個(gè)宏大的目標(biāo)分解成一系列更小、更具體、可管理的子任務(wù)。
- 規(guī)劃與分配 (Plan & Assign): 在分解任務(wù)后,它會(huì)制定一個(gè)詳細(xì)的工作流程計(jì)劃,并決定每個(gè)子任務(wù)應(yīng)該由哪個(gè)(或哪些)下層專業(yè)智能體來(lái)執(zhí)行。
- 動(dòng)態(tài)協(xié)調(diào) (Dynamic Coordination): 在任務(wù)執(zhí)行過(guò)程中,它會(huì)持續(xù)監(jiān)控整個(gè)流程的進(jìn)展,動(dòng)態(tài)地協(xié)調(diào)下層智能體之間的協(xié)作,確保任務(wù)能夠順利、連貫地完成。
簡(jiǎn)單來(lái)說(shuō),頂層規(guī)劃智能體就像一個(gè)項(xiàng)目經(jīng)理,它制定藍(lán)圖、分配資源,并確保團(tuán)隊(duì)成員(即下層智能體)步調(diào)一致地工作。
(2) 第二層:底層專業(yè)智能體 (Specialized Lower-Level Agents)
這一層是系統(tǒng)的“手”和“腳”,由多個(gè)具備不同專業(yè)技能的智能體組成,負(fù)責(zé)執(zhí)行頂層規(guī)劃師分配下來(lái)的具體任務(wù)。
DeepResearchAgent 主要包含以下幾個(gè)專業(yè)智能體:
- 深度分析器 (Deep Analyzer): 職責(zé): 負(fù)責(zé)對(duì)輸入的信息進(jìn)行深入分析,提取關(guān)鍵的見(jiàn)解、實(shí)體和潛在需求。它支持分析多種數(shù)據(jù)類型,包括純文本和結(jié)構(gòu)化數(shù)據(jù)。 作用: 在研究初期,它可以幫助系統(tǒng)更好地理解問(wèn)題背景和現(xiàn)有資料。
- 深度研究員 (Deep Researcher): 職責(zé): 這是執(zhí)行核心研究任務(wù)的智能體。它根據(jù)指定的議題或問(wèn)題,進(jìn)行徹底的研究,檢索、整合并提煉高質(zhì)量信息。它能夠自動(dòng)生成研究報(bào)告或知識(shí)摘要。 作用: 負(fù)責(zé)信息搜集和初步的內(nèi)容生成。
- 瀏覽器使用者 (Browser Use): 職責(zé): 專門(mén)負(fù)責(zé)自動(dòng)化瀏覽器操作,執(zhí)行網(wǎng)頁(yè)搜索、信息提取和數(shù)據(jù)采集等任務(wù)。 作用: 作為“深度研究員”的得力助手,為其從互聯(lián)網(wǎng)上獲取最新、最相關(guān)的信息。
(3) 架構(gòu)總結(jié)與啟發(fā)
DeepResearchAgent 的這個(gè)兩層架構(gòu)的優(yōu)勢(shì)在于其清晰的層次化分工。
- 頂層專注于“做什么”和“如何做”(What & How),負(fù)責(zé)策略和規(guī)劃。
- 底層專注于“執(zhí)行”(Execution),負(fù)責(zé)具體操作。
這種設(shè)計(jì)使得系統(tǒng)在處理復(fù)雜問(wèn)題時(shí)條理清晰,不易混亂。同時(shí),它具有很強(qiáng)的可擴(kuò)展性,未來(lái)可以方便地在第二層加入更多具有新能力的專業(yè)智能體(比如數(shù)據(jù)可視化智能體、代碼執(zhí)行智能體等),而無(wú)需改動(dòng)頂層的核心規(guī)劃邏輯。
值得一提的是,該項(xiàng)目的 README 文件中明確提到,其架構(gòu)主要受到了 smolagents 的啟發(fā),并在其基礎(chǔ)上進(jìn)行了模塊化和異步化等改進(jìn),使其結(jié)構(gòu)更清晰,更適合多智能體協(xié)作。
6. zhu-minjun/Researcher
總結(jié)來(lái)說(shuō),zhu-minjun/Researcher 的架構(gòu)有以下幾個(gè)鮮明特點(diǎn):
- 分階段的多智能體協(xié)作:通過(guò)規(guī)劃、執(zhí)行、整合、批判等不同角色的智能體各司其職,流水線式地完成復(fù)雜任務(wù)。
- 高效的并行處理:為每個(gè)子主題創(chuàng)建獨(dú)立的執(zhí)行智能體,并讓它們同時(shí)工作,顯著縮短了研究時(shí)間。
- 獨(dú)特的自我批判機(jī)制:引入了“批判智能體”對(duì)產(chǎn)出結(jié)果進(jìn)行審核和反饋,形成了一個(gè)迭代優(yōu)化的閉環(huán)。這使得它不僅僅是一個(gè)信息的聚合器,更是一個(gè)力求產(chǎn)出高質(zhì)量、無(wú)偏見(jiàn)內(nèi)容的“研究員”。
與其他項(xiàng)目相比,它將“反思”(Reflection)這一概念,具象化為了一個(gè)獨(dú)立的“批判智能體”和一個(gè)明確的“修正”動(dòng)作,使其自我完善的路徑更加清晰和結(jié)構(gòu)化。

DeepReviewer的 Best 模式提供最全面的審核體驗(yàn),包括背景知識(shí)搜索、多審核者模擬和自我驗(yàn)證:

Researcher 的架構(gòu)是一個(gè)包含“自我批判”環(huán)節(jié)的、多智能體協(xié)作的自動(dòng)化研究工作流。它與其他研究智能體項(xiàng)目(如 DeepResearchAgent 或 open_deep_research)在流程上有一些相似之處,但其獨(dú)特的“批判-修正”循環(huán)是其架構(gòu)的核心亮點(diǎn)。
該項(xiàng)目的整體架構(gòu)和工作流程可以分解為以下幾個(gè)關(guān)鍵步驟:
(1) 第一步:規(guī)劃智能體 (Planning Agent)
職責(zé):接收用戶輸入的初始研究主題。
工作內(nèi)容:
- 首先,它會(huì)生成一系列相關(guān)的、更具探索性的問(wèn)題,以拓寬研究的廣度和深度。
- 然后,它會(huì)基于這些問(wèn)題創(chuàng)建一個(gè)結(jié)構(gòu)化的研究計(jì)劃或報(bào)告大綱。這個(gè)大綱不僅指導(dǎo)了后續(xù)的研究方向,也直接構(gòu)成了最終報(bào)告的骨架。
(2) 第二步:并行執(zhí)行智能體 (Parallel Execution Agents)
職責(zé):根據(jù)“規(guī)劃智能體”制定的提綱,分頭執(zhí)行具體的研究任務(wù)。
工作內(nèi)容:
- 系統(tǒng)會(huì)為大綱中的每一個(gè)子主題,都啟動(dòng)一個(gè)獨(dú)立的“執(zhí)行智能體”。
- 這些智能體并行工作,各自負(fù)責(zé)自己的子主題。它們會(huì)使用搜索引擎(如 DuckDuckGo)進(jìn)行信息檢索,利用工具(如 newspaper4k)抓取和解析網(wǎng)頁(yè)內(nèi)容,并對(duì)收集到的信息進(jìn)行總結(jié)。
- 這種并行處理的架構(gòu)設(shè)計(jì),極大地提高了研究的效率,可以同時(shí)對(duì)多個(gè)方面進(jìn)行深入探索。
(3) 第三步:整合與初稿生成 (Integration and Draft Generation)
職責(zé):匯總所有并行研究的結(jié)果,形成一份初步的研究報(bào)告。
工作內(nèi)容:
- 系統(tǒng)會(huì)收集所有“執(zhí)行智能體”完成的子主題研究摘要。
- 然后,它將這些摘要按照“規(guī)劃智能體”最初設(shè)計(jì)的報(bào)告大綱進(jìn)行排序和組合,最終生成一份內(nèi)容完整、結(jié)構(gòu)清晰的初稿。
(4) 第四步:批判與修正智能體 (Critique & Revision Agent)
這是該項(xiàng)目架構(gòu)中最具特色的一環(huán),構(gòu)成了一個(gè)質(zhì)量控制循環(huán)。
職責(zé):像一個(gè)嚴(yán)謹(jǐn)?shù)膶徃迦艘粯?,?duì)生成的初稿進(jìn)行評(píng)估和批判,并指導(dǎo)修正。
工作內(nèi)容:
- 批判 (Critique): 一個(gè)專門(mén)的“批判智能體”會(huì)閱讀整份初稿,并根據(jù)預(yù)設(shè)的規(guī)則(例如,檢查事實(shí)的準(zhǔn)確性、觀點(diǎn)的客觀性、信息的全面性、是否存在偏見(jiàn)等)提出具體的、有建設(shè)性的修改意見(jiàn)。
- 修正 (Revision): 系統(tǒng)根據(jù)“批判智能體”的反饋,返回到達(dá)成共識(shí)前的步驟,對(duì)研究報(bào)告進(jìn)行重新整理和修正,以提升報(bào)告的整體質(zhì)量。
三、商業(yè)化深度研究智能體
分析完開(kāi)源框架后,筆者體驗(yàn)一下市面上相關(guān)的商業(yè)化智能體應(yīng)用:使用閉源應(yīng)用研究同一個(gè)問(wèn)題,并分析他們的邏輯、輸出和交互。
閉源應(yīng)用整體對(duì)比:

備注 * 為筆者猜測(cè)使用的智能體范式。
四、總結(jié)
本篇文檔系統(tǒng)梳理了當(dāng)前主流的開(kāi)源與商業(yè)化深度研究智能體框架。開(kāi)源方案如 DeerFlow、OpenDeepResearch(HuggingFace)、LangChainAI/OpenDeepResearch、SkyworkAI/DeepResearchAgent、HKUDS/AutoDeepResearch 及 zhu-minjun/Researcher 各有側(cè)重:有的強(qiáng)調(diào)分層多智能體與模塊化(如 DeerFlow),有的追求極簡(jiǎn)代碼和代碼即動(dòng)作(如 HuggingFace/smolagents),也有的主打多階段自反思與人機(jī)協(xié)作(如 LangChainAI/OpenDeepResearch)。在工具集成、任務(wù)分解、執(zhí)行方式(JSON/函數(shù)調(diào)用 vs. 代碼生成)、質(zhì)量控制等方面,各框架實(shí)現(xiàn)細(xì)節(jié)和理念均有所不同。
商業(yè)化產(chǎn)品如 ChatGPT、Gemini、Kimi、豆包、AutoGLM 則在交互體驗(yàn)、報(bào)告輸出、搜索能力和質(zhì)量控制等方面各具特色,部分產(chǎn)品支持計(jì)劃確認(rèn)、交互式報(bào)告編輯、多輪深度搜索及生成對(duì)應(yīng)網(wǎng)頁(yè)(方便轉(zhuǎn)換成 PPT)。
總體來(lái)看,深度研究智能體的發(fā)展正朝著更高的自動(dòng)化、結(jié)構(gòu)化和可控性方向演進(jìn)。不同框架適合不同場(chǎng)景和需求,選擇時(shí)可結(jié)合自身實(shí)際情況權(quán)衡。






























