久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

插件化Agent框架源碼拆解:工具、執(zhí)行器、記憶與規(guī)劃器四層設(shè)計(jì)

插件化Agent框架源碼拆解:工具、執(zhí)行器、記憶與規(guī)劃器四層設(shè)計(jì) 1. 拆之前先想清楚為什么要看這個(gè) Agent 框架大模型圈子里做應(yīng)用的人最近一年繞不開一個(gè)詞——Agent。但真正動(dòng)手寫過(guò) Agent 的人都知道從能聊天到能干活之間隔著一道巨大的鴻溝。你讓模型調(diào)用一個(gè)工具它可能給你編一個(gè)不存在的函數(shù)名你讓它連續(xù)執(zhí)行三步任務(wù)它可能在第二步就忘了第一步的上下文你想給它加一個(gè)新能力結(jié)果發(fā)現(xiàn)得改核心調(diào)度邏輯牽一發(fā)動(dòng)全身。我最近花了兩天時(shí)間把一個(gè)開源 Agent 框架的源碼從頭到尾拆了一遍。這個(gè)框架的核心賣點(diǎn)就兩個(gè)字插件化。拆完之后我的感受是它把插件化這件事做到了一個(gè)相當(dāng)徹底的程度——不是那種預(yù)留了幾個(gè)擴(kuò)展點(diǎn)的偽插件化而是從工具注冊(cè)、執(zhí)行調(diào)度、上下文管理到多 Agent 協(xié)作每一層都是可插拔的。這篇文章適合兩類人看一類是正在選型 Agent 框架、想知道插件化到底能做到什么程度的開發(fā)者另一類是自己正在寫 Agent 調(diào)度邏輯、想?yún)⒖家幌鲁墒煸O(shè)計(jì)思路的工程師。我會(huì)從整體架構(gòu)、核心模塊、實(shí)操流程、踩坑經(jīng)驗(yàn)四個(gè)維度展開盡量把每個(gè)設(shè)計(jì)決策背后的為什么講清楚。說(shuō)明本文基于對(duì)該框架公開源碼的分析和實(shí)際運(yùn)行測(cè)試涉及的具體項(xiàng)目名稱和代碼細(xì)節(jié)做了脫敏處理但技術(shù)邏輯和設(shè)計(jì)思路保持原樣。2. 整體架構(gòu)拆解插件化到底體現(xiàn)在哪幾層2.1 從一次完整的 Agent 調(diào)用說(shuō)起要看懂一個(gè)框架的插件化設(shè)計(jì)最好的方式不是先看目錄結(jié)構(gòu)而是先跟一遍完整的調(diào)用鏈路。我以一個(gè)最典型的場(chǎng)景為例用戶說(shuō)幫我查一下明天北京的天氣然后根據(jù)天氣推薦穿什么衣服。這個(gè)請(qǐng)求進(jìn)入框架后大致經(jīng)歷以下幾個(gè)階段意圖解析框架把用戶輸入交給大模型模型判斷需要調(diào)用天氣查詢工具輸出一個(gè)結(jié)構(gòu)化的工具調(diào)用請(qǐng)求。工具路由框架根據(jù)模型輸出的工具名稱在注冊(cè)表中找到對(duì)應(yīng)的工具實(shí)現(xiàn)。參數(shù)校驗(yàn)與執(zhí)行對(duì)模型輸出的參數(shù)做校驗(yàn)然后執(zhí)行工具函數(shù)拿到天氣數(shù)據(jù)。結(jié)果回傳與二次推理把天氣數(shù)據(jù)塞回對(duì)話上下文再次調(diào)用模型模型根據(jù)天氣數(shù)據(jù)生成穿衣建議。最終輸出把模型的最終回復(fù)返回給用戶。這個(gè)鏈路看起來(lái)簡(jiǎn)單但每一步都藏著插件化的設(shè)計(jì)空間。比如第2步的工具路由如果框架把工具名稱硬編碼在調(diào)度邏輯里那你每加一個(gè)工具就得改核心代碼。而這個(gè)框架的做法是工具注冊(cè)表本身就是一個(gè)可替換的組件你甚至可以把默認(rèn)的本地注冊(cè)表?yè)Q成一個(gè)遠(yuǎn)程的工具市場(chǎng)。2.2 四層插件化架構(gòu)拆完源碼后我把它的插件化設(shè)計(jì)歸納為四個(gè)層次從外到內(nèi)依次是層級(jí)插件化對(duì)象擴(kuò)展方式典型場(chǎng)景第一層工具Tool實(shí)現(xiàn)標(biāo)準(zhǔn)接口并注冊(cè)添加自定義 API 調(diào)用第二層執(zhí)行器Executor替換執(zhí)行策略切換同步/異步/分布式執(zhí)行第三層記憶Memory替換存儲(chǔ)后端從內(nèi)存切換到向量數(shù)據(jù)庫(kù)第四層規(guī)劃器Planner替換推理策略從 ReAct 切換到 Plan-and-Execute這四層不是孤立的它們之間通過(guò)明確定義的接口通信。這意味著你可以在不改動(dòng)其他層的前提下單獨(dú)替換任意一層的實(shí)現(xiàn)。比如你只想把記憶后端從內(nèi)存換成 Redis那只需要實(shí)現(xiàn) Memory 接口然后在初始化時(shí)傳入你的實(shí)現(xiàn)即可工具層和規(guī)劃器層完全無(wú)感知。2.3 為什么是這四層而不是別的我一開始有個(gè)疑問為什么偏偏抽象出這四層后來(lái)想明白了這四層對(duì)應(yīng)的是 Agent 運(yùn)行時(shí)的四個(gè)核心關(guān)注點(diǎn)——能做什么工具、怎么執(zhí)行執(zhí)行器、記得什么記憶、怎么決策規(guī)劃器。任何一個(gè) Agent 系統(tǒng)不管用什么語(yǔ)言寫、跑在什么環(huán)境里都逃不開這四個(gè)問題。把這四個(gè)關(guān)注點(diǎn)各自抽象成可替換的組件好處是顯而易見的。舉個(gè)實(shí)際例子你在開發(fā)環(huán)境用內(nèi)存做記憶存儲(chǔ)跑得好好的上線后發(fā)現(xiàn)多輪對(duì)話一多內(nèi)存扛不住了這時(shí)候你只需要換一個(gè)基于數(shù)據(jù)庫(kù)的 Memory 實(shí)現(xiàn)其他代碼一行不用改。這種局部替換、全局無(wú)感的能力才是插件化真正的價(jià)值。實(shí)操心得判斷一個(gè)框架的插件化是不是真插件化有個(gè)簡(jiǎn)單的測(cè)試方法——試著在不看核心源碼的情況下只通過(guò)文檔和接口定義替換掉其中一個(gè)組件。如果替換過(guò)程中你被迫去讀調(diào)度器的內(nèi)部實(shí)現(xiàn)那說(shuō)明抽象層沒做干凈。3. 工具系統(tǒng)插件化的門面與核心3.1 一個(gè)工具從定義到被調(diào)用的完整生命周期工具系統(tǒng)是大多數(shù)開發(fā)者接觸這個(gè)框架的第一個(gè)入口也是插件化體現(xiàn)得最直觀的地方。我以一個(gè)自定義工具為例走一遍完整流程。假設(shè)我要添加一個(gè)查詢快遞物流的工具。第一步是定義工具的描述信息這部分信息會(huì)被傳給大模型讓模型知道這個(gè)工具的存在和用法。描述信息通常包括工具名稱、功能說(shuō)明、參數(shù)列表每個(gè)參數(shù)的類型、是否必填、含義。第二步是實(shí)現(xiàn)工具的執(zhí)行邏輯??蚣芤蠊ぞ叩膱?zhí)行函數(shù)接收一個(gè)參數(shù)字典返回一個(gè)字符串或結(jié)構(gòu)化結(jié)果。這里有個(gè)設(shè)計(jì)細(xì)節(jié)值得注意執(zhí)行函數(shù)的返回值會(huì)被框架統(tǒng)一序列化后塞回對(duì)話上下文所以你的返回值最好是模型能理解的格式而不是一堆二進(jìn)制數(shù)據(jù)。第三步是注冊(cè)。注冊(cè)的方式通常有兩種裝飾器注冊(cè)和顯式注冊(cè)。裝飾器注冊(cè)寫起來(lái)更簡(jiǎn)潔適合工具數(shù)量少的場(chǎng)景顯式注冊(cè)更靈活適合需要?jiǎng)討B(tài)決定注冊(cè)哪些工具的場(chǎng)景。# 裝飾器注冊(cè)的典型寫法偽代碼 tool(namequery_logistics, description根據(jù)快遞單號(hào)查詢物流信息) def query_logistics(tracking_number: str) - str: # 實(shí)際調(diào)用物流 API result call_logistics_api(tracking_number) return format_result(result)3.2 工具描述的質(zhì)量直接決定調(diào)用準(zhǔn)確率這是我在實(shí)操中體會(huì)最深的一點(diǎn)。很多人寫工具描述很隨意寫個(gè)查詢天氣就完事了結(jié)果模型經(jīng)常在不需要的時(shí)候調(diào)用它或者調(diào)用時(shí)傳錯(cuò)參數(shù)。工具描述本質(zhì)上是給模型看的使用說(shuō)明書寫得越清楚模型調(diào)用越準(zhǔn)確。我總結(jié)了幾條寫工具描述的經(jīng)驗(yàn)功能說(shuō)明要包含什么時(shí)候用和什么時(shí)候不用。比如當(dāng)用戶詢問實(shí)時(shí)天氣時(shí)使用此工具如果用戶只是閑聊天氣話題不要調(diào)用。參數(shù)說(shuō)明要給出示例值。模型看到示例值后對(duì)參數(shù)格式的理解會(huì)準(zhǔn)確很多。工具名稱用動(dòng)詞開頭保持唯一性。避免出現(xiàn)兩個(gè)功能相似、名稱也相似的工具模型會(huì)混淆。3.3 工具執(zhí)行的安全邊界工具執(zhí)行是 Agent 與外部世界交互的窗口也是風(fēng)險(xiǎn)最集中的地方。這個(gè)框架在工具執(zhí)行層做了幾道防線我覺得設(shè)計(jì)得挺合理。第一道是參數(shù)校驗(yàn)??蚣軙?huì)根據(jù)工具定義中的參數(shù)類型對(duì)模型輸出的參數(shù)做類型檢查。如果模型輸出了一個(gè)字符串但工具定義要求整數(shù)框架會(huì)在執(zhí)行前攔截并返回錯(cuò)誤信息給模型讓模型重新生成。第二道是超時(shí)控制。每個(gè)工具執(zhí)行都有超時(shí)限制防止某個(gè)工具卡死導(dǎo)致整個(gè) Agent 流程掛起。超時(shí)時(shí)間可以全局配置也可以針對(duì)單個(gè)工具單獨(dú)設(shè)置。第三道是異常隔離。工具執(zhí)行過(guò)程中拋出的異常會(huì)被框架捕獲轉(zhuǎn)換成模型能理解的錯(cuò)誤信息而不是直接讓整個(gè)流程崩潰。這一點(diǎn)很重要——模型收到錯(cuò)誤信息后往往能自己調(diào)整策略重試。注意事項(xiàng)如果你要添加的工具涉及敏感操作比如寫數(shù)據(jù)庫(kù)、發(fā)請(qǐng)求到外部系統(tǒng)建議在工具實(shí)現(xiàn)內(nèi)部再加一層權(quán)限校驗(yàn)不要完全依賴框架層面的防護(hù)。框架的校驗(yàn)是通用的業(yè)務(wù)層面的安全需要你自己兜底。4. 執(zhí)行器與調(diào)度插件化的發(fā)動(dòng)機(jī)4.1 執(zhí)行器的職責(zé)邊界執(zhí)行器是框架里最容易被忽視、但設(shè)計(jì)難度最高的部分。它的職責(zé)是接收規(guī)劃器輸出的執(zhí)行計(jì)劃按順序或并行地調(diào)用工具處理執(zhí)行過(guò)程中的各種異常最后把結(jié)果匯總返回。為什么說(shuō)它設(shè)計(jì)難度高因?yàn)閳?zhí)行器要處理的情況太多了工具有依賴關(guān)系怎么辦某個(gè)工具執(zhí)行失敗了要不要重試多個(gè)工具可以并行執(zhí)行時(shí)怎么調(diào)度執(zhí)行時(shí)間過(guò)長(zhǎng)怎么中斷這些問題沒有標(biāo)準(zhǔn)答案不同的業(yè)務(wù)場(chǎng)景需要不同的策略。這個(gè)框架的做法是把執(zhí)行器抽象成一個(gè)接口默認(rèn)提供一個(gè)通用實(shí)現(xiàn)同時(shí)允許你替換成自己的實(shí)現(xiàn)。默認(rèn)實(shí)現(xiàn)覆蓋了最常見的場(chǎng)景——順序執(zhí)行、失敗重試、超時(shí)中斷。如果你的場(chǎng)景比較特殊比如需要分布式執(zhí)行那就自己實(shí)現(xiàn)一個(gè)執(zhí)行器。4.2 順序執(zhí)行與并行執(zhí)行的取舍默認(rèn)執(zhí)行器采用的是順序執(zhí)行策略也就是一個(gè)工具執(zhí)行完再執(zhí)行下一個(gè)。這個(gè)選擇乍看保守但仔細(xì)想想是合理的。順序執(zhí)行的最大好處是上下文一致性有保障。每個(gè)工具執(zhí)行完后結(jié)果會(huì)立即更新到上下文中下一個(gè)工具執(zhí)行時(shí)能看到最新的上下文。如果改成并行執(zhí)行多個(gè)工具同時(shí)讀寫上下文就需要處理并發(fā)一致性問題復(fù)雜度會(huì)上升一個(gè)量級(jí)。但順序執(zhí)行也有明顯的短板如果兩個(gè)工具之間沒有依賴關(guān)系順序執(zhí)行就是浪費(fèi)時(shí)間。比如同時(shí)查天氣和查匯率這兩個(gè)操作完全可以并行。所以框架在執(zhí)行器層面預(yù)留了并行執(zhí)行的擴(kuò)展點(diǎn)你可以根據(jù)工具之間的依賴關(guān)系動(dòng)態(tài)決定哪些工具可以并行。我實(shí)測(cè)下來(lái)對(duì)于大多數(shù)對(duì)話式 Agent 場(chǎng)景順序執(zhí)行已經(jīng)夠用了。真正需要并行執(zhí)行的往往是那種批量處理類的任務(wù)比如同時(shí)查詢十個(gè)城市的天氣。這種場(chǎng)景下與其在 Agent 層面做并行不如把批量查詢封裝成一個(gè)工具在工具內(nèi)部做并行。4.3 重試策略的設(shè)計(jì)細(xì)節(jié)工具執(zhí)行失敗是常態(tài)尤其是調(diào)用外部 API 的時(shí)候??蚣艿哪J(rèn)重試策略是失敗后重試兩次每次間隔一秒。這個(gè)策略對(duì)大多數(shù)場(chǎng)景夠用但有幾個(gè)細(xì)節(jié)值得注意。首先不是所有失敗都值得重試。如果失敗原因是參數(shù)錯(cuò)誤重試多少次都沒用反而浪費(fèi)時(shí)間和 token??蚣艿淖龇ㄊ菂^(qū)分錯(cuò)誤類型網(wǎng)絡(luò)超時(shí)類的錯(cuò)誤會(huì)重試參數(shù)校驗(yàn)類的錯(cuò)誤直接返回給模型。其次重試次數(shù)不是越多越好。重試次數(shù)太多會(huì)導(dǎo)致整個(gè)流程響應(yīng)時(shí)間過(guò)長(zhǎng)用戶體驗(yàn)變差。我一般把重試次數(shù)控制在兩次以內(nèi)超過(guò)兩次還失敗就讓模型換個(gè)思路。最后重試時(shí)要考慮冪等性。如果工具的操作不是冪等的比如下單這種操作重試可能會(huì)導(dǎo)致重復(fù)下單。這種工具應(yīng)該在實(shí)現(xiàn)內(nèi)部做好冪等控制而不是依賴框架的重試機(jī)制。5. 記憶系統(tǒng)插件化里的隱形功臣5.1 短期記憶與長(zhǎng)期記憶的分工記憶系統(tǒng)是 Agent 框架里最容易被低估的模塊。很多人覺得記憶就是把對(duì)話歷史存起來(lái)但實(shí)際上記憶系統(tǒng)的設(shè)計(jì)直接決定了 Agent 能不能處理長(zhǎng)對(duì)話、能不能記住用戶偏好、能不能從歷史經(jīng)驗(yàn)中學(xué)習(xí)。這個(gè)框架把記憶分成了短期記憶和長(zhǎng)期記憶兩層。短期記憶存的是當(dāng)前對(duì)話的上下文通常有長(zhǎng)度限制超出限制后會(huì)做截?cái)嗷蛘iL(zhǎng)期記憶存的是跨對(duì)話的信息比如用戶的偏好、歷史任務(wù)的結(jié)果通常存在外部存儲(chǔ)里。兩層記憶的分工很明確短期記憶保證當(dāng)前對(duì)話的連貫性長(zhǎng)期記憶保證 Agent 的個(gè)性和經(jīng)驗(yàn)積累。這種分層設(shè)計(jì)的好處是你可以針對(duì)不同的記憶層采用不同的存儲(chǔ)策略和淘汰策略。5.2 記憶的寫入與檢索策略記憶系統(tǒng)最難的不是存而是什么時(shí)候存、存什么、怎么取。先說(shuō)寫入。不是所有對(duì)話內(nèi)容都值得存入長(zhǎng)期記憶。如果每句話都存長(zhǎng)期記憶很快就會(huì)被噪音淹沒??蚣艿淖龇ㄊ翘峁┮粋€(gè)可配置的寫入策略你可以選擇每輪對(duì)話都寫入、只在任務(wù)完成后寫入或者由模型判斷是否值得寫入。再說(shuō)檢索。當(dāng) Agent 需要用到長(zhǎng)期記憶時(shí)怎么從海量記憶中找出相關(guān)的那幾條最簡(jiǎn)單的做法是按時(shí)間倒序取最近幾條但這種方式在記憶量大時(shí)效果很差。更好的做法是用向量檢索把記憶轉(zhuǎn)成向量存起來(lái)檢索時(shí)用語(yǔ)義相似度匹配。這個(gè)框架默認(rèn)提供的是基于關(guān)鍵詞的簡(jiǎn)單檢索但預(yù)留了向量檢索的擴(kuò)展接口。如果你用的是支持向量檢索的存儲(chǔ)后端只需要實(shí)現(xiàn)對(duì)應(yīng)的 Memory 接口即可。5.3 記憶壓縮長(zhǎng)對(duì)話的必修課長(zhǎng)對(duì)話場(chǎng)景下上下文長(zhǎng)度是個(gè)硬約束。模型的上下文窗口就那么大對(duì)話輪次一多早期的內(nèi)容就會(huì)被擠出去。這時(shí)候就需要記憶壓縮??蚣芴峁┝藥追N壓縮策略我比較常用的是摘要壓縮當(dāng)對(duì)話輪次超過(guò)閾值時(shí)把最早的幾輪對(duì)話交給模型做摘要用摘要替換原始對(duì)話。這樣既保留了關(guān)鍵信息又大幅縮短了上下文長(zhǎng)度。實(shí)操心得摘要壓縮的提示詞很關(guān)鍵。我試過(guò)幾種寫法最后發(fā)現(xiàn)效果最好的是讓模型提取對(duì)話中的事實(shí)性信息和用戶偏好忽略寒暄和重復(fù)內(nèi)容。這樣壓縮后的摘要信息密度高后續(xù)對(duì)話中模型能準(zhǔn)確回憶起關(guān)鍵信息。6. 規(guī)劃器插件化的大腦6.1 ReAct 與 Plan-and-Execute 的適用場(chǎng)景規(guī)劃器決定了 Agent 怎么思考。這個(gè)框架內(nèi)置了兩種規(guī)劃策略ReAct 和 Plan-and-Execute。ReAct 的思路是邊想邊做模型先輸出一個(gè)思考然后決定調(diào)用哪個(gè)工具拿到結(jié)果后再思考下一步。這種方式靈活適合步驟不確定的任務(wù)但缺點(diǎn)是容易走一步看一步缺乏全局規(guī)劃。Plan-and-Execute 的思路是先規(guī)劃再執(zhí)行模型先制定一個(gè)完整的執(zhí)行計(jì)劃然后按計(jì)劃逐步執(zhí)行。這種方式適合步驟明確的任務(wù)執(zhí)行效率高但缺點(diǎn)是計(jì)劃一旦制定就不容易調(diào)整遇到意外情況可能卡住。我的經(jīng)驗(yàn)是任務(wù)步驟少于三步、且步驟之間有依賴關(guān)系時(shí)用 ReAct任務(wù)步驟多、但步驟相對(duì)獨(dú)立時(shí)用 Plan-and-Execute。當(dāng)然也可以把兩者結(jié)合先用 Plan-and-Execute 制定大框架每個(gè)步驟內(nèi)部用 ReAct 靈活處理。6.2 規(guī)劃器的可替換性設(shè)計(jì)規(guī)劃器的插件化體現(xiàn)在它是一個(gè)獨(dú)立的組件通過(guò)標(biāo)準(zhǔn)接口與執(zhí)行器通信。規(guī)劃器輸出的是一個(gè)執(zhí)行計(jì)劃執(zhí)行器不關(guān)心這個(gè)計(jì)劃是怎么來(lái)的只負(fù)責(zé)執(zhí)行。這種設(shè)計(jì)的好處是你可以實(shí)現(xiàn)自己的規(guī)劃器。比如你想用某個(gè)特定的大模型做規(guī)劃或者你想實(shí)現(xiàn)一種全新的規(guī)劃策略比如基于樹搜索的規(guī)劃只需要實(shí)現(xiàn)規(guī)劃器接口即可執(zhí)行器和工具層完全不用改。我試過(guò)替換默認(rèn)規(guī)劃器實(shí)現(xiàn)了一個(gè)帶反思的規(guī)劃器每次執(zhí)行完一個(gè)步驟后讓模型反思一下當(dāng)前進(jìn)展是否符合預(yù)期如果不符合就重新規(guī)劃。這個(gè)規(guī)劃器在復(fù)雜任務(wù)上的表現(xiàn)比默認(rèn)的好不少但代價(jià)是 token 消耗增加了大約 40%。6.3 規(guī)劃器的提示詞工程規(guī)劃器的效果很大程度上取決于提示詞的質(zhì)量??蚣苣J(rèn)的規(guī)劃器提示詞寫得比較通用但在特定場(chǎng)景下你需要針對(duì)性地調(diào)整。我總結(jié)了幾條規(guī)劃器提示詞的調(diào)整經(jīng)驗(yàn)明確輸出格式。規(guī)劃器的輸出需要被程序解析所以格式必須嚴(yán)格。我一般要求模型輸出 JSON 格式的計(jì)劃每個(gè)步驟包含步驟描述和所需工具兩個(gè)字段。限制步驟數(shù)量。不加限制的話模型可能會(huì)規(guī)劃出十幾步的計(jì)劃其中很多步驟是冗余的。我一般限制在五步以內(nèi)。提供工具清單。規(guī)劃器需要知道有哪些工具可用才能制定出可執(zhí)行的計(jì)劃。把工具清單和工具描述一起放進(jìn)提示詞里規(guī)劃準(zhǔn)確率會(huì)明顯提升。7. 實(shí)操?gòu)牧愦钜粋€(gè)帶自定義插件的 Agent7.1 環(huán)境準(zhǔn)備與依賴安裝前面講的都是設(shè)計(jì)層面的東西這一節(jié)我?guī)阕咭槐橥暾膶?shí)操流程。假設(shè)我們要搭一個(gè)個(gè)人助理 Agent具備三個(gè)能力查天氣、記筆記、查筆記。環(huán)境準(zhǔn)備比較簡(jiǎn)單核心依賴就是框架本身和它依賴的大模型 SDK。我建議用虛擬環(huán)境隔離依賴避免和系統(tǒng)里的其他包沖突。# 創(chuàng)建虛擬環(huán)境 python -m venv agent_env source agent_env/bin/activate # 安裝框架和模型 SDK pip install agent-framework model-sdk安裝完成后先跑一個(gè)最小示例驗(yàn)證環(huán)境是否正常。最小示例通常就是讓 Agent 回答一個(gè)簡(jiǎn)單問題不涉及工具調(diào)用。如果這一步能跑通說(shuō)明基礎(chǔ)環(huán)境沒問題。7.2 定義并注冊(cè)三個(gè)自定義工具接下來(lái)定義三個(gè)工具。查天氣工具調(diào)用外部天氣 API記筆記工具把內(nèi)容寫入本地文件查筆記工具從本地文件讀取內(nèi)容。# 查天氣工具 tool(nameget_weather, description查詢指定城市的實(shí)時(shí)天氣。當(dāng)用戶詢問天氣時(shí)使用。) def get_weather(city: str) - str: # 調(diào)用天氣 API返回格式化后的天氣信息 data weather_api.query(city) return f{city}當(dāng)前天氣{data[condition]}溫度{data[temp]}℃ # 記筆記工具 tool(namesave_note, description保存一條筆記。當(dāng)用戶要求記錄信息時(shí)使用。) def save_note(content: str) - str: with open(notes.txt, a, encodingutf-8) as f: f.write(content \n) return 筆記已保存 # 查筆記工具 tool(namesearch_notes, description搜索已保存的筆記。當(dāng)用戶詢問之前記錄的信息時(shí)使用。) def search_notes(keyword: str) - str: with open(notes.txt, r, encodingutf-8) as f: lines f.readlines() matched [l for l in lines if keyword in l] return \n.join(matched) if matched else 沒有找到相關(guān)筆記三個(gè)工具定義完后框架會(huì)自動(dòng)把它們注冊(cè)到工具注冊(cè)表中。這里有個(gè)細(xì)節(jié)裝飾器的執(zhí)行順序會(huì)影響注冊(cè)順序但一般不影響功能因?yàn)榭蚣茉诼酚蓵r(shí)會(huì)根據(jù)工具名稱精確匹配。7.3 配置記憶后端與規(guī)劃器工具定義好后接下來(lái)配置記憶后端和規(guī)劃器。開發(fā)階段我用內(nèi)存做記憶存儲(chǔ)規(guī)劃器用默認(rèn)的 ReAct。# 初始化 Agent agent Agent( modelyour-model-name, memoryInMemoryMemory(max_turns20), # 保留最近20輪對(duì)話 plannerReActPlanner(), executorSequentialExecutor(max_retries2, timeout30) )這里的參數(shù)選擇有講究。max_turns20是我實(shí)測(cè)下來(lái)比較平衡的值太小了容易丟失上下文太大了會(huì)拖慢響應(yīng)速度。max_retries2和timeout30也是類似都是根據(jù)實(shí)際使用體驗(yàn)調(diào)出來(lái)的。7.4 跑通第一個(gè)多輪任務(wù)配置完成后跑一個(gè)多輪任務(wù)測(cè)試一下。我設(shè)計(jì)的測(cè)試場(chǎng)景是用戶幫我查一下上海的天氣Agent 調(diào)用查天氣工具返回天氣信息用戶幫我把今天的天氣記下來(lái)Agent 調(diào)用記筆記工具保存天氣信息用戶我之前記過(guò)哪些關(guān)于天氣的筆記Agent 調(diào)用查筆記工具返回匹配的筆記這個(gè)測(cè)試場(chǎng)景覆蓋了工具調(diào)用、上下文傳遞、記憶檢索三個(gè)核心能力。如果三步都能正確執(zhí)行說(shuō)明 Agent 的基本功能已經(jīng)跑通了。我實(shí)測(cè)下來(lái)這個(gè)流程在默認(rèn)配置下能跑通但第三步偶爾會(huì)失敗——模型有時(shí)候會(huì)忘記之前查到的天氣信息導(dǎo)致記筆記時(shí)內(nèi)容不完整。解決辦法是在記筆記工具的提示詞里明確要求從對(duì)話歷史中提取天氣信息或者在規(guī)劃器層面增加一步確認(rèn)信息完整性的檢查。8. 常見問題與排查技巧實(shí)錄8.1 工具調(diào)用失敗的高頻原因在實(shí)操過(guò)程中工具調(diào)用失敗是最常見的問題。我把遇到過(guò)的原因整理成了一張速查表問題現(xiàn)象可能原因排查方法解決方案模型不調(diào)用工具工具描述不清晰檢查工具描述是否說(shuō)明了使用場(chǎng)景補(bǔ)充什么時(shí)候用的說(shuō)明調(diào)用時(shí)參數(shù)錯(cuò)誤參數(shù)定義不明確檢查參數(shù)類型和示例值在參數(shù)描述中加示例工具執(zhí)行超時(shí)外部 API 響應(yīng)慢查看工具執(zhí)行日志增加超時(shí)時(shí)間或加重試返回結(jié)果模型看不懂返回格式不規(guī)范檢查返回值是否結(jié)構(gòu)化統(tǒng)一返回 JSON 字符串多輪對(duì)話后工具失效上下文被截?cái)鄼z查記憶配置增加記憶輪次或做摘要壓縮這張表里的每一條都是我實(shí)際踩過(guò)的坑。其中模型不調(diào)用工具和調(diào)用時(shí)參數(shù)錯(cuò)誤這兩類問題占了所有問題的七成以上而根源基本都是工具描述寫得不夠清楚。8.2 上下文丟失的排查思路上下文丟失是另一個(gè)高頻問題尤其是在長(zhǎng)對(duì)話場(chǎng)景下。表現(xiàn)是Agent 在對(duì)話早期能正確使用某個(gè)信息但對(duì)話進(jìn)行到十幾輪后就忘記了這個(gè)信息。排查這個(gè)問題的思路是先確認(rèn)記憶配置是否合理再確認(rèn)上下文是否被意外截?cái)???蚣芤话銜?huì)提供日志記錄每輪對(duì)話實(shí)際傳給模型的上下文內(nèi)容。把日志打出來(lái)看一眼就能知道是記憶沒存進(jìn)去還是存進(jìn)去了但沒被檢索出來(lái)。如果是記憶沒存進(jìn)去檢查寫入策略如果是存進(jìn)去了但沒檢索出來(lái)檢查檢索策略。我遇到過(guò)一次比較隱蔽的情況記憶存進(jìn)去了檢索也能檢索到但檢索到的記憶沒有被正確拼接到提示詞里。這種問題只能通過(guò)看日志發(fā)現(xiàn)。8.3 性能優(yōu)化的幾個(gè)實(shí)用技巧Agent 的性能瓶頸通常不在計(jì)算而在等待——等模型響應(yīng)、等工具執(zhí)行、等網(wǎng)絡(luò)傳輸。優(yōu)化性能的核心思路是減少等待。第一個(gè)技巧是緩存工具結(jié)果。對(duì)于查詢類的工具如果同樣的參數(shù)在短時(shí)間內(nèi)被多次調(diào)用可以直接返回緩存結(jié)果。我實(shí)測(cè)下來(lái)這個(gè)優(yōu)化能減少大約 30% 的工具調(diào)用耗時(shí)。第二個(gè)技巧是精簡(jiǎn)提示詞。提示詞越長(zhǎng)模型響應(yīng)越慢。把不必要的說(shuō)明刪掉把工具描述寫精煉能明顯提升響應(yīng)速度。第三個(gè)技巧是并行執(zhí)行無(wú)依賴的工具。前面說(shuō)過(guò)默認(rèn)執(zhí)行器是順序執(zhí)行的但如果你的場(chǎng)景里有大量無(wú)依賴的工具調(diào)用可以考慮替換成并行執(zhí)行器。注意事項(xiàng)并行執(zhí)行雖然快但會(huì)帶來(lái)上下文一致性問題。如果你的工具之間有隱式的依賴關(guān)系比如工具 B 依賴工具 A 寫入的數(shù)據(jù)千萬(wàn)不要并行執(zhí)行。9. 插件化設(shè)計(jì)的邊界與取舍拆完這個(gè)框架我最大的感受是插件化不是越多越好而是要在靈活性和復(fù)雜度之間找到平衡點(diǎn)。這個(gè)框架把插件化做到了工具、執(zhí)行器、記憶、規(guī)劃器四個(gè)層面但并沒有把提示詞模板、日志系統(tǒng)這些也做成插件。為什么因?yàn)樘崾驹~模板和日志系統(tǒng)的變化頻率低做成插件帶來(lái)的靈活性收益抵不過(guò)增加的抽象復(fù)雜度。這給了我一個(gè)重要的啟發(fā)判斷一個(gè)模塊該不該插件化關(guān)鍵看它的變化頻率和變化維度。變化頻率高、變化維度多的模塊值得插件化變化頻率低、變化維度單一的模塊硬編碼反而更清晰。另外插件化帶來(lái)的一個(gè)隱性成本是調(diào)試難度上升。當(dāng)出問題時(shí)你需要在多個(gè)插件之間來(lái)回排查而不是在一個(gè)文件里從上往下讀。所以我在實(shí)際項(xiàng)目中會(huì)盡量控制插件的數(shù)量只在真正需要靈活替換的地方做插件化。這個(gè)框架的插件化設(shè)計(jì)我覺得最值得借鑒的一點(diǎn)是每個(gè)插件接口都定義得非常窄。工具接口只要求實(shí)現(xiàn)執(zhí)行方法記憶接口只要求實(shí)現(xiàn)存和取方法。接口越窄實(shí)現(xiàn)起來(lái)越簡(jiǎn)單替換成本越低。反觀有些框架插件接口定義得又寬又復(fù)雜實(shí)現(xiàn)一個(gè)插件要寫幾百行代碼這種插件化就失去了意義。最后分享一個(gè)我在拆源碼時(shí)用的小技巧先看接口定義文件再看默認(rèn)實(shí)現(xiàn)最后看測(cè)試用例。接口定義告訴你能做什么默認(rèn)實(shí)現(xiàn)告訴你怎么做測(cè)試用例告訴你怎么用。按這個(gè)順序看理解一個(gè)陌生框架的速度會(huì)快很多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久久久久久久久久久久久久久9| 久操黄色视频| 色偷偷男人的天堂麻豆| 久久久久国产亚洲一区欧美色图日韩| 国产福利一区二| 农村妇女精品一区二区| 中文字幕一区二区在线日韩精品| 少妇高潮一区二区三区在线| 国产天天骚| 超碰在线香蕉| 少妇综合网| 亚洲 欧美 另类 日韩 人妻一区 | 狠狠色婷婷7777久| 日韩精品资源专区二区| 久久久91福利姬| 亚洲91色在线| www.99热| 人妻系列无码专区中文有码| 超碰日韩人妻| 9Ⅰ超碰| 看看小穴| 97福利视频| 亚洲精品国产无码高清| 亚洲无线观看久久| 91人人| 色麻豆AV| 亚洲色图a| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 国产福利小视频高清在线观看| 青草精品视频一日本久久久久网站| 亚洲限制级在线| 99久久9| 成年人黄色小视频网站| 国产精选视频| 日本免费一区二区不卡| 精品无码一二三四区| 国产67194| 精品一区二区人妖| 久久久国产亚洲精品系列| 精品国产Av无码久久久伦古装| 碰超人人在线一区二区三区| 欧美精品偷拍| 欧美 青青草| 大香蕉碰| 女人被添高潮免费视频| 欧美日日人人天天| 97超碰天天| 99久久久无码国产精品性男| 欧美日韩1234| 人妻在线臀日韩| 高清无码一区二区三区| 黄色视频高清无码网站| 亚洲欧美综合图片| 男人的天堂在线| 暖暖精品二区三区观看| AV九九| 日韩久久三区| 又粗又长又爽在线观看| 国产欧美在线观看免费观看| 在线人人人人人人精品超 | 道久久五香丁月婷婷激情综合| 99热精品在线在线| 插入综合网| 人人扣人人操| 91足交| 国产精品嫩草影院免费| 日韩一性一交一A片俄罗斯| 岛国在线国产| 欧美国产欧美在线观看| 欧美日韩香蕉| 亚洲五月婷婷| 少妇内射www在线观看视频| 91精品丝袜久久久久久| 91丝袜在线观看视频在线观看| 亚洲熟久久| 日韩一级二级三级在线不卡观看完整| 亚洲小电影免费涩涩成人在线高清| AV污污污污| 97视频620| 激情小说亚洲| 美女啊啊啊啊啊啊啊| 女生看匆91网站| 日韩av乱伦| 天天躁夜夜躁狠狠躁AV| 日本精品不卡一二三区| 综合亚州欧美| 色五月婷婷五月天| 91丨人妻丨国产丨丝袜| 区一在线观看| 男女性感激情网站| chaopen97久久| 国产一区二区在线电影| 另类图片五月天| 在线v中文字幕一区二区三区| 激情五月天校园春色网| 成人福利视频网| 日韩成人小视频| 色五月av| 免费观看国产不卡av| 亚洲综合 欧美| 色五月网址| 日韩无限资源| 日韩精彩视频| 精品久一区免费| 国产高清免费不卡av| 激情婷婷黑人91| 五月丁香成人网| 欧美乱欲| 色97国产69香蕉| 日本九九九九| 国模私拍一区二区三区神乳| 97人人爱人人乐| 蜜臀久久99精品久久久久久久久| 一起草日韩| 亚洲性天堂| 国产精品3| 国产黄a三级三级三级av在线看| av天堂精品久久| 日韩有码中文字幕女同性恋 | 日韩无码操逼片| 99re28在线观看| 99久在线精品99re8a| 久久啊哟| 欧美.亚洲.另类.丝袜.制服.诱惑| 成人精品久久久午夜福利| 一区二区三区在线日韩影院观看| 性色高清在线| 精品久久久九九九孕妇| 狠狠中文字幕| 综合网欧美在线| 中文字幕在线高清男人的天堂| 一级性爱视频免费观看 | 久久人妻熟女一区二区| 超碰97综合在线| 亚州黄站| 校园春色亚洲色图| 国产传媒av天美传媒在线| 久久久九九| com 首页 18岁 禁区 女优 免费 精选 同城 | 一区在线精品中文字幕| 欧美天天射| 97超碰色屌| 综合网欧| 日产123区精品免费观看| 99热97| 综合色久| 91精片| 亚洲色图20p| 日本操色导航| 加勒比东京热五月天天堂网| 欧美性爱中文字幕无线码| 亚洲性猛| 久久黄人人爽视频| 97天天| 欧美三级免费伊人| 啊啊啊在线看| 青青五月天| 99久久com免费视频′| 屁股久久久久久久久| 无遮挡一级毛片视频免费的| 精品一区二区人妖| 四虎国产精品永久在线囯在线| 日本新免费二区三区| 中文字幕在线日亚州9| 婷婷婷婷婷婷久久久久| 中文欧丝袜诱惑| 一二三区精品视频| 国产小黄片在线免费观看| 免费视频a级毛片免费视频| 久久久久中出| 4虎在线观看| WWW啪啪的com| 青青草在线成人视频| 欧美后入式| 影音先锋少妇| 久久久久9999妇女| 久久亚州精品成人Av无| 三级片大波波| 日韩av性爱在线播放| 婷婷丁香五月综合| 欧美色图另类图片| 操人妻逼91| 超碰日韩美妻| 天天干天天干天天| 伊人久久AV诱惑悠悠| 日韩不卡a级视频专区| 夜草欧美| 性爱av网站| 亚洲第一男人天堂| 99热在线播放| 操一操摸一摸| 久噜噜| 中文字幕一区二区免费在线| 久久精品一区二区三区蜜桃臀| 少妇人妻好深太紧了vr91| 色老汉色| 温婉少妇玩3p| 久操免费在线| 国产视频第2页| 欧美大香蕉专区网| 天天肏天天干| 91性感网站| 秋霞免费AV| 97超级久久| 91狠狠综合久久久久久| 熟妇女伦乱视频| 少妇与黑人高潮在线| 色综合久久av| 精品国产av一区二区三区四区入口| 亚洲人在线成线成人| 国产精品激情久久久久久久| 上床啊啊啊| 亚洲情色一区二区三区| 久99久视频| 操国产逼| 亚洲天堂精品日韩电影| 亚洲综合图片在线| 婷婷三区| 中文啪啪视频| 秋霞视频一区二区| 国产精品自在自拍视频| 亚洲欧洲日韩国产自在线| 天天操熟妇| 欧美中字二区| 欧美 日韩 婷婷 五月| 黄色AV影视| 激情接吻视频久久久久久| 人人模人人看| 国产精品成人AV片免费看网站| 国产67194| 白嫩少妇| 人人摸人人摸人人干| 97视频在线免费观看| 又大又黄国产| 美女丝袜激情小说| 久草色悠悠在线视频| 成人a大片在线观看| 欧洲无码一区二区| 精品黄色电影| 狂操嫩妻视频一区二区三区| 极品一区二区三区免费| 亚洲强奸乱伦影视网| 亚熟hd视频在线| 久久久久亚洲?V片无码V| 欧美熟妇操操视频| 亚洲97成人在线观看| 按摩中文字幕| 久久精品久久久久久久久| 欧美中文字幕一区 | 超碰97护士| 成视频在线观看免费看| 久久久久幕乱码| 国产一级αv免费看片| 毛片麻豆91糖心精品毛情片| 久久婷婷伊人| 91内射| 91亚洲影院综合| 无码丰满熟妇一区二区浪潮AV| 1204金沙人妻懂旧版免费| 人人妻人射| 国产又粗又长的视频| 亚洲骚女一区二区三区| 色欲无码人妻日韩欧美精品| 91精品人妻一区二区三区蜜桃臀| 欧美 亚洲 大香| 四虎视频在线观看| 天堂国产AV| 夜夜嗨一区二区| 十八禁一区二区无码观看| 欧洲亚洲人妻无码中字久久三区四区 | 不卡一区二区日本视频| 日B操| 国产性爱强奸乱伦大全| 亚洲综合首页| 超碰人妻久久| 囯产精品久久久久久久久久梁医生 | 天天日天天干少妇日| 后入式999| 人人干人人操人人爱| 爱干爱射网啊啊啊| 日韩成人在线性爱视频| 99亚洲人人| 一类av片在线看| 91少妇香蕉久久精品| blacked精品一区国产| 欧美人妻另类在线| 91九久| 久艾草在线精品视频在线观看| 少妇被玩视频二三区| 亚洲图片婷婷五月天| 亚洲极品| 色老汉色| 男人的天堂不卡一区二区| 欧美懂色综合网| 亚洲激情色片| 精品妇女一区二区三区| 黄色视频60分钟| 蜜臀久久久99久久久久 | 日韩在线国产字幕| 天天色怡春院| 亚洲色资源| 亚洲在钱| 亚洲天天操| 天天操人人操狠狠插| 精品无码久久久久久久久果冻糖心| 日韩午夜国产| 天天色悠悠激情| 91大学精品激情戏| 丁香五月激情综合| 五月天色色色| 激情五月婷| 91红杏| 日日夜夜青青草母狗| 亚洲无码国产精品久久| 久久综合97| 蜜臀亚洲综合一二三四区| 67914在线精品观看| 亚洲成熟国产精品美女| 国产白丝精品在线观看| 中文字幕乱妇免费视频| 欧美日韩亚洲天堂网| 99精品在线| 日韩丨制服丨中文|在线| AV大香蕉| 一本大道不卡一二三区| 成年男人的天堂| 国产精品电影推荐| 开心婷婷五月| 午夜福利合集| 大香蕉丝袜一级片| 91久久久视| 91美女精品| 日韩美女操b| 日日日啊啊啊| 亚洲欧美碰碰| 1769精品一区二区三区| 闷骚老熟女15P| 最新国产亚洲精品精品国产亚洲综合| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 超碰在线人妻中文字幕| 搡老熟女免费视频| 色婷久久| 麻豆国产成人精品| 日韩有码 一区二区三区| 人妻日日干| 深爱五月天| 强奸熟女一区二区三区 | 欧美日韩操逼嗦吊| 麻豆性爱视频在线播放| 91少妇香蕉久久精品| 亚洲色图超碰在线| 四虎精品亚洲| 麻豆国产96在线| 欧美日韩99精品麻豆传媒| 青草精品视频日本久久久久网站在线| 国产日比| 黄色一级视| 亚洲乱码精品一区二区| 亚洲一区制服诱惑| 好淫网一二三视区| 久久伊人大香蕉| 亚洲一区中文精品| 素人伊尹大香蕉免费下载视频| 在线 亚洲 网爆 自拍| 欧美黄色片AAAAA| 黄色人人| 另类小说综合网| 日韩综合无码一区久久92| 老熟女天天操| 欧美伊人电影| 超碰人人干天天射| 99草精| 亚州图片第一页| 麻豆精品天美| 18禁久极品美女久久哦哟呀!| 99re这里只有精品3| 丰满人妻-区二区三区免费| 综合色色婷婷| 久草婷婷| 久久极品伊人| 九色 人妻 大香蕉| 亚洲AO在线| 韩国轻伦国内自拍一区| 色狠人在线99| 乱老熟女一区二区三区| 97色涩| 亚洲日韩久久精品一区| 欧美九一精品久久久熟妇| 国产精品一区二区后入| 限制级中的三级片中的黑粗大屌屌日人妻熟女 | 婷婷伊人网| 日本精品一区二区中文字幕| 亚欧性爱在线无码| 婷婷久久五月天| 五月开心网| 性爱动态120秒| www鬼畜国产男人的天堂| 日韩免费人妻色情网站| 久久e6只有精品| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 国产成人无码啪| 久久av一级av少妇av高潮| 国产99精品一区二区三区免费| 青草草免费网站av| 操屄不卡视频| 天天日天天舔东京热| 青青操在线亚洲视频观看欧美在线 | 精品一级| 男女做爰猛烈动高潮A片免费应用| 夜夜操美女| 人人做,人人操,人人摸| 91强热人妻| 亚洲中文字幕av| 亚洲欧美九九| 久久精品综合| 久久永久无码人妻视频| 欧亚在线视频| 久久一二区四| 日本免费一区二区不卡| 欧美日韩97| 26UUU欧美激情一区二区| 人人操人人摸人| 大香蕉操久久| 欧美在线第五页| 青春草莓视频在线观看网址| 亚洲乱码国产乱码精网站| 九九伊人网| 屌妞视频久久久久久久| 一二三区精品视频| 亚洲精品国产熟女久久久久久| 精品人妻伦一二三区久久| 青青草视频久久久久| 欧美在线第五页| 性夜影院爽黄A爽免费动漫| 午夜福利精品| 人人超碰在线观看黄| 女生看匆91网站| 亚洲一级性爱视频免费看| 中文字幕在线高清男人的天堂| 欧美少妇第一页| 久久大香蕉97| 国产懂色精品国产av| 亚洲情色五月天 | 欧美另类丝袜熟女| 青青伊人这里只有精品| 亚洲AV资源| 欧美碰碰综合色| 日韩AV无码中文一区二区| 婷婷情色综合网| 九九热re99re6在线精品| 国产一区二区三三视频| 亚洲天堂色图| 精品人妻一区二区三区四区不卡在| 国产高清MV操逼视频| 粘花网06av视频| 中文字幕乱亚洲美女精品一区| 嗯嗯嗯啊啊啊在线免费观看| 凹凸 69堂 在线播放| 久久三| 欧洲精品久久| 国产福利在线视频网站| 91n免费处女| 国产欧美精选激情视频| 伊人精品视频| 久久久亚洲高清不打码| 熟妇高潮精品一区二区三区下载| 久久精品国产AV一区二区三区| 五月天黄色av| 伊人热综合| 欧美性,亚州色| 黄色免费一级在线毛片| 爱欲AV| 欧美十八禁视频| 色 婷97| 亚洲在线网站| 亚洲熟女乱综合一区二区三区 | 久久只有精品一区二区三区| 综合伊人网12色| 亚洲视频一二区| 最新岛国大片| 超碰在线在公开超碰在线在公开| 欧美网站免费| 先锋女优在线观看视频| 嗯嗯啊啊操死我| 亚洲精品自拍| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊| 国产亚洲精品农村妇女| 中文字幕精品亚洲熟女| 久操热| 亚洲欧美色图| 丝袜无码a片| 波多野结衣先锋影音| 青青草原成人| 久久啊哟| 国产一区二区a毛片| 干妹子| 亚洲熟妇自偷自拍另欧美| 国产精品不卡高清在线观看| 欧美久久婷婷| 日本色婷婷| 欧美区亚洲区偷拍区| 亚洲欧美日韩国产丝袜自拍中文| 婷婷色五月激情| 小说区 图片区色 综合区| 欧美乱妇狂野欧美在线视频| 六月天婷婷| 性久久久| 东京热毛片177b2viP| 久久夜嗨| 亚洲综合另类| 亚欧成人综合影院| 97伊人网| 草B在线| 日产中文字幕2020| 91美女丝袜诱惑视频| 99re热有精品视频国产| 精品少妇99| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 黑丝少妇| 男男H黄动漫啪啪无遮挡网站| 久久青青草在线视频| 精品9区| 99热免费| 色婷五月天| 欧美日韩不卡a片| 伊人麻豆传媒| 久艹视频在线| 中国小夫妻勾搭露脸淫荡对白| 日韩人妻资源在线看| 播播亚洲小说亚洲| 人人玩人人添人人澡免费| 黑人在线91| 青青草久久| 欧美精品双插| 国产精品久久久亚洲第一牛牛_在线观看| 色婷婷综合久久久久中文一区二区 | 日本三级人妻a人妻一在线| 一级久久性爱视频| 亚洲最大成人a毛毛片| 欧美人黑A片无码免视费| 91N综合网| 超碰一区二区| 日韩中文字幕宗合在线| 亚洲综合性网址| 精品人妻夜夜草| renqi久久久久久久久久久久| 亚欧性爱ab| 人人摸人人添人人操 | 开心五月天激情网| 91人妻爽爽人人做人人澡| 婷婷亚洲五月***久久| 日韩人妻播放| 欧美顶级黄色大片免费| 萌白酱自拍视频| 人妻中文字幕精品无码| 天天弄天天操| 欧美系列在线一区二区| 欧美网站免费| 99热99色| 亚洲国产第一页综合视频| 天天做天天爱| 天天影视综合网欧美精品| 日本大片日本一区二区免费高清| 天天爽天天| 国产精品老熟女一区二区| 国产久久一区二区午夜| 日韩影片中文字幕一区二区三区| 97在线国产精品| 欧美精品丝袜久久久中文字幕| 欧美美女在线高潮999| 四虎AV影视国产精品亚洲精品| 午夜啊啊啊| 欧美亚洲se91| 欧美图片校园春色| 亚洲丝袜综合| 亚洲欧洲无码bt精品合集| 欧洲综合无码| 性爱av网站| 亚洲综合网电影91| 99在线视频播放| 欧美最大综合网| 日逼97| 国产精品直播在线观看直播| 噜噜噜在线视频| 亚洲国产日韩欧美熟妇在线| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 男人的天堂.com| 中文字幕人乱码中文字的预防方法 | 九九亚洲| 乱伦av国产| 综合熟女| 久噜噜| 欧美性爱一区二区三区| 久久久一区二区三区三州| a v网站在线播放| 破处bbq| 91久久久亚洲| 久欲AV| 国产路线专区| 欧美午夜视频免费观看| 丁香九月激情| 婷婷美人网| 亚洲国产天堂| 午夜福利在线合集| 亚洲最大黄网| 久久亚洲一区女同性恋中文字幕| 人人看人人插| 五月天色五月| 婷婷久草| 日本1区2区不卡视频| 亚洲综合成人网| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 天操天操夜操夜月月年年操操| 亚洲高清欧美总合| 久久久久国产一区二| 2025亚洲男人天堂| 国产精品久久久亚洲第一牛牛_在线观看| 伊人久久婷婷| 亚洲综合69| 另类图片欧美激情综合| 激情五月婷婷| 青青草女人天天干| 十八禁的黄污污免费网站| 啊啊啊好湿久久| 欧美人妻少妇| 天天日天天插| 91 偷| 亚洲中文字幕精品久久久久久直播| 天天享受天天看| 亚洲欧美综合| 亚洲欧美一区二区三区在钱蜜桃| 国产精品白丝AV| 九月丁香综合网| 黄呦呦在线| 操逼视频国产无套| 夜夜高潮夜夜爽| 特色a在线上| 九九激情网| 97爱爱官网| 丰满的三级少妇欧美久久久| 无码九九| 日韩精品中文字幕二区| 一二三卡欧美日韩人妻免费精品| 亚乱色| AV男人天堂网| 韩国一级婬片A片AAAAA| 97操97干| 九月色婷婷| 男人天堂新在线| 大香蕉男女超碰精品在线| 日韩精品啪啪啪| 激情五月天色播| 国产60页| 精品一区二区三区四区女| 中文字幕一区二区三区四区在线视频| 欧美激情欧美精品| 神马久久久久久伦理片| 99re在线视频国产| 久久激情综合| 99re9| 性欧美天天| 天天躁日日躁xxxxx| 蜜臀无码一区二区| 玖玖在线视频| 18禁看网站一区| 久久m| 日韩精品中文字幕二区| 蜜臀久久99精品久久久久久酒店 | 欧美最大综合网| 国内毛片无码一级毛片| 国产精品熟女一区二区三区| 人妻密肉在线观看| 大香蕉强奸乱伦| 综合色区偷拍| 97硬碰| 国产午夜激片Av毛片不卡| 国内毛片四区| 欧美在线色图| 欧美日韩国产色图在线| 性91| 欧美在线大香蕉| 中文字幕av乱伦| 东京热天堂网| 青青草久草AV| 欧美性猛交美女自慰91| 伊人久久综合影院| 超碰在线91| 96国产污污污丝袜| 日韩精品一区二区三区色欲| 日韩97| 超碰是碰在线观看| 在线 亚洲 网爆 自拍| 日本理论在线| AV一起草在线| 一二三区视频在线观看| 国产传媒美日韩av| 综合婷婷| 黄色一区二区秘书性感| 亚洲国产精品成人久久蜜臀| 尤物视频偷拍免费| 老熟女区| 激情开心五月天| 精品成人动漫一区二区| 好吊色综合| 五月天亚洲网| 97色97好| 91亚·色| 91丨九色丨国产打屁股| 性爱免费视频成人| 午夜啪| 极品人妻少妇综合| 超碰97在线色男人??| 九九热免费国产视频婷婷伊人| 成人性爱全视频观看| 亚洲欧美色图小说| 天天做天天爱| 日韩不卡在线一区二区| V A在线| 欧美翘臀视频网站一区二区三区| 欲色啪| 涩涩久久精品| 天天综合网1| 黄色大片一区二区密桃丝袜| 91精品91久久久中77777| 精品中文字幕一区二区l - 百度| 懂色中文一区二区三区| 大象AV在线| 亚州综合网| 精品久久久久久久| 天天狂操夜夜狂日| 99rre在线精品99re8| 色综合1991| 亚洲美腿丝袜香蕉影视欧美成人| 射丝袜大香蕉| 色偷偷超碰亚洲| 是还免费视频1727我| 和协影院中文字幕三区| 国产欧美日韩臀| 啊啊好多水| 激情终合网| m欧洲一级午老| 成人久久精品| 国产成人精品午夜福利| 国产精品久久久久久夜夜夜夜| 久久99草| 免费国产| 东京男人天堂| 啪啪啪亚欧美视频| 婷婷超| 日韩av电影成人在线| 日本精品网站在线中文| 干日本人少妇午夜寂寞影院| 人人插人人摸人人| 亚洲国产欧美中日韩成人综合视频| 日韩激情啪啪| 久久精彩免费视频| 嗯嗯啊啊操死我| 十八禁黄色成人网站观看| 干B| 国内外毛片在线观看| 天天射天天色成人| 加勒比综合| 天天躁日日躁成人字幕aⅴ| 欧美一区二区三区另类精品| 国内自拍 日韩激情 99| 色蜜AV| 嗯嗯啊啊视频一区二区三区| 欧美第二页午夜| 亚洲男人天堂2017| 大香蕉乱级| 久草免费在线一区二区| 97天天摸天天碰| 日韩午夜国产| 99re28在线观看| 天天视频网站黄| 超碰成人国产| 久久色一区| 加勒比久久av| 97超碰人人模人人拍人人| 丰满人妻一区二区三区四区| 男女一级A片大黄,一进一出| 台湾佬激情综合| 插入粉嫩少妇视频| 天天日夜干| 秋霞成人一级在线观看| 在线不卡视频| 日韩精品怡红院| 久热热| 综合在线导航一区| 精品夜夜澡人妻无码| 久久精品91| 91精品人| 久99久视频| 日韩中文字幕2020| 欧美综合亚洲综合| 999国产精品999| 啊啊啊啊二区好大| 天天综合-91入口| 深夜激情无码| 自拍二页| 国产强奸乱伦第1页| 亚洲成熟国产精品美女| 欧美一区二区三区大综合| 加勒比色99999| 日韩欧美tv一区二区在线观看| av天堂影视中文在字幕在线中文 | 老司机天天操| 欧插网站| 97资源站日韩| 国产美女高潮叫床视频| 国产乱弄免费在线视频。| 伊人网高清| 高清在线偷拍自拍视频| 精品久久九| 超碰日韩人妻| 色女网日韩| 91n欧美| 五月婷婷基地| 日韩美女啪啪一区| 日本免费不卡二区| 天天拍夜夜| 丁香五月天视频| 久久激情视频| 欧美精品1区2区3区| 欧美大片一区二区三区| 国产强奸乱伦xd| 国产夜夜操| 欧美精品三级黄片| 久久亚洲影院一区二区| 色综合天天爱去电影网| 欧美丰满熟妇XXXX性ppX人交| 九九av| jizzjizz欧美| 九九九九九九九| 日韩在线观看字幕精品| 97免费视频在线观看视频| 曰本人妻人人澡人人夹| 91成人久久| 亚洲av无线观看| 亚洲欧美变态| 久久丁香五月天| JuliaAnn丝袜熟女系列| 欧美亚洲综合色| 久操精品| 午夜天堂精品久久| 51久久夜色精品国产麻豆| 久久精品老司| 亚洲AV无码AV吞精久久久久| 欧美第二页午夜| 国产一区二区三区影片| AV女资源| 日韩一999精品| 九九热久久99精品re| 97超碰精品成| 六月丁香婷| 一区二区三| 中文字幕十五区| 日本色色色色色视频| 欧美瑟综合| 婷婷久草一区二区三区| 日韩熟女操逼| 曰韩少妇无码| 激情婷婷五月天| 插入逼91| 超碰到97情色| 夜夜操2028| 久操操AV电影| 亚洲丝袜二区在线| 91人人看| 成人八戒网站| 男人天堂2030| 性色av一区二区| 欧亚免费视频| 麻豆综合一区av| 欧美黑人168页欧美黑人167| 天天欧美色| 999亚洲国产视频| 校园春色亚洲色图| 色天堂综合| 婷婷色色网| 91午夜无码| 欧美色图电影| 久草精品一区| 殴美,日韩国产伦精品| 欧美精品成人在线播放| 999精品女人| 九九九九免费高| 亚洲天堂区| 操逼逼福利视频| 97精品一区二区视频| 91插B网站| 久久大线蕉一区| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 97啪啪| 午夜视频久久久| 九九热超碰97亚洲最新香蕉| 国产精品老师| 久草视频观看视频在线| 中文字幕三四区| 亚洲性刺激| 大乔未久88一区| 亚洲中文人妻色| 99久热| 黑人精品成人一区二区三区| 色视频蜜乳| 无码人妻精品酒店| 综合网少妇| 久久精品高清无码一区| 亚洲精品欧洲精品| 中文字幕91综合| 欧美躁死她一区二区| 国产九九九九九九九九| 亚洲国产精品有声| 久久中文字幕不卡人妻| 欧美97爱| 操熟女91| 91 偷| 国产中文字幕在线观看| 久久久久久久久久精| 亚洲av热热色| 一区二区三区四区五区高清无码永久视频 | 国产精品自在自拍视频| 国产一区二区免费福利片| 亚洲一区二区三区婷婷| 男人的天堂com| 久久99久久99精品天美传媒棢·纸:. | 中文字幕-区二区三区四区视频中国| 人妻少妇视频在线播放| 91综合在线| 色五月激情网| 超碰在线国产| 九九热超碰| 91丨九色丨东北熟女| 久久综合av| 久久一二三四不卡| 伊人国产视频| 国产第11页| 欧美日韩美女精品久草一区二区三区 | 国产av色网| 国内外毛片在线观看| 99色在线| 精品人妻一区二区免费看| 啊啊啊水好多| 久久加勒比| 青娱乐国产剧情av一区| 强被迫伦姧在线观看无码网站| 青娱乐国产剧情av一区| 亚洲人妻中文在线视频| 国产精品网址| 亚洲AV无码黄色强奸| 国内精品久久久久影院亚洲| 国产自偷自拍一区| 国产精品一二三区福利| 欧美乱色| 东京成人一区| 蜜桃精品视频一区二区三区| 久久婷婷苹果| 国产福利合集| 无码一区二区精品视频久久久春药 | 熟妇在线视频一区二区| 91色碰| 自拍视频大全亚洲专媒视频/一区二区三区 | 天天弄欧美| 亚洲天堂日本| 亚洲丨在线| 1769成人国产精品视频| 日韩无码三级影院| 操比国产| 亚洲精品色| 狠操91,com| 久久久久99999| 九九精品无码专区免费| 欧美疯狂做爰xxxx| 四虎AV无码| 蜜桃视频啊啊啊啊| 欧美亚洲天堂| 亚洲最大的综合性av| 女人爽到高潮久久久| 日本久久综合| 亚洲高清色综合| 精品成人亚洲午夜电影| www.婷婷| 东京热精品97综合网| 91久久婷婷| 一级特黄aaa大片在线观看成人一级片在线观看 | 在线一道啪| 香蕉在线一区二区三区| 狠狠2050在线观看| 久久久久久精| 黄色一级视| 男女激情中文字幕| 97亚洲色图| 伊人精品久久网站| 黄页18禁| 九九九偷拍| 青椒国产97在线熟女| 久操高青| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 韩三级a视频在线观看| JULIA一区二区三区在线播放| 欧美在线色图| 69一区二区| 中文字幕av乱伦| 2017大香蕉国产精品久久| 久久久久国产精品久久久| 91小视频| 9999九九九久久久| 日韩欧无码一区二区三区免费不卡| 亚洲一区二区精品福利| 亚洲自拍欧美国产首页网曝| 91精品91久久久中77777| 欧美强奸一区二区诱惑| 97亚洲欧美日韩| a片自拍直播视频| 日韩人妻大香蕉| 久久成人东京热人妻| 国产精品成人福利在线| 男生女生啊啊啊啊| 久久永久无码人妻视频| 1024香蕉视频| 日韩91网| 97色色婷婷| 风间由美日韩欧美久久| 熟女精品va中文字幕| 中国小夫妻勾搭露脸淫荡对白 | 神马午夜久久久| 国产精品懂色tv影视免费观看| 五月丁香网站| 蜜臀99久久国产| www.激情| 啊啊啊慢点| 婷婷大香蕉| 97国产精品一区| 无码9区| 夜夜爽夜夜爽| 91网站18在线观看| 日本操逼视频免费| 嗯啊啊啊轻点视频| 在线日韩日本亚洲国产| 91原创在线观看| 久久精品国产Aⅴ| 黄色小说亚洲| 日韩激情毛片一级久久久| 欧美精品双插| 国产Aα| 后入福利视频| 三级片网站在线播放| 97精品一区| 男人的天堂啪啪| 96精品久久久久久久久久| 一二三啪啪专区| a男人的天堂久久一级A毛片| 青青草黑寡妇男人天堂| 中文字幕一二区二三区人妻专区| 人妻人人澡人人爽人人| 日韩色欲久久一二三四区| 无码人妻系列少妇| 欧美性生活综合| 97超碰人妻| 麻豆黄四叶草网站| 无码av永久免费专区网站| 亚洲AV色图一区| 五月天综合| 久久草草亚洲蜜桃臀| 综合色拍| 国产女性无套 免费观看| 欧美加勒比| 中文字幕乱碼在线| 亚洲色图日韩精品| 亚洲日韩美女丝袜美腿人妻视频| 日本一区二区电影网站| 国产精品 久久久精品一牛| 国产女主播视频在线观看| 97色婷婷| 一级二级三级黑人无码| 日韩特一级久久| 艳美熟妇先锋一二三区| 亚洲精品人妻在线| 蜜臀99久| 999综合色| 91操人| 亚洲国产欧美一区二区潘金莲| 2003天天干夜夜操| 啊好大好舒服| 日本性爱少妇| 久久久久亚洲熟妇熟女| 一区二区三区四区五区久久久久久| 色欧美天天| 国产精品一二三在线看| 天天综合-91入口| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 色穴精品| 精品v日韩欧美国产| 日本熟妇浓毛hdsex| 亚洲素人综合| 91色噜噜狠狠| 99热精品在线在线| 国产精品视频一区二区三区八戒| 9丨久久九九九| 91亚洲欧美综合高清在线| 夜夜操老骚逼视频网站| 日本精品成人无码| 亚洲成人免费中文字幕| 狠狠操使劲操| 狠狠色五月亚洲91| 999 久久久| 亚洲AV乱码专区国产噜噜亚洲| 国产又大又硬又长又粗| 国产日韩手机视频在线| 久久久久久久97| 亚洲色图8| 超碰这里有精品| 青青草男人天堂| 欧美一区二区在线资源| 久操大香蕉手机视频在线看 | www. 男人天堂成人在线| 午夜福利久久久噜久噜久久综合| 亚洲乱熟女一区二区三区大香蕉| 日韩在线一区二区| 日本人妻最新在线中| 操久久久久| 草B在线| 久久华人网| 韩日自拍| 东京热99999| 青青草男人天堂| 中文字幕人妻色偷偷久久皮| 玖玖97综合| 日韩精品区二区三区不卡| 亚洲综合婷婷| 青娱乐日韩无码| 国产原创剧情在线丝袜| 亚洲毛片一级带毛片基地| 国产女同视频在线播放| 亚洲欧洲无码bt精品合集| 激情色图| 东京热男人的天堂| 屁股久久久久久久久久| 超碰人人在线| 无码一区二区三区四区五区六区七区八区九区十区视频 | 色五月综合| av国产无码| 91久久婷婷| 91美女丝袜诱惑视频| 亚洲男人的天堂亚洲| 色噜噜狠狠色综无码久久合欧美| 久久婷婷五月综合| 95人妻爽爽人人做人人澡| 夜夜操狠狠操| 国产在线76页| 高凊专区人人操| 高树玛利亚无码流出| aaa淫乱视频| 中国小夫妻勾搭露脸淫荡对白| 日韩精品99久久久久久中文字幕 | 日本激情免费大片| 亚洲最大的综合性av| 嫖老熟女A片一二三区| 巨爆乳肉感一区二区三区竹菊影视| a在线观看|