国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

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

智能體群集化:從單Agent到多Agent協(xié)作的架構(gòu)演進(jìn)與工程實踐

智能體群集化:從單Agent到多Agent協(xié)作的架構(gòu)演進(jìn)與工程實踐 如果你最近在看 AI Agent 開發(fā)相關(guān)的內(nèi)容大概率已經(jīng)發(fā)現(xiàn)一個現(xiàn)象“智能體”這個詞剛剛在工程上被講清楚社區(qū)里又冒出了“智能體群集化”“多智能體協(xié)作”“Agent 集群”等一批新說法。有人覺得這是同一個東西換了個馬甲有人理解成“把多個智能體接口寫到同一個程序里”也有人干脆把它等同于 LangChain、Dify 這類平臺里的多 Agent 編排功能。這些理解不能說全錯但很容易漏掉關(guān)鍵部分為什么單個智能體在執(zhí)行復(fù)雜任務(wù)時不夠用多個 Agent 一起工作時真正復(fù)雜的不是數(shù)量而是它們之間的分工、邊界和協(xié)作機(jī)制。這篇文章我會把“智能體群集化”這個概念拆開講清楚。先給一個明確判斷智能體群集化不是一個能直接安裝的軟件也不是某個平臺獨有的功能而是 AI Agent 應(yīng)用架構(gòu)上的一種演進(jìn)方向。它的研究重點是一個復(fù)雜需求如何被拆解給一組具備不同能力的 Agent并通過消息、任務(wù)隊列、共享記憶和結(jié)果匯總來協(xié)作完成。如果你正在用 Dify、Coze 這類智能體搭建平臺做工作流或者準(zhǔn)備在項目里引入 Agent又或者需要設(shè)計 Agent 工作流的測試數(shù)據(jù)集這篇文章適合你。讀完你會知道群集化解決什么問題、適用什么場景、底層需要哪些組件、自己動手驗證時最小可行方案長什么樣以及在工程落地時容易踩哪些坑。1. 先給結(jié)論智能體群集化到底解決了什么在詳細(xì)解釋之前先做一個判斷。群里討論“群集化”時很多人第一反應(yīng)是用服務(wù)器集群的思路去理解認(rèn)為 Agent 群集化是為了通過堆機(jī)器、堆并發(fā)來提升單點吞吐量。這個思路放在傳統(tǒng)后端服務(wù)上是正確的放在 AI Agent 上卻容易跑偏。為什么因為一個 Agent 的瓶頸往往不是算力而是“上下文”。單個智能體在完成復(fù)雜任務(wù)時需要把用戶的原始訴求、中間推導(dǎo)、工具返回結(jié)果、歷史對話全部塞進(jìn)上下文里。Agent 工具調(diào)用越多、思考鏈路越長上下文越長模型輸出的穩(wěn)定性和準(zhǔn)確性就越難保證。你經(jīng)??吹降?Agent“繞圈子”“忘記目標(biāo)”“把一個錯誤結(jié)論當(dāng)成正確前提繼續(xù)推導(dǎo)”很大一部分并不是模型能力不夠而是上下文管理已經(jīng)失效了。智能體群集化首先是為這個問題出現(xiàn)的。它的思路非常接近軟件架構(gòu)里的“按職責(zé)拆分”把一個大任務(wù)拆成多個子任務(wù)。讓不同的 Agent 各自承擔(dān)一類職責(zé)。每個 Agent 只維護(hù)自己需要的上下文。通過一個編排層把它們的結(jié)果匯總起來。在這個架構(gòu)里Agent 與 Agent 之間不是簡單調(diào)用接口的關(guān)系而是各自維護(hù)獨立的上下文、任務(wù)狀態(tài)和工具列表靠消息機(jī)制協(xié)同。所以它會呈現(xiàn)出一種“群”的形態(tài)一組職能不同、契約一致、可獨立運(yùn)行的 Agent圍繞一個總目標(biāo)合作。如果用類比來理解單 Agent 是“一個人包打天下”群集化是“一個項目組協(xié)同作戰(zhàn)”。后者對管理水平、流程和部門邊界的要求遠(yuǎn)高于前者。這也是為什么智能體群集化不是把幾個 Agent 代碼放到同一個倉庫里就完事了。它真正要解決的是三件事任務(wù)如何被合理拆開。拆分后的任務(wù)如何分發(fā)給正確角色。不同角色之間的中間結(jié)果如何傳遞、校驗和合并。所以如果你的業(yè)務(wù)場景只是“一個客服機(jī)器人回答常見問題”或者“一個自動生成郵件的助手”完全不需要關(guān)心群集化。但如果你正在做一個需要分析數(shù)據(jù)、檢索資料、編寫代碼、檢查結(jié)果、生成報告的多步驟任務(wù)單 Agent 已經(jīng)讓你覺得“失控”了群集化就是一個值得研究的架構(gòu)方向。2. 為什么單 Agent 會在高復(fù)雜度任務(wù)中逐漸失效先不急著深入概念我們從一個具體場景說起。假設(shè)你要做一個“競品分析日報”智能體。原始需求是每天早上自動訪問競品官網(wǎng)和社交賬號收集更新內(nèi)容提煉產(chǎn)品動態(tài)生成一份結(jié)構(gòu)化的分析簡報。如果只用一個 Agent 來實現(xiàn)流程大致是這樣用戶輸入任務(wù)說明 - Agent 理解任務(wù) - Agent 調(diào)用網(wǎng)頁內(nèi)容抓取工具 - Agent 閱讀并總結(jié)頁面內(nèi)容 - Agent 判斷這是產(chǎn)品更新還是營銷內(nèi)容 - Agent 調(diào)用數(shù)據(jù)查詢工具獲取歷史版本對比 - Agent 生成報告這段鏈路看著是通的但把它放到真實業(yè)務(wù)里你會遇到一系列問題。第一個問題是提示詞膨脹。為了讓 Agent 知道“什么時候抓取”“抓多少頁”“什么內(nèi)容需要優(yōu)先分析”“報告格式是什么”你必須在系統(tǒng)提示詞里塞入大量規(guī)則。當(dāng)規(guī)則相互重疊甚至沖突時Agent 的行為會變得非常不穩(wěn)定。第二個問題是上下文污染。Agent 先訪問了 20 個網(wǎng)頁再分析競品歷史數(shù)據(jù)中間還可能出現(xiàn)了幾個無關(guān)鍵詞報告調(diào)用工具失敗的異常返回。這些信息都會留存于上下文里最終真正生成報告時關(guān)鍵結(jié)論可能已經(jīng)被前面的干擾信息稀釋掉了。第三個問題是“中間結(jié)果沒有校驗”。單個 Agent 在同一個上下文里完成抓取、總結(jié)、判斷、生成它很可能一邊采數(shù)據(jù)一邊下結(jié)論。如果數(shù)據(jù)采集本身就是失敗的后續(xù)所有分析都是在垃圾數(shù)據(jù)上做推理。這些問題總結(jié)起來是單個 Agent 的職責(zé)邊界太寬。開發(fā)者的直覺通常是想辦法優(yōu)化提示詞而群集化給出的方案是既然角色太多會讓 Agent 精神分裂那就把每個角色拆出來獨立運(yùn)行。第一個 Agent 只負(fù)責(zé)讀取網(wǎng)頁正文輸出干凈的文本。 第二個 Agent 只負(fù)責(zé)判斷內(nèi)容屬于什么類型。 第三個 Agent 只負(fù)責(zé)和數(shù)據(jù)庫中的歷史向量對比。 第四個 Agent 只負(fù)責(zé)把前面的結(jié)構(gòu)化結(jié)果拼成日報。每個 Agent 的提示詞都很短工具列表也只需要一兩個任務(wù)邊界一目了然。這樣無論是排查問題還是測試性能你都更容易知道該看哪個環(huán)節(jié)。這才是群集化概念真正有價值的地方它用工程上的“職責(zé)拆分”來對抗大模型在多步驟任務(wù)中的“上下文污染”。3. 智能體群集化概念拆解從“多個 Agent”到“一群 Agent”3.1 智能體群集化不是什么討論概念之前最好先排除幾種常見誤解。第一智能體群集化不等于“開多個線程調(diào)用同一個 Agent”。如果你的系統(tǒng)里同時有 10 個用戶向同一個旅游推薦 Agent 發(fā)請求這只說明你做了一個支持并發(fā)的 Web 服務(wù)和群集化沒有直接關(guān)系。群集化關(guān)心的是多個 Agent 如何處理一個共同目標(biāo)而不是同一個 Agent 如何服務(wù)不同用戶。第二智能體群集化不等于“用編排工具把步驟串起來”。Dify、Coze 等平臺都可以描述“先執(zhí)行節(jié)點 A再執(zhí)行節(jié)點 B”這種 workflow 如果只是用代碼條件分支控制本質(zhì)上仍是單個執(zhí)行鏈路。群集化的語義更強(qiáng)鏈路里的每一個環(huán)節(jié)應(yīng)該有明確的角色、獨立的記憶邊界和一定的自主決策空間。第三智能體群集化也不等于“讓多個大模型互相對話直到達(dá)成共識”。如果只是把 A 模型的輸出拼到 B 模型的輸入里而沒有結(jié)構(gòu)化的消息邊界、任務(wù)狀態(tài)和失敗處理最終只會越聊越亂。3.2 智能體群集化的核心屬性如果要給出一個可操作的定義我會這樣總結(jié)智能體群集化是把一組承擔(dān)不同角色、擁有不同工具訪問權(quán)限、具備獨立上下文的智能體組合在同一個任務(wù)體系里通過標(biāo)準(zhǔn)化的消息與任務(wù)分配機(jī)制實現(xiàn)協(xié)作最終完成復(fù)雜度超過單個智能體處理能力的目標(biāo)。這個定義里有幾個關(guān)鍵詞需要進(jìn)一步解釋。第一個是“不同角色”。群集里每個 Agent 應(yīng)該像項目組里的不同成員有人負(fù)責(zé)檢索有人負(fù)責(zé)分析有人負(fù)責(zé)編碼有人負(fù)責(zé)審查。角色設(shè)計得越清晰群集整體行為就越可控。第二個是“獨立上下文”。Agent 不應(yīng)共享一整份長 Prompt而是各自只看到跟自身職責(zé)相關(guān)的輸入。這既是為了穩(wěn)定模型輸出也是為了信息安全。比如分析師 Agent 不應(yīng)該拿到用戶未脫敏的原始數(shù)據(jù)。第三個是“標(biāo)準(zhǔn)化消息”。Agent 之間傳遞的不應(yīng)該是自由文本而應(yīng)該是類似 JSON 的結(jié)構(gòu)化消息包含消息 ID、發(fā)送方、接收方、消息類型、目標(biāo)任務(wù) ID、正文和狀態(tài)碼。第四個是“共同目標(biāo)”。群集不是永久存在的服務(wù)而是圍繞某類任務(wù)臨時組織或者半持久存在的工作組。任務(wù)完成后整體應(yīng)能輸出一份可驗證的匯總結(jié)果。有了這個定義你會發(fā)現(xiàn) Agent 開發(fā)中的一個轉(zhuǎn)變以前我們的開發(fā)對象是“一個聰明的實體”現(xiàn)在開發(fā)對象更像“一套多人協(xié)作規(guī)則”。你要定義的不僅是 Agent 能力還包括通信協(xié)議、角色授權(quán)、失敗重試和結(jié)果評價。3.3 與傳統(tǒng)軟件架構(gòu)的關(guān)系群集化這個詞本身借用了分布式系統(tǒng)里的核心思想但它不能照搬微服務(wù)的全部經(jīng)驗。在微服務(wù)架構(gòu)里一個大型系統(tǒng)被拆成多個可獨立部署的服務(wù)服務(wù)之間通過 RPC 或消息隊列通信。這樣做的好處是故障隔離、獨立擴(kuò)展。這個思路和智能體群集化非常像但有一個本質(zhì)區(qū)別微服務(wù)的每個服務(wù)邏輯是確定的同樣的輸入基本會得到同樣的輸出而每個 Agent 背后是大模型它的輸出有隨機(jī)性同一個任務(wù)不同時間運(yùn)行結(jié)果不完全一致。因此智能體群集化比微服務(wù)更強(qiáng)調(diào)“校驗”和“回退”。你不能假設(shè)子 Agent 返回的結(jié)果一定正確必須在關(guān)鍵節(jié)點安排檢查甚至讓一個專門的“質(zhì)檢 Agent”去審查另一個 Agent 的輸出。理解了這一點后續(xù)設(shè)計群集時就不會犯“把 Agent 當(dāng)作普通函數(shù)”的錯誤。4. 一套群集化架構(gòu)通常包含哪些關(guān)鍵組件把一個智能體群集化系統(tǒng)拆開看大部分實現(xiàn)里都會存在這五類組件。4.1 任務(wù)編排器任務(wù)編排器是群集的大腦入口但它的職責(zé)不是解決具體業(yè)務(wù)問題而是拆任務(wù)、派任務(wù)、收結(jié)果。編排器收到一個總目標(biāo)后會判斷需要哪些能力把目標(biāo)拆成子任務(wù)為每個子任務(wù)選擇合適的 Agent然后跟蹤每個任務(wù)的執(zhí)行狀態(tài)。最簡單的方式是順序執(zhí)行高級一點會使用依賴圖讓彼此獨立的子任務(wù)并行執(zhí)行。實際項目中這個編排器可以是一個代碼程序、一個工作流引擎也可以是一個具備“調(diào)度能力”的管理型 Agent。它的提示詞應(yīng)當(dāng)強(qiáng)調(diào)“何時派活、何時收口”而不是強(qiáng)調(diào)“如何做具體事”。4.2 成員 Agent成員 Agent 是真正干活的人。每個成員有明確的角色描述有自己的系統(tǒng)提示詞和工具白名單。好的成員設(shè)計遵循“小且?!钡脑瓌t一個 Agent 只解決一種類型的問題。例如搜索 Agent調(diào)用檢索工具輸出鏈接和摘要。內(nèi)容解析 Agent輸入 HTML 或 PDF輸出結(jié)構(gòu)化正文。數(shù)據(jù)分析 Agent讀取表格或者 CSV輸出統(tǒng)計結(jié)論。代碼生成 Agent根據(jù)需求生成代碼片段但不負(fù)責(zé)執(zhí)行。代碼審查 Agent檢查代碼的規(guī)范性、邊界條件和安全風(fēng)險。為了控制成本成員 Agent 不需要全部使用同一個最強(qiáng)模型。簡單任務(wù)用輕量模型復(fù)雜推理用更強(qiáng)模型是群集化架構(gòu)在成本控制上的一個顯著優(yōu)勢。4.3 共享記憶與上下文存儲傳統(tǒng)程序里的“全局變量”在群集化里對應(yīng)的是共享記憶。共享記憶可以分成兩類。一類是任務(wù)執(zhí)行中的中間信息比如子任務(wù)的狀態(tài)、已經(jīng)完成的結(jié)果、需要后續(xù)處理的消息另一類是持久化的知識例如歷史分析報告、產(chǎn)品知識庫向量、用戶偏好序列。設(shè)計一個關(guān)鍵原則是不是所有 Agent 都能讀寫全部記憶。每個 Agent 應(yīng)該只獲得與當(dāng)前任務(wù)相關(guān)的、最小必要的數(shù)據(jù)切片。這既降低了上下文成本也減少了敏感信息的暴露面。常見的實現(xiàn)是向量數(shù)據(jù)庫加權(quán)限控制。搜索或問答 Agent 在寫入知識時先做向量化后續(xù) Agent 查詢時通過元數(shù)據(jù)過濾只召回自己權(quán)限范圍內(nèi)的內(nèi)容。4.4 標(biāo)準(zhǔn)消息協(xié)議如果成員之間用自然語言對話開發(fā)時看似方便但一旦 Agent 數(shù)量增加你會很快發(fā)現(xiàn)無法約束對話邊界。某次輸出多寫了一個字就可能導(dǎo)致下游解析錯誤。更穩(wěn)妥的做法是定義一套 JSON 消息協(xié)議至少包含這些字段字段含義示例msg_id消息唯一 ID用于追蹤8f1a2ctask_id歸屬于哪個總?cè)蝿?wù)task_2099sender發(fā)送方 Agent 標(biāo)識data_parser_01receiver接收方 Agent 標(biāo)識report_writermsg_type消息類型如 task/result/error/ackresultpayload消息正文按類型定義 schema{“content”: “…”}status處理狀態(tài)success/error/retrysuccess這樣做的價值在于你可以把 Agent 之間的通信記錄下來在任務(wù)失敗時回放整個群集里發(fā)生過什么。沒有這套結(jié)構(gòu)Agent 群集基本不可觀測。4.5 評估與守護(hù)機(jī)制這是群集化區(qū)別于簡單流程編排最重要的組件。在大模型驅(qū)動的系統(tǒng)里不能假設(shè)成員 Agent 一定成功。你需要為每個關(guān)鍵子任務(wù)定義一個驗證步驟。如果驗證不通過把任務(wù)重新丟回原 Agent或者轉(zhuǎn)給另一個更強(qiáng)調(diào)審查的 Agent。我見過一個比較實用的寫法在生成與評審之間特意加入一個“反問 Agent”。這個 Agent 不做實事只負(fù)責(zé)檢查報告的結(jié)論有沒有依據(jù)、數(shù)據(jù)有沒有來源、結(jié)構(gòu)是否完整。它如果檢查出問題就把意見返回給生成方并要求修改。整個過程有點像研發(fā)和測試的關(guān)系。把這五類組件放入一個圖里來回看編排器負(fù)責(zé)管理流程成員 Agent 負(fù)責(zé)專業(yè)能力共享記憶提供數(shù)據(jù)消息協(xié)議保證協(xié)作規(guī)范評估機(jī)制兜底。任何一點缺失群集化的表現(xiàn)都會退化成一個“不那么可控的多 Agent demo”。5. 三種主流協(xié)同模式與選擇建議理解了關(guān)鍵組件后第二個要解決的問題是多個 Agent 之間到底采用什么協(xié)作結(jié)構(gòu)目前工程上比較多見的有三類。5.1 中心化編排模式這是最容易上手、也是多數(shù)平臺默認(rèn)支持的實現(xiàn)方式一個中心調(diào)度者控制所有成員 Agent 的生命周期。中心調(diào)度者可以是程序代碼也可以是人工設(shè)計的工作流。它負(fù)責(zé)讀取總?cè)蝿?wù)按順序或依賴關(guān)系調(diào)用成員判斷中間結(jié)果決定是繼續(xù)推進(jìn)還是打回重做。優(yōu)點是可解釋性強(qiáng)每一步都有清晰的父流程缺點是中心節(jié)點容易成為性能與復(fù)雜度瓶頸調(diào)度邏輯越寫越重。如果你剛開始做智能體群集化建議第一版先選擇這個模式。5.2 去中心化協(xié)商模式這類模式下沒有一個中心調(diào)度者而是多個 Agent 能直接收發(fā)消息通過協(xié)商達(dá)成共識。這類實踐在學(xué)術(shù)界討論較多比如通過拍賣機(jī)制讓某個 Agent 認(rèn)領(lǐng)任務(wù)或是讓 Agent 之間互相提意見。優(yōu)點是適合開放性很強(qiáng)、無法預(yù)先拆解任務(wù)的場景缺點是行為難以預(yù)測。生產(chǎn)環(huán)境要使用這種模式必須在消息協(xié)議和決策規(guī)則上做極強(qiáng)的約束否則表現(xiàn)為一群模型在無效爭論。5.3 層級組織模式層級模式類似真實公司的組織架構(gòu)一個管理 Agent 下面掛若干小組每個小組有自己的小管理 Agent 和成員 Agent??偰繕?biāo)交給最上層它不直接做事而是把目標(biāo)拆給各組逐層向下分解再逐層向上匯總。這種模式在復(fù)雜度極高的任務(wù)里可擴(kuò)展性更好但也最容易拖慢響應(yīng)速度。每一層都調(diào)用大模型都會增加延遲和 token 成本。除非任務(wù)的廣度足夠大否則不建議只有三個 Agent 的群集硬套三層樹結(jié)構(gòu)。三種模式優(yōu)劣對比可以參考下表維度中心化編排去中心化協(xié)商層級組織實現(xiàn)難度較低高中高任務(wù)可控性高低中擴(kuò)展性中中高系統(tǒng)開銷中低到中高適用場景流程明確的業(yè)務(wù)開放研究型任務(wù)集團(tuán)型復(fù)雜項目生產(chǎn)可用度高探索中中6. 智能體群集化相關(guān)概念的關(guān)系與邊界討論這個概念時很容易和另外幾個詞混在一起這里單獨理一下。6.1 和多智能體系統(tǒng)有什么區(qū)別“多智能體系統(tǒng)”Multi-Agent System是人工智能領(lǐng)域一個歷史悠久的研究分支強(qiáng)調(diào)多個 Agent 在環(huán)境中的感知、決策與交互。智能體群集化可以看作多智能體思想在大模型時代的一種工程實現(xiàn)形態(tài)但它的側(cè)重點有明顯變化群集化更強(qiáng)調(diào)大模型智能體之間的角色分工與流程協(xié)同。你可以在 Go 游戲、交通調(diào)度等研究領(lǐng)域談?wù)摱嘀悄荏w但“智能體群集化”這個概念默認(rèn)要輸出一個對用戶有價值的業(yè)務(wù)結(jié)果比如一份報告、一段代碼、一個分析結(jié)論。它更接近軟件工程而不是博弈理論。6.2 和集群、微服務(wù)的關(guān)系從字面看“群集”和“集群”的英文都可以追溯到 cluster。服務(wù)器集群追求的是高可用、負(fù)載均衡、擴(kuò)展算力智能體群集化追求的是任務(wù)復(fù)雜度上限的提升。一個開發(fā)團(tuán)隊在把單體應(yīng)用拆成微服務(wù)后會遇到分布式事務(wù)、服務(wù)治理、鏈路追蹤的問題。Agent 群集化也一樣只是把這些問題替換成了任務(wù)拆分、角色邊界、消息追蹤和模型輸出校驗??梢杂梦⒎?wù)經(jīng)驗做參考但不能直接照搬。6.3 智能體群集化需要與 Agent 平臺結(jié)合嗎不一定。你完全可以先寫 Python 代碼來模擬 Agent 群集而不是一上來就引入大型框架。Dify、Coze 這類平臺降低了智能體搭建的門檻里面大部分也有工作流和多 Agent 編排能力把它們作為第一階段的試驗場是合理的。但隨著規(guī)則復(fù)雜平臺內(nèi)置能力可能會限制你制定精細(xì)的通信協(xié)議這時自研或者半自研就成為一個需要考慮的選項。整體而言先從平臺和工作流驗證業(yè)務(wù)流程的可執(zhí)行性再根據(jù)瓶頸決定是否下沉到代碼層是比較穩(wěn)妥的路徑。7. 最小示例用 Python 跑通一個 Agent 群集原型概念講了不少接下來進(jìn)入可操作環(huán)節(jié)。這里用一個不依賴任何重量級框架的最小設(shè)計來演示群集化的骨架一個調(diào)度函數(shù)、三個成員 Agent、一份結(jié)構(gòu)化任務(wù)。在這個示例里我們會用普通 Python 函數(shù)來模擬 Agent 行為。真實項目中每個 Agent 內(nèi)部會調(diào)用大模型或外部工具但骨架是一致的任務(wù)分發(fā)、并發(fā)執(zhí)行、結(jié)果匯總。# 文件路徑agent_cluster_simple.py from concurrent.futures import ThreadPoolExecutor, as_completed class BaseAgent: 所有成員 Agent 的基類 def __init__(self, name: str, role: str): self.name name self.role role def run(self, payload: dict) - str: raise NotImplementedError(每個 Agent 需要實現(xiàn) run 方法) class CollectAgent(BaseAgent): 負(fù)責(zé)收集素材 def run(self, payload: dict) - str: keyword payload[keyword] # 實際項目中這里會調(diào)用搜索 API而不是直接拼接文本 return f[素材] 關(guān)于 {keyword} 的檢索摘要 class AnalyzeAgent(BaseAgent): 負(fù)責(zé)分析素材 def run(self, payload: dict) - str: content payload[content] # 實際項目中這里會把 content 發(fā)給大模型并返回分析結(jié)論 return f[分析] {content} 的關(guān)鍵點是可從成本與效率兩個維度評估 class WriteAgent(BaseAgent): 負(fù)責(zé)匯總為報告 def run(self, payload: dict) - str: sections payload[sections] return f[報告]\n \n.join(f- {section} for section in sections) # 組建群集通過一個字典維護(hù)角色與實例的關(guān)系 cluster { collect: CollectAgent(collect-01, 素材收集), analyze: AnalyzeAgent(analyze-01, 素材分析), write: WriteAgent(write-01, 報告撰寫), } def split_task(job: dict) - list[tuple[str, dict]]: 任務(wù)編排將總?cè)蝿?wù)拆為可分發(fā)的最小步驟 items [] for keyword in job[keywords]: items.append((collect, {keyword: keyword})) items.append(( analyze, {content: f關(guān)于 {keyword} 的檢索摘要} )) items.append(( write, {sections: [f關(guān)鍵詞{kw} 的分析結(jié)果 for kw in job[keywords]]} )) return items def run_cluster(job: dict) - dict: 群集入口分發(fā)子任務(wù)并行執(zhí)行收集結(jié)果 sub_tasks split_task(job) results [] with ThreadPoolExecutor(max_workers3) as executor: future_map { executor.submit(cluster[agent_key].run, payload): agent_key for agent_key, payload in sub_tasks } for future in as_completed(future_map): agent_key future_map[future] agent cluster[agent_key] try: result future.result() results.append({ agent: agent.name, role: agent.role, output: result, }) except Exception as exc: results.append({ agent: agent.name, role: agent.role, error: str(exc), }) return { task: job[keywords], result_count: len(results), results: results, } if __name__ __main__: demo_job { keywords: [智能體群集化, Agent協(xié)作, 任務(wù)編排] } final_result run_cluster(demo_job) for item in final_result[results]: print(f[{item[role]}] {item[output]})這段代碼有幾個地方值得你注意。首先是split_task函數(shù)它承擔(dān)的是編排器的職責(zé)。它知道群集里有哪些角色、每個角色需要什么輸入、任務(wù)的先后順序如何。這個函數(shù)雖然簡單但它把“總?cè)蝿?wù)如何拆分組裝”這個核心邏輯獨立出來了后續(xù)優(yōu)化調(diào)度策略時只需要改這一處。其次是ThreadPoolExecutor。它讓你的子任務(wù)可以并發(fā)執(zhí)行。真實群集化里這一步往往通過消息隊列實現(xiàn)讓不同的 Agent 進(jìn)程甚至不同的服務(wù)器來處理任務(wù)。然后是成員 Agent 的抽象。這里每個 Agent 繼承BaseAgent都只實現(xiàn)自己的run方法。未來把某個 Agent 替換成大模型調(diào)用時你不需要修改編排代碼只需要改變run內(nèi)部的實現(xiàn)。8. 從代碼原型到工程配置把群集參數(shù)與角色定義拆到 YAML代碼原型能幫你快速理解骨架但在工程落地時你不會希望每次加一個 Agent 都改一遍代碼并重新發(fā)布。更穩(wěn)妥的方式是把群集的角色、模型、工具權(quán)限、并發(fā)度放到配置中心或者本地配置文件中。下面是一個示意配置文件你可以把它作為群集描述文件推送給調(diào)度程序解析。# 文件路徑cluster_config.yaml cluster: name: report_cluster version: 1.0.0 strategy: centralized # 支持 centralized / hierarchical 等模式 max_concurrency: 3 agents: - name: collect-01 role: 素材收集 type: collector model: lightweight-model # 示例模型名具體由你的模型路由層決定 tools: - web_search - rss_reader permission: - read_public_data max_retries: 2 - name: analyze-01 role: 素材分析 type: analyzer model: advanced-model tools: [] permission: - read_vector_db max_retries: 3 - name: write-01 role: 報告撰寫 type: writer model: advanced-model tools: - report_template_repo permission: - write_report max_retries: 1 shared_memory: type: vector_store name: cluster_shared_memory read_role: [analyze-01] write_role: [collect-01]這份配置文件表達(dá)了幾個良好的工程習(xí)慣。第一角色和工具列表分離。每個 Agent 能訪問哪些工具、能操作哪些數(shù)據(jù)是明確寫出來的而不是靠提示詞“自覺遵守”。這比把權(quán)限強(qiáng)調(diào)寫進(jìn)系統(tǒng) Prompt 更可靠。第二模型路由分層。collector 用輕量模型處理格式固定的檢索任務(wù)analyzer 和 writer 用更高級的模型做復(fù)雜推理。這會直接影響成本。若你只是簡單地把所有 Agent 都用最貴模型群集化的運(yùn)行成本很可能會比單 Agent 高數(shù)倍。第三共享記憶配置有讀寫角色區(qū)分。collector 負(fù)責(zé)寫入記憶analyzer 負(fù)責(zé)讀取writer 不需要直接訪問。這既保護(hù)了中間數(shù)據(jù)也減少了上下文漂移。實際開發(fā)中你可以用PyYAML讀取這份配置再和上一節(jié)的代碼原型結(jié)合啟動時加載 YAML 到內(nèi)存然后根據(jù)配置創(chuàng)建 Agent 實例。這里不展開 JSON Schema 和數(shù)據(jù)校驗的細(xì)節(jié)但請記住一點配置文件一經(jīng)發(fā)布必須有嚴(yán)格的版本管理因為它決定了線上智能體的行為邊界。9. 運(yùn)行驗證、日志觀測與排查方法原型代碼寫完怎么判斷它真的在“群集化”而不是一段普通腳本你需要從幾個維度驗證。先運(yùn)行命令python agent_cluster_simple.py如果代碼無誤你會在控制臺看到每個 Agent 的輸出類似下面這樣[素材收集] [素材] 關(guān)于 智能體群集化 的檢索摘要 [素材收集] [素材] 關(guān)于 Agent協(xié)作 的檢索摘要 [素材收集] [素材] 關(guān)于 任務(wù)編排 的檢索摘要 [素材分析] [分析] 關(guān)于 智能體群集化 的檢索摘要 的關(guān)鍵點是可從成本與效率兩個維度評估 [素材分析] [分析] 關(guān)于 Agent協(xié)作 的檢索摘要 的關(guān)鍵點是可從成本與效率兩個維度評估 [素材分析] [分析] 關(guān)于 任務(wù)編排 的檢索摘要 的關(guān)鍵點是可從成本與效率兩個維度評估 [報告撰寫] [報告] - 關(guān)鍵詞智能體群集化 的分析結(jié)果 - 關(guān)鍵詞Agent協(xié)作 的分析結(jié)果 - 關(guān)鍵詞任務(wù)編排 的分析結(jié)果這個輸出能說明任務(wù)被拆開了但還不足以證明群集化在復(fù)雜任務(wù)中有效。要驗證更真實的群集化效果建議增加三類觀測手段。第一類是任務(wù)鏈路追蹤。為每個總?cè)蝿?wù)生成一個trace_id為每個子任務(wù)生成task_id所有 Agent 的輸入輸出都帶著這兩個 ID 落日志。排查問題時先按trace_id拉出整條鏈路再定位是哪個環(huán)節(jié)出錯。第二類是中間結(jié)果斷言。比如素材收集 Agent 返回的結(jié)果必須包含不少于一段結(jié)構(gòu)化摘要格式不符合就標(biāo)記失敗。不要等到報告生成后再判斷整體內(nèi)容質(zhì)量因為那時候很難定位問題出在哪一步。第三類是端到端的成功率統(tǒng)計。每一次完整任務(wù)運(yùn)行結(jié)束記錄總?cè)蝿?wù)是否成功、子任務(wù)重試次數(shù)、模型調(diào)用總 token 數(shù)。有了這些歷史數(shù)據(jù)你才能回答“第二版群集是不是比第一版穩(wěn)定”這種問題而不是靠感覺。如果任務(wù)失敗可以按這個順序排查問題現(xiàn)象可能原因排查方式解決方案總?cè)蝿?wù)失敗但沒有單個 Agent 報錯編排器拆出的子任務(wù)缺少關(guān)鍵輸入查看 trace_id 下各子任務(wù)的輸入輸出補(bǔ)全 task schema 與必填字段校驗?zāi)硞€子任務(wù)反復(fù)重試模型輸出不穩(wěn)定或上游返回格式異常查看重試日志與原始模型響應(yīng)在上游結(jié)果落庫時做 schema 校驗Agent 之間傳遞內(nèi)容出現(xiàn)丟失消息協(xié)議字段不統(tǒng)一檢查 sender/receiver/msg_type 是否匹配統(tǒng)一使用 JSON Schema 并做版本管理群集結(jié)果質(zhì)量不如單 Agent拆得過細(xì)或角色互相推諉對比同一任務(wù)在單 Agent 下的表現(xiàn)減少子 Agent 數(shù)量給關(guān)鍵 Agent 更大職責(zé)Token 成本激增大量中間結(jié)果被反復(fù)傳遞給多個 Agent統(tǒng)計各 Agent 調(diào)用次數(shù)與 input token引入共享記憶減少長文本直接透傳10. 智能體群集化常見誤區(qū)和最佳實踐這部分我想直接給出目前觀察中最值得注意的幾點。10.1 不是 Agent 越多越好很多開發(fā)者在第一次讀多智能體案例時會產(chǎn)生“Agent 數(shù)量就是系統(tǒng)的能力上限”的錯覺。實際上每增加一個 Agent都會增加一次模型調(diào)用延遲、一份上下文管理成本和一個可能的失敗點。如果你的任務(wù)用一個 Agent 加一套嚴(yán)格工作流就能解決沒有必要刻意拆成五個角色。一個合理的做法是先把業(yè)務(wù)寫成一個單 Agent 的完整流程運(yùn)行一段時間并記錄失敗案例。哪里頻繁出錯哪里上下文過長哪里工具調(diào)用切換頻繁之后再針對性地拆出子 Agent。這叫“按需群集化”而不是“為集群而集群”。10.2 讓 Agent 之間用結(jié)構(gòu)化消息協(xié)作而不是人肉對話兩個 Agent 需要通過自然語言來回討論一個復(fù)雜結(jié)論時看起來非?!爸悄堋钡珜ιa(chǎn)系統(tǒng)而言往往是災(zāi)難。自然語言輸出沒有強(qiáng)約束你很難在一個失敗案例里斷定是發(fā)送方表達(dá)含糊還是接收方理解錯誤。更推薦用結(jié)構(gòu)化消息。如果確實需要 Agent 之間協(xié)商那就定義一個像proposal、revision_request、agreement這樣的消息類型把關(guān)鍵信息放進(jìn) JSON 字段而不是讓模型在字符串里自由發(fā)揮。10.3 必須設(shè)計角色級權(quán)限與安全邊界智能體群集化的一個隱患是為了讓 Agent 能查資料、調(diào)接口、操作數(shù)據(jù)庫開發(fā)者會把大量權(quán)限授予“系統(tǒng)”。但 Agent 的特點是能力越強(qiáng)越容易在不該執(zhí)行的地方執(zhí)行操作。安全設(shè)計上應(yīng)遵循最小權(quán)限原則素材收集 Agent 只需要搜索公開信息的權(quán)限數(shù)據(jù)分析 Agent 只讀數(shù)據(jù)庫授權(quán)視圖代碼生成 Agent 默認(rèn)沒有執(zhí)行權(quán)限。任何可能影響訂單、用戶數(shù)據(jù)、核心配置的操作都要進(jìn)入人工審批隊列。10.4 用子任務(wù)評測替代整段結(jié)果評測做完一個群集化 Agent 應(yīng)用測試數(shù)據(jù)集不能只包含“最終報告是否符合預(yù)期”這一層。你需要針對每個角色設(shè)計單獨的評測集。比如素材收集 Agent 的測試集要驗證內(nèi)容是否完整、來源是否權(quán)威內(nèi)容解析 Agent 的測試集要驗證是否能正確抽取標(biāo)題與正文最后的報告生成 Agent 測試集則關(guān)注結(jié)構(gòu)和結(jié)論準(zhǔn)確性。只有當(dāng)每一層的通過率都可衡量群集整體的迭代才有一個穩(wěn)定參照。10.5 從“平臺拖拽”過渡到“代碼自研”要分階段現(xiàn)階段智能體搭建平臺已經(jīng)可以完成不少群集化工作流。如果你的業(yè)務(wù)處于原型驗證階段直接寫代碼不一定高效平臺內(nèi)置的日志、模型配置和版本管理能幫你省下很多時間。但當(dāng)你的業(yè)務(wù)流程包含精細(xì)的權(quán)限控制、私有部署、大規(guī)模并發(fā)或復(fù)雜的消息協(xié)議時平臺會開始顯得笨重。這時再遷移到自研或半自研架構(gòu)比一開始就陷入框架代碼更合理。智能體開發(fā)的關(guān)注點始終應(yīng)該先放在“流程定義是否合理”上然后才是“代碼架構(gòu)是否優(yōu)雅”。10.6 群集化適合什么場景總結(jié)來說以下場景更適合嘗試智能體群集化場景類型原因多源數(shù)據(jù)采集與匯總采集、清洗、分析職責(zé)天然分離代碼生成加代碼審查生成與質(zhì)檢形成對抗關(guān)系效果差異明顯復(fù)雜報告生成調(diào)研、分析、寫作可以拆給不同角色企業(yè)知識庫問答檢索 Agent 和回答 Agent 需要不同上下文窗口與工具多輪深度推理類任務(wù)獨立上下文能降低推理鏈路長度反過來單輪問答、意圖非常固定、需要極低延遲的交互暫時不需要群集化。它帶來的收益低于成本反而會讓用戶覺得響應(yīng)慢、體驗亂。11. 結(jié)語智能體群集化概念背后的技術(shù)本質(zhì)把“智能體群集化”這個概念拆到最后你會發(fā)現(xiàn)它真正討論的并不是“群”這個形態(tài)而是“如何讓多個弱實體的組合在復(fù)雜任務(wù)中超過單個強(qiáng)實體”。它之所以會在最近流行不是因為出現(xiàn)了某個殺手級工具而是因為 AI Agent 開發(fā)已經(jīng)進(jìn)入深水區(qū)單 Agent 的上下文不夠用、Prompt 不可維護(hù)、結(jié)果不穩(wěn)定這些問題都到了需要用架構(gòu)手段來解決的階段。所以當(dāng)你下一次看到別人討論智能體群集化時可以快速判斷他討論的到底是被包裝出來的概念還是一個真正的工程問題如果他說“幾個 Agent 一起干活”那是現(xiàn)象描述。如果他說“每個 Agent 有獨立上下文、角色邊界和權(quán)限邊界”那是架構(gòu)視角。如果他能畫出任務(wù)如何拆、消息如何流、失敗如何處理那才是智能體群集化開發(fā)中真正有用的部分。從這個角度講無論你最終選擇 Dify、Coze還是基于開源框架自研群集化的架構(gòu)思考都會滲透進(jìn)未來的 Agent 項目。建議你把本文的核心方案和技術(shù)方案存在收藏夾里用下面的順序去推進(jìn)第一畫出你當(dāng)前業(yè)務(wù)的任務(wù)依賴圖。 第二找出單 Agent 頻繁失敗的環(huán)節(jié)。 第三只對這些環(huán)節(jié)引入新的成員 Agent。 第四定義好消息協(xié)議、權(quán)限邊界和子任務(wù)評測集。 第五通過日志數(shù)據(jù)判斷群集化到底是提升了穩(wěn)定性還是只是增加了復(fù)雜度。AI Agent 的學(xué)習(xí)從來不是追趕概念而是不斷把一個宏大名詞還原成可驗證的工程動作。希望這篇文章能把“智能體群集化”這個概念變成一個你下次設(shè)計系統(tǒng)時能直接使用的腳手架。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
午夜大香蕉| 影音先锋日本一区二区| 丰满美女一级毛片在线播放| 黄色一级视| www.四虎在线| 日韩综合第八区国产精品| 一级性爱视频免费在线| 蜜臀久久99精品久久久久免费观| 妇女乱色二区| 无码丰满熟妇一区二区浪潮AV| 亚洲国产日韩欧美熟妇在线| 东北操逼| 日本成人电影资源网| 大香蕉碰| 97资源久久| 99精品视频在线观看免费| 九九久久久久久爱| 成人一二| 蜜臀th| 综合亚洲欧美精品日韩?v| 99操| 偷拍亚洲视频一区二区三区四区| 性夜影院爽黄A爽免费动漫| 首页中文字幕中文字幕免费| 国产熟妇一区二区| 人人操人人摸avav| 日本精品免费一区二区三区四区| 台湾一区国产高清在线| 亚洲国产欧美日韩人妻日中文| 午夜精品久久久久| 久久受www免费人成| 开心五月婷婷| 夜色91| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 色眯眯av| 国产午夜激片Av毛片不卡| 久久国产精品熟女人妻| 亚洲无线码欧洲精品区别| 久久激情视频| 成人小电影网站tex| 麻豆啪啪啪视频| 熟女熟妇一区二区三区视频| 男人的天堂一区三区| 欧美综合综合| 夜夜操91744565| 亚洲人妻中文高清| 少妇500双飞99| 精品亚洲一区在线观看| a人片中文字幕一区二区| 欧美日韩色综合网| 自拍第一页| 99这里有精品视频| 国产成人手机视频激情| 99re在线视频国产| 91扒丝袜综合在线| 一级黄色性爱A级片| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 999999精品| 亚洲色图大香| 国产精品露脸在线观看| 青木玲在线不卡| 成人午夜小视频手机在线看| 91老女人| 97在线青| 五月丁香影院| 看免费一级在线播放毛片| 午夜福利在线视频1000| 91xingse| 开心激情婷婷| 国产v片在线免费观看| 精品少妇一区二区| 国产精品视频在线播放| 久久草草欧美精品| 粉嫩av在线一区二区| 国内一级精品| 性爱AV天堂| 国产av波波国产精品| 亚洲色图综合网| 清清一区二区三区四区不卡视频| 色色婷婷丁香| 国产精品网址| 偷拍精品一区二区三区| 天天天操天天天爱| 国产青视频| 91操人| 欧美激情性爱视频网站| 欧美亚洲手机在线| 亚洲玖玖爱| 亚州色站 日韩电影| 欧美午夜一区二区三区| 老司机福利青青草| 日本不卡五区| 91在线一起| 麻豆九九九| 国产激情综合五月久久| xxxx网站亚洲精品| 凹凸视频在线一区二区| 色九色久| 黑人粗大V S日韩女优视频| 丝袜喷水在线| 国产高清不卡视频| 97视频在线观看网站| 日本有码久久| 91亚洲人电影| 综合久| 欧美天天干| 亚洲自拍97| 狠久久| 91无摭挡| 夜夜高潮夜夜爽国产伦精品| 亚洲有码第一页| 午夜精品99久久久久传媒| 偷看洗澡一二三区美女| 一级啊性爱在线视频| 日韩精品一区二区高清| 精品欧美老熟女一二区| 婷婷超| 另类欧美色| 亚洲不卡一| 日韩人人精品| 97伊人超碰| 丁香六月激情| 啪啪啪东京| 4虎在线观看| 色眯眯av| 亚洲AV色图一区| 久久久少妇诱惑精品视频| www.高清无码诱惑一区.com| 一及黄久一点| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV| 嗯嗯嗯啊啊啊在线免费观看| 骚逼一区二区| 男人的天堂久久狠| 亚洲双插| 一区二区三| 中文字幕三四五区| 成人羞羞视频国产| 亚洲最大的综合性av| 色色色色日本| 99热精品免费| 欧洲无码一区二区| 丰满精品人妻少妇久久字幕| 九九拍拍精品视频在线播放| 舔舔啊| 中文字幕av一区二区三区人妻少妇| 男人天堂免费| 少妇一级无码精品| 精品久久久久久中文| 久久99视频| 亚洲高潮少妇| 怡春苑东京热| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 熟女探花啪啪| 香蕉久久AⅤ...| 欧美日本一区二区a人| 国内毛片免费h片在线| 一级黄色影片| 夜夜嗷嗷一区二区| 九九热av| 在线观看岛国有码| 亚洲 欧美都市激情| 成人AV素股で擦久久| 伊人网在线观看| 亚洲熟久久| 一本久久久精品| 电家庭影院午夜69久久夜色精品国产69乱| 欧美在线视频播放| 亚洲资源吧| 老熟女网站| 国产精品一级毛片不卡视| 免費黃色視頻觀看一| 91色艳| 欧美亚洲成人在线一区二区三区| 亚洲黄色| 乱伦Av网| 国产精品久久9| 神马久久69| 久久女人| 久久精品欧美一区蜜桃| 欧美伦乱| 为用户提供免费看黄网址在线观看| 久精品无码av一区二免费国产在线观看| 91无码中出人妻视频| 操死我了嗯嗯嗯| 91精品网站| 韩国一级婬片A片无码天美| 大香蕉九九| 超碰97久久观看| 粉嫩久久久极品| 2017天天透天天通天天擦| 99九九精品| 天天干天天日天天射黄色大片| 九99久久| 国产AV毛片| 97日本超碰综合| 日产123区精品免费观看| 天天草天天日| 男人的天堂2010| 偷拍片久久| 豆花视频操逼网址| 青青草视频爽一爽| 欧美高清无码免费视频高清版| 九色婷婷| 91女优在线观看| 人人妻人人爽 97人人看碰人免费公开视频| 99视频精品| 热的中文 热的有码 热的国产| 免费操逼91| 欧美精品999| 久欲AV| 中文字幕交换人妻| 四虎免费在线播放| 久久免费精彩视频| 肥佬影院91| 国产成人自拍视频在线| 97情超碰色| 东京热男人的天堂精品| 日本啊啊啊啊啊视频| 爱爱啊啊啊| 日韩草久视频| 亚洲 欧美 精品专区 极品| 免费夜夜爱黄色视频毛片| 欧美日韩一干二干| 十八禁成人网站在线观看| 欧美暴力猛交| 五月天久久久| 91美女视频。| 啊啊啊操一区| 亚洲欧美日韩偷拍色图| 欧美熟女激情| 色欲蜜臀AV| 98超碰日本| 肉嘟嘟www视频在线观看高清| 91视频女生| 亚洲国产高清福利视频| 亚洲久久久久| 亚洲激情 欧美色图| 乱性AV| 熟女AV一区| 国产亚洲精品美女久久久久久2021| 粉嫩AV一区夜夜嗨| 99精品久久久久久久婷婷蜜桃| 人澡逼| 日韩三级视频一区二区三区| 女人天堂av在线播放| av婷婷色网| 无码不卡八戒| 青青青草原| 欧美综合骚| 欧美日韩啪啪电影| 后入综合久久| 色女网日韩| 国产一区免费午夜视频| 欧亚日韩中文在线| 91激情网| 色情综合网| 人人爱人人乐人人操| 欧美日韩少妇色情| 欧美黄色片AAAAA| 欧美性爱第1 页| 大香蕉一人在线| 操婷婷逼| 黑人美精品 A片| yiqicaoav| 欧美在线综合| 不卡超碰护士AV在线免费播放| 国产精品盗摄 偷窥盗摄| 超碰在线日韩一区| 99re在线观看| 精品夜夜澡人妻无码| 91亚洲欧美激情| 99热导航| 国产女上位好爽在线| 中文字幕一区二区在线日韩精品| 精品传媒在线一区| 另类老少妇| 久久久噜噜噜久久久| 国产乱伦性爱区| 亚洲欧美91| 欧亚成人在线视频| juliaann精品熟女一区| 国产精品久久久久综合| 日韩欧美国产一区二区三区四区| 亚洲欧美综合| 欧美日韩小说| 久久人妻无码毛片A片麻豆| 久久亚洲不卡| 熟女乱伦二区| 亚洲成?V人片在线观看福利| 午夜男女爽爽爽影院视频| 99999亚洲另类| 天堂日本亚洲欧美| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 亚欧高清在线| 在线人人人人人人精品超| 乱伦熟女论坛| 精品国模无码| 粉嫩av久久一区二区三区| 亚洲一级黄色毛片| 91天天看| 久久产精品一区二区三区电影| 精品国产乱码久久久兰草影视| 综合色图区| 色综合色欲色综合色综合色综合| 大伊香蕉在线视频免费| 日本高清_区二区三区 | 男人久久天堂| 蜜臀99精品国产高清在线观看| 亚洲AV在线资源| 欧亚成人在线视频| 欧美综合97www| 一区二区激情国产熟女| 丁香婷婷色五月| 久久久久国产精品片区无码直播| 乳欲人妻办公室奶水| 操逼免费视频无码国产| 免费观看国产小粉嫩喷水精品午| 国产精品分类在线观看| av在线观看不卡网站| 第四色奇米影视777| 精品视频在线观看精品| 欧美日韩黄片精品在线| 在线人人人人人人精品超| 国产熟女乱论| 免费看欧美美女黄色大片| 婷婷五月天激情网| 亚洲精品aa久久伊人| 日本精品成人无码| a久久| 98色网| 精品国产网站| 91麻豆一二三区| 色网综合网| 欧美黑人168页欧美黑人167| 插插综合网天天影视网| 国产偷拍网站| 色乱二区| 92福利社视频| 久插不卡| 天天爽入口| 欧美姓爱综合网| 97爱爱爱| 天天躁日日躁xxxxx| 亚洲欧美综合区自拍另类| 精品国产乱码久久久久久口爆网站| 天天色综亚洲91污| 91国产大片| 69久久久久久久久久久久久| 九色 蝌蚪 熟女自 | 麻豆久久久久久久久丝袜 | 日本久久精品| 5252色欧美在线| 欧美精品欧美精品系列| 97天天摸天天爽| 天天插夜夜操| 天天综合网一91网| 中文字幕十五区| 97超视频在线观看| 东京热大香蕉| 欧美久久伊人| 后入内射蜜桃臀| 狠狠操狠狠燥| 天天做天天爱夜夜爽毛片试看| 久久久久久久亚洲Av无码| 精品一区二区三区蜜桃臀赵总| 麻豆天美传媒在线视频天堂| 日本 情色 1区2区3区| 亚洲成人贴图| 国产激情综合五月久久| m欧洲一级午老| 亚州,欧美在线| 国产综合在线视频网站| 日韩性色b| 日本熟妇自慰性高潮一区二区三区| 久久久96| 日韩一区二区高清在线观看的| 婷婷五月天小说| 91精品婷婷国产综合久久竹菊| 国产91美女视频| 国内毛片婷婷六月色| 欧美亚涩| 91 综合网| 国产 亚洲 丝袜 制服| 啊啊啊啊啊操我视频| 国产精品伦理| 不卡免费av在线播放| 久久久久久亚洲精品不卡人乳| 性爱AV天堂| 91美女在线观看| 欧美黄色片AAAAA| 亚洲和欧美裸体美女双飞视频| 黑人在线91| 久久久成人国产精品无码| 一区二区三区 丝袜 高跟 美腿| 91亚洲欧美综合高清在线| 激情抓乳插进去啪啪啪日韩| 欧美熟女激情| 狠狠婷婷亚洲中文综合久久| 极品五月天噜噜| 亚洲AV色图| 久久老子无码午夜伦不卡| www.男人天堂| 家庭乱伦性爱av| 亚洲天堂人人妻| 91看黄片| 色哟哟1区2区| 99在线无码精品秘 入口黑人| 大香蕉 222| 亚洲美女AV无码| 九色97| 老女人综合网| 欧美色图中文字幕| 亚欧高清| 大香蕉伊人在线成人AV在线观看| 国产强奸乱伦第1页| 中日无幕一二三四区| 欧美第一页| 中文字幕视频一区视频二区| 欧美操人视频| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 1204人成网站色www| 亚洲欧美国产成人综合不卡| 夜夜嗨一区二区三区三州加勒比| 逼逼逼逼操操操操操操操操操午夜剧场| 在线视频一区二区传媒| 少妇一区二区三区高速| 97在线资源| 女人喷水视频在线观看| 四虎免费看黄| 777奇米影视777四色| 蜜臀网 一区| 91美腿丝袜在线观看| 日本黄色精品专区网站| 欧美亚洲宗合色性图| 黄片无码在线制服| 91综合网站| av操操不卡| 温婉少妇玩3p| 91精品人妻一区二区三区蜜臀| 天天狠| 亚洲国产精品无码AV久久久| 亚洲怡春院| 日本福利社| 69av一区二区三区| 天美久久久久| 超碰天天久久79| 一级特级aaaa毛片免费观看| 国产99999| 免费成人在线熟妇网| 日本在线一二| 青草青草久热| 亚洲日韩视频二区| 伊人欧美大香蕉视频| 日本一二区免费| 国产精品久久久无码AV网站| 丁香婷婷五月| 亚洲欧美97√| 精品无码产区一区二| 欧洲Au麻豆| 国产成人亚洲精品无码古代早漏男 | www黄片免费看com| 免费AV中文网在线观看| 欧美综合网站999| 中文字幕精品丝袜| 激情小说五月天| 成年人黄色小视频网站| 人妻天堂网| 亚洲欧美日韩国产丝袜自拍中文| 日韩AV电影网站| 欧美另类综合久久| 婷婷色色五月天福利| 日日嗷| 欧美激情色婷婷花野真衣一区二区| 亚洲色图殴美色图激情乱伦| 国产精品白丝在线播放| 天天综合中文字幕 91| 日本久久综合| 婷婷三区| 免费农村成人少妇人妻Aa一区二区视频 | 人妻精品视频一区二区三区| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 91艹| 欧美影音在线| 国产成人主播| 欧美午夜色妇色鬼| 夜夜狼人妻| www.狠狠干.coom| 日韩黄色电影网站| 久久精品国产亚洲AV片多多| 乱伦av麻豆| 熟女这里只有精品6| 精品黄色电影| 亚洲中文字幕一区二区| 五十路成人在线视频二区三区| 蜜桃久久久久久久久久久久| 亚洲97P| 国产夜夜艹| 99色悠悠| 强上我不卡卡| 欧洲中文字幕| 亚洲色图20p| 中文字幕国产精品1区| 女同在线视频一区| 嗯嗯嗯好爽| 国产在线76页| 日韩素人无码一区二区三区三州| www.色婷婷.com| 亚洲另类电影| 久久久久久午夜男人的天堂| 97色插| 亚洲第一页欧美| 不卡一区视频| 91女日逼| 粉嫩av在线| 日本一道在线播放高清| 综合国产影视三级| 无码操逼网| 一级黄色视频网| 色狠人在线99| 夜夜 中文视频rt| 中文字幕午夜精品久久久| 人妻无码视频一区二区三区久久| 大香蕉日亚洲日本亚大| 99热自拍| 青青草九九九九九| 国产在线不卡导航| 青青草十区九区爱夜| 97人亚洲综合字幕| 99亚亚热| 怡红院一区二区熟女人妻| 婷婷去俺也去六月色| 国产色呦呦| www99热| 精品国产自在在线99| www.色婷婷.com| 亚洲国产精品久久久久婷婷青年| 日韩av色图综合| 国产情色第一第二页在线观看| yazhouzaixian| 青青草好吊色| www.99色| 乱伦1色页| 亚洲第一综合| 亚洲AV无码久久精品蜜桃小说| 亚洲女人毛茸茸91| 又粗又长又大国产不卡| 91成人久久| 91 亚洲 欧洲| 玖玖超碰熟| 日日骚中文字幕| 欧美亚洲色图另类国产| 亚洲熟女中文字幕在线| 亚洲色图a| 超碰97人人乐| 国产强奸乱伦xd| 超碰人人干| 色婷婷婷五月天激情四射| 91高清日| 蜜乳视频网站| 亚洲欧美激情另类色图| 欲女人妻性色av| 99精品国产户外露出| 性爱乱伦一区| 亚洲天堂人人妻| 久久精品黄色| 色色色999| 蜜桃视频一区二区三区| 人妻丝袜二区| 无码乱人伦中文视频| 99青草| 中文字幕av片| 久久男人精品| 欧美亚洲第1页| 中国特猛少妇色xxx| 国产精品久久久久中文字幕| 欧美一区二区三区大综合| 啊啊啊啊免费视频| 九色婷婷| 欧美日本不卡| 看黄片视频免费| 中文字幕精品人妻丝袜| 中文字幕一区av| 亚洲一区制服诱惑| 亚洲国产尤物yw在线观看| 嗯阿好爽好紧| 欧美亚洲情色| 青青草九九九九九| 国产熟女无套内射| 69人妻精品一区二区绯色| 乱色老一区二区三区的观看方式| 日本精品网站在线中文| 亚洲欧美九九| 蜜臀99久久| 欧美嫩性色| 91人人| 五月丁香啪啪啪| 9 1果冻精品视频| 日本三级R| 色综九九九一区| 国产CHASE男男GAYGA 毛多色婷婷| 99热8| 日本性爱网址| 加勒比久久av| 精品一二三区久久AAA片| 搡老女人老91妇女熟女| 一级啊性爱在线视频| 色欧洲97| 亚洲精品国产熟女| 久久妇| 国产精品自在自拍视频| 99热日| 伊人色综合网电影| 91热| 素人播放一区| 黄片免费日韩| 蜜桃久久久久久久久久久久| 狠狠色狠狠色狠狠五月| 欧美极品少妇| 337p大胆噜噜噜噜噜91Av| 欧洲精品二区| 欧洲中文字幕| 国产AV毛片| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 污污污8888| 91人妻做a观看视频| 97 国产精品| 欧美日不卡| 日韩 国产 欧美自拍| 在线视频一区二区传媒| 日本操逼视频导航| 丁香啪啪| 国产综合日韩伦理| 亚洲日产专区婷婷| 五月花婷婷| 26uuu国产亚洲综合| 青草园大香蕉| 久操99| 日韩三级伦理中文字幕| 亚熟hd视频在线| 国产超碰在线| 再深点灬舒服灬太大了添视频| 中文字幕一二三av| 超碰97在线 欧美 国产| 在线观看国产黄色| 欧美日韩国产成人高清| 97伦乱| 强奸少妇AV导航网| 在线精品福利免费播放| 少妇久久久久久| 国产99999久久精品| 亚洲 日本 一 二 三| 欧美午夜视频免费观看| 4虎在线观看| 久草男人天堂| 亚洲熟妇乱女区二区三区| 国产精品久久久久久久AV大片| 美国久久一二三四| 99热| 国产1769在线| 91老司机在线| 日韩欧美丝袜诱惑| 综合熟女| 可以免费观看的日韩av毛片| 亚欧高清| 亚洲成成熟女人综合一区二区| 一本大道综合伊人精品热热| 国产一区二区三区精品观看啪| 强奸乱伦大香蕉网| 久久久久久久国产| 欧美日韩国产另类综合| 综合亚洲欧美| 蜜桃臀一区二区三区久久| 亚熟在线| 欧美亚洲丝袜人妻制服99| 中文字幕亚洲热播人妻| 国产强奸AV在线| 中文子幕一二三| 亚洲吊色| 开心五月天激情网| 日韩操人| 日韩人成网站在线播放| 国产又色又粗又黄又爽| 日本视频在线中文字幕| 丝袜 中出 制服 人妻 美腿 中文字幕| 综合97亚洲| 天天干天天日天天射黄色片| 91亚·色| 亚洲va综合va国产va中文| 欧美性爱伊人| 亚洲日韩美女中文字幕乱| 欧美日韩国产另类综合| 日韩精品中文字幕人妻| 日韩无码服务区| 亚洲青青草| 妇女视频网站| 男人天堂久久日韩| 五月丁香亭亭| 9久超碰| 免费黄色A片| 色色色天美视频| 欧美的性爱网站免费| 精品人妻视频入口| 翔田千里Av在线| 欧洲欧美视频一区二区| 色欲三区| 亚洲一区二区三区中文字幕| ji熟女.com| 亚洲欧美综合区自拍另类| 久久国产乱子伦精品免费女人| 肏逼视频日本| 99热在线观看| 老熟女91视频| 久久久久久网址| 免费A片三p视频| 久久久久久久伊人精品| 国产不卡免费在线视频| 亚洲女毛多水多21P| 日本三级R| 丁香婷婷啪啪| 色嘟嘟人妻天堂网| 操b网站亚洲无码| 亚洲性综合| 97精品一区| 欧美色图第一页| 亚洲自拍偷拍视频在线| 操www| 1禁看欧美黄片免费看| 欧美中出1| 99无码| 亚洲色欲一区二区三区| 色眯眯射| 久久 久久国内精品亚洲| 熟女高潮合集-永久久久-成人AV| 国产风韵犹存熟妇三区| 夜夜欧美 | 91精品无码人妻系列| www.99视频| 婷婷五月天小说| 久久、1234| 北京美女一区二区| AV色女综合| 亚洲AV麻豆Aⅴ无码电影一| 欧美黄色片在线播放| 欧美日韩操逼动图| 久久久精品视频免费观看| 首页亚洲国产高跟丝袜诱惑视频 | 家庭乱伦国产精品| 欧美亚洲另类在线蜜桃| 男人天堂一区二区| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV| 伊人久久亚洲色欲综合网站 | 欧美日韩不卡a片| 欧洲色色| 青青草玖玖爱| 大JI巴好深好爽又大又粗视频| 探花精品 一区二区| 久操凹凸视频| 97精彩视频网站| 国产外初女出血视频| 久久专区| 国产伦精品一区二区三区在线观 | 欧美午夜视频精品久久| 日韩pv中文| 热久日综合| 久久9久| av片在线观看免费播放| 男生女生啊啊啊啊| 国产精品国产精品国产| 999国产精品999| 啊啊好多水| 超碰91在线| 综合自拍| 中文字幕人乱码中文字的预防方法 | 色99视频| 91麻豆一二三区| 夜草网站| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 亚洲综合情色| 国产高清视频无码在线| 欧美日不卡| 91青青| 国产 亚洲 丝袜 制服| 亚洲第一页欧美| 丁香九月婷婷| 综合婷婷| 午夜操一视频一区| 中文字幕精品资源在线| 97精品久久久久中文字幕| 国产福利电影| 人妻夜夜爽天天爽麻豆三区网站| 欧美综合色,www| 色官网在线| 加勒比性爱成人在线| 超碰成人公开| 九九九九九九视频| 18禁中文字幕| 97视频900| 久久无码成人| 亚洲天堂日本| 啪啪免费| 少妇69中文| 成人26uuu| 97人人爱人人做人人乐| 熟妇综合一区二区三区| 色呦呦、国产精品| 精品丝袜无码一区二区三APP| 日韩午夜国产| 黄色欧美性爱视频| 亚91网| 亚洲天堂另类美腿| 伊人一区二区在线播放| 啊啊啊啊啊啊啊网址在线观看| 久热香蕉精品在线视频| 欧美午夜熟妇黑人精品91| 情色AV电影| 久久精品 六十路 熟女 欧美| 淮穴色AV| av日韩手机在线影视| 亚洲情色在线| 久久久久九九九| 婷婷丁香人妻 | 五月丁香网站| 日本高清免费一本视频在线观看| 色噜噜人妻丝袜AV资源| 在线人人人人人人精品超| 欧美性夜| 丰满少妇高潮无码| 国产激情av女片自拍| 超碰在线91| 亚洲限制级| 日韩午夜啪啪视频| 翔田千里无码一区| 深爱伊人影院| 国产亚卅97| 狠狠爱综合| 欧美十八禁视频| 亚洲精品蜜桃久久久| 嗯嗯嗯啊啊啊操的我好爽 | 婷婷色色五月天福利| 99久久9| 9久久精品| 亚洲国产精品成人综合| 另类欧美| 久久久久久久久久久人妻| 中字幕人妻一区二区三区| 久久久啊啊啊| 蜜桃一区二区三区| 青青草日逼视频| 5月婷婷6月六月丁香| 1769一区| 一区二区视频在看| 久久精品高清无码一区| sss视频华人在线| 亚洲欧美经典一区二区| 久久久久久人妻一区精品色欧美| 精品玖九九久| 超碰97欧美日韩| 尤物av网站| 99婷婷| 国产一区二区欧美日本| 免费观看网黄| 女人精品内射国产99| 国产熟码AV| 97精选久久| 久久久婷| 91黑丝少妇| 色99色| 欧美疯狂做爰xxxx| 欧美日韩精品一区二区三区高清| 日本成a人v网站在线观看| 午夜福利合集| 在线 欧美 亚洲| 国产乱码久久久久久| 久久偷拍人| 九九精品美女高溯喷水| 加勒比无码一区二区三区| 性色av婷婷久久一区二区点复制| 亚洲 欧美 偷拍 唯美| 91丨国产丨白浆秘 洗澡动漫| 麻豆 美女 丝袜 人妻 中文| 亚洲中文字幕一区| 蜜桃精品一区二区三区久在线| 高跟伊人julia ann| 第四色色综合91| 日韩欧美成人大香蕉| 野狼激情网| www.夜夜| 久久五月综合| 九九伊人网| 色婷婷丁香五月天| 超碰在线91| 婷婷久草一区二区三区| 蜜桃成人1区2区3区| 亚洲高潮少妇| 亚州伊人色综台| 超碰超碰欧美| 亚洲中文字幕有码视频一区二区三区| 艳美熟妇先锋一二三区| 91xingse| 日韩AV中文字幕电影| 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | 亚洲激情久久久伊人综合| 欧美性色欧美| 精品人妻一区二区三区在线视频不卡| 成人小电影网站tex| 97综合国产| 97色97干| 韩日色费| 91c色| 极品色www影院| 国产亚洲在线| 人人爽天天爽| 97超碰亚洲| 色偷偷人人玩人人舔人人操人人摸人人爽 | 日韩另类色图| 少妇同性| 欧美性综合| 蜜臀久久99精品久久久久久成人小说| 亚洲图片91| 激情小说图片亚洲首页| 精品高清一区二区三区三州| 秋霞无码av鲁丝片一区| 日本一级黄色电影| www四虎| 嗯嗯啊好大| 亚洲情色 自拍| 久久一二三四| 欧美αv.com| 亚洲操操| 男人天堂日日夜夜| 欧美综合自拍亚洲综合图| 国产精品在线免费| 欧美亚洲素人制服精品| 抽插无码高清一区| 久都青青视频| 欧洲精品欧洲精品| 少妇一区二区三区| 91快色色色色色| 素人播放一区| 久操视频免费观看| 夜夜性| 日韩av不卡在线看| 狠狠穞A片一區二區三區| 粘花网06av视频| 欧美综合网站999| 亚洲本色精品一区二区久久| 韩国成人精品久久久免费看| 五月婷婷色色| 天天综合网入口~91| 欧亚 另类 久| 岛国福利在线精品播放| 人人扣人人操| 麻豆一区在线| 中文字幕在线观| 久久亚洲精品成人av| 操死我干死我| 蜜臀AV一区二区三区| 操逼视频色| 亚洲色吧网| KK色在线影院| a一区二区三区乱码在线| 情侣开房子拍 日韩无码 女的很漂亮| 丝袜美女诱惑 91 视频| 天天激清| 久久怡红院| 啊啊啊啊好疼视频| 一个色导综合| 亚洲日韩一区电影| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 国产东北女人在线视频| 亚洲 中文 女同| 亚洲高潮影院| 国产欧美岛国精品一区| 亚洲精品天天影视综合网 | 无码精品一区二区三区潘金莲| 久热色情精品| 九九热三级片| 一级免费啪啪片| 日日日色色色色色| 吖在线不卡一区二区国产剧情| 国产精品一区人妻精品阁在线| 伊人视频| 中文字幕一区电影在线观看| 91+欧美| 亚洲图片欧美色| 欧美日韩999| 夜夜骑日日| ?亚洲伊人伊成久久人综合网| 伊人青青草久久| a片在线播放| 素人美腿视频网站| 亚洲色图 欧美| 99激情| 欧美日韩欧美| 五月综合久久| 伊人97| 亚洲中文字幕网| 国产嫩草精品A88AV| 天天色综亚洲91污| 精久久久| 粉嫩av在线一区二区| 欧美天天在线| 亚洲成A∨人影院在线欢看| 亚洲鸥美色图| 国产91精品福利在线| 男人把坤坤插入女人的下体| 国产日产精品久久快鸭的功能介绍| 天堂国产AV| 亚洲精品性爱片| 五月开心久久AV官网| 美女极品一区二区三区| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 欧美日韩亚洲一区二区在线观看| 日日夜夜草草草| 欧美不卡二区| 97欧美色| 亚洲欧洲另类| 欧美人体性爱互联网第一页婷婷日本| 国产免费大片| 国产一区二区三区免费视频在性观看 | aⅴ日韩成人电影av在线免费看av大全| 天天草AV| 中文字幕成人| 97香蕉网| 亚洲Av噜噜一区二区三区妖精| 久久男人精品| 午夜福利一区二区三区四区五区色婷婷| 岛国精品视频在线观看| 97在线免费视频观看| 超碰激情808| 啪啪资源网| 婷婷性网| 国产久久一区二区三区野外在线| 嫩呦国产一区二区三区AV| 亚欧洲一区二区视频| 色99视频| 日韩激情无码影院| 午夜AV污污污| 精品视频久久久久九九九九9999| 国产成年女黄特黄| 夜精品久无码| 久热久| 强奸乱伦AV一天堂网| 青青伊人加勒比海| 久热9| 操啊国产| 亚洲在线观看| 91色图片| 不卡免费av在线播放| 99re免费| 校园春色欧美| 96AV精品| 国产浮力影院第1页| 97干97色| 超碰到97情色| 91九久| 亚洲砖码砖专无区2023| 97干色| 九9精品| 青青草久久一区网| 91一起操| 国产精品熟女九色九色蜜臀| 97久操| 制服少妇欧美| 五月天开心网| 极品美女福利在线观看| 97超碰碰| 国产人妻久久精品一区二区三区| 丝袜性亚洲| 99无码视频| 日逼国产| 国产精品视频自拍在线| 亚洲男人的天堂va亚洲男人社| 欧美国产有色电影| 后X久久| 成人国产精品三级A片| 日韩乱伦AⅤ| 天天日天天操天天射河南省| 亚洲在线A| 亚洲欧美日韩电影网站一区| 色999人与兽| 91超级碰碰碰| 91精品无码人妻系列| 日韩成人在线性爱视频| 色网色网色网色网色网色| 亚州五月| 欧洲亚洲人人爽爽视频| 超碰97色色| yirendaxiangjiashipin| 综合熟女| 色综合久久久久| 人人操人人大香蕉| 国产精品无码av嫩草| 中文字幕黄片在线| 蜜臀一区二区三区在线| 2017天天插| 91高清欧美| 久热这里| 麻豆一区二区三区在线看 | 欧洲亚洲天堂精品| 好看的91视频| 欧美综合第一| 国产性感骚丝袜在线| 久久精品人体AV| 久久精品国产精品亚洲艾通辽熟妇 | 欧美天天射| 清纯唯美亚洲综合| 少妇精品| 久草这里只有精品| 亚洲欧美清纯| 午夜精品久久99蜜桃的功能章节| 亚洲欧美在线丝袜| 熟妇熟女一区二区三区| 天天干18禁| 亚洲日韩天堂| 亚洲情色欧美| 搡老熟女免费视频| 乱性AV| 人妻干天天| 国产日韩精品人妻久久久久色欲网站| 欧美成熟性爱精品| 先锋影音av先锋一区| 亚洲精品国产无码高清| 熟女乱伦A| 少妇高潮对白在线观看| 日本高清一区二区在线| 五月天综合网| 麻豆一区二区三区在线看 | 五月天伊人| 亚洲第一色页夜| 97频视在线| 不卡六六在线91| 殴美色网| 欧美亚洲91| 亚洲码在线中文在线观看| 日韩欧美亚欧在线视频| 中国AV美女| 亚洲最新中文字幕免费| 操逼网免费无码视频| 99热在线播放| 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | 欧美日韩另类在线| 国产精品制服丝袜清纯唯美| 欧美日韩性爱视屏免费看了| 激情丁香五月婷婷| 青青草在线视频人人想人人上| 蜜奶av| 久久同城AV| 干B网| 亚洲国产精品无码AV久久久| 大黄片做爱的大的| 柠檬AV导航| 人妻出轨一区二区三区| 蜜臀无码一区二区| se..亚洲欧美| 欧美日韩日产免费网站看| 亚洲第一在线视频| 国产久久久9999| 9.1小视频| 亚洲欧美一区二区网址|