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

ARTICLE DETAIL

資訊詳情

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

Graph架構(gòu)的Agent Harness:讓復(fù)雜AI工作流可維護(hù)、可觀測(cè)、可恢復(fù)

Graph架構(gòu)的Agent Harness:讓復(fù)雜AI工作流可維護(hù)、可觀測(cè)、可恢復(fù) 去年做第二個(gè) Agent 項(xiàng)目時(shí)我差點(diǎn)被自己的代碼堆埋掉。當(dāng)時(shí)的架構(gòu)很簡(jiǎn)單一條鏈模型跑完接工具工具結(jié)果再喂給模型循環(huán)往復(fù)。前五十個(gè)流程內(nèi)一切正常等業(yè)務(wù)要求變成模型需要根據(jù)上游判斷決定是繼續(xù)追問(wèn)還是直接收尾鏈?zhǔn)骄幣砰_(kāi)始失控我在一個(gè)函數(shù)里塞了七八層 if-else改一處崩三處最后連自己都說(shuō)不清某個(gè)分支到底在什么條件下觸發(fā)。后來(lái)我把這套東西整個(gè)推翻換成基于 Graph 架構(gòu)的 Agent Harness——把執(zhí)行流程建模成一張有向圖節(jié)點(diǎn)是工作單元邊是流轉(zhuǎn)條件運(yùn)行時(shí)負(fù)責(zé)調(diào)度、狀態(tài)恢復(fù)和檢查點(diǎn)。改完以后復(fù)雜流程的改動(dòng)變成了改幾條邊、加一個(gè)節(jié)點(diǎn)的事而不是在調(diào)用鏈里大海撈針。這篇就圍繞 Graph 架構(gòu)的 Agent Harness 展開(kāi)講講它到底解決了什么問(wèn)題、核心抽象怎么設(shè)計(jì)、真實(shí)需求怎么拆成一張圖以及我在落地過(guò)程中踩過(guò)的幾個(gè)比較深的坑。適合已經(jīng)做過(guò) Agent 原型、想往可維護(hù)、可觀測(cè)、可恢復(fù)方向走的開(kāi)發(fā)者也適合正在評(píng)估編排架構(gòu)、糾結(jié)要不要從鏈?zhǔn)角械綀D式的人。1. 為什么非用 Graph 不可鏈?zhǔn)骄幣诺倪吔缗c Graph 的解圍方式1.1 鏈?zhǔn)骄幣诺淖畛醣憷c失控現(xiàn)場(chǎng)鏈?zhǔn)骄幣旁陧?xiàng)目起步階段非常舒服。代碼寫(xiě)出來(lái)就是流程本身調(diào)用模型得到結(jié)果把結(jié)果傳給工具工具返回后再次調(diào)用模型拼接最終輸出。每一步的輸入輸出清晰測(cè)試也直觀只要把函數(shù)按順序排好一個(gè)能跑的 Agent 五分鐘就能立起來(lái)。這是我一開(kāi)始選鏈?zhǔn)降脑蛞彩墙^大多數(shù)人從 demo 走向真實(shí)業(yè)務(wù)時(shí)的起點(diǎn)。但真實(shí)業(yè)務(wù)從來(lái)不是直線。比如一個(gè)客服質(zhì)檢 Agent它要先判斷用戶(hù)情緒再?zèng)Q定走安撫話(huà)術(shù)還是業(yè)務(wù)流程說(shuō)明業(yè)務(wù)說(shuō)明又分售前咨詢(xún)和售后問(wèn)題售后里再分退款、換貨、投訴升級(jí)。如果用鏈?zhǔn)綄?shí)現(xiàn)每個(gè)分支判斷都要寫(xiě)在調(diào)用鏈里流程一旦超過(guò)三四層代碼里會(huì)同時(shí)出現(xiàn)根據(jù)上一輪結(jié)果決定下一步和根據(jù)工具返回決定是否繼續(xù)兩種邏輯二者交織在一起狀態(tài)散落在各個(gè)函數(shù)返回值里想追一個(gè)數(shù)據(jù)從哪兒來(lái)、被誰(shuí)改過(guò)幾乎只能靠肉眼追代碼。更麻煩的是并行和回退。鏈?zhǔn)郊軜?gòu)天然只表達(dá)順序多個(gè) Agent 并行處理同一批任務(wù)時(shí)要么加線程池維護(hù)狀態(tài)要么把并行結(jié)果手動(dòng)合并而某個(gè)分支失敗后回退到上一個(gè)節(jié)點(diǎn)重新走這種高頻需求在鏈?zhǔn)嚼飳?shí)現(xiàn)起來(lái)等于手工維護(hù)一個(gè)棧。流程稍微一變整個(gè)調(diào)用鏈重寫(xiě)一遍測(cè)試用例全部失效。我在某次復(fù)盤(pán)時(shí)數(shù)過(guò)當(dāng)時(shí)一個(gè)信息收集 → 分類(lèi) → 生成回復(fù) → 人工復(fù)核 → 發(fā)送的流程光狀態(tài)字段就有十幾個(gè)函數(shù)之間互相傳參有一半?yún)?shù)其實(shí)只是透?jìng)鳑](méi)人知道哪一步真正消費(fèi)它。那已經(jīng)不是寫(xiě)得快不快的問(wèn)題了是根本不敢改。1.2 把流程當(dāng)圖而不是當(dāng)代碼鏈?zhǔn)骄幣诺谋举|(zhì)是用函數(shù)調(diào)用來(lái)表達(dá)控制流而控制流一旦復(fù)雜函數(shù)調(diào)用這種表達(dá)方式就不夠用了。Graph 架構(gòu)換了一個(gè)視角流程不是下一步調(diào)用誰(shuí)的代碼而是誰(shuí)能從哪兒流向哪兒的結(jié)構(gòu)。在這個(gè)模型里每個(gè)節(jié)點(diǎn)是一個(gè)獨(dú)立工作單元處理一件事輸入輸出都是被定義好的。邊描述節(jié)點(diǎn)之間的依賴(lài)關(guān)系和流轉(zhuǎn)條件。分支是條件邊并行是多個(gè)節(jié)點(diǎn)指向同一個(gè)收束點(diǎn)循環(huán)是從某個(gè)節(jié)點(diǎn)回退到之前的節(jié)點(diǎn)回退就是一條反向邊。也就是說(shuō)分支、并行、循環(huán)、回退這些在代碼里很難維護(hù)的控制邏輯在圖里都變成了可聲明的結(jié)構(gòu)而不是散落在 if-else 里的邏輯。我常用一個(gè)地鐵換乘的類(lèi)比鏈?zhǔn)骄幣畔褚粭l只跑一輛車(chē)的單線公交乘客只能按固定站點(diǎn)順序走中途不能換乘、不能并線、不能折返。Graph 是地鐵網(wǎng)絡(luò)每個(gè)站點(diǎn)是一個(gè)節(jié)點(diǎn)你可以從 A 到 B、從 B 到 C也可能從 C 發(fā)現(xiàn)前面封站了回頭走 B2 線再繞到 D。修網(wǎng)絡(luò)的一條線不用把所有列車(chē)都改一遍。Graph 還帶來(lái)兩個(gè)鏈?zhǔn)诫y以匹敵的收益。一是可重放因?yàn)槊總€(gè)節(jié)點(diǎn)輸入輸出都是顯式的跑完一次可以回看數(shù)據(jù)流定位問(wèn)題出在哪個(gè)節(jié)點(diǎn)。二是可恢復(fù)節(jié)點(diǎn)之間通過(guò)共享狀態(tài)傳遞數(shù)據(jù)某個(gè)節(jié)點(diǎn)失敗后可以從檢查點(diǎn)恢復(fù)而不是整條鏈從頭跑。這兩點(diǎn)直接決定了復(fù)雜 Agent 能不能穩(wěn)定落在生產(chǎn)環(huán)境。我見(jiàn)過(guò)不少團(tuán)隊(duì)最初覺(jué)得 Graph 是過(guò)度設(shè)計(jì)等流程復(fù)雜到第三個(gè)月就默默切回去了——不是切回鏈?zhǔn)桨汛a堆得更厚而是換了一套圖編排框架來(lái)用。反過(guò)來(lái)看與其等代碼失控再重構(gòu)不如在架構(gòu)選型時(shí)就把流程會(huì)變復(fù)雜這個(gè)預(yù)期提前放進(jìn)設(shè)計(jì)里。2. Harness 到底是什么Graph Agent 的執(zhí)行外殼與關(guān)鍵抽象2.1 Harness 的職責(zé)邊界Graph 解決的是流程怎么表達(dá)的問(wèn)題但光有 Graph 還不夠你還需要一層?xùn)|西來(lái)讓它真正跑起來(lái)并且跑得穩(wěn)、停得住、能恢復(fù)。這層?xùn)|西就是 Harness。Harness 這個(gè)詞直譯是挽具放在 AI Agent 場(chǎng)景里我把它理解為執(zhí)行外殼。它不負(fù)責(zé)寫(xiě)提示詞不負(fù)責(zé)訓(xùn)練模型也不負(fù)責(zé)實(shí)現(xiàn)具體工具它負(fù)責(zé)的是把這些部件組裝起來(lái)之后的一切工程問(wèn)題節(jié)點(diǎn)如何啟動(dòng)、狀態(tài)如何流轉(zhuǎn)、失敗如何重試、中斷如何恢復(fù)、日志如何記錄、權(quán)限如何控制。如果沒(méi)有 HarnessGraph 只是一張描述性的圖畫(huà)得再清楚也不能自動(dòng)執(zhí)行。有了 Harness圖才會(huì)變成一臺(tái)可以被調(diào)度、被監(jiān)控、被中斷、被恢復(fù)的機(jī)器。我見(jiàn)過(guò)一些剛好相反的做法把 Harness 當(dāng)成業(yè)務(wù)框架往里塞各種業(yè)務(wù)邏輯最后圖和業(yè)務(wù)糾纏在一起改業(yè)務(wù)等于改框架。這里的原則很簡(jiǎn)單Harness 只處理流程如何執(zhí)行不處理每個(gè)節(jié)點(diǎn)里到底做什么。節(jié)點(diǎn)自己是黑盒Harness 只需要知道節(jié)點(diǎn)有輸入、有輸出、可能失敗、可能超時(shí)。2.2 節(jié)點(diǎn)、邊、運(yùn)行時(shí)三要素設(shè)計(jì)Graph Harness 的核心抽象我總結(jié)了三個(gè)節(jié)點(diǎn)Node、邊Edge、運(yùn)行時(shí)Runtime。聽(tīng)起來(lái)簡(jiǎn)單但每部分都有需要認(rèn)真設(shè)計(jì)的地方。節(jié)點(diǎn)的類(lèi)型劃分直接影響圖的表達(dá)能力。我把節(jié)點(diǎn)分成幾類(lèi)節(jié)點(diǎn)類(lèi)型職責(zé)典型場(chǎng)景LLM 節(jié)點(diǎn)調(diào)用大模型處理自然語(yǔ)言任務(wù)意圖識(shí)別、內(nèi)容生成、總結(jié)歸納工具節(jié)點(diǎn)調(diào)用外部能力如數(shù)據(jù)庫(kù)、API、文件系統(tǒng)查庫(kù)存、發(fā)消息、寫(xiě)文件路由節(jié)點(diǎn)根據(jù)輸入決定走哪條邊不產(chǎn)生業(yè)務(wù)輸出判斷繼續(xù)追問(wèn)還是直接結(jié)束并行節(jié)點(diǎn)同時(shí)觸發(fā)多個(gè)子節(jié)點(diǎn)并等待全部完成多源信息收集收束節(jié)點(diǎn)匯總并行節(jié)點(diǎn)的結(jié)果合并數(shù)據(jù)把多個(gè)渠道的結(jié)構(gòu)化信息拼成一份人工確認(rèn)節(jié)點(diǎn)暫停流程等待人類(lèi)審批或輸入高危操作確認(rèn)、方案審核循環(huán)邊界節(jié)點(diǎn)控制某個(gè)子流程的循環(huán)次數(shù)和退出條件反復(fù)優(yōu)化方案直到滿(mǎn)足指標(biāo)邊的設(shè)計(jì)同樣重要不只是誰(shuí)流向誰(shuí)還分不同類(lèi)型。我常用的邊有三種順序邊無(wú)條件的 A 到 B條件邊根據(jù)節(jié)點(diǎn)輸出判斷走 A 還是走 B數(shù)據(jù)流邊描述的是數(shù)據(jù)依賴(lài)而不是執(zhí)行依賴(lài)這類(lèi)邊不觸發(fā)節(jié)點(diǎn)執(zhí)行只是告訴運(yùn)行時(shí)B 節(jié)點(diǎn)的輸入依賴(lài) A 節(jié)點(diǎn)的輸出主要用于狀態(tài)可見(jiàn)性和校驗(yàn)。運(yùn)行時(shí)是 Harness 的大腦。它維護(hù)一個(gè)可執(zhí)行隊(duì)列從起始節(jié)點(diǎn)拿到所有出邊按邊類(lèi)型決定是直接入隊(duì)還是等條件滿(mǎn)足節(jié)點(diǎn)執(zhí)行完把結(jié)果寫(xiě)回共享狀態(tài)再觸發(fā)新一輪出邊調(diào)度。它還要處理并行節(jié)點(diǎn)的并發(fā)控制、超時(shí)熔斷、重試策略、檢查點(diǎn)保存??梢哉f(shuō)圖只負(fù)責(zé)長(zhǎng)得好看運(yùn)行時(shí)負(fù)責(zé)跑得可靠。2.3 狀態(tài)設(shè)計(jì)集中式共享內(nèi)存與局部隔離Graph 里最容易忽略的是狀態(tài)。鏈?zhǔn)郊軜?gòu)狀態(tài)散落在變量里Graph 則適合采用集中式共享狀態(tài)整個(gè)流程共享一個(gè)頂層狀態(tài)對(duì)象每個(gè)節(jié)點(diǎn)從里面讀輸入、往里面寫(xiě)輸出。這樣數(shù)據(jù)流變的顯式排查問(wèn)題時(shí)打開(kāi)狀態(tài)對(duì)象就能看清每一步產(chǎn)生了什么。但集中并不意味著所有節(jié)點(diǎn)共享一棵大樹(shù)。我的做法是給狀態(tài)劃分命名空間每個(gè)節(jié)點(diǎn)只允許讀寫(xiě)自己的命名空間跨節(jié)點(diǎn)讀取必須走數(shù)據(jù)流邊聲明。比如多源聚合案例里信息源 A 節(jié)點(diǎn)的輸出放在sources.a信息源 B 放在sources.b收束節(jié)點(diǎn)讀取整個(gè)sources命名空間做合并。這樣既滿(mǎn)足集中共享又不會(huì)發(fā)生兩個(gè)節(jié)點(diǎn)寫(xiě)同一個(gè)字段互相覆蓋。狀態(tài)還要做版本化。每次節(jié)點(diǎn)寫(xiě)入狀態(tài)時(shí)生成一個(gè)單調(diào)遞增的版本號(hào)結(jié)合檢查點(diǎn)機(jī)制可以把整個(gè)流程恢復(fù)到任意節(jié)點(diǎn)執(zhí)行完后的狀態(tài)。這在調(diào)式、回放、異?;謴?fù)中非常有用。我經(jīng)常跑完一輪流程直接把狀態(tài)快照拉出來(lái)看每個(gè)節(jié)點(diǎn)寫(xiě)入了什么很多時(shí)候 bug 當(dāng)場(chǎng)就定位了。如果你發(fā)現(xiàn)自己頻繁需要手動(dòng)讀寫(xiě)狀態(tài)的中間層說(shuō)明狀態(tài)設(shè)計(jì)有問(wèn)題。應(yīng)該讓節(jié)點(diǎn)輸入輸出盡可能自包含中間的組裝交給收束類(lèi)節(jié)點(diǎn)。3. 把真實(shí)需求拆成一張有向圖多源聚合 Agent 的完整案例3.1 業(yè)務(wù)需求與拆分思路用前面說(shuō)的抽象來(lái)做一個(gè)具體的虛構(gòu)項(xiàng)目多源信息聚合與行動(dòng)建議 Agent。它的任務(wù)是接收來(lái)自不同渠道的結(jié)構(gòu)化或非結(jié)構(gòu)化信息統(tǒng)一格式后檢測(cè)沖突生成一份帶優(yōu)先級(jí)的行為建議提交人工確認(rèn)后再落地到下游系統(tǒng)。這個(gè)場(chǎng)景選它是因?yàn)樗胁⑿卸鄠€(gè)信息源同時(shí)處理、有分支是否有沖突走不同流程、有回退人工駁回后重新生成方案、有收束多源結(jié)果合并幾乎涵蓋了 Graph 的典型能力。第一步是拆節(jié)點(diǎn)collect_sources并行觸發(fā)多個(gè)信息源采集節(jié)點(diǎn)每個(gè)節(jié)點(diǎn)負(fù)責(zé)一個(gè)渠道輸出原始內(nèi)容。normalize_format把原始內(nèi)容統(tǒng)一成結(jié)構(gòu)化的標(biāo)準(zhǔn)字段如時(shí)間、主體、類(lèi)型、原始文本。detect_conflict檢查各來(lái)源之間是否存在沖突比如時(shí)間對(duì)不上、主體不一致。generate_plan根據(jù)標(biāo)準(zhǔn)化的信息生成行為建議方案輸出候選計(jì)劃和理由。human_review暫停流程等待人工確認(rèn)或駁回意見(jiàn)。apply_plan方案通過(guò)后把計(jì)劃落地到下游系統(tǒng)輸出執(zhí)行結(jié)果。圖本身看起來(lái)像一段話(huà)先并行收集歸一化檢查沖突有沖突走生成方案 → 人工確認(rèn) → 落地沒(méi)沖突直接生成方案 → 人工確認(rèn) → 落地人工駁回就回到生成方案再來(lái)一次。3.2 節(jié)點(diǎn)、邊與狀態(tài)的具體定義圖中的節(jié)點(diǎn)定義需要明確輸入輸出。以normalize_format為例輸入是collect_sources輸出的原始內(nèi)容集合輸出是標(biāo)準(zhǔn)化記錄集合。這里的輸入輸出都必須走圖狀態(tài)中的命名空間不能在節(jié)點(diǎn)內(nèi)部偷偷引用外部變量。邊規(guī)則可以定義為條件邊detect_conflict的輸出是有沖突還是無(wú)沖突。運(yùn)行時(shí)拿到這個(gè)輸出后自動(dòng)決定走哪條邊——有沖突的話(huà)進(jìn)入一輪沖突分析子流程或多走一次generate_plan無(wú)沖突則直接進(jìn)入generate_plan生成常規(guī)方案。這個(gè)結(jié)構(gòu)最關(guān)鍵的改動(dòng)是新增一個(gè)分支邏輯時(shí)我只加一條邊不用改節(jié)點(diǎn)內(nèi)部代碼。狀態(tài)對(duì)象長(zhǎng)這樣偽代碼表達(dá)意圖state { sources: { source_a: None, source_b: None, source_c: None }, normalized_items: [], conflict_flag: False, conflict_details: [], draft_plan: None, review_status: pending, # pending / approved / rejected review_comment: , final_output: None }人工確認(rèn)節(jié)點(diǎn)比較特別它不是一個(gè)常規(guī)的函數(shù)調(diào)用而是把流程掛起寫(xiě)一條待辦等外部用戶(hù)通過(guò)接口提交確認(rèn)結(jié)果后恢復(fù)執(zhí)行。運(yùn)行時(shí)需要支持這種外部中斷后恢復(fù)的能力這也是 Harness 比普通代碼庫(kù)多出來(lái)的關(guān)鍵機(jī)制。沒(méi)做暫停恢復(fù)機(jī)制之前人工節(jié)點(diǎn)只能靠輪詢(xún)后來(lái)我加了基于檢查點(diǎn)的掛起機(jī)制簡(jiǎn)單高效而且能記錄完整上下文。3.3 圖構(gòu)建與運(yùn)行時(shí)的核心代碼形態(tài)graph 的構(gòu)建在代碼里其實(shí)很直觀。我不強(qiáng)調(diào)具體語(yǔ)言和框架用接近 Python 的偽代碼表達(dá)意圖graph Graph() graph.add_node(collect_sources, is_parallelTrue) # 并行子節(jié)點(diǎn) graph.add_node(normalize_format) graph.add_node(detect_conflict) graph.add_node(generate_plan) graph.add_node(human_review, is_humanTrue) # 人工節(jié)點(diǎn) graph.add_node(apply_plan) graph.add_edge(START, collect_sources) graph.add_edge(collect_sources, normalize_format) graph.add_edge(normalize_format, detect_conflict) # 條件邊detect_conflict 決定走哪條路 graph.add_conditional_edge(detect_conflict, if_is_conflict, targetgenerate_plan) graph.add_edge(generate_plan, human_review) # 人工駁回則回退到 generate_plan graph.add_conditional_edge(human_review, if_is_approved, targetapply_plan, if_elsegenerate_plan) graph.add_edge(apply_plan, END)運(yùn)行時(shí)執(zhí)行時(shí)大概長(zhǎng)這樣runtime Runtime(graph, state) runtime.run()關(guān)鍵是run()內(nèi)部不是線性調(diào)用它會(huì)維護(hù)一個(gè)待執(zhí)行隊(duì)列初始放入START節(jié)點(diǎn)的所有出邊節(jié)點(diǎn)執(zhí)行節(jié)點(diǎn)后根據(jù)邊規(guī)則動(dòng)態(tài)出入隊(duì)。并行節(jié)點(diǎn)則把多個(gè)子節(jié)點(diǎn)同時(shí)放入隊(duì)列等全部完成后觸發(fā)收束。任何節(jié)點(diǎn)拋異常都會(huì)落到統(tǒng)一的重試邏輯超過(guò)閾值則暫停整圖并保存檢查點(diǎn)。我不在這里展開(kāi)框架細(xì)節(jié)因?yàn)榉彩悄鼙磉_(dá)節(jié)點(diǎn)回調(diào) 條件邊 共享狀態(tài)能力的實(shí)現(xiàn)都可以承載這套設(shè)計(jì)。核心是思路具體選型看團(tuán)隊(duì)熟悉度。3.4 為什么這樣切內(nèi)聚、可測(cè)、可恢復(fù)拆節(jié)點(diǎn)看著簡(jiǎn)單真正值得講的是為什么這樣拆。首先是內(nèi)聚性。每個(gè)節(jié)點(diǎn)只做一件事因此每個(gè)節(jié)點(diǎn)可以單獨(dú)測(cè)試只給它構(gòu)造一份固定輸入看輸出是否符合預(yù)期。比如detect_conflict輸入一份標(biāo)準(zhǔn)化記錄輸出一個(gè)布爾值測(cè)試用例就是各種沖突組合不依賴(lài)任何外部模型。其次是可恢復(fù)性。假設(shè)在apply_plan這步調(diào)用下游系統(tǒng)時(shí)超時(shí)整條流程不會(huì)從頭再來(lái)檢查點(diǎn)機(jī)制可以把狀態(tài)恢復(fù)到review_status approved那一刻重新嘗試落地。這在真實(shí)生產(chǎn)里直接決定用戶(hù)的體感——從頭重跑幾十分鐘流程和從失敗點(diǎn)恢復(fù)幾秒鐘體驗(yàn)差別巨大。最后是節(jié)點(diǎn)可復(fù)用。多個(gè)不同 Agent 可以共用normalize_format、detect_conflict這類(lèi)通用節(jié)點(diǎn)因?yàn)楣?jié)點(diǎn)對(duì)輸入輸出有明確約定跨項(xiàng)目遷移成本很低。這是我切換到 Graph 架構(gòu)后感受到的最大紅利不同業(yè)務(wù)里的大量基礎(chǔ)設(shè)施能力沉淀成了圖里的標(biāo)準(zhǔn)積木。4. 落地期間最常踩的五個(gè) Graph Agent 坑Graph 架構(gòu)理論上是清爽的但實(shí)際用起來(lái)我踩了不少坑。挑了最典型的五個(gè)展開(kāi)講每一個(gè)都是教訓(xùn)換來(lái)的。4.1 重試導(dǎo)致重復(fù)副作用工具調(diào)用不是天然冪等的有一次落地apply_plan節(jié)點(diǎn)向外部的任務(wù)系統(tǒng)發(fā)創(chuàng)建指令第一次請(qǐng)求超時(shí)運(yùn)行時(shí)自動(dòng)重試結(jié)果外部系統(tǒng)同時(shí)收到兩次請(qǐng)求產(chǎn)生了兩條重復(fù)任務(wù)。問(wèn)題根源在于我把重試邏輯放在了節(jié)點(diǎn)外層而節(jié)點(diǎn)自己的調(diào)用不保證冪等。排查過(guò)程很典型我先看日志發(fā)現(xiàn)重試只發(fā)生了一次然后去外部系統(tǒng)查請(qǐng)求時(shí)間戳發(fā)現(xiàn)兩條記錄相差不到一分鐘再對(duì)比請(qǐng)求 ID確認(rèn)是同一次圖執(zhí)行的兩次調(diào)用。解決方案分兩層。第一層給外部調(diào)用加冪等鍵把圖執(zhí)行的run_id和節(jié)點(diǎn)名組合成一個(gè)全局唯一的task_id外部系統(tǒng)靠它去重。第二層在狀態(tài)里記錄每個(gè)工具節(jié)點(diǎn)的執(zhí)行結(jié)果重試前先查這個(gè)節(jié)點(diǎn)是不是已經(jīng)成功執(zhí)行過(guò)成功了就直接復(fù)用結(jié)果不重復(fù)調(diào)用。后來(lái)我把這個(gè)邏輯抽象成冪等執(zhí)行器節(jié)點(diǎn)在本地狀態(tài)維護(hù)一個(gè)executed_flag執(zhí)行前檢查執(zhí)行成功立即寫(xiě)入帶重試和超時(shí)。這次踩坑之后我所有的工具節(jié)點(diǎn)都默認(rèn)帶冪等保護(hù)。4.2 循環(huán)路由沒(méi)設(shè)收斂條件Agent 自己把自己繞暈在我設(shè)計(jì)的human_review駁回回退到generate_plan的場(chǎng)景里原本預(yù)期最多駁回兩次就穩(wěn)定結(jié)果有一次用戶(hù)連續(xù)駁回了五次Agent 每次重新生成方案都會(huì)產(chǎn)生一組新的候選計(jì)劃狀態(tài)里的draft_plan被反復(fù)覆蓋整個(gè)流程像進(jìn)入了死循環(huán)。排查時(shí)我先用日志打印了每次駁回的理由和時(shí)間發(fā)現(xiàn)每次駁回理由都不一樣也就是說(shuō)不是上游數(shù)據(jù)問(wèn)題而是方案本身每次都差一點(diǎn)塔的死循環(huán)源自于沒(méi)有對(duì)循環(huán)次數(shù)做限制。解決方案是給循環(huán)邊界加收斂控制。我在狀態(tài)里新增了迭代計(jì)數(shù)每次進(jìn)入generate_plan時(shí)attempt_count 1節(jié)點(diǎn)內(nèi)部如果發(fā)現(xiàn)attempt_count 3就不再重新生成而是把當(dāng)前方案標(biāo)記為推薦但待人工強(qiáng)制確認(rèn)走另一條邊到人工節(jié)點(diǎn)。同時(shí)運(yùn)行時(shí)增加整體熔斷一個(gè)節(jié)點(diǎn)在同一個(gè) run 里最多執(zhí)行 N 次超過(guò) N 次直接暫停整個(gè)圖等待人工介入。循環(huán)收斂條件必須在設(shè)計(jì)階段就定好。沒(méi)有限制的循環(huán)在鏈?zhǔn)嚼镒疃嗍谴a寫(xiě)得臭在 Graph 里會(huì)直接表現(xiàn)為圖跑不完對(duì)生產(chǎn)系統(tǒng)是致命的。4.3 并行節(jié)點(diǎn)共享狀態(tài)競(jìng)爭(zhēng)最后一個(gè)寫(xiě)入者贏并行處理多個(gè)信息源時(shí)我曾經(jīng)讓三個(gè)子節(jié)點(diǎn)并行寫(xiě)同一個(gè)頂層字段sources.current_content結(jié)果發(fā)現(xiàn)只有最后一個(gè)完成寫(xiě)入的數(shù)據(jù)保留了下來(lái)前面兩個(gè)源的信息全部丟失。我把日志打開(kāi)挨個(gè)看三個(gè)節(jié)點(diǎn)的完成時(shí)間發(fā)現(xiàn)三個(gè)節(jié)點(diǎn)幾乎同時(shí)結(jié)束但狀態(tài)里只有一個(gè)值。原因很明確三個(gè)節(jié)點(diǎn)讀到的共享狀態(tài)是同一個(gè)對(duì)象各自往里賦值后寫(xiě)的覆蓋先寫(xiě)的串行的狀態(tài)模型根本無(wú)法感知并發(fā)寫(xiě)入。根子上的問(wèn)題是狀態(tài)設(shè)計(jì)沒(méi)有給并行節(jié)點(diǎn)做隔離。修復(fù)方案是改狀態(tài)結(jié)構(gòu)并行子節(jié)點(diǎn)只能寫(xiě)自己命名空間下的字段用源 ID 做鍵比如sources.source_a、sources.source_b收束節(jié)點(diǎn)再去合并。這樣各寫(xiě)各的不存在競(jìng)爭(zhēng)。如果確實(shí)需要多個(gè)節(jié)點(diǎn)寫(xiě)同一個(gè)聚合字段就得給運(yùn)行時(shí)加合并策略常見(jiàn)做法是鎖、版本號(hào)或者寫(xiě)入隊(duì)列。但說(shuō)實(shí)話(huà)最省心的還是讓寫(xiě)入目標(biāo)分散合并交給收束節(jié)點(diǎn)統(tǒng)一處理。4.4 checkpoint 恢復(fù)時(shí)把外部工具也回放了一遍檢查點(diǎn)機(jī)制有一個(gè)隱藏陷阱狀態(tài)快照回滾沒(méi)問(wèn)題但如果恢復(fù)時(shí)把已經(jīng)執(zhí)行過(guò)的節(jié)點(diǎn)再跑一遍外部工具會(huì)被重復(fù)調(diào)用產(chǎn)生和 4.1 類(lèi)似的副作用而且更難察覺(jué)因?yàn)楸镜貭顟B(tài)里一切看起來(lái)都是正常的。有一次我主動(dòng)觸發(fā)一次檢查點(diǎn)恢復(fù)想復(fù)現(xiàn)一個(gè)模型輸出問(wèn)題結(jié)果下游發(fā)貨通知真的又發(fā)了一遍。排查花了很長(zhǎng)時(shí)間因?yàn)椴皇浅瑫r(shí)重試而是我在恢復(fù)機(jī)制上只做了整個(gè)流程回到某個(gè)狀態(tài)的實(shí)現(xiàn)沒(méi)有區(qū)分狀態(tài)回滾和動(dòng)作重放的區(qū)別。正確做法是檢查點(diǎn)只恢復(fù)狀態(tài)不重放已經(jīng)成功執(zhí)行的外部副作用節(jié)點(diǎn)。運(yùn)行時(shí)需要在狀態(tài)里維護(hù)一個(gè)已執(zhí)行節(jié)點(diǎn)表記錄哪些節(jié)點(diǎn)已經(jīng)成功跑完、輸出是什么?;謴?fù)時(shí)從這張表里讀出歷史輸出而不是重新執(zhí)行。模型節(jié)點(diǎn)如果不涉及外部副作用可以安全重放但工具節(jié)點(diǎn)必須走執(zhí)行結(jié)果緩存 冪等的路徑。說(shuō)白了檢查點(diǎn)機(jī)制必須搭配執(zhí)行歷史表否則你恢復(fù)的是狀態(tài)、重復(fù)的是副作用看起來(lái)日志正常、效果全錯(cuò)。4.5 圖變大之后看不到圖了可視化與調(diào)試斷層圖到了十幾個(gè)節(jié)點(diǎn)以后我發(fā)現(xiàn)自己越來(lái)越難定位問(wèn)題。以前鏈?zhǔn)酱a可以看調(diào)用棧Graph 架構(gòu)下節(jié)點(diǎn)之間不是函數(shù)調(diào)用而是狀態(tài)流轉(zhuǎn)你根本沒(méi)法用傳統(tǒng)堆棧來(lái)Debug。這個(gè)坑是最隱蔽的因?yàn)樗锹圆∽铋_(kāi)始節(jié)點(diǎn)少出問(wèn)題很快能看出來(lái)等到節(jié)點(diǎn)多了每個(gè)節(jié)點(diǎn)內(nèi)部都有復(fù)雜邏輯狀態(tài)數(shù)據(jù)在命名空間間流動(dòng)你在日志里看到一堆輸出但說(shuō)不清從哪個(gè)節(jié)點(diǎn)流過(guò)來(lái)的。我的解法有四個(gè)方向。第一運(yùn)行時(shí)必須記錄流轉(zhuǎn)軌跡每次節(jié)點(diǎn)執(zhí)行時(shí)都往 trace 里寫(xiě)一行當(dāng)前節(jié)點(diǎn)名、輸入狀態(tài)版本、輸出狀態(tài)版本、耗時(shí)。第二把 trace 可視化我在調(diào)試面板里看一張圖節(jié)點(diǎn)高亮顯示已執(zhí)行、失敗、卡住的狀態(tài)。第三支持單節(jié)點(diǎn)重放給定輸入狀態(tài)單獨(dú)跑一個(gè)節(jié)點(diǎn)看輸出不需要整個(gè)圖全部跑完。這是我最常用的調(diào)試方式幾乎取代了以前打日志的方式。第四狀態(tài) diff 功能對(duì)比兩個(gè)版本狀態(tài)之間的差異一眼看出誰(shuí)改了哪個(gè)字段。沒(méi)有可視化和 trace 的圖編排節(jié)點(diǎn)少時(shí)無(wú)害節(jié)點(diǎn)一多就會(huì)讓你陷入改一個(gè)節(jié)點(diǎn)、跑一遍全圖、又找不到問(wèn)題在哪的循環(huán)。我強(qiáng)烈建議在引入 Graph 架構(gòu)的第一天就把 trace 機(jī)制做上別等出了問(wèn)題再補(bǔ)。5. 讓 Harness 真正可用可觀測(cè)、可治理以及該用和不該用 Graph 的判斷5.1 可觀測(cè)性設(shè)計(jì)從圖到軌跡前面提到 trace 和可視化這里展開(kāi)說(shuō)??捎^測(cè)性對(duì) Graph Agent 來(lái)說(shuō)不是選配是標(biāo)配。我從項(xiàng)目中期開(kāi)始給運(yùn)行時(shí)加了三類(lèi) trace 數(shù)據(jù)。第一類(lèi)是執(zhí)行軌跡也就是哪個(gè)節(jié)點(diǎn)在什么時(shí)間被執(zhí)行、依賴(lài)哪些狀態(tài)、輸出是什么。第二類(lèi)是耗時(shí)與 token 消耗每個(gè) LLM 節(jié)點(diǎn)的調(diào)用耗時(shí)、token 數(shù)、重試次數(shù)都要記錄這樣你能清楚知道整個(gè)流程錢(qián)花在哪、時(shí)間耗在哪。第三類(lèi)是狀態(tài)變更日志每個(gè)節(jié)點(diǎn)執(zhí)行前后的狀態(tài)版本差能自動(dòng)輸出一個(gè) JSON diff。這套數(shù)據(jù)除了方便調(diào)試還有一個(gè)更實(shí)用的用途回歸測(cè)試。我把每次 Graph 運(yùn)行產(chǎn)生的 trace 保存下來(lái)作為一組行為基線下一次改完代碼再跑一遍相同輸入對(duì)比 trace 是否仍然符合預(yù)期。模型輸出可能有隨機(jī)性但流程結(jié)構(gòu)、節(jié)點(diǎn)順序、狀態(tài)變更應(yīng)該穩(wěn)定否則說(shuō)明圖邏輯被意外改動(dòng)了。對(duì)于生產(chǎn)環(huán)境我建議把 trace 和業(yè)務(wù)日志分兩個(gè)通道輸出trace 走管道業(yè)務(wù)日志進(jìn)日志平臺(tái)。trace 保留最近一段時(shí)間用于回放不需要長(zhǎng)期留全量按需歸檔即可。5.2 治理權(quán)限邊界與資源預(yù)算Graph 架構(gòu)跑起來(lái)之后我很快意識(shí)到一個(gè)問(wèn)題圖里有多少個(gè) LLM 節(jié)點(diǎn)就有多少個(gè)不受控的資源消耗點(diǎn)。如果流程里有三個(gè)模型節(jié)點(diǎn)每個(gè)節(jié)點(diǎn)內(nèi)部還悄悄調(diào)了好幾次模型最終費(fèi)用會(huì)非??捎^。資源預(yù)算需要從運(yùn)行時(shí)層面控制。我給每個(gè)節(jié)點(diǎn)設(shè)置了執(zhí)行時(shí)間上限和 token 上限超了就終止節(jié)點(diǎn)并返回錯(cuò)誤。整張圖設(shè)一個(gè)總執(zhí)行預(yù)算當(dāng)累計(jì)耗時(shí)長(zhǎng)或 token 數(shù)達(dá)到閾值運(yùn)行時(shí)自動(dòng)暫停并在狀態(tài)中標(biāo)記原因等待人工處理。除此之外還要看住并發(fā)數(shù)量并行節(jié)點(diǎn)最多同時(shí)跑幾個(gè)子節(jié)點(diǎn)防止一次性拉起幾十個(gè)請(qǐng)求把下游打掛。權(quán)限治理也同樣重要。圖中的工具節(jié)點(diǎn)往往有不同權(quán)限級(jí)別比如讀庫(kù)、寫(xiě)庫(kù)、調(diào)用外部服務(wù)。我的做法是給每個(gè)節(jié)點(diǎn)聲明一個(gè)最小權(quán)限范圍運(yùn)行時(shí)統(tǒng)一做鑒權(quán)節(jié)點(diǎn)要訪問(wèn)某個(gè)資源必須本身帶對(duì)應(yīng)權(quán)限否則直接拒絕執(zhí)行。這樣即使某個(gè) Agent 被提示詞誤導(dǎo)它所在節(jié)點(diǎn)的權(quán)限邊界也能限制危害面。5.3 什么時(shí)候別用 Graph不要為畫(huà)圖而畫(huà)圖Graph 架構(gòu)不是銀彈。我見(jiàn)過(guò)有人把三步流程硬拆成五個(gè)節(jié)點(diǎn)加三條邊跑起來(lái)代碼反而比鏈?zhǔn)礁爆嵳{(diào)試也更繞。我的判斷標(biāo)準(zhǔn)很簡(jiǎn)單如果流程是固定的、簡(jiǎn)單的、沒(méi)有分支和循環(huán)的直接用鏈?zhǔn)酱a如果流程只需要一層判斷、最多兩三種分支鏈?zhǔn)郊雍?jiǎn)單的條件語(yǔ)句也能駕馭如果流程涉及分支嵌套、多源并行、循環(huán)回退、人工介入、狀態(tài)恢復(fù)或者你強(qiáng)烈需要把流程可視化納入治理體系Graph 才有明顯優(yōu)勢(shì)。Graph 還有一個(gè)不值得被低估的隱性成本它要求一開(kāi)始就把狀態(tài)設(shè)計(jì)和節(jié)點(diǎn)劃分理清楚這對(duì)團(tuán)隊(duì)的設(shè)計(jì)能力有要求。鏈?zhǔn)酱a寫(xiě)錯(cuò)了改一處就行圖的結(jié)構(gòu)錯(cuò)了可能要重新連線甚至拆節(jié)點(diǎn)。所以我的建議是先在項(xiàng)目里用一個(gè)小流程跑通這套抽象驗(yàn)證團(tuán)隊(duì)熟悉度再?zèng)Q定要不要全面鋪開(kāi)。不要因?yàn)闃?biāo)題看起來(lái)高級(jí)就強(qiáng)迫自己上 Graph——等需求復(fù)雜到鏈?zhǔn)秸娴膿尾蛔r(shí)你自然會(huì)知道該切換了。開(kāi)發(fā) Agent 一段時(shí)間后我最大的體會(huì)是真正難的地方往往不在模型調(diào)用而在于把一個(gè)復(fù)雜目標(biāo)拆成一段可以驗(yàn)證、可以恢復(fù)、可以收斂的執(zhí)行過(guò)程。Graph 架構(gòu)恰好逼著你這么做——每個(gè)節(jié)點(diǎn)有邊界每條邊有理由整個(gè)流程可以被觀察、被中斷、被恢復(fù)、被審計(jì)。我現(xiàn)在把所有新的 Agent 項(xiàng)目都默認(rèn)按這套思路來(lái)設(shè)計(jì)哪怕一開(kāi)始只有五六個(gè)節(jié)點(diǎn)。等流程真的復(fù)雜起來(lái)時(shí)你會(huì)發(fā)現(xiàn)已經(jīng)把地基打好了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天堂国产AV| 热G综合热G中文| 国产婷婷综合在线观看| 日本久久综合| 天天摸天天插天天日| 国产精品麻豆视频网站| AV麻豆免费一区| 哑洲在线| 91久热| 一本正道久久熟女| 成人看片网站| 黄色小视频日本txt| 天天看精品动漫视频一区| 欧美日韩97在线| 欧美熟妇视频 | 桃花色涩综合影院| 日本三级网页| 六月丁香网| 日韩中文字幕国产| 成·人免费午夜在线观看| 天天干夜夜操一区二区| 青青草久草AV| 嗯嗯啊啊亚欧精品| 日本加靬比网站发布页| 日本黄色裸日本黄色裸体| 韩日精品四区| 九九色综合| 免费簧片在线观看| av网页一区二区三区| 91天天看| 国产白丝精品在线观看| a片自拍直播视频| 中文字幕欧美精品亚洲日韩蜜臀| 久久成人东京热人妻| 天天舔九色婷婷| 97干com| 激情网五月天| 日韩欧美亚洲国产日韩| 一区 欧美 日韩 麻豆| 美女诱惑爱爱| 亚洲色鬼| 丝袜美女诱惑 91 视频| 欧美日韩亚洲少妇寂寞影院正在播放 | 青青操97| 九九九网页| 久操B网| 中文字幕黑人大片| AV一二区| 久草男人天堂| 97在线/亚洲| 91美女视频电影| 搡老女人老91妇女熟女| 久久风骚城市| 欧美激情久操网| 日韩欧美大片免费高清啪啪| 约操熟妇| 台欧久久精品视频| 欧美影音在线| 欧美亚洲在线| 色牛aV| 久久激情婷婷| 8x福利精品第一福利视频导航| 亚洲欧洲自拍图片专区满春格| aa片毛片| 亚洲成人福利电影免费| 涩涩五月天| 国产精品一二三免费网站| 精品久久久九九九孕妇| 欧美成人综合| 97久久国产| 极品色| A片A5445444| 精品日韩人妻视频| 女人午夜视频777| 麻豆这里只有精品| 啊啊啊啊啊啊啊在线| 久热99999| 亚洲 欧美综合| 国产精品爱欲| 久久精品99| 伊人国产av| 中字一区| 婷婷丁香九月| 欧美一区二区亚洲天堂| 狠狠图片青青草| 99少妇| 久久久久久电影| 久久丁香五月天| 成人色女网| 97久久久久久久久久| 国产精品熟女一区二区三区| 欧美日韩一区二区三区四区蜜桃| 五月激情在线| 三级色影综合网| 无码高清国产AV| 亚洲丁香花色| 91精品人妻啪啪间| 午夜一区二区三区国产| 欧美制服另类丝袜| 熟女久久| 可以免费观看的AV| 亚洲少妇视频| 口爆吞精在线观看| 亚洲偷91色| 国内偷拍精品一区二区| 一区二区日韩欧美久久| 久久激情四射婷婷丁香五月天| 97超碰人人模人人拍人人| 国产性爱乱伦AV| 国产suv精品一区二区四| 亚洲综合色在线| 久久性爱视频免费看| 丁香五月天堂网| 日本 情色 1区2区3区| 青青青国产手线观看视频2| 亚洲天堂中文字幕无码男同| 亚洲影视综合| 人妻少妇视频在线播放| 精品国产乱码| 国产精品午夜成人福利| 一个人免费视频观看在线WWW | 午夜福利区| 在线a亚洲视频播放在线| 亚洲精品亚洲人成人网| 91白嫩| 中国探花熟女| 深喉吞精| 国产这里只有精品| 超碰美女97| 婷婷久久综合| 亚洲天天操| 日本免费不卡二区| 亚洲啪啪视频一区二区| 青青草一本道福利视频| 久久婷婷色| 桑老女人九区| 91无码中出人妻视频| 亚州,欧美在线| 97国产成人精品免费视频| 激情内射| 天天干天天拍| 亚洲欧美在线观看2021 | 黄片www视频免费| 99久久com免费视频′| 日韩无码人妻| 锕锕好爽 死我在线观看| 国产高清26uuu| 风骚少妇视频中文字幕| 亚洲欧美一区二区三区在钱蜜桃 | 亚洲国产成人精品无码专区| 啊啊啊操死我了| 99热这里都是精品| 岛国大片国产| 九九九九9999| 久久久九九九九| 成人免费不卡在线视频| 日韩精品一区二区人人人| 91N五十路| 午夜a成v人电影| 偷拍综合亚洲| 九九九九九九九精品视频| 精品国产av一区二区三区四区入口| 国产怡红院| 亚洲成人日韩小说| 亚洲欧美不卡线| 亚洲AV乱码专区国产噜噜亚洲| wwwxxx日本爽| 天天夜夜rb| 一区二区三区无卡视频在线观看| 日韩啪啪网| 男女啪啪网站免费视频| 久久久成人免费av电影| 亚洲情色在线| 婷婷五月色| 久久久久亚洲av综合波多野制衣| 一区二区视频在看| 日日夜夜模| 色色99| 欧美激情性爱视频网站| 国产91丝袜 在线播放| 国产精品久久久久久久久久久久久久久| 岛国片国产成人亚洲播放| www.91视频网| 97中文字幕九区| 亚洲色图综合网| 欧美 亚洲 综合 制服| 日韩在线性爱免费视频| 家庭乱伦麻豆| 欧美组图日韩亚洲中文字幕| 亚洲图片视频小说| 粉嫩av一区二区三区四季| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 黑人无码一区二区| 中文人妻av高清一区| 丝袜AV一区二区三区| 亭亭在线资源| 久久久久元码视频| 日韩精品人妻系列无码天堂| 91l欧美在线| 超碰调教97| 久久精彩免费视频| 日韩精品 资源| 婷婷综合五月| 大香交伊人网| 日本天天色| 日韩AV一起草| 黄色片大香蕉| 一区二区三区精品视频| 国产高潮AA片免费看| 欧美熟女操屄| 天天干天天狼在线视频| 亚欧高清在线| 国产小u女在线观看| 一级啊性爱在线视频| 五月婷婷六月丁香网址| 老司机天天操| 人妻-91porn| 日本精品不卡一二三区| 丝袜熟女一区二区三区| 看黄片视频免费| 蜜乳AV一区| 欧美日韩不卡a片| 18禁精品网站在线看| 色就色综合| 久久久久久国产手机AV| 国产一区二区精品久久99| 2017人人操,人人摸| 亚洲欧洲综合av在线| 人人摸.人人色| 亚州熟女乱伦| 亚洲色图尤物视频| 青娱乐亚洲自拍| 日韩A优精品在线观看| 操逼逼福利视频| 亚洲欧洲国产综合av| 欧美在线播放aaaa| 九九热免费在线国产视频伊人五月| 欧美综合97www| 91在线丝袜视频| 大屁股熟女一区二区三区| 人妻 欧美亚洲| 操久久久久| 99人妻| 国产亚洲精品久久久久小| 少妇人妻好深太紧了vr91| 亚洲天堂人妻熟妇视频| 猛交交| 天堂国产AV| 操淫穴亚洲五月丁香 | 亚洲视频1区| 最新啪啪视频| 婷婷综合在线观看| 干妹子| 亚洲风情在线观看| 日韩无码黄色片| 超碰免费在线| 蜜臀AV成人精品蜜臀| 黑人综合色| 久久久中文| 亚洲成人久久一区二区| 亚洲、日韩、综合、另类| 久久亚码| 91综合色噜噜| www.狠狠操| 中文字日本乱码| 欲色综合| 最新中文字幕精品在线| 久久9亚洲| 亚洲情色综合网| 97爱综合| 91 丝袜在线| 999久久久久久久久| 国产9 9在线 | 亚洲| 九九久久99| 色哟哟1区2区| A级片日韩欧美国产欧美视频精选观看| aaaa少妇高潮大片| 嗯啊不要啊啊在线观看视频| 精品传媒在线一区| 久久人人爽人人爽人人片Ⅴ| 91综合天天看| 国产AV精久久| 最新精品久久蜜桃 | 中文字幕综合人妻| 亚洲av青草久久一区二区| 操逼操网| 久久熟女嫩草成人片免费| 国产乱伦亚洲| 98精品国产乱码久久久久久| 黄色无码高清黄色无码网站| 婷婷日韩一区二区三区中文字幕在线| 人妖欧美一区二区| 久久AV无码网址| 久久久久9| 亚洲天堂一区二区久久| 78久久久| 美女操逼A A| 久久久影院| 美女诱惑久久| 欧美不卡在线美女| 粉嫩av在线| 老鸭窝亚洲毛片| 亲子敌伦对白在线播放| 91天天综合网,天天综合网| 国产 日韩,欧美 自拍| 亚殴在线| 尤物视频视频官网| wwe 天天干.com| 92性色国产午夜福利在线661| 久久发布国产伦子伦精品| 国产精品香蕉| 综合干干干av久久久综合网 | 国产蜜臀精品一区免费尤物| 9国产超碰| 激情小说成人日本无码一| 久久久精品国产亚洲伊人| 欧美高清91| 日韩欧美视频青青| 激情小说日韩无码| 精品美女人人干| 性爱动态120秒| 日韩啪啪啪啪啪| 色婷五月天| 搡老女人老91妇女老熟女| 大香蕉综合| 国产精品蜜臀久久久久无码AV| 色天使大香蕉| 夜色五月天| 亚洲精品啪视频| 国产高清亚洲日韩一区| 偷拍亚洲视频一区二区三区四区| 欧美精品成人亚洲| 精品性爱无码在线播放| 中文字幕黄片在线| 国产精品美女久久久久久网站| 97在线观看免费视频l| 久久久久久久综合,国产| 在线日韩日本亚洲国产| 超碰在线免费一区二区三区| 夜夜嗨一区二区三区三州加勒比 | 97视频在线观看网站| 色综合中文字幕不卡| 久久免费精彩视频| 精品国产久热在线观看| 亚洲国产成人精品无码专区| 国内毛片无遮挡国产| 色牛aV| 91精品老女人| 97欧美视频| 欧美亚洲综合高清在线| 国产色图乱伦| 综合av社区| 亚洲国产91精品一区二区久久| 欧美 日韩第一性色| 亚州大图综合色图| 97在线视频免费看| 好爽免费视频| 一区二区三区黄色片a| 日本成人A片网站| 韩日性爱av| 日韩性爱小视频在线观看| 国产午夜精品理论片a大结局| 啪啪啪大香蕉| 97色伦97色伦国产欧美| 成人一级性爱| 丁香六月婷婷综合| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | av在线不卡一区二区三区| 熟女字幕| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 日韩一级欧美一级在线观看| 亚洲色图激情小说| 久久久久亚洲一区女同性恋中文字幕| 色拍偷亚洲| 丝袜美腿丝袜| 不卡av在线中文字幕| 久久性爱城| 嗯嗯,好大,好爽,好骚 | 日韩欧美加勒比| 影音先锋视频在线| 欧美精品另类人妖xxxx| 91无码人妻精品一区二区三区蜜桃| 亚洲男人的天堂va亚洲男人社| 国产成人精品必看 | 在线国产探花| 成人在线午夜视频一区| 四虎午夜影院| 97天天摸天天碰| 久久久久国产精品片区无码直播| 日韩三级在线观看网站| 91久久久久久| 综合网少妇| 成人片在线播放| 色综合大香蕉| 久久99午夜精品一区人妻| 超碰超碰95| 亚洲AV色图| 日日夜夜国产综合| 国产免费一区| 99久久久| 亚洲,欧美,综合网| 久操精品网| 99热在线只有精品| 1024香蕉视频| 秋霞 色色| 中文久久一区| 搡老女人老妇女AAA一VU麻豆 | 精品一久久久| 欧美顶级黄色大片免费| 99精品无码| 色999五月色| 国产剧情在线| 久久久久久久国产| **一级毛片国产| 91欧美经典| 久久久艹艹艹| 欧美精品1区2区3区| 久久成人东京热人妻| www鬼畜国产男人的天堂| 亚洲精品成人动漫在线| 蜜臀中文无码午夜| 欧美色一二三| www.99视频| 亚洲第一精品在线视频| 天美传媒精品一区二区| 丝袜色综合| 欧美另类色图片| 东京热男人的天堂精品| 97亚洲中文| 激情小说亚洲视频| 人人手机欧洲亚洲国产人妻| 91精品丝袜在线观看| 日本东京热久久久电影| 97chaopengongkai| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 亚洲天堂男人天堂网| 亚热日本熟女| 成熟熟女国产精品一区二区| 亚洲熟妇乱女区二区三区| 尹人大香蕉视频在线| 亚州欧美总和| 美国三级日本三级久久99| 99精品久久| 99热只有这里有精品| 欧美强奸乱能| 国产精品免费日韩| 国产福利小视频高清在线观看| 999综合网| 日本一区不卡| 在线免费观看高清无码视频| 另类图片综合| 欧美日韩午夜精品一区二区三区| 久久久久9999| 国产亚洲精品美女久久久| 国产成人91一区二区三区| 99热| 黄色免费一级在线毛片| 高清国产无码av| 久久国内| 亚洲色人| 国产日韩欧美操逼视频| 探花熟女,姿勢到位,體驗感也到位| 飘花国产午夜精品不卡| 大香蕉黄色一区| 可以看的av| 成人熟女视频一区二区三区| 97自拍一区| 呻吟 欧美 日本 中出| 99re99在线视频| 欧美色图第一页| 97在线精品观看视频| 日韩av在线播放不卡| 九色 人妻 大香蕉| 久热大香蕉网站| 9118禁| 一级特黄aaa大片在线观看成人一级片在线观看 | 亚洲精品久久久久久| 久久一二三四五六七八九区区区| 色大香蕉97N| 岛国福利在线精品播放| 欧美视频第二页| 免费一级特黄特色大片在线观看看| 久久国产视频性吧| 色97欧美| 欧州色图区| 夜夜欢天天干| 综合网亚洲1| 精品无码久久久久久久久果冻糖心| 啪啪性爱免费视频| 亚洲色久| 熟女熟妇一区二区三区视频| 黄色人人| 性色高清在线| 97色碰| 超碰色图| 看黑丝美女操逼青青网站| 国产亚洲美日韩Aⅴ中文字幕无码成人| 久操97| 久久XX| 美女好片色日本| 中文字幕av乱伦| 色欲久久99精品久久| 十八禁的黄污污免费网站| 国产AV天美| 国产精品ⅴ无码大片在线看.| 精品无吗久久| 国产一级内射无挡观看| 天天爱综合网| 免费一级视频特黄色大片| 97操B| 久久久98网站免费视频| 青草成人免费视频一com| 7月婷婷综合| 91精品国产日韩欧美综合| 久久成年精品| 丁香五月综合| 女沟厕偷窥piss小便| 日韩精品人妻中文字幕有码午| 天天干天天燥| 97国产精品一区| 亚州色图欧美| 黄网在线播放| 操逼片国产| 日本媚薬中文字幕在线| 亚洲情色一区二区三区| 亚洲无码99| 91在线精品| 日本淫乱女一区二区三区视频| 国产高清成人传媒影视| 久久老熟女| 亚洲码和欧洲精品激情系列| 欧美久久人人网| 欧美熟妇色| 国产熟女一区二区丰满| 韩国一级婬片A片AAAAA| 亚洲色综合| 国产91专区| 久久精彩视频9| 一线黄色免费性爱片| 日韩本不卡视频在线观看| 亚洲成av人片色午夜乱码| 无码久久国产 | 97资源超碰| 一区二区三区精品黑丝白丝酒店对鸡| 亚州色图狠狠干| 六月激情婷婷| 激情无码日韩| 一级做受视频免费是看美女| 色综合 加勒比| 国产传媒1234区| 免费观看啪视频| 99久久久无码精品国产人| 密臀在线一区尤物| 精品无码久久久久久国产浪潮| 欧洲射精91| 亚州宗合另类| 亚洲日本成人动漫| 六月婷婷激情| 色噜噜综合在线| 亚洲黄片免费在线播放| 亚洲另类欧美精品| 国产成年免费大片黄在线观看| 久久毛卡| 老熟女中文字幕高清| 91精品人妻电影| 91精品国产综合久久久蜜臀酒店| 中 文字幕一区二区三四 五 区日 日 骚| 国产超碰人人爽人人做| 亚洲二区精品在线观看| 99日精品欧美国产| 美女超碰978| 亚洲AV免费在线观看| 一区二区三区四区五区高清无码永久视频| 色欲三区| 欧美性爱日韩性爱| 亚洲欧美日韩夜夜| 丁香六月婷婷| 国产美女91视频| 91色堂| 美女91在线观看| 无毛精品| 欧美成人精品欧美一级乱黄一区二…| 国产尤物在线三区| 国产精品点击进入在线影院高清| 91制服丝袜中文字幕| 亚欧色图在线激情| 久久av成人无码免费| 亚洲乱熟女一区二区三区大香蕉| 超碰欧美| 久久东京热久久| 精品传媒在线一区| 九九综合九九综合| 亚洲Av无码成人精品国产| 婷婷五月天激情四射| 欧美最婬乱婬爆婬性视频| 亚洲在钱| 亚洲,日韩,欧美,成人播放| 人人透人人操| 日韩大香蕉精品在线视频| 人妻少妇精品视频一区二区三区| 囯戸精品高潮呻吟旡码| 久久久精品国产亚洲伊人| 台湾大香蕉99热| 蜜臀久久99精品久久久久久无删减| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 黄色大片免费在线| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 综合一区二区影视| 丰满岳乱妇一区二区三区| 欧美综合骚| 精品91日日夜夜超清资源| 再深点灬舒服灬太大了好硬好爽| 色香在线| 国产亚洲精品农村妇女| 狠狠色一区二区中文字幕| 久久永久无码人妻视频| 久久久久国产亚洲一区欧美色图日韩| 97伊人超碰| 日韩不卡毛片Av免费高清| 久久久久9999精品九九九| 五月天久久综合网| 成人十八禁日韩欧美一二三| a天堂视频| 欧美肥臀在线| 97久久视频| 国产精品国产精品国产| 亚洲欧美中日韩| 国产亚洲精品美女久久久| 超碰1024久久| 国模精品娜娜一二三区| 欧综合网| 丝袜综合| 中文字幕av亚洲在线| 亚洲欧洲激情卡通另类文学四射小说网站 | 中国熟女91| 99无码视频| 人人操人人操人人人操| 国模无码人体一区二区三| 老子午夜伦不卡影院| 哈哈操 大香蕉| 91在线页| 校园春色亚洲色图| 啪啪91| 乱伦av.com| 啊啊啊操死我| 亚洲另类色综合网站| 欧美色偷拍 | 肉动漫无遮挡h在线观看| 亚洲老司机123专区| 大香樵伊人网| 黄aaaaaaaaaaaaaaaaaa色网站| 熟女熟妇一区二区三四区| 欧色综合| 九月丁香| 最新日韩黄片| 国产第25页在线观看| 天堂v无码免费视频| 一区二区三区四区五区久久久久久| 欧美 亚洲 大香| 好吊妞转入那个网| 五月激情综合网| 午夜福利视频在线一区| AAAA欧美日韩| 欧洲在线性爱视频| 婷婷五月成人| 国产精品suv一区| 蜜奶av| 久久国产精品91| 国模一区二区三区| 国产九月婷婷| 口爆欧美91| 97色色国产视频| 亚洲大色堂| 欧美中字二区| 高清肉丝中文无码| 人人妻人人爽人人精品| 精品一级| 强奸乱伦AV一天堂网| 国产极品粉嫩馒头一线天av| 中文字幕黄片在线| 一区二区三区激情在线观看| 青青草大香蕉在线视频| 日韩中文字幕宗合在线| 久久久一二三四区| 大香蕉中文在线| 波多野结衣一级视频| 操逼操网| 人妻天天爽夜夜爽精品2| 97 九色| 黑人在线91| 亚洲一区操| 综合网色| 久久av网| 人人操,操人人| 亚洲精品久久久久毛片A片拉屎 | 亚洲中文字幕熟女| 92午夜免费福利视频| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 久久精品中文| 在线观看日韩av不卡| 伊人黄色片| 久久天堂婷婷网| 九九九草| 俺也射| 久久双插| 草b在线| 欧美日韩欧美| 国产免费久久久久| 中文字幕第23区| 91精品国产91久久福利| 久久久久成人蜜桃精品| 国产精品白丝www| 亚洲 中文 女同| 国产超碰| 91成人社区| 亚洲1区2区三区高清中文字幕| 日韩熟妇二区| 亚洲影视综合| 无码99| 91丨人妻丨国产丨丝袜| 亚码激情| 绯色一区二区三区不卡少妇| 欧美黄色图片| 人妻干天天| 美女主播色欲91抠b在线播放| 欧美亚洲中文| 激情欧美日韩女同久久| 亚洲色色探花| 国产67194| 2017人人操,人人摸| 久久超碰大香蕉| 国产小视频91| 亚洲日韩天堂| 91美女在线看| 亚洲成人综合在线| 亚洲中文字幕av| 亚洲色图激情小说| 国产AV久久野战精品| 91色伦| 五月天黄色av| 福利色色| 自拍偷拍国产欧美日韩韩| 中文字幕欧美日本乱码一线二线 | 人妻精品视频一区二区三区 | 激情四射婷婷四五月天| 黄色香蕉视频网站一区| 麻豆黄站| 欧美日韩精品一区二区三区高清| 天久久久噜噜噜久久国产精品爽爽| 一区二区三区网站日日骚| 欧美另类精品xxxx| 十八禁啪啪视频| 日韩一区二区熟女| 一区二区视频在看| 91成人精品在线播放| 天堂亚洲精品| 久湿久久 | 天天激情综合站| 亚洲超碰97| 992大香蕉| 91日日夜夜| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 天天谢天天干| 91免费看一区二区三区| 欧美成97爱| 97超级久久| 日韩91网| 久久九色| 色图四区| 久久久精品九| 性老妇一区二区三区| 一区二区三区日韩欧美| 强上我不卡卡| 人人搡人人肉久久精品| 曰本熟女视频| 青青草色插素人| 欧美玖玖爱免费玖玖| 秋霞福利网| 亚洲熟女一区二区| 日本精品一区二区三区四区的功能| 91操熟女视频| 国内亚洲高清无码| AV不卡在线| 丰满人妻一区二区三区免费,| 中文高清一区二区的| 欧洲中文字幕| 98福利在线视频| 亚洲熟女人妻中文字幕一区二区| 欧亚日韩中文在线| 婷婷去俺也去六月色| 综合久久婷婷| 天天综合有色网| 天天综合91入口| 高清有码一区二区| 国产区91柔拿会所技师| 少妇二级| 久久蜜桃一区二区| 国产日逼视频| 99热97| 男女香蕉一区二区| 草草草视频在线免费看| 综合色色网| 1000午夜黄色| 久久精品国产AV一区二区三区| 在线观看精品国产免费| 少妇天堂网络| 久久久新亚洲AV| 国产按摩一区二区三区| 日韩欧美蜜桃精品久久中文字幕久久| 极品销魂美女一区二区| 欧美大香蕉卡久久| 国产精品三级视频网站| 久久综合国产精品国产| 午夜传煤十二区精品| 久久av一级av少妇av高潮| 免费看污网站| 秋霞网无码| 五月丁香六月激情综合| 欧美日韩青操| 欧美性生活男人的天堂| 免费久久9999| 九月丁香婷婷色| 一区二三区四区视频大全套| 花花AV导航| 日韩欧美亚洲国产日韩| 91中出视频| 日本狠狠干| 大香蕉伊人网| 欧美夜夜骑视频| 探花在线免费观看视频国产一区| daxiangjiao你懂的| 日韩成人大片一区二区| 九九九九九九九九九国产精品 | 亚洲最大的黄色电影网站。| 欧美亚洲自拍另类人妻| 国产天美传媒精品| 久99热| 另类小说综合网| 中出20p| 97视频在线免费看| 人妻人人做人人澡人人爽欧美一区| 亚洲久久东京热一二三四五区视频| 丁香五月综合| 久久91精品国产9丨久久分亭| 91国内外在线| 97干在线视频| 可免费观看的av毛片中日美韩| 久久人妻视频网| 91c色| 精品亚洲成人免费在线| 国产一区二区久久| 蜜桃传媒一区二区亚洲| 国产传媒午夜理伦精品| 超碰在线97国产| wwwcaobibi| 一类无码操逼视频| 亚洲激情欧美色图 | 草久在线| 天天日天天射天天干| 午夜人妻精品综合在线| 成年女人18级毛片毛片免费观看| 国产免费黄色一级大片| 久久嫩草| 国产激情在线| 男人天堂导航| 热久久无毒不卡| 欧美熟女丝袜| 伦理弟一页| 97超碰亚洲| 久久久∴| 超碰精品| 天天摸天天舔天天操| 麻豆黄四叶草网站| 亚洲吊色| 久污| 欧美熟妇色| 96免费视频在线| 丝袜美女诱惑 91 视频| 亚洲欧美日韩电影网站一区 | 欧美精品宗合| 天无日色综合| 四虎AV无码| 久久激情综合| 郑州宾馆老熟女露脸啪啪| 69国产对白刺激| 91bbbbbb| 91看黄片| 无码国产精品午夜不卡( | 国语精品内射在线观看| 婷婷视频网| 国产精品2020| 午夜九九| 99久国产精品午夜性色福利| 欧美日韩 强奸乱伦| 婷婷色导航| 夜夜嗨绯色| 91狠狠综合久久| 久久亚洲欧美中文字幕国语| 国语对白在线播放视频| 鲁鲁色综合网| 国产av青草| 亚洲色综网| 欧美自拍偷拍综合图片| 日韩三级一区 | 国产性爱在线视频一区二区| 五月婷婷激情网| 91丝袜美腿片| yaouchengrenav| 美女黄页| 久久久一区二区三区麻豆| 欧美一区二区三区蜜桃| 夜夜夜久久| 无码人妻一区二区三区免费九色| 操逼国产免费| 久热久| 91亚洲在线| 精品 码产区一区二-1080P高清在线www-B029AV | 96AV精品| 97亚洲中文| 色婷婷视频| 操人妻视频| 亚洲欧美大香蕉| 久久啊啊| 欧洲无码一区二区| 国产亚洲欧美每日在线| 精品国产久热在线观看| 91老司机在线| 亚洲天堂东京热| 综合久久久久久久久91| 久久久久一本一区二区青青蜜月| 亚洲精品一区二区精华| 精品国产91av一区二区三区 | 中文伊人大香蕉视频| 老司机午夜精品视频| 精产国品一区二三产品| 国产精品点击进入在线影院| 国产日韩人人| 中文字幕精品资源在线| 新91视频.cmp| 亚洲,欧美,春色,另类| 岛国在线免费视频| 国产99999久久精品| 免费日韩黄片| 亚洲小说视频| 色天堂综合| 国产92麻豆天美精品色欲5| 一卡二卡三卡| 超碰碰激情97+久| 国内毛片无码一级毛片| 欧美激情久操网| 欧美亚洲首页| 国产一二三福利视频网| 精品久久久久黄少妇| 免费岛国一级片| 淫纸中9区| 任你草| 亚洲小电影免费涩涩成人在线高清| 国产精品九九| 青青草成人视频在线观看二区| 搡老熟女老女人老熟妇免费视频| 日韩天天综合| 九九九偷拍| 老鸭窝日丰县女人| 蜜臀AV成人精品蜜臀AV久久| 在线性黄高清免费视频| 狠狠色伊人亚洲综合网站色| 97精品网| 亚洲色电影在线| 中文字幕一品色图| 夜夜福利| 日韩无码AB| 青青草视频久久| 精品久久久久9999| 青青草视频这里只有精品| 强奸乱亚洲| 狠狠操狠狠| 色综合久| 青青青国产| 日本一二区免费| 九九成人精品| 精品人妻1237| 国产亚洲精品美女| 欧美老妇综合网| 亚洲综合影片| 日本亚洲vr欧美不卡高清专区| 97国产精品国| 美女AV一区二区| 久久久久久99999国产精品| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 亚洲日本激情| 自怕偷自怕亚洲精品| www.大香| 99热综合| 性性欧美| 久久97视频| 操婢日韩| 丁香五月天堂| 小骚逼被操的爽不爽| 久久精品无码一区二区三区| 老熟女乱伦一区| 久久久久久欧美精品se一二三四| 亚洲综合色男人网| 欧美日韩另类字幕中文| 四虎影视欧美| 图片区小说区| 97在线欧洲| 日日爱99| 妺妺跟我一起洗澡没忍住| 91新在线欧美| 欧美热图99| 欧美日韩国产中文精品字幕自在自线| 一起草AV| 国产中文字幕在线观看| 亚洲在线| 熟妇人妻一区二区三区| 亚洲高清欧美总合| 欧美日韩在线国产在线| 熟女自慰久久久| 熟女探花啪啪| 少妇500双飞99| 久久精品男人的天堂| 草莓精品视频| 超碰无码五月97| 亚洲一区二区三区中文字幕| 欧美大香蕉卡久久| 久久超碰天天| 久久久久久久人妻| 九九九国产| 97九色人妻| 97视频播放| 久久久久久久九九九九九九| 精品欧美乱码久| 狠狠欧美| 日韩精品色呦呦| 中亚黄色三级大片| 69精品久久久久中文字幕| 久九九九九九九九热| 综合网欧美在线| 秋霞色色影院| 久久是精品| 欧亚三区动漫| 天天操人人操狠狠插| 狠狠操,使劲操| 丁香五月天社区| 日韩黄片影院| 后入式999| 久久久九97| 亚洲成人一区二区精品| 蜜臀99久久精品久久久久久| 欧美熟爽综合| 国产精品岛国片在线观看| 91亚洲电影| 九一综合网| 1区2区3区在线视频| 国产高清MV操逼视频| 啊啊嗯嗯好爽| 99re6国产精品99re| 91色艳| 日韩一性一交一A片俄罗斯| 亚洲啪啪综合?v一区综合精品区| 97爱免费插| 99亚亚热| 97人人操人人干| 高跟丝袜AV专区国产| 国模私拍一区二区三区神乳| 91挑色欧美| 日本九九久久99| 亚洲精品天天影视综合网| 亚洲精品 大香蕉| 日本黄 R色 成 人网站| 美国日韩黄片| 操人人| 欧美人与动性人交a| 亚洲无992tv| 91欧美亚洲| 91人妻最真实刺激绿帽| 欧美 精品国产制服第一页| 欧美色图亚洲激情| 性色亚洲| 美日韩男女操屄视频| 无码人妻精品一区二区中文| 国内亚洲高清无码| 天堂а√在线最新版在线| 欧美高清无码免费视频高清版| 欧美激情内射| 熟妇乱伦一区二区| 精品高清一区二区三区三州| 岛国激情视频软件| 亚洲乱色熟女一区| 日韩A优精品在线观看| 午夜天堂啪啪| 99精品视频在线观看| sss视频华人在线| 午夜毛片高清免费不卡| 欧美色另类| 激情黄色片在线观看| 国产精品久久久久综合| 韩国成人精品久久久免费看| 五月激情小说| 欧美色图成人网一区二区 | 国产成人主播| 色婷婷一区二区三区久久| 亚洲日韩在线a不卡99精品| 凸凹视频在线观看| 亚洲91亚洲| 四虎免费视频| 99久久久无码精品国产人| 日本性爱少妇| 亚洲视频一二区| 国产高清成人免费视频| 国内精品久久久久影院亚洲| 超碰97资源中文字幕| 伊人91| 五月丁香| 久久久久幕乱码| 国产日韩欧美操逼视频| 91 国产丝袜在线放观看| 色婷婷五月天| 国产精品免费日韩| 大鸡巴久久久| 亚洲精品91| 一区二区偷拍拍视频| 99热在线只有精品| 國產尤物AV尤物在線觀看| 91成人国产综合久久精品蜜月| 牛牛AV人人夜夜澡人人爽| 婷婷综合视频| 欧美亚洲手机在线| 一起草av| 人妻熟女一区二区| 久久久九九网站| 久久亚洲日韩国产欧| 操逼网站地址| 国产传媒日韩| 九九九九九九成人| 国产高清精品一区二区三区毛片 | 日韩免费一级性爱视频| 在线岛| 夜夜狠狠躁日日躁色视频| 91综合天天| 偷拍欧美激情| 国产亚洲精品无码三区| 嗯,啊。舔我逼| 久久婷婷五月天| www.av家庭乱伦| 狠狠爱夜夜干| 国产亚洲精品玖玖玖在线观看| 91欧美经典| surenchaopeng| 色五月婷婷色| 成年女人黄网站| 中文字幕1区2区| 97青娱乐超碰久久| 一二三区在线| 99re国产精品视频| 精品久久97| 五月丁香啪| 在线国产探花| 成人小说视频在线精品欧美| 本道综合精品|