2025年用LangChain+DeepAgents開(kāi)發(fā)高級(jí)AI智能體實(shí)戰(zhàn)手冊(cè)_第1頁(yè)
2025年用LangChain+DeepAgents開(kāi)發(fā)高級(jí)AI智能體實(shí)戰(zhàn)手冊(cè)_第2頁(yè)
2025年用LangChain+DeepAgents開(kāi)發(fā)高級(jí)AI智能體實(shí)戰(zhàn)手冊(cè)_第3頁(yè)
2025年用LangChain+DeepAgents開(kāi)發(fā)高級(jí)AI智能體實(shí)戰(zhàn)手冊(cè)_第4頁(yè)
2025年用LangChain+DeepAgents開(kāi)發(fā)高級(jí)AI智能體實(shí)戰(zhàn)手冊(cè)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

錄摘要

40

引言

41DeepAgents基礎(chǔ)

51.1

典型應(yīng)用場(chǎng)景

51.2DeepAgents核心能力體系

51.3

技術(shù)實(shí)現(xiàn)與生態(tài)定位

61.4

三層技術(shù)架構(gòu)

61.5

技術(shù)棧集成

61.6

應(yīng)用場(chǎng)景與選型指南

61.7

小結(jié)

72本文核心內(nèi)容

72.1

我們將要構(gòu)建的系統(tǒng)

72.2

你將學(xué)到的關(guān)鍵知識(shí)(來(lái)自我的經(jīng)驗(yàn)與教訓(xùn))

72.3

技術(shù)架構(gòu)(我的設(shè)計(jì)思路)

82.4

該模式的核心價(jià)值

93

技術(shù)棧

94

為什么值得一讀?

94.1

超越基礎(chǔ)智能體

104.2

解決實(shí)際生產(chǎn)環(huán)境中的問(wèn)題

104.3

完整可運(yùn)行的實(shí)現(xiàn)方案

104.4

學(xué)習(xí)可復(fù)用的模式

104.5

理解設(shè)計(jì)決策背后的邏輯

114.6緊跟

AI智能體的發(fā)展趨勢(shì)

114.7

實(shí)際業(yè)務(wù)價(jià)值

..

115

設(shè)計(jì)思路

115.1

架構(gòu)設(shè)計(jì)理念

115.2

戰(zhàn)略規(guī)劃層

125.3

持久化上下文管理

125.4

專業(yè)子智能體委托

.

135.5

智能工作流協(xié)調(diào)

...

13架構(gòu)師之道25.6

完整工作流程

..

145.7

該架構(gòu)具備可擴(kuò)展性的原因

156

動(dòng)手實(shí)踐

.

156.1

步驟1:安裝依賴并配置環(huán)境

156.2

步驟2:配置API密鑰

166.3

步驟3:導(dǎo)入核心庫(kù)

166.4

步驟4:定義網(wǎng)絡(luò)搜索工具

176.5

步驟5:創(chuàng)建研究子智能體配置...

186.6

步驟6:創(chuàng)建評(píng)審子智能體配置...

196.7

步驟7:設(shè)計(jì)主智能體系統(tǒng)的提示詞

206.8

步驟8:創(chuàng)建并運(yùn)行主深度智能體

216.9

步驟9:調(diào)用智能體執(zhí)行研究查詢

237環(huán)境搭建指南

267.1

前置條件

267.2

安裝步驟

277.3

項(xiàng)目結(jié)構(gòu)

..

297.4

常見(jiàn)搭建問(wèn)題與解決方案

297.5

快速啟動(dòng)檢查清單

297.6

后續(xù)步驟

..

308與自有應(yīng)用集成

308.1

執(zhí)行完整系統(tǒng)流程

309總結(jié)思考

.

369.1

我們的成果

...

369.2

深層意義

369.3

AI

智能體的未來(lái)趨勢(shì)

379.4

實(shí)踐后續(xù)步驟

...

379.5

全局視角

389.6

最終寄語(yǔ)

...

3810想要深入探索?

...

39架構(gòu)師之道3摘要根據(jù)我在

LLM智能體開(kāi)發(fā)領(lǐng)域的經(jīng)驗(yàn),最大的挑戰(zhàn)并非讓智能體調(diào)用函數(shù),而是讓它們?cè)谔幚韽?fù)雜多步驟工作流時(shí)保持穩(wěn)定運(yùn)行。傳統(tǒng)智能體就像中途會(huì)忘記任務(wù)的助手,而LangChain的DeepAgents徹底改變了這一現(xiàn)狀。在我看來(lái),它是首個(gè)真正支持智能體進(jìn)行戰(zhàn)略規(guī)劃、持久化記憶上下文、委托給專業(yè)子智能體,并持續(xù)迭代優(yōu)化輸出質(zhì)量的框架。本指南將帶你親手構(gòu)建一個(gè)我設(shè)計(jì)的

AI

政策研究智能體,直觀展示這些核心能力。你將看到完整可運(yùn)行的代碼、理解每個(gè)模塊的設(shè)計(jì)思路,并最終獲得一個(gè)能自主生成專業(yè)研究報(bào)告

的系統(tǒng)。0

引言讓我分享一個(gè)困擾了我數(shù)月的問(wèn)題。構(gòu)建一個(gè)能調(diào)用單一工具的智能體?很簡(jiǎn)單。讓LLM執(zhí)行網(wǎng)絡(luò)搜索或查詢數(shù)據(jù)庫(kù)?我已經(jīng)做過(guò)無(wú)數(shù)次了。但當(dāng)我嘗試構(gòu)建更復(fù)雜的系統(tǒng)——一個(gè)能研究復(fù)雜主題、整合發(fā)現(xiàn)、自我審查并生成精煉報(bào)告的智能體時(shí),所有環(huán)節(jié)都崩解了。我之前構(gòu)建的智能體,現(xiàn)在看來(lái)只能算是“淺層智能體”。它們最多執(zhí)行一兩個(gè)步驟,就會(huì)忘記自己的任務(wù)目標(biāo)。Token

數(shù)限制會(huì)被突破,上下文會(huì)變得混亂,

而且由于缺乏審查機(jī)制,輸出質(zhì)量大打折扣。根據(jù)我的經(jīng)驗(yàn),這是大多數(shù)開(kāi)發(fā)者從Demo原型轉(zhuǎn)向生產(chǎn)級(jí)AI系統(tǒng)時(shí)都會(huì)遇到的瓶頸。直到我發(fā)現(xiàn)了LangChain的DeepAgents庫(kù),說(shuō)實(shí)話,它徹底改變了我對(duì)智能體架構(gòu)的認(rèn)知。最讓我印象深刻的是它背后的設(shè)計(jì)理念。DeepAgents團(tuán)隊(duì)研究了ClaudeCode和DeepResearch等生產(chǎn)級(jí)系統(tǒng)——這些真正能處理復(fù)雜工作流的應(yīng)用,提煉出了讓它們穩(wěn)定運(yùn)行的核心模式。最終誕生的框架,為智能體賦予了淺層智能體所缺失的四項(xiàng)關(guān)鍵能力:?規(guī)劃工具,讓智能體在著手執(zhí)行前能戰(zhàn)略化分解任務(wù);?

文件系統(tǒng)訪問(wèn),提供對(duì)話上下文之外的持久化記憶;?子智能體創(chuàng)建,支持將任務(wù)委托給專注于特定領(lǐng)域的專業(yè)模塊;?

以及通過(guò)

LangGraphStore實(shí)現(xiàn)的長(zhǎng)期記憶,確??鐣?huì)話的狀態(tài)保持。當(dāng)簡(jiǎn)單的工具調(diào)用已無(wú)法滿足需求,是時(shí)候打造真正具備思考能力的智能體了。用LangChainDeepAgents開(kāi)發(fā)高級(jí)AI智能體實(shí)戰(zhàn)手冊(cè)架構(gòu)師之道4在我看來(lái),這些并非可有可無(wú)的功能——而是任何執(zhí)行復(fù)雜任務(wù)的智能體都必須具備的

基礎(chǔ)架構(gòu)要求。因此,我決定構(gòu)建一個(gè)真正實(shí)用的系統(tǒng)來(lái)驗(yàn)證它的能力。不是玩具級(jí)Demo,而是一個(gè)能媲美人類分析水平的政策研究系統(tǒng)——就是我以前手動(dòng)進(jìn)行監(jiān)管研究時(shí)夢(mèng)寐以求的那種智能體。在本指南中,我會(huì)詳細(xì)拆解構(gòu)建過(guò)程、分享開(kāi)發(fā)中的決策思路,以及每個(gè)組件的核心作用。1DeepAgents

基礎(chǔ)2025年8月,

LangChain團(tuán)隊(duì)發(fā)表了一篇題為《Doubling

Downon

DeepAgents》的文章,提出了一種新型AI智能體——DeepAgents(深層智能體)

。這類智能體突破了傳統(tǒng)一次性問(wèn)答系統(tǒng)的限制,具備了執(zhí)行復(fù)雜、開(kāi)放式任務(wù)的能力,并能在長(zhǎng)時(shí)間跨度內(nèi)持續(xù)運(yùn)行、自主決策、自我優(yōu)化。1.1

典型應(yīng)用場(chǎng)景例如,當(dāng)接收到如下任務(wù)時(shí):

>“幫我調(diào)研強(qiáng)化學(xué)習(xí)領(lǐng)域的最新進(jìn)展,寫(xiě)一份面向投資者的報(bào)告,請(qǐng)盡快完成?!盌eepAgents能夠通過(guò)多步驟推理、動(dòng)態(tài)規(guī)劃、狀態(tài)記憶和資源管理等能力,獨(dú)立完成這類需要深度思考和持續(xù)執(zhí)行的任務(wù)。1.2

DeepAgents核心能力體系LangChain團(tuán)隊(duì)指出,

一個(gè)真正意義上的“深層智能體”必須具備規(guī)劃工具(PlanningTool)、文件系統(tǒng)訪問(wèn)(FilesystemAccess)、子智能體(Subagents)、精細(xì)提示詞(Detailed

Prompts)

這四個(gè)關(guān)鍵能力。基于這四個(gè)關(guān)鍵能力,

DeepAgents構(gòu)建了完整的能力矩陣:關(guān)鍵能力功能說(shuō)明技術(shù)實(shí)現(xiàn)核心功能智能規(guī)劃與任務(wù)分解將復(fù)雜目標(biāo)拆解為可執(zhí)行的子任務(wù),并動(dòng)態(tài)調(diào)整執(zhí)行路徑內(nèi)置

write_todos

工具-

將復(fù)雜目標(biāo)拆解為離散的可執(zhí)行步驟-

實(shí)時(shí)追蹤任務(wù)進(jìn)度與狀態(tài)維護(hù)-

根據(jù)執(zhí)行反饋動(dòng)態(tài)調(diào)整執(zhí)行路徑-

實(shí)現(xiàn)目標(biāo)的層次化管理和優(yōu)先級(jí)調(diào)度持久化存儲(chǔ)與上下文管理持久化存儲(chǔ)中間結(jié)果、記憶和知識(shí),實(shí)現(xiàn)跨會(huì)話狀態(tài)保持文件系統(tǒng)工具集(ls

read_file

、

write_file

edit_file)-中間結(jié)果和知識(shí)的持久化存儲(chǔ)-

大型上下文信息的外部存儲(chǔ)卸載-

有效防止上下文窗口溢出問(wèn)題-

跨會(huì)話狀態(tài)保持與知識(shí)積累丨--'丨分布式智能體協(xié)作支持任務(wù)分解,調(diào)用多個(gè)專業(yè)化子智能體協(xié)同完成不同模塊子智能體生成機(jī)制(task

工具)-

動(dòng)態(tài)生成專業(yè)化子智能體處理特定任務(wù)-

實(shí)現(xiàn)主智能體與子智能體的上下文隔離-

支持復(fù)雜任務(wù)的并行執(zhí)行與結(jié)果聚合-

保持執(zhí)行環(huán)境的整潔和資源優(yōu)化架構(gòu)師之道51.3

技術(shù)實(shí)現(xiàn)與生態(tài)定位基于這四大能力支柱,

LangChain推出了開(kāi)源庫(kù)

deepagents——專為構(gòu)建長(zhǎng)期自治型智能體而設(shè)計(jì)的Python工具包。目前,

deepagents

已發(fā)布0.2版本,在架構(gòu)、性能和可擴(kuò)展性方面均有顯著提升。1.4

三層技術(shù)架構(gòu)DeepAgents在LangChain生態(tài)系統(tǒng)中構(gòu)建了完整的三層技術(shù)體系:DeepAgents:智能體工具包層-

定位:開(kāi)箱即用的完整解決方案-

特點(diǎn):預(yù)設(shè)提示詞、工具調(diào)用處理、規(guī)劃工具集、文件系統(tǒng)訪問(wèn)-

優(yōu)勢(shì):高度封裝,開(kāi)發(fā)效率最高,可視為”通用版的Claude

Code”LangChain:智能體框架層-

定位:標(biāo)準(zhǔn)化開(kāi)發(fā)抽象-

核心價(jià)值:統(tǒng)一工具調(diào)用接口、模塊化組件設(shè)計(jì)、簡(jiǎn)化LLM交互復(fù)雜性

LangGraph:智能體運(yùn)行時(shí)層-

定位:生產(chǎn)級(jí)執(zhí)行保障-

核心職責(zé):持久化執(zhí)行和狀態(tài)管理、流式傳輸支持、人機(jī)交互機(jī)制1.5

技術(shù)棧集成DeepAgents與其他LangChain組件形成了完整的技術(shù)棧:-

LangGraph:提供底層圖形執(zhí)行引擎和狀態(tài)管理-

LangChain:提供工具集成和模型抽象-

LangSmith:通過(guò)LangGraph平臺(tái)實(shí)現(xiàn)系統(tǒng)可觀察性和生產(chǎn)部署1.6

應(yīng)用場(chǎng)景與選型指南

、仙◆結(jié)構(gòu)化推理與決策引導(dǎo)通過(guò)結(jié)構(gòu)化、角色化的提示工程,引導(dǎo)智能體深度思考與決策精細(xì)化提示詞工程-

通過(guò)角色化提示引導(dǎo)深度思考過(guò)程-

結(jié)構(gòu)化的決策框架和推理鏈條-自適應(yīng)的問(wèn)題分析和解決策略-

持續(xù)的自我優(yōu)化和策略調(diào)整層級(jí)代表工具核心價(jià)值典型使用場(chǎng)景工具包層DeepAgentsClaude開(kāi)箱即用的完整解決方案,預(yù)設(shè)提示詞快速原型開(kāi)發(fā),自主研究智架構(gòu)師之道61.7

小結(jié)技術(shù)關(guān)系精要:-

DeepAgents如“完整產(chǎn)品”,提供開(kāi)箱即用的智能體解決方案-

LangChain如“開(kāi)發(fā)框架”,提供標(biāo)準(zhǔn)化構(gòu)建模塊-

LangGraph

如“執(zhí)行引擎”,確保任務(wù)持續(xù)穩(wěn)定運(yùn)行2

本文核心內(nèi)容本文旨在通過(guò)完整可運(yùn)行的代碼,向你展示如何構(gòu)建一個(gè)具備戰(zhàn)略思考能力,而非僅能被動(dòng)響應(yīng)輸入的

AI智能體。2.1我們將要構(gòu)建的系統(tǒng)基于我在多個(gè)智能體框架上的實(shí)踐經(jīng)驗(yàn),我設(shè)計(jì)了這個(gè)政策研究系統(tǒng),它集中體現(xiàn)了DeepAgents架構(gòu)的所有核心能力。這不是理論模型——而是經(jīng)過(guò)我廣泛測(cè)試的完整實(shí)現(xiàn)。該智能體能夠:-

接收關(guān)于

AI

監(jiān)管的復(fù)雜研究問(wèn)題(例如“歐盟

AI

法案的最新動(dòng)態(tài)是什么?”)-

使用規(guī)劃工具將研究任務(wù)分解為邏輯步驟-

將實(shí)際調(diào)查工作委托給專業(yè)的研究子智能體-

將中間成果保存到文件,避免上下文溢出-

調(diào)用評(píng)審子智能體檢查草稿質(zhì)量-

根據(jù)反饋迭代優(yōu)化,最終生成專業(yè)報(bào)告2.2

你將學(xué)到的關(guān)鍵知識(shí)(來(lái)自我的經(jīng)驗(yàn)與教訓(xùn))通過(guò)這個(gè)項(xiàng)目,我總結(jié)出了幾個(gè)關(guān)鍵實(shí)踐模式:1.

策略規(guī)劃:在我看來(lái),

write_todos工具被嚴(yán)重低估了。我最初跳過(guò)了這個(gè)步驟,認(rèn)為智能體“自己能想明白”。事實(shí)證明,明確的規(guī)劃能將混亂的執(zhí)行轉(zhuǎn)化為有條理的工作流。AgentSDK和工具,內(nèi)置子智能體生成能體,自動(dòng)化報(bào)告生成框架層LangChainCrewAIOpenAIAgentsSDK標(biāo)準(zhǔn)化開(kāi)發(fā)抽象,統(tǒng)一接口,模塊化設(shè)計(jì)企業(yè)級(jí)應(yīng)用開(kāi)發(fā),團(tuán)隊(duì)協(xié)作,自定義業(yè)務(wù)邏輯運(yùn)行時(shí)層LangGraphTemporalI

nngest生產(chǎn)級(jí)執(zhí)行保障,持久化狀態(tài)管理,流式輸出生產(chǎn)環(huán)境部署,

長(zhǎng)時(shí)間運(yùn)行任務(wù),

高可靠性要求架構(gòu)師之道72.

上下文管理:這一點(diǎn)曾讓我吃盡苦頭。早期的智能體在研究過(guò)程中會(huì)觸發(fā)Token數(shù)限制,然后忘記所有已完成的工作。文件系統(tǒng)操作(read_file、write_file、edit_file)徹底解決了這個(gè)問(wèn)題。根據(jù)我的經(jīng)驗(yàn),這對(duì)于復(fù)雜任務(wù)來(lái)說(shuō)是必不可少的。3.

子智能體委托:我曾經(jīng)試圖將所有功能塞進(jìn)一個(gè)超大提示詞里,這是個(gè)糟糕的主意。專注于特定任務(wù)的子智能體——每個(gè)都有明確的職責(zé)范圍——能顯著提升輸出質(zhì)量。一個(gè)負(fù)責(zé)研究,

一個(gè)負(fù)責(zé)評(píng)審,職責(zé)劃分清晰。4.自定義系統(tǒng)提示詞:通用提示詞只能產(chǎn)生通用結(jié)果。我學(xué)會(huì)了設(shè)計(jì)詳細(xì)的、針對(duì)工作流的指令,引導(dǎo)智能體逐步完成復(fù)雜流程。5.

工具集成:網(wǎng)絡(luò)搜索等外部能力并非附加組件——而是智能體功能的核心。我會(huì)向你展示如何無(wú)縫集成

Tavily

搜索。6.

模型靈活性:

DeepAgents最讓我欣賞的一點(diǎn)是其模型無(wú)關(guān)的設(shè)計(jì)。我曾在

OpenAI、Gemini

Anthropic

模型上交替運(yùn)行同一個(gè)系統(tǒng),無(wú)需任何修改。2.3

技術(shù)架構(gòu)(我的設(shè)計(jì)思路)在架構(gòu)這個(gè)系統(tǒng)時(shí),我考慮了三個(gè)層級(jí):第一層:主協(xié)調(diào)器?接收研究查詢?

規(guī)劃工作流?協(xié)調(diào)子智能體?

管理文件系統(tǒng)狀態(tài)?

交付最終輸出第二層:專業(yè)子智能體?研究子智能體:使用網(wǎng)絡(luò)搜索進(jìn)行深度調(diào)查?評(píng)審子智能體:檢查輸出的質(zhì)量、準(zhǔn)確性和完整性第三層:基礎(chǔ)設(shè)施?用于持久化狀態(tài)的文件系統(tǒng)架構(gòu)師之道8?用于長(zhǎng)期記憶的LangGraphStore?用于實(shí)時(shí)信息收集的TavilyAPI在我看來(lái),這種分層架構(gòu)是實(shí)現(xiàn)可擴(kuò)展性的關(guān)鍵。每個(gè)組件都有單一且明確的職責(zé)。2.4

該模式的核心價(jià)值根據(jù)我構(gòu)建生產(chǎn)級(jí)

AI系統(tǒng)的經(jīng)驗(yàn),架構(gòu)設(shè)計(jì)比模型選擇更重要。一個(gè)設(shè)計(jì)良好的智能體,即便使用

GPT-3.5,也能超越設(shè)計(jì)糟糕但使用GPT-4的智能體。你將學(xué)到的這些模式——規(guī)劃、委托、狀態(tài)管理、質(zhì)量控制——無(wú)論你使用哪種

LLM,或應(yīng)用于哪個(gè)領(lǐng)域,都是通用的。無(wú)論你正在構(gòu)建內(nèi)容創(chuàng)作流水線、代碼生成系統(tǒng)、數(shù)據(jù)分析工作流還是客戶服務(wù)自動(dòng)化工具,這些核心原則都同樣適用。3

技術(shù)棧組件技術(shù)選型用途智能體框架LangChain

DeepAgents核心庫(kù),用于構(gòu)建具備規(guī)劃能力和上下文管理的深度智能體LLM

提供商(主要)OpenAI

GPT-4o用于智能體推理和生成的主語(yǔ)言模型LLM

提供商(備選)Google

Gemini2.5

Flash可選模型(完全可互換)默認(rèn)模型Claude

Sonnet4.5未指定模型時(shí),DeepAgents

的內(nèi)部默認(rèn)選擇網(wǎng)絡(luò)搜索Tavily

API用于研究數(shù)據(jù)收集的實(shí)時(shí)網(wǎng)絡(luò)搜索工具狀態(tài)管理LangGraphStore長(zhǎng)期記憶和會(huì)話持久化模型初始化LangChaininit_chat_model多LLM

提供商的統(tǒng)一調(diào)用接口文件操作內(nèi)置文件工具通過(guò)

read_file

、

write_file

、

edit_file

、

ls

實(shí)現(xiàn)上下文管理規(guī)劃功能內(nèi)置write_todos任務(wù)分解和進(jìn)度跟蹤子智能體管理內(nèi)置task

工具創(chuàng)建和委托任務(wù)給專業(yè)子智能體環(huán)境管理Pythonos

.environAPI

密鑰和配置管理開(kāi)發(fā)環(huán)境Jupyter

Notebook交互式開(kāi)發(fā)和測(cè)試4

為什么值得一讀?如果你正在構(gòu)建的

AI智能體需要執(zhí)行的不僅僅是簡(jiǎn)單的工具調(diào)用,那么本文絕對(duì)值得一讀。原因如下:架構(gòu)師之道94.1

超越基礎(chǔ)智能體大多數(shù)教程只會(huì)教你構(gòu)建能調(diào)用函數(shù)或進(jìn)行網(wǎng)絡(luò)搜索的智能體。但當(dāng)你嘗試將這些模式擴(kuò)展到實(shí)際應(yīng)用——研究助手、代碼生成系統(tǒng)、多步驟工作流時(shí),就會(huì)遇到瓶頸。本文將向你展示如何通過(guò)為復(fù)雜場(chǎng)景設(shè)計(jì)的架構(gòu)突破這一限制。4.2

解決實(shí)際生產(chǎn)環(huán)境中的問(wèn)題你將學(xué)到針對(duì)以下實(shí)際問(wèn)題的解決方案:-

上下文溢出:如何通過(guò)基于文件的狀態(tài)管理處理超出Token數(shù)限制的任務(wù)-

任務(wù)規(guī)劃:如何讓智能體進(jìn)行戰(zhàn)略思考,而非被動(dòng)響應(yīng)-

質(zhì)量控制:如何通過(guò)子智能體委托構(gòu)建自我審查系統(tǒng)-

記憶管理:如何在長(zhǎng)期項(xiàng)目中跨會(huì)話維護(hù)狀態(tài)-

模塊化:如何將復(fù)雜智能體拆分為專注且易于維護(hù)的組件4.3

完整可運(yùn)行的實(shí)現(xiàn)方案這不是偽代碼或理論概念。你將獲得:-

生產(chǎn)級(jí)研究智能體的完整源代碼-

每個(gè)組件的分步解析-結(jié)合上下文的設(shè)計(jì)決策說(shuō)明-多LLM提供商選項(xiàng)(OpenAI、Gemini、Anthropic)-包含所有依賴的可直接運(yùn)行的

Jupyter筆記本-專業(yè)提示詞工程示例4.4

學(xué)習(xí)可復(fù)用的模式本文展示的模式遠(yuǎn)不止適用于政策研究:-帶審查工作流的內(nèi)容創(chuàng)作系統(tǒng)-帶測(cè)試和優(yōu)化的代碼生成-

迭代式探索的數(shù)據(jù)分析-帶升級(jí)機(jī)制和專業(yè)化分工的客戶服務(wù)-

含研究和整合的報(bào)告生成架構(gòu)師之道10-

任何需要規(guī)劃和質(zhì)量控制的多階段工作流4.5

理解設(shè)計(jì)決策背后的邏輯每個(gè)部分不僅會(huì)解釋代碼的功能,還會(huì)說(shuō)明為何要這樣設(shè)計(jì):-

為什么文件系統(tǒng)能防止上下文溢出-

為什么子智能體能提升專注度和質(zhì)量-

為什么自定義提示詞對(duì)復(fù)雜任務(wù)至關(guān)重要-

為什么規(guī)劃工具能支持戰(zhàn)略執(zhí)行-

為什么這種架構(gòu)在基礎(chǔ)智能體失敗的場(chǎng)景中依然能擴(kuò)展4.6緊跟

AI智能體的發(fā)展趨勢(shì)AI智能體領(lǐng)域正從簡(jiǎn)單的工具調(diào)用快速演進(jìn)到復(fù)雜的、具備規(guī)劃能力的系統(tǒng)。DeepAgents

代表了這一演進(jìn)的前沿,融合了來(lái)自生產(chǎn)系統(tǒng)(如

ClaudeCode)的實(shí)踐經(jīng)

驗(yàn)。理解這種架構(gòu)能讓你為該領(lǐng)域的未來(lái)發(fā)展做好準(zhǔn)備。4.7實(shí)際業(yè)務(wù)價(jià)值這些技術(shù)具有直接的業(yè)務(wù)應(yīng)用場(chǎng)景:-

自動(dòng)化研究和分析工作流-

構(gòu)建智能內(nèi)容創(chuàng)作流水線-

創(chuàng)建自我優(yōu)化的代碼生成系統(tǒng)-

開(kāi)發(fā)復(fù)雜的客戶支持智能體-實(shí)現(xiàn)復(fù)雜決策系統(tǒng)無(wú)論你是構(gòu)建生產(chǎn)級(jí)

AI系統(tǒng)的開(kāi)發(fā)者、探索智能體架構(gòu)的研究者,還是評(píng)估AI能力的技術(shù)負(fù)責(zé)人,本指南都能提供你可立即應(yīng)用的實(shí)用知識(shí)。5

設(shè)計(jì)思路5.1

架構(gòu)設(shè)計(jì)理念當(dāng)我著手構(gòu)建這個(gè)政策研究智能體時(shí),核心問(wèn)題是:如何創(chuàng)建一個(gè)具備戰(zhàn)略思考能力,而非僅能被動(dòng)響應(yīng)的

AI系統(tǒng)?傳統(tǒng)智能體按線性方式處理任務(wù)——接收輸入、調(diào)用工具、返回輸出。但復(fù)雜的研究工作需要更高級(jí)的能力:規(guī)劃、委托、迭代和質(zhì)量控制。架構(gòu)師之道11DeepAgents

架構(gòu)通過(guò)四個(gè)相互關(guān)聯(lián)的能力解決了這一問(wèn)題,共同支撐起復(fù)雜的智能行為:5.2戰(zhàn)略規(guī)劃層問(wèn)題:基礎(chǔ)智能體會(huì)直接投入行動(dòng),而不考慮最優(yōu)方案。它們無(wú)法將復(fù)雜任務(wù)分解為子任務(wù),也無(wú)法跟蹤多步驟的進(jìn)度。解決方案:DeepAgents

提供的

write_todos工具,讓智能體能夠:-

將大型研究問(wèn)題分解為具體的子任務(wù)-

在開(kāi)始工作前創(chuàng)建可執(zhí)行的檢查清單-

跟蹤已完成和未完成的步驟-隨著新信息的出現(xiàn)動(dòng)態(tài)調(diào)整計(jì)劃在我們的實(shí)現(xiàn)中:主智能體首先將研究問(wèn)題保存到question.txt,

然后創(chuàng)建一個(gè)任務(wù)清單,概述研究工作流。這一規(guī)劃步驟將被動(dòng)執(zhí)行轉(zhuǎn)變?yōu)閼?zhàn)略協(xié)調(diào)。5.3

持久化上下文管理問(wèn)題:

LLM

存在Token數(shù)限制。復(fù)雜任務(wù)會(huì)產(chǎn)生大量中間數(shù)據(jù)——研究結(jié)果、草稿內(nèi)容、筆記——這些數(shù)據(jù)很快會(huì)超出上下文窗口。一旦發(fā)生這種情況,智能體就會(huì)忘記之前的工作。解決方案:DeepAgents

集成了文件系統(tǒng)操作(read_file、write_file、edit_file、ls),允許智能體:-

將中間結(jié)果存儲(chǔ)在對(duì)話上下文之外-

在需要時(shí)檢索特定信息-

逐步構(gòu)建復(fù)雜輸出-

在多個(gè)會(huì)話中繼續(xù)工作在我們的實(shí)現(xiàn)中:智能體使用三個(gè)關(guān)鍵文件:-

question.txt:存儲(chǔ)原始研究查詢,供隨時(shí)參考-

final_report.md:保存不斷演進(jìn)的研究報(bào)告,包含草稿和修訂版本-

文件系統(tǒng)中的工作記憶:即使進(jìn)行大量研究,也能防止上下文溢出這種基于文件的方法意味著智能體可以處理任何規(guī)模的研究項(xiàng)目,而不會(huì)受到Token數(shù)限制的影響。架構(gòu)師之道125.4

專業(yè)子智能體委托問(wèn)題:試圖讓一個(gè)智能體完成所有工作,會(huì)導(dǎo)致上下文臃腫、職責(zé)不清和輸出質(zhì)量下

降。研究和評(píng)審需要不同的技能,收集信息與整合信息也截然不同。解決方案:DeepAgents允許通過(guò)task工具創(chuàng)建專注的子智能體。每個(gè)子智能體都具備:-自己的專業(yè)系統(tǒng)提示詞,明確界定職責(zé)范圍-

與其功能相匹配的專用工具-

獨(dú)立的上下文,不會(huì)干擾主智能體-明確的輸出格式,可直接反饋給主智能體在我們的實(shí)現(xiàn)中:我們使用兩個(gè)子智能體:政策研究(Research)子智能體?用途:通過(guò)網(wǎng)絡(luò)搜索進(jìn)行深入調(diào)查?工具:TavilyAPI提供的互聯(lián)網(wǎng)搜索?指令:查找關(guān)鍵更新、引用來(lái)源、比較全球方案、專業(yè)撰寫(xiě)?輸出:全面的研究結(jié)果,反饋給主智能體政策評(píng)審(Critique)子智能體?用途:質(zhì)量控制和編輯評(píng)審?工具:文件讀取功能,

用于訪問(wèn)草稿報(bào)告?指令:檢查準(zhǔn)確性、驗(yàn)證引用、評(píng)估平衡性和語(yǔ)氣?輸出:建設(shè)性反饋,不直接修改原文這種職責(zé)分離意味著每個(gè)子智能體都能專注于自己的專業(yè)領(lǐng)域,不受其他任務(wù)干擾。5.5智能工作流協(xié)調(diào)問(wèn)題:誰(shuí)來(lái)協(xié)調(diào)所有這些組件?主智能體如何知道何時(shí)委托任務(wù)、何時(shí)撰寫(xiě)內(nèi)容、何時(shí)修訂?解決方案

:一個(gè)精心設(shè)計(jì)的自定義系統(tǒng)提示詞,作為整個(gè)系統(tǒng)的“大腦”。這個(gè)提示詞:-

分步定義整體工作流架構(gòu)師之道13-

指定調(diào)用每個(gè)子智能體的時(shí)機(jī)-

執(zhí)行質(zhì)量標(biāo)準(zhǔn)和格式要求-

提供關(guān)于智能體角色和能力的上下文在我們的實(shí)現(xiàn)中:policy_research_instructions提示詞定義了清晰的五步工作流:1.

保存問(wèn)題:將用戶查詢寫(xiě)入

question.txt供參考2.

委托研究:調(diào)用政策研究子智能體收集全面信息3.

整合報(bào)告:將研究結(jié)果寫(xiě)入

final_report.md,確保結(jié)構(gòu)合理、引用規(guī)范4.

質(zhì)量評(píng)審:可選調(diào)用政策評(píng)審子智能體進(jìn)行編輯反饋5.

最終定稿:根據(jù)反饋修訂,輸出完整的專業(yè)報(bào)告提示詞還明確了質(zhì)量標(biāo)準(zhǔn):-

使用

Markdown

格式,包含清晰的章節(jié)標(biāo)題-引用格式采用[標(biāo)題](URL)樣式-

語(yǔ)氣專業(yè)、中立,適合政策簡(jiǎn)報(bào)-文末包含“來(lái)源”章節(jié)5.6

完整工作流程當(dāng)用戶提出問(wèn)題:“歐盟

AI法案的最新動(dòng)態(tài)及其全球影響是什么?”時(shí),整個(gè)系統(tǒng)的工作流程如下:用戶查詢↓主

Deep智能體↓1.將問(wèn)題保存到question.txt(上下文管理)

↓2.創(chuàng)建任務(wù)清單(規(guī)劃)

↓3.調(diào)用政策研究子智能體

↓研究子智能體:-使用Tavily搜索歐盟AI法案最新動(dòng)態(tài)-查找相關(guān)法規(guī)、新聞和分析-比較全球各地的應(yīng)對(duì)方案-專業(yè)格式化研究結(jié)果-將全面的研究報(bào)告反饋給主智能體

↓4.主智能體將草稿寫(xiě)入final_report.md架構(gòu)師之道14↓5.調(diào)用政策評(píng)審子智能體↓評(píng)審子智能體:-讀取final_report.md-檢查準(zhǔn)確性和引用規(guī)范-驗(yàn)證分析的平衡性-向主智能體提供建設(shè)性反饋

↓6.主智能體根據(jù)反饋修訂草稿

↓7.輸出最終的專業(yè)政策報(bào)告5.7

該架構(gòu)具備可擴(kuò)展性的原因這個(gè)設(shè)計(jì)通過(guò)以下方式應(yīng)對(duì)復(fù)雜性:-

模塊化:每個(gè)組件都有單一明確的職責(zé)-可擴(kuò)展性:輕松添加新的子智能體以支持不同研究領(lǐng)域-

穩(wěn)健性:文件系統(tǒng)確保無(wú)論任務(wù)規(guī)模多大,都不會(huì)出現(xiàn)上下文溢出-高質(zhì)量:內(nèi)置的評(píng)審循環(huán)保證了專業(yè)級(jí)輸出-靈活性:適用于任何LLM提供商(OpenAI、Gemini、Anthropic等)-可維護(hù)性:協(xié)調(diào)、執(zhí)行和評(píng)審功能明確分離與在復(fù)雜任務(wù)面前崩潰的基礎(chǔ)智能體不同,這個(gè)架構(gòu)在任務(wù)越復(fù)雜時(shí)表現(xiàn)越好。規(guī)劃層確保戰(zhàn)略執(zhí)行,文件系統(tǒng)防止記憶問(wèn)題,子智能體保持專注,工作流協(xié)調(diào)讓所有組件有序配合。這正是淺層智能體和深度智能體的根本區(qū)別:深度智能體具備思考、規(guī)劃、委托和迭代的能力,而不僅僅是被動(dòng)響應(yīng)。6

動(dòng)手實(shí)踐現(xiàn)在,讓我們一步步構(gòu)建這個(gè)系統(tǒng),理解每個(gè)組件的功能和重要性。6.1

步驟1:安裝依賴并配置環(huán)境首先,我們需要安裝支撐深度智能體(DeepAgents)系統(tǒng)的核心庫(kù),這些庫(kù)提供了智能體構(gòu)建、網(wǎng)絡(luò)搜索、多LLM集成等關(guān)鍵能力。#

安裝核心依賴庫(kù)!pipinstalldeepagentstavily-pythonlangchain-google-genailangchain-openai架構(gòu)師之道15依賴說(shuō)明:?deepagents:

LangChain

的深度智能體核心庫(kù),提供規(guī)劃工具、文件操作、子智能體管理等核心功能?tavily-python:Tavily

網(wǎng)絡(luò)搜索API

的Python客戶端,為智能體提供實(shí)時(shí)信息獲取能力?langchain-google-genai

:LangChain與Google

Gemini模型的集成接口?langchain-openai:

LangChain與OpenAI模型(如GPT-4o)的集成接口6.2步驟2:配置API密鑰為了使用網(wǎng)絡(luò)搜索和LLM服務(wù),我們需要配置對(duì)應(yīng)的API密鑰。使用getpass

可以安全地輸入密鑰,避免明文存儲(chǔ)。import

osfromgetpassimportgetpass#配置

Tavily

搜索

API

密鑰(必需,用于網(wǎng)絡(luò)搜索功能)os.environ['TAVILY_API_KEY']=getpass(

'請(qǐng)輸入

Tavily

API

密鑰:')#配置首選

LLM

提供商(此處以O(shè)penAI

為例)os.environ['OPENAI_API_KEY']=getpass(

'請(qǐng)輸入OpenAI

API

密鑰:')#可選:如果使用

Google

Gemini

模型,取消下方注釋并配置#os.environ['GOOGLE_API_KEY']=getpass('請(qǐng)輸入

Google

API

密鑰:

')密鑰獲取渠道:?Tavily:訪問(wèn)tavily.com注冊(cè)獲取?OpenAI:訪問(wèn)platform.openai.com獲取?Google:通過(guò)Google

AI

Studio獲取6.3

步驟3:導(dǎo)入核心庫(kù)導(dǎo)入構(gòu)建智能體所需的核心模塊,包括類型提示、搜索客戶端和智能體創(chuàng)建工具。架構(gòu)師之道16fromtyping

import

Literaldefinternet_search(query:

str,max_results:

int=

5,topic:Literal["general",

"news",

"finance"]=

"general",include_raw_content:bool=False,):"""執(zhí)行網(wǎng)絡(luò)搜索并返回相關(guān)結(jié)果。該工具允許智能體從互聯(lián)網(wǎng)獲取實(shí)時(shí)信息,支持不同主題類型的搜索。"""#調(diào)用

TavilyAPI

執(zhí)行搜索search_docs=tavily_client.search(query,max_results=max_results,

#返回結(jié)果數(shù)量,默認(rèn)

5

條include_raw_content=include_raw_content,

#是否包含網(wǎng)頁(yè)原始內(nèi)容

topic=topic,

#搜索主題類型,支持

general/news/finance)returnsearch_docs關(guān)鍵庫(kù)說(shuō)明:?typing.Literal:為函數(shù)參數(shù)提供嚴(yán)格的類型提示,幫助LLM理解可用選項(xiàng)?TavilyClient:封裝Tavily搜索API

的調(diào)用邏輯?create_deep_agent

:DeepAgents

的核心工廠函數(shù),用于創(chuàng)建深度智能體實(shí)例6.4

步驟4:定義網(wǎng)絡(luò)搜索工具創(chuàng)建一個(gè)網(wǎng)絡(luò)搜索工具函數(shù),供研究子智能體調(diào)用以獲取實(shí)時(shí)信息。函數(shù)設(shè)計(jì)遵循清晰的參數(shù)定義和文檔說(shuō)明,幫助LLM正確使用。import

osfromtyping

import

Literalfromtavilyimport

TavilyClientfromdeepagentsimport

create_deep_agent#初始化

Tavily

搜索客戶端(將在搜索工具中使用)tavily_client=

TavilyClient()工具設(shè)計(jì)亮點(diǎn):架構(gòu)師之道17#研究子智能體的系統(tǒng)提示詞(定義其角色和輸出標(biāo)準(zhǔn))sub_research_prompt=

"""你是一名專業(yè)的AI政策研究員。負(fù)責(zé)深入研究與人工智能相關(guān)的政府政策、全球法規(guī)和倫理框架。你的回答必須包含:-

關(guān)鍵更新和趨勢(shì)分析-

相關(guān)來(lái)源和法律文件(如歐盟AI法案、美國(guó)行政命令)-

相關(guān)時(shí)的全球方案比較-

清晰、專業(yè)的表述只有你的最終研究結(jié)果會(huì)被反饋給主智能體。"""#研究子智能體配置字典research_sub_agent=

{"name":

"policy-research-agent",

#子智能體唯一標(biāo)識(shí)(主智能體調(diào)用時(shí)使用)"description":

"用于深入研究特定的AI政策和法規(guī)問(wèn)題。",

#幫助主智能體判斷何時(shí)

調(diào)用"system_prompt":sub_research_prompt,#子智能體的行為指令"tools":[internet_search],#子智能體可調(diào)用的工具列表}?詳細(xì)文檔字符串:明確工具用途,幫助LLM判斷何時(shí)需要調(diào)用?

類型約束

:Literal

類型限定topic

參數(shù)的可選值,避免無(wú)效調(diào)用?合理默認(rèn)值:5條結(jié)果和通用主題適用于大多數(shù)研究場(chǎng)景?

靈活配置:通過(guò)include_raw_content

控制是否獲取完整網(wǎng)頁(yè)內(nèi)容,平衡深度與效率6.5

步驟5:創(chuàng)建研究子智能體配置定義專注于AI政策研究的子智能體,包括其角色定位、輸出要求和可用工具。子智能體的設(shè)計(jì)核心是“單一職責(zé)”,確保其專注于研究任務(wù)。提示詞設(shè)計(jì)邏輯:?

明確角色:“專業(yè)的AI政策研究員”為子智能體設(shè)定清晰身份,引導(dǎo)其采用專業(yè)視角架構(gòu)師之道18#評(píng)審子智能體的系統(tǒng)提示詞sub_critique_prompt=

"""你是一名政策報(bào)告編輯,負(fù)責(zé)評(píng)審AI治理相關(guān)報(bào)告。請(qǐng)檢查`final_report.md`

中的報(bào)告內(nèi)容和`question.txt`

中的原始問(wèn)題。評(píng)審重點(diǎn)包括:-

法律信息的準(zhǔn)確性和完整性-

政策文件引用的規(guī)范性-

地區(qū)差異分析的平衡性-

語(yǔ)氣的清晰度和中立性提供建設(shè)性反饋,但不得直接修改報(bào)告內(nèi)容。"""#評(píng)審子智能體配置字典critique_sub_agent=

{"name":

"policy-critique-agent",

#

子智能體唯一標(biāo)識(shí)"description":

"評(píng)審AI

政策研究報(bào)告的完整性、清晰度和準(zhǔn)確性。",

#功能描述

"system_prompt":sub_critique_prompt,#行為指令}評(píng)審子智能體特點(diǎn):?無(wú)額外工具:僅需使用DeepAgents

內(nèi)置的文件讀取能力,無(wú)需網(wǎng)絡(luò)搜索?

明確評(píng)審維度:聚焦準(zhǔn)確性、引用、平衡性和語(yǔ)氣四大核心質(zhì)量指標(biāo)?反饋邊界:“不得直接修改報(bào)告”確保主智能體保持對(duì)最終輸出的控制,評(píng)審僅提供建議?具體要求:bullet點(diǎn)列出必須包含的內(nèi)容,避免輸出空洞或不完整的信息?

約束條件:“只有最終結(jié)果反饋給主智能體”防止中間過(guò)程占用上下文空間6.6

步驟6:創(chuàng)建評(píng)審子智能體配置設(shè)計(jì)用于評(píng)審報(bào)告質(zhì)量的子智能體,其核心職責(zé)是檢查報(bào)告的準(zhǔn)確性、引用規(guī)范性和平衡性,不直接修改內(nèi)容,僅提供反饋。架構(gòu)師之道19主提示詞核心設(shè)計(jì):?

角色定位:“專業(yè)的AI政策研究分析師”確立主智能體的權(quán)威視角和專業(yè)標(biāo)準(zhǔn)o確定了智能體的高級(jí)角色o設(shè)定了質(zhì)量與專業(yè)水平的期望o

為決策提供了背景?步驟化工作流:

1-5

的編號(hào)步驟為智能體提供了一個(gè)清晰的執(zhí)行計(jì)劃,幫助其跟蹤進(jìn)度o

1.保存問(wèn)題:創(chuàng)建一個(gè)持久的參考點(diǎn),智能體可以隨時(shí)查看o2.委托給研究子智能體:利用專家收集信息o3.撰寫(xiě)報(bào)告:將發(fā)現(xiàn)的內(nèi)容綜合成一份結(jié)構(gòu)化的文檔policy_research_instructions=

"""你是一名專業(yè)的AI政策研究分析師。負(fù)責(zé)調(diào)查全球AI監(jiān)管、倫理和治理框架相關(guān)問(wèn)題。工作流程:口

將用戶的問(wèn)題保存到`question.txt`文件中②

使用`policy-research-agent`進(jìn)行深入研究團(tuán)

將詳細(xì)報(bào)告寫(xiě)入`final_report.md`文件囚

可選:請(qǐng)求`policy-critique-agent`評(píng)審你的草稿曰

必要時(shí)進(jìn)行修訂,然后輸出最終的綜合報(bào)告撰寫(xiě)最終報(bào)告時(shí)需遵守:-使用Markdown格式,清晰分節(jié)(二級(jí)標(biāo)題##)-

引用格式采用[標(biāo)題](URL)樣式-

在文末添加###

來(lái)源章節(jié),匯總所有引用-

采用專業(yè)、中立的語(yǔ)氣,符合政策簡(jiǎn)報(bào)的要求

"""6.7

步驟7:設(shè)計(jì)主智能體系統(tǒng)的提示詞主智能體是整個(gè)系統(tǒng)的“大腦”,其系統(tǒng)提示詞定義了整體工作流程、質(zhì)量標(biāo)準(zhǔn)和決策邏輯。清晰的步驟化指令是確保智能體有序執(zhí)行的關(guān)鍵。架構(gòu)師之道20o4.獲取批評(píng):可選地調(diào)用編輯器進(jìn)行質(zhì)量審查o5.最終化:根據(jù)反饋進(jìn)行修訂,并交付結(jié)果o為什么編號(hào)步驟有效:它們?yōu)長(zhǎng)LM創(chuàng)建了一個(gè)心理模型。智能體知道有一個(gè)順序,知道下一步是什么,并且可以跟蹤進(jìn)度。?格式約束:

Markdown結(jié)構(gòu)、引用規(guī)范和來(lái)源章節(jié)要求,確保輸出的專業(yè)性和可驗(yàn)證性oMarkdown部分:確保報(bào)告結(jié)構(gòu)清晰、易于導(dǎo)航o標(biāo)題引用:使來(lái)源可點(diǎn)擊且可驗(yàn)證oSources部分:集中整理參考文獻(xiàn),便于檢查o專業(yè)語(yǔ)調(diào):適合政策分析領(lǐng)域?

靈活性:“可選評(píng)審”允許智能體根據(jù)任務(wù)復(fù)雜度自主決定是否需要質(zhì)量檢查

為什么這種提示架構(gòu)有效:1.明確的角色:智能體知道自己是誰(shuí)2.明確的工作流程:智能體知道自己要做什么3.質(zhì)量標(biāo)準(zhǔn):智能體知道如何做好4.基于文件的狀態(tài):智能體可以處理任何復(fù)雜性5.委托模型:智能體知道何時(shí)尋求幫助這就是一個(gè)有目標(biāo)地執(zhí)行策略的智能體與一個(gè)毫無(wú)目的地徘徊的智能體之間的區(qū)別。6.8

步驟8:創(chuàng)建并運(yùn)行主深度智能體使用create_deep_agent

函數(shù)整合上述配置,創(chuàng)建完整的深度智能體系統(tǒng),并測(cè)試其對(duì)實(shí)際研究問(wèn)題的響應(yīng)。架構(gòu)師之道21模型初始化model=init_chat_model(model="openai:gpt-4o")?init_chat_model是LangChain提供的統(tǒng)一LLM接口,支持多廠商模型?模型格式為"廠商標(biāo)識(shí):模型名稱",簡(jiǎn)潔易記?切換模型廠商僅需修改該字符串,無(wú)需調(diào)整其他代碼邏輯?若未指定模型,

DeepAgents默認(rèn)使用ClaudeSonnet4.5創(chuàng)建深度智能體agent=create_deep_agent(...)這一行代碼便組裝了整個(gè)復(fù)雜系統(tǒng),其參數(shù)含義如下:?

model:負(fù)責(zé)推理和決策的核心LLM模型?tools:主智能體可直接調(diào)用的工具函數(shù)(此處為網(wǎng)絡(luò)搜索)?system_prompt:我們之前定義的工作流程指令?sub_agents:可供委托任務(wù)的專業(yè)子智能體集合fromlangchain.chat_models

import

init_chat_modelfromdeepagentsimport

create_deep_agent#使用OpenAI

GPT-4o初始化模型model=init_chat_model(model="openai:gpt-4o")#備選方案:使用Google

Gemini

模型#model=init_chat_model(model="google_genai:gemini-2.5-flash")#創(chuàng)建深度智能體agent=

create_deep_agent(model=model,

#推理決策的基礎(chǔ)

LLM

模型tools=[internet_search],#主智能體可直接調(diào)用的工具(此處為網(wǎng)絡(luò)搜索)system_prompt=policy_research_instructions,

#定義工作流程的系統(tǒng)提示詞sub_agents=[research_sub_agent,critique_sub_agent],#可委托的專業(yè)子智能體列表)架構(gòu)師之道22create_deep_agent內(nèi)部工作機(jī)制1.搭建規(guī)劃系統(tǒng)(任務(wù)清單管理功能)2.配置文件系統(tǒng)工具(讀取、寫(xiě)入、編輯、列表查看)3.注冊(cè)子智能體,使其可被主智能體調(diào)用4.集成我們提供的自定義工具5.將所有組件封裝為L(zhǎng)angGraph工作流6.連接LLM模型以執(zhí)行任務(wù)核心優(yōu)勢(shì)通過(guò)這幾行代碼,我們創(chuàng)建的智能體已具備以下能力:?規(guī)劃并跟蹤復(fù)雜任務(wù)進(jìn)度?通過(guò)網(wǎng)絡(luò)搜索獲取實(shí)時(shí)信息?將任務(wù)委托給專業(yè)子智能體?通過(guò)文件系統(tǒng)管理持久化狀態(tài)?

維持長(zhǎng)期記憶?執(zhí)行多步驟工作流所有復(fù)雜的底層邏輯都被

create_deep_agent抽象封裝,開(kāi)發(fā)者無(wú)需關(guān)注細(xì)節(jié)。模型靈活性說(shuō)明注意到切換

OpenAI

Gemini(或其他廠商模型)有多簡(jiǎn)單——這是

DeepAgents刻意設(shè)計(jì)的模型無(wú)關(guān)性架構(gòu)。無(wú)論使用哪種LLM,整個(gè)系統(tǒng)的工作原理保持一致。6.9

步驟9:調(diào)用智能體執(zhí)行研究查詢query=

"歐盟AI法案的最新動(dòng)態(tài)及其全球影響是什么?"#調(diào)用智能體,傳入用戶查詢r(jià)esult=agent.invoke({"messages":[{"role":

"user",

"content":query}]})架構(gòu)師之道23這是標(biāo)準(zhǔn)的

LangChain消息格式,智能體將其視為聊天對(duì)話進(jìn)行處理。幕后的執(zhí)行流程1.主智能體接收查詢o讀取問(wèn)題:“歐盟AI法案的最新動(dòng)態(tài)及其全球影響是什么?”o參考系統(tǒng)提示詞中的編號(hào)工作流程o

決定從步驟1

開(kāi)始執(zhí)行2.步驟

1:保存問(wèn)題o

#

智能體調(diào)用:write_file(path="question.txt",content=query)o使用內(nèi)置文件工具持久化保存問(wèn)題o

為后續(xù)步驟創(chuàng)建參考依據(jù)3.步驟2:委托給研究子智能體o

#

智能體調(diào)用:task(agent="policy-research-agent",o

#

instruction="ResearchtheEUAIActupdatesandglobal

impact")o研究子智能體接收任務(wù)指令o調(diào)用internet_search("EUAIActlatestupdates")搜索最新動(dòng)態(tài)o調(diào)用internet_search("EUAIActglobalimpact")搜索全球影響o調(diào)用internet_search("AIregulationsworldwidecomparison")

搜索全球法規(guī)對(duì)比o整合搜索結(jié)果生成綜合研究報(bào)告o將最終研究結(jié)果返回給主智能體{"messages":[{"role":

"user",

"content":query}]}執(zhí)行過(guò)程解析:調(diào)用格式架構(gòu)師之道244.步驟3:撰寫(xiě)草稿報(bào)告o

#

智能體調(diào)用:write_file(path="final_report.md",content=research_findings)接收子智能體的研究結(jié)果o將內(nèi)容組織為Markdown格式的章節(jié)o使用[標(biāo)題](URL)格式添加引用o

寫(xiě)入文件系統(tǒng)保存草稿5.步驟4:獲取編輯評(píng)審o

#

智能體調(diào)用:task(agent="policy-critique-agent",o

#

instruction="Reviewthedraftreportforquality")o評(píng)審子智能體讀取

final_report.md草稿o檢查內(nèi)容準(zhǔn)確性、引用規(guī)范性、平衡性和語(yǔ)氣o

生成建設(shè)性反饋意見(jiàn)o將評(píng)審結(jié)果返回給主智能體6.步驟5:修訂并定稿o

#

智能體調(diào)用:edit_file(path="final_report.md",

edits=improvements)o

主智能體整合評(píng)審反饋o根據(jù)意見(jiàn)修訂報(bào)告章節(jié)o確保所有質(zhì)量標(biāo)準(zhǔn)均達(dá)標(biāo)o輸出最終的綜合研究報(bào)告結(jié)果結(jié)構(gòu)result包含完整的執(zhí)行軌跡,包括:?所有中間執(zhí)行步驟?每個(gè)智能體調(diào)用的工具記錄架構(gòu)師之道25深度智能體與基礎(chǔ)智能體的核心差異?基礎(chǔ)智能體:搜索→生成→完成(單步驟,無(wú)規(guī)劃)?深度智能體:規(guī)劃→

委托→研究→

撰寫(xiě)

→評(píng)審

修訂

→交付(戰(zhàn)略化,多階段)深度智能體能產(chǎn)生更高質(zhì)量的結(jié)果,原因在于:?行動(dòng)前先進(jìn)行規(guī)劃?為特定任務(wù)使用專業(yè)子智能體?根據(jù)反饋進(jìn)行迭代優(yōu)化?通過(guò)文件系統(tǒng)管理復(fù)雜性?通過(guò)子智能體委托保持專注度這正是DeepAgents

架構(gòu)的實(shí)踐威力所在。7

環(huán)境搭建指南7.1前置條件運(yùn)行本實(shí)現(xiàn)前,請(qǐng)確保具備以下條件:#僅獲取最終報(bào)告內(nèi)容print(result[

'messages'][-1][

'content'])#或直接讀取文件內(nèi)容#agent.read_file("final_report.md")?子智能體的調(diào)用記錄和響應(yīng)內(nèi)容?

最終政策報(bào)告?文件系統(tǒng)的變更記錄查看輸出結(jié)果架構(gòu)師之道267.1.1

Python

環(huán)境?

Python3.8及以上版本?

pip包管理器?JupyterNotebook或JupyterLab(推薦用于交互式開(kāi)發(fā))7.1.2

API

訪問(wèn)權(quán)限?Tavily

API

Key:

在https://tavily.com

注冊(cè)賬號(hào)?提供免費(fèi)

tier

供測(cè)試使用?

網(wǎng)絡(luò)搜索功能必需LLM

提供商

APIKey(選擇任意一個(gè)):

OpenAI:從

獲取Google

AI:從

Google

AI

Studio獲取Anthropic:從https://console.anth

獲取注:若未指定模型,

DeepAgents默認(rèn)使用

Claude

Sonnet

4.57.1.3

開(kāi)發(fā)環(huán)境?代碼編輯器(VSCode、

PyCharm等)?用于pip

安裝的終端訪問(wèn)權(quán)限?穩(wěn)定的網(wǎng)絡(luò)連接(用于

API調(diào)用)7.2

安裝步驟7.2.1

步驟1:

創(chuàng)建虛擬環(huán)境(推薦)#創(chuàng)建虛擬環(huán)境python

-mvenvdeepagents-env#激活環(huán)境(Windows

系統(tǒng))deepagents-env\Scripts\activate#激活環(huán)境(Mac/Linux

系統(tǒng))sourcedeepagents-env/bin/activate架構(gòu)師之道27fromtavilyimport

TavilyClientfromlangchain.chat_modelsimport

init_chat_modelfromdeepagentsimport

create_deep_agent#測(cè)試

Tavily

連接client=

TavilyClient()test_search=client.search("testquery",max_results=1)print("?

Tavily

搜索功能正常")#測(cè)試模型初始化model=init_chat_model(model="openai:gpt-4o")print("?

LLM

連接功能正常")#測(cè)試

DeepAgents

框架#測(cè)試導(dǎo)入是否成功importdeepagentsfromtavilyimport

TavilyClientfromlangchain.chat_modelsimport

init_chat_modelprint("?

所有依賴安裝成功")import

osfrom

getpass

import

getpassos.environ['TAVILY_API_KEY']=getpass(

'請(qǐng)輸入

TavilyAPIKey:

')os.environ['OPENAI_API_KEY']=getpass(

'請(qǐng)輸入OpenAIAPIKey:

')TAVILY_API_KEY=your_tavily_key_hereOPENAI_API_KEY=your_openai_key_here#GOOGLE_API_KEY=your_google_key_here

#若使用Gemini模型則取消注釋7.2.5

步驟5:

測(cè)試環(huán)境搭建運(yùn)行以下代碼快速驗(yàn)證所有組件是否正常工作:pipinstalldeepagentstavily-pythonlangchain-google-genai

langchain-openai7.2.4

步驟4:

配置環(huán)境變量在項(xiàng)目目錄中創(chuàng)建.env

文件:7.2.2

步驟2:

安裝核心依賴7.2.3

步驟3:驗(yàn)證安裝或通過(guò)代碼動(dòng)態(tài)設(shè)置:架構(gòu)師之道287.4常見(jiàn)搭建問(wèn)題與解決方案問(wèn)題:“ModuleNotFoundError:

Nomodulenamed‘deepagents’”解決方案:確保在安裝依賴前已激活虛擬環(huán)境問(wèn)題:API密鑰無(wú)效錯(cuò)誤

解決方案:仔細(xì)檢查密鑰是否正確,確保無(wú)多余空格,驗(yàn)證密鑰處于激活狀態(tài)問(wèn)題:Tavily

或OpenAI提示”速率限制超出”解決方案:查看

API使用限額,考慮升級(jí)套餐,或添加速率限制邏輯問(wèn)題:文件權(quán)限錯(cuò)誤

解決方案:確保當(dāng)前工作目錄具有寫(xiě)入權(quán)限7.5

快速啟動(dòng)檢查清單□

Python3.8+

已安裝□虛擬環(huán)境已創(chuàng)建并激活□依賴已安裝(pipinstalldeepagentstavily-pythonlangchain-google-genailangchain-openai)□TavilyAPI密鑰已獲取并配置□LLM提供商API密鑰已獲取并配置□導(dǎo)入測(cè)試成功deepagents-project/│├──deepagents_research.ipynb

#

主筆記本(可從GitHub

獲?。┅扩ぉ?/p>

.env#存儲(chǔ)API密鑰(請(qǐng)勿提交到git)├──

.gitignore

#

忽略.env等敏感文件├──requirements.txt#

依賴列表└──README.md

#

項(xiàng)目文檔simple_agent=create_deep_agent(model=model,tools=[])print("?

DeepAgents

框架功能正常")print("\n環(huán)境搭建完成!可以開(kāi)始構(gòu)建深度智能體了。")7.3

項(xiàng)目結(jié)構(gòu)建議按以下結(jié)構(gòu)組織項(xiàng)目:架構(gòu)師之道29□Tavily搜索測(cè)試成功□模型初始化測(cè)試成功□可運(yùn)行完整實(shí)現(xiàn)代碼7.6

后續(xù)步驟環(huán)境搭建完成后,你可以:1.從GitHub倉(cāng)庫(kù)下載完整代碼2.逐步運(yùn)行實(shí)現(xiàn)代碼3.嘗試不同的研究查詢4.

修改子智能體提示詞以適應(yīng)不同領(lǐng)域5.添加更多專業(yè)子智能體擴(kuò)展功能8

與自有應(yīng)用集成8.1

執(zhí)行完整系統(tǒng)流程環(huán)境配置完成后,讓我們啟動(dòng)完整的政策研究工作流。8.1.1步驟1:

啟動(dòng)JupyterNotebookjupyternotebook在

Notebook

界面中找到并打開(kāi)

deepagents_research.ipynb文件。8.1.2

步驟2:

運(yùn)行初始化單元格按順序執(zhí)行以下功能的單元格:1.導(dǎo)入依賴庫(kù)2.配置

API密鑰3.定義搜索工具4.

創(chuàng)建子智能體配置5.

設(shè)置主智能體提示詞架構(gòu)師之道30.

思考:我需要系統(tǒng)地研究歐盟AI法案的最新動(dòng)態(tài)。、

動(dòng)作:write_file路徑:question.txt內(nèi)容:Whatarethe

latestupdateson

the

EUAIAct...

觀察:文件創(chuàng)建成功.

思考:現(xiàn)在我將研究任務(wù)委托給專業(yè)子智能體。、

動(dòng)作:task智能體:policy-research-agent指令:ResearchlatestEUAIActupdatesandglobal

impact[

子智能體開(kāi)始執(zhí)行...]

.

搜索中:"EUAIAct2025updates"

.

搜索中:"EUAIActglobalimpact"

.

搜索中:"AIregulationsworldwidecomparison"

子智能體完成:[

返回綜合研究結(jié)果].

思考:已獲取研究數(shù)據(jù),現(xiàn)在將其整理為結(jié)構(gòu)化報(bào)告。、

動(dòng)作:write_file路徑:final_report.md內(nèi)容:[

帶引用的結(jié)構(gòu)化Markdown

報(bào)告]

觀察:報(bào)告寫(xiě)入完成#定義研究查詢query=

"歐盟AI法案的最新動(dòng)態(tài)及其全球影響是什么?"#調(diào)用智能體并獲取結(jié)果result=agent.invoke({"messages":[{"role":

"user",

"content":query}]})6.

初始化深度智能體8.1.3

步驟3:執(zhí)行研究查詢運(yùn)行調(diào)用單元格:8.1.4

執(zhí)行過(guò)程中的輸出智能體會(huì)實(shí)時(shí)輸出思考過(guò)程和執(zhí)行動(dòng)作,示例如下:架構(gòu)師之道31.

思考:為確保質(zhì)量,我將獲取編輯評(píng)審反饋。、

動(dòng)作:task智能體:policy-critique-agent指令:Reviewthedraft

report[

評(píng)審子智能體執(zhí)行...]

子智能體完成:[返回建設(shè)性反饋].

思考:根據(jù)反饋進(jìn)行最終修訂。、

動(dòng)作:edit_file路徑:final_report.md修訂內(nèi)容:[

基于評(píng)審的改進(jìn)項(xiàng)]

最終報(bào)告完成!#方式

1:從結(jié)果對(duì)象中提取final_message=result[

'messages'][-1][

'content']print(final_message)#方式

2:從文件系統(tǒng)讀取report=agent.read_file("final_report.md")print(report)#方式

3:查看所有生成的文件files=agent.list_files()print("生成的文件:",files)#

歐盟AI法案的最新動(dòng)態(tài)及其全球影響##

執(zhí)行摘要?dú)W盟AI

法案于[日期]正式通過(guò),是全球首部全面的人工智能監(jiān)管框架……##

核心動(dòng)態(tài)###

監(jiān)管時(shí)間線8.1.6

示例輸出結(jié)構(gòu)最終報(bào)告將遵循以下專業(yè)格式:8.1.5

步驟4:

查看結(jié)果通過(guò)以下方式訪問(wèn)最終報(bào)告:架構(gòu)師之道32-

最終文本發(fā)布:[

日期]-

實(shí)施啟動(dòng):[

日期]-

全面執(zhí)行:[

日期]###

核心條款-

基于風(fēng)險(xiǎn)的分類體系-

禁止類AI

應(yīng)用-

高風(fēng)險(xiǎn)AI系統(tǒng)要求-

透明度義務(wù)##

全球影響###

地區(qū)響應(yīng)**美國(guó)**

:美國(guó)通過(guò)行政命令做出回應(yīng)……**

中國(guó)**:中國(guó)的AI監(jiān)管重點(diǎn)在于……**英國(guó)**

:英國(guó)采取了不同的監(jiān)管路徑……###

國(guó)際標(biāo)準(zhǔn)歐盟AI法案正通過(guò)……

影響全球AI治理格局。##

行業(yè)啟示全球企業(yè)正通過(guò)……

適應(yīng)這些監(jiān)管要求。##

信息來(lái)源-

[歐盟AI

法案官方文本](https://)-

[全球AI

政策追蹤平臺(tái)](https://ex)-

[行業(yè)分析報(bào)告]()#示例

1:不同主題query1=

"

各國(guó)如何監(jiān)管醫(yī)療領(lǐng)域的人工智能應(yīng)用?"result1=agent.invoke({"messages":[{"role":

"user",

"content":query1}]})#示例

2:特定對(duì)比query2=

"

比較美國(guó)、歐盟和中國(guó)的AI

倫理框架"result2=agent.invoke({"messages":[{"role":

"user",

"content":query2}]})#示例

3:聚焦具體問(wèn)題8.1.7

步驟5:

嘗試不同查詢測(cè)試各類研究問(wèn)題,驗(yàn)證系統(tǒng)靈活性:架構(gòu)師之道338.1.11

預(yù)期行為?執(zhí)行時(shí)間:30-90秒(取決于查詢復(fù)雜度)?子智能體調(diào)用:通常2次(研究+評(píng)審)?

文件操作:3-5次(寫(xiě)入問(wèn)題、寫(xiě)入報(bào)告、修訂報(bào)告等)?搜索查詢:3-7次(根據(jù)研究深度調(diào)整)8.1.12

成功指標(biāo)

智能體完成所有工作流步驟

最終報(bào)告為結(jié)構(gòu)清晰的Markdown格式

信息來(lái)源引用規(guī)范

報(bào)告準(zhǔn)確回應(yīng)原始問(wèn)題#測(cè)試搜索功能test_result=internet_search("測(cè)試查詢",max_results=1)print("搜索功能正常:",

"?"if

test_result

else

"×")#測(cè)試模型連接test_response=model.invoke([{"role":

"user",

"content":

"你好"}])

print("模型功能正常:",

"?"if

test_response

else

"×")#列出智能體創(chuàng)建的所有文件files=agent.list_files()print("創(chuàng)建的文件:",files)#讀取文件內(nèi)容調(diào)試content=agent.read_file("question.txt")print("問(wèn)題文件內(nèi)容:",content)print("Tavily

密鑰:",

"?"ifos.getenv('TAVILY_API_KEY')else

"×")print("OpenAI

密鑰:",

"?"ifos.getenv('OPENAI_API_KEY')else

"×")import

logginglogging.basicConfig(level=logging.DEBUG)1.

驗(yàn)證

API密鑰4.

檢查文件系統(tǒng)2.單獨(dú)測(cè)試組件3.

啟用詳細(xì)日志架構(gòu)師之道35

全程保持專業(yè)語(yǔ)氣

無(wú)錯(cuò)誤或崩潰8.1.13

后續(xù)實(shí)驗(yàn)方向系統(tǒng)運(yùn)行穩(wěn)定后,可嘗試:1.

修改子智能體提示詞,適配不同領(lǐng)域(科技、金融、醫(yī)療等)2.

添加更多子智能體(事實(shí)核查員、摘要生成器、翻譯工具等)3.調(diào)整搜索參數(shù)(更多結(jié)果、不同主題類型)4.

測(cè)試不同LLM模型(對(duì)比GPT-4、Gemini、Claude

的表現(xiàn))5.

集成自有數(shù)據(jù)源或

API9總結(jié)思考我們剛剛構(gòu)建了一個(gè)非凡的系統(tǒng):這個(gè)AI智能體不僅能響應(yīng)查詢,還能進(jìn)行戰(zhàn)略思考、委托專業(yè)任務(wù)、管理復(fù)雜狀態(tài),并通過(guò)迭代優(yōu)化產(chǎn)出高質(zhì)量結(jié)果。這不是AI智能體的未來(lái)——而是借助LangChain

DeepAgents

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論