99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

AI Agent記憶系統(tǒng):數(shù)據(jù)分支設(shè)計(jì)原理與最小實(shí)現(xiàn)

AI Agent記憶系統(tǒng):數(shù)據(jù)分支設(shè)計(jì)原理與最小實(shí)現(xiàn) AI Agent 在執(zhí)行復(fù)雜任務(wù)時(shí)真正限制它表現(xiàn)的往往不是單個(gè)模型的能力而是它能不能記住上下文、能不能在關(guān)鍵節(jié)點(diǎn)調(diào)出正確信息。oGMemory 記憶系統(tǒng)要解決的正是 Agent 跨會(huì)話、跨任務(wù)的記憶組織問(wèn)題而數(shù)據(jù)分支又是決定記憶系統(tǒng)能不能“用起來(lái)”的關(guān)鍵設(shè)計(jì)。這一期分集把視線聚焦在記憶系統(tǒng)與數(shù)據(jù)分支上先講清楚數(shù)據(jù)分支為什么存在再給出一套可以落地的最小實(shí)現(xiàn)。很多項(xiàng)目在最初接入記憶能力時(shí)通常的做法是“對(duì)話結(jié)束后把文本塞進(jìn)向量庫(kù)下次檢索再查出來(lái)”。這個(gè)思路在 Demo 階段可行但一旦進(jìn)入真實(shí)業(yè)務(wù)就會(huì)出現(xiàn)一個(gè)典型問(wèn)題所有記憶混在一起用戶偏好、任務(wù)記錄、知識(shí)沉淀、短期上下文全部堆在同一個(gè)集合里。寫(xiě)入越久檢索噪聲越大Agent 越來(lái)越難分辨哪條信息是當(dāng)前任務(wù)該用的。數(shù)據(jù)分支的作用就是按業(yè)務(wù)維度把這些記憶拆開(kāi)讓寫(xiě)入有明確歸屬讓檢索有明確范圍。1. 記憶系統(tǒng)到底在解決什么問(wèn)題1.1 沒(méi)有記憶的 Agent 為什么不夠用沒(méi)有記憶系統(tǒng)的 Agent本質(zhì)上是一個(gè)“每次對(duì)話都從零開(kāi)始”的狀態(tài)機(jī)。模型本身?yè)碛杏?xùn)練階段沉淀的靜態(tài)知識(shí)但它不知道用戶上一次問(wèn)過(guò)什么、當(dāng)前任務(wù)做到哪一步、用戶偏好哪種回答風(fēng)格。對(duì)于一次性的問(wèn)答場(chǎng)景這沒(méi)有問(wèn)題但對(duì)于需要連續(xù)執(zhí)行多步任務(wù)、跨天維護(hù)用戶關(guān)系、持續(xù)沉淀團(tuán)隊(duì)知識(shí)的場(chǎng)景缺記憶就意味著每次都要用戶重新交代背景。oGMemory 這類記憶系統(tǒng)的核心目標(biāo)是給 Agent 增加一個(gè)可持續(xù)讀寫(xiě)的外部狀態(tài)層。模型本身不可變但記憶數(shù)據(jù)可以隨時(shí)間、任務(wù)、用戶不斷更新。Agent 在執(zhí)行任務(wù)前先讀取記憶執(zhí)行過(guò)程中寫(xiě)入新記憶任務(wù)結(jié)束后再整理歸檔這樣它就能形成“越用越懂當(dāng)前場(chǎng)景”的能力。需要注意的是記憶不是簡(jiǎn)單地等于聊天記錄。聊天記錄是原始素材記憶系統(tǒng)要把素材加工成結(jié)構(gòu)化的、可檢索的、能按需過(guò)濾的數(shù)據(jù)。這個(gè)加工過(guò)程包括抽取主題、過(guò)濾噪聲、判定重要性、設(shè)置生命周期、分配數(shù)據(jù)分支。1.2 “能存下來(lái)”和“會(huì)用”之間的差距只把文本存進(jìn)數(shù)據(jù)庫(kù)并不是記憶系統(tǒng)。真正的記憶系統(tǒng)要處理四個(gè)連續(xù)問(wèn)題第一什么值得記。不是每一句對(duì)話都值得寫(xiě)入長(zhǎng)期記憶。寒暄、臨時(shí)計(jì)算過(guò)程、重復(fù)確認(rèn)信息都應(yīng)該被過(guò)濾掉。真正值得記的是用戶偏好、事實(shí)結(jié)論、任務(wù)狀態(tài)、關(guān)鍵約束。第二記到哪里去。這個(gè)問(wèn)題就是數(shù)據(jù)分支要解決的。不同性質(zhì)的記憶需要不同的存儲(chǔ)策略比如短期會(huì)話上下文可以放在快速緩存中用戶長(zhǎng)期偏好需要進(jìn)入穩(wěn)定的關(guān)系型存儲(chǔ)或向量庫(kù)而任務(wù)執(zhí)行記錄可能需要按項(xiàng)目維度隔離。第三如何被找到。寫(xiě)入時(shí)可讀不等于檢索時(shí)可命中。檢索環(huán)節(jié)要處理相似度計(jì)算、過(guò)濾條件、排序策略、時(shí)效衰減。如果沒(méi)有分支約束檢索時(shí)會(huì)把不相關(guān)的記憶也召回導(dǎo)致上下文被污染。第四什么時(shí)候被更新或遺忘。記憶不能只增不減。當(dāng)用戶明確改變偏好、任務(wù)狀態(tài)發(fā)生流轉(zhuǎn)、數(shù)據(jù)超過(guò)保留期限時(shí)系統(tǒng)要具備更新、合并、降級(jí)、刪除能力。這四個(gè)問(wèn)題里存儲(chǔ)和檢索最容易理解但也最容易被低估。很多時(shí)候項(xiàng)目跑不起來(lái)不是因?yàn)槟P筒恍卸且驗(yàn)橛洃洈?shù)據(jù)沒(méi)有組織好導(dǎo)致 Agent 讀到了錯(cuò)誤的歷史信息。1.3 oGMemory 在其中的定位從命名和常見(jiàn)記憶系統(tǒng)設(shè)計(jì)來(lái)看oGMemory 可以理解為一條獨(dú)立的記憶數(shù)據(jù)鏈路重點(diǎn)解決 Agent 記憶的組織、存儲(chǔ)、檢索和生命周期管理。和直接在業(yè)務(wù)代碼里零散調(diào)用向量庫(kù)不同oGMemory 這類設(shè)計(jì)會(huì)把記憶系統(tǒng)抽象成獨(dú)立服務(wù)對(duì)外提供寫(xiě)入、查詢、更新、遺忘等接口讓上層 Agent 業(yè)務(wù)只關(guān)心記憶內(nèi)容不關(guān)心底層存儲(chǔ)細(xì)節(jié)。本文作為分集解讀的第一篇聚焦在數(shù)據(jù)分支這一層不展開(kāi)討論底層模型、檢索算法、遺忘機(jī)制的全部細(xì)節(jié)。讀完這一篇你能完成三件事理解記憶系統(tǒng)的整體分層掌握數(shù)據(jù)分支的劃分思路用一套最小代碼跑通“寫(xiě)入分支、按分支查詢、分支歸檔”的完整流程。2. 搭建最小記憶系統(tǒng)需要先確認(rèn)的核心組件2.1 記憶系統(tǒng)的五層結(jié)構(gòu)一個(gè)可工作的記憶系統(tǒng)通常包含五層感知層、編碼層、存儲(chǔ)層、檢索層、遺忘與合并層。數(shù)據(jù)分支主要落在存儲(chǔ)層和檢索層之間但每一層都會(huì)影響分支設(shè)計(jì)。感知層負(fù)責(zé)識(shí)別什么信息值得寫(xiě)入記憶。它可能是對(duì)話中斷言抽取、任務(wù)狀態(tài)識(shí)別、用戶行為事件接收。感知層的輸出是“一條候選記憶”這部分通常要依賴 LLM 或規(guī)則引擎完成。編碼層負(fù)責(zé)把文本轉(zhuǎn)換成可以檢索的形態(tài)。最常見(jiàn)的方式是文本向量化同時(shí)保留原文和結(jié)構(gòu)化字段。編碼層還要生成主題標(biāo)簽、時(shí)間戳、重要程度、來(lái)源標(biāo)識(shí)等元數(shù)據(jù)。存儲(chǔ)層負(fù)責(zé)持久化。向量數(shù)據(jù)進(jìn)入向量庫(kù)結(jié)構(gòu)化字段進(jìn)入關(guān)系型數(shù)據(jù)庫(kù)原始內(nèi)容可能需要對(duì)象存儲(chǔ)。數(shù)據(jù)分支在這一層體現(xiàn)為不同的集合、表或分片。檢索層負(fù)責(zé)把用戶當(dāng)前的問(wèn)題轉(zhuǎn)換成查詢條件從正確的分支中召回記憶。檢索不是只做語(yǔ)義相似度還需要結(jié)合時(shí)間范圍、用戶身份、分支類型、權(quán)限范圍等條件。遺忘與合并層負(fù)責(zé)控制記憶生命周期。它解決記憶過(guò)期、沖突覆蓋、重復(fù)合并、降級(jí)歸檔等問(wèn)題。沒(méi)有這一層記憶數(shù)據(jù)會(huì)無(wú)限膨脹檢索質(zhì)量會(huì)持續(xù)下降。2.2 組件選型和環(huán)境準(zhǔn)備記憶系統(tǒng)的選型不存在一套通用標(biāo)準(zhǔn)答案但通常會(huì)涉及以下幾類組件組件職責(zé)常見(jiàn)選型參考LLM文本理解、信息抽取、摘要生成業(yè)務(wù)現(xiàn)有的大模型服務(wù)Embedding 服務(wù)將文本轉(zhuǎn)換為向量本地嵌入模型接口或平臺(tái)嵌入服務(wù)向量庫(kù)存放向量數(shù)據(jù)支持語(yǔ)義檢索輕量可用 Chroma、生產(chǎn)環(huán)境可用 Milvus 等關(guān)系型數(shù)據(jù)庫(kù)存放記憶記錄、分支元數(shù)據(jù)、狀態(tài)SQLite 適合本地驗(yàn)證生產(chǎn)可用 PostgreSQL 等緩存存儲(chǔ)高頻訪問(wèn)的短期記憶Redis 等定時(shí)任務(wù)執(zhí)行歸檔、合并、遺忘清理APScheduler、Celery Beat 或云廠商定時(shí)任務(wù)這里要特別說(shuō)明本文的示例代碼為了保持最小可運(yùn)行使用 SQLite 存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù)向量部分用一個(gè)本地 Python 列表和一個(gè)模擬的 embedding 函數(shù)代替。這樣做的目的是先把數(shù)據(jù)分支邏輯講清楚。真實(shí)項(xiàng)目接入時(shí)把 embedding 函數(shù)替換成內(nèi)部嵌入服務(wù)把向量列表遷移到向量庫(kù)即可。2.3 環(huán)境準(zhǔn)備清單在開(kāi)始寫(xiě)代碼之前先確認(rèn)本機(jī)環(huán)境滿足以下條件Python 3.10 或更高版本已安裝 FastAPI 和 uvicorn已安裝 SQLite3 驅(qū)動(dòng)Python 自帶的 sqlite3 就夠用已安裝 pandas 或直接使用 Python 標(biāo)準(zhǔn)庫(kù)處理數(shù)據(jù)一個(gè)可用的 embedding 函數(shù)開(kāi)發(fā)階段可以用隨機(jī)向量模擬但驗(yàn)證階段建議接入真實(shí)嵌入服務(wù)如果原始項(xiàng)目沒(méi)有明確版本落地前務(wù)必先確認(rèn)依賴版本和 Python 版本兼容性。這里給出一個(gè) requirements 示例fastapi0.110.0 uvicorn0.29.0 pydantic2.6.0 numpy1.26.4 apscheduler3.10.4注意版本號(hào)只是參考。實(shí)際項(xiàng)目如果使用已有依賴鎖文件以倉(cāng)庫(kù)中的版本為準(zhǔn)不要直接復(fù)制最新版本號(hào)到生產(chǎn)環(huán)境。3. 數(shù)據(jù)分支是什么為什么記憶系統(tǒng)離不開(kāi)它3.1 數(shù)據(jù)分支的定義數(shù)據(jù)分支是指按照某種業(yè)務(wù)維度把記憶數(shù)據(jù)劃分成不同的邏輯通道。每個(gè)通道擁有獨(dú)立的寫(xiě)入規(guī)則、存儲(chǔ)位置、檢索范圍和生命周期策略??梢园褦?shù)據(jù)分支理解成“記憶的分類目錄”。沒(méi)有分類目錄時(shí)所有記憶是一條無(wú)序的長(zhǎng)河有了分類目錄后寫(xiě)入時(shí)先判斷這條記憶屬于哪個(gè)分類檢索時(shí)只從對(duì)應(yīng)分類中查找效率和準(zhǔn)確率都會(huì)明顯提升。在 oGMemory 這類 Agent 記憶系統(tǒng)中分支不是一個(gè)可有可無(wú)的優(yōu)化項(xiàng)而是決定記憶能否被正確使用的關(guān)鍵設(shè)計(jì)。原因是 Agent 的記憶數(shù)據(jù)天然帶有強(qiáng)烈的“上下文依賴”特征。用戶說(shuō)“我喜歡簡(jiǎn)潔的回答”這是一條偏好記憶用戶說(shuō)“項(xiàng)目 A 的數(shù)據(jù)庫(kù)連接串已經(jīng)改好了”這是一條任務(wù)事件記憶用戶說(shuō)“本周五要上線”這是一條計(jì)劃記憶。這三者的使用場(chǎng)景完全不同混在一起存儲(chǔ)檢索時(shí)很難一次性命中正確信息。3.2 常見(jiàn)分支維度實(shí)際項(xiàng)目中記憶系統(tǒng)通常不會(huì)只使用一個(gè)分支維度而是幾個(gè)維度組合使用。常用維度包括分支維度說(shuō)明示例按時(shí)間區(qū)分短期上下文、中期工作記憶、長(zhǎng)期沉淀short_term、mid_term、long_term按來(lái)源區(qū)分用戶提供、Agent 推導(dǎo)、系統(tǒng)事件、外部知識(shí)user、agent、system、knowledge按類型區(qū)分事實(shí)、偏好、事件、技能、約束fact、preference、event、skill、constraint按業(yè)務(wù)域區(qū)分不同項(xiàng)目、不同知識(shí)庫(kù)、不同團(tuán)隊(duì)project_a、project_b、wiki_base按生命周期區(qū)分活躍、候選歸檔、已過(guò)期、廢棄active、archived、expired、trashed分支維度的選擇不是越多越好。每增加一個(gè)維度寫(xiě)入時(shí)的路由判斷就更復(fù)雜檢索時(shí)的過(guò)濾條件也更多運(yùn)維成本會(huì)指數(shù)上升。多數(shù)中小型記憶系統(tǒng)從“來(lái)源 類型 時(shí)間”三個(gè)維度起步就足夠之后根據(jù)真實(shí)檢索效果再細(xì)化。3.3 數(shù)據(jù)分支與分庫(kù)分表的區(qū)別數(shù)據(jù)分支容易被誤解成“分庫(kù)分表”但它們解決的問(wèn)題不同。分庫(kù)分表解決的是存儲(chǔ)容量和寫(xiě)入性能問(wèn)題。當(dāng)單表數(shù)據(jù)量達(dá)到千萬(wàn)級(jí)索引失效、寫(xiě)入變慢這時(shí)需要把數(shù)據(jù)按照哈?;蚍秶稚⒌蕉鄠€(gè)物理存儲(chǔ)中。分庫(kù)分表是物理層的伸縮方案對(duì)業(yè)務(wù)透明上層 SQL 大多數(shù)情況下不應(yīng)該感知到分片邏輯。數(shù)據(jù)分支解決的是語(yǔ)義隔離和檢索范圍問(wèn)題。它強(qiáng)調(diào)“哪些記憶屬于哪個(gè)業(yè)務(wù)范圍”是邏輯層的分類設(shè)計(jì)。即使數(shù)據(jù)量很小也需要做數(shù)據(jù)分支否則 Agent 會(huì)在兩三百條記憶里被噪聲干擾。兩者可以疊加使用。先按業(yè)務(wù)維度做數(shù)據(jù)分支再在數(shù)據(jù)量增長(zhǎng)后按哈希規(guī)則分片是常見(jiàn)的生產(chǎn)架構(gòu)。實(shí)現(xiàn)時(shí)要注意分支規(guī)則代碼和分片路由代碼不要混在同一個(gè)函數(shù)里否則排查問(wèn)題時(shí)很難定位。4. 用 Python 實(shí)現(xiàn)一個(gè)帶數(shù)據(jù)分支的最小記憶服務(wù)4.1 項(xiàng)目結(jié)構(gòu)下面這個(gè)項(xiàng)目結(jié)構(gòu)適用于本地驗(yàn)證和最小 Demoogmemory_demo/ ├── app.py # FastAPI 入口 ├── memory_core.py # 記憶寫(xiě)入、檢索、路由核心邏輯 ├── storage.py # SQLite 初始化與數(shù)據(jù)訪問(wèn) ├── branch_rules.py # 分支路由規(guī)則 ├── models.py # Pydantic 數(shù)據(jù)模型 ├── requirements.txt # 依賴清單 └── data/ └── memory.db # SQLite 數(shù)據(jù)庫(kù)文件這個(gè)結(jié)構(gòu)把路由規(guī)則、存儲(chǔ)訪問(wèn)、核心邏輯分開(kāi)目的是讓每個(gè)模塊職責(zé)單一。后續(xù)如果要替換向量庫(kù)只需改動(dòng) storage.py 和 memory_core.py 中的向量相關(guān)部分分支規(guī)則不需要?jiǎng)印?.2 數(shù)據(jù)模型設(shè)計(jì)記憶系統(tǒng)的核心表是 memory_record 表。它既保存原始文本也保存結(jié)構(gòu)化元數(shù)據(jù)同時(shí)通過(guò) memory_embedding 表關(guān)聯(lián)向量數(shù)據(jù)。CREATE TABLE IF NOT EXISTS memory_record ( memory_id TEXT PRIMARY KEY, user_id TEXT NOT NULL, branch_type TEXT NOT NULL, memory_type TEXT NOT NULL, source TEXT NOT NULL, content TEXT NOT NULL, importance REAL DEFAULT 0.5, status TEXT DEFAULT active, merged_from TEXT, created_at TEXT NOT NULL, updated_at TEXT NOT NULL, expire_at TEXT ); CREATE TABLE IF NOT EXISTS memory_embedding ( memory_id TEXT PRIMARY KEY, vector TEXT NOT NULL, model_name TEXT, updated_at TEXT NOT NULL ); CREATE INDEX IF NOT EXISTS idx_memory_branch ON memory_record(user_id, branch_type, status);字段含義說(shuō)明字段含義memory_id記憶唯一標(biāo)識(shí)建議用 UUIDuser_id記憶歸屬用戶多用戶場(chǎng)景必須隔離branch_type數(shù)據(jù)分支例如 user_preference、task_eventmemory_type記憶類型例如 fact、preference、eventsource來(lái)源例如 user、agent、systemcontent記憶原始內(nèi)容importance重要程度0 到 1影響后續(xù)遺忘優(yōu)先級(jí)status狀態(tài)active、archived、expired、trashedmerged_from如果該記錄由多條記憶合并而來(lái)記錄來(lái)源 IDcreated_at / updated_at時(shí)間字段統(tǒng)一使用 UTC ISO 格式expire_at過(guò)期時(shí)間過(guò)期后進(jìn)入遺忘候選這里要注意時(shí)間字段統(tǒng)一使用 UTC不要使用本地時(shí)間。否則跨時(shí)區(qū)部署時(shí)分支按時(shí)間歸檔會(huì)出現(xiàn)錯(cuò)位問(wèn)題。4.3 寫(xiě)入流程中的分支路由記憶寫(xiě)入時(shí)系統(tǒng)先判斷這條記憶應(yīng)該進(jìn)入哪個(gè)分支再執(zhí)行存儲(chǔ)。分支路由不只是一個(gè)字段賦值它可能影響后續(xù)的索引、召回策略和過(guò)期策略。下面是一個(gè)分支路由規(guī)則示例# branch_rules.py def route_branch(source: str, memory_type: str, content: str) - str: if source user and memory_type preference: return user_preference if memory_type event: return task_event if memory_type fact and len(content) 50: return long_term_knowledge if memory_type fact: return short_term_fact return general_memory這個(gè)示例展示了最基礎(chǔ)的關(guān)鍵詞維度路由。更復(fù)雜的項(xiàng)目可以使用 LLM 抽取結(jié)果來(lái)決定分支。比如先讓模型輸出{ source: user, memory_type: preference, importance: 0.9 }再交給路由函數(shù)判斷。寫(xiě)入核心邏輯import uuid from datetime import datetime, timedelta, timezone def write_memory(user_id, source, memory_type, content, importance0.5): branch route_branch(source, memory_type, content) memory_id str(uuid.uuid4()) now datetime.now(timezone.utc) expire_at now timedelta(days30) if branch in (user_preference, long_term_knowledge): expire_at now timedelta(days365) record { memory_id: memory_id, user_id: user_id, branch_type: branch, memory_type: memory_type, source: source, content: content, importance: importance, status: active, created_at: now.isoformat(), updated_at: now.isoformat(), expire_at: expire_at.isoformat() } save_memory_record(record) vector get_embedding(content) save_memory_embedding(memory_id, vector) return record值得關(guān)注的是route_branch這個(gè)函數(shù)。它是數(shù)據(jù)分支的唯一決策點(diǎn)所有記憶寫(xiě)入都必須經(jīng)過(guò)它。這樣設(shè)計(jì)的好處是當(dāng)業(yè)務(wù)需要調(diào)整分支規(guī)則時(shí)只改一個(gè)文件就能生效不需要在多個(gè)業(yè)務(wù)調(diào)用點(diǎn)里尋找散落的分支判斷。4.4 檢索流程中的分支過(guò)濾檢索時(shí)的核心原則是先限定分支范圍再做語(yǔ)義召回。如果沒(méi)有指定分支系統(tǒng)應(yīng)該使用默認(rèn)分支或“全分支限權(quán)檢索”而不是直接不做過(guò)濾地全局搜索。def search_memory(user_id, query, branch_listNone, top_k5): if branch_list is None: branch_list [user_preference, task_event, short_term_fact] where_conditions [user_id ?, status active] params [user_id] if branch_list: placeholders ,.join(? for _ in branch_list) where_conditions.append(fbranch_type IN ({placeholders})) params.extend(branch_list) sql fSELECT memory_id, content, branch_type, importance FROM memory_record WHERE { AND .join(where_conditions)} ORDER BY importance DESC, updated_at DESC LIMIT ? # 先按 SQL 條件過(guò)濾候選集 candidates query_memory_record(sql, params [top_k * 10]) # 再對(duì)候選集做向量相似度排序 query_vec get_embedding(query) ranked [] for record in candidates: emb load_embedding(record[memory_id]) score cosine_similarity(query_vec, emb) ranked.append({**record, score: score}) ranked.sort(keylambda x: x[score], reverseTrue) return ranked[:top_k]這里的實(shí)現(xiàn)順序是先通過(guò)結(jié)構(gòu)化條件縮小候選集再做向量檢索。不要反過(guò)來(lái)否則每次查詢都會(huì)在全量向量庫(kù)中做相似度計(jì)算數(shù)據(jù)量上來(lái)后延遲會(huì)明顯增加。4.5 分支合并與歸檔策略記憶系統(tǒng)不能只有寫(xiě)入和檢索還需要定時(shí)處理分支中的數(shù)據(jù)狀態(tài)。合并解決的是重復(fù)記憶問(wèn)題歸檔解決的是數(shù)據(jù)膨脹問(wèn)題。合并策略通常按以下規(guī)則處理同一用戶在同一個(gè)分支下短期重復(fù)出現(xiàn)相似內(nèi)容新記憶的重要性高于舊記憶舊記憶已經(jīng)連續(xù)多次未被檢索命中歸檔策略按時(shí)間觸發(fā)def archive_expired_memories(): now datetime.now(timezone.utc).isoformat() sql UPDATE memory_record SET status archived, updated_at ? WHERE status active AND expire_at ? execute_update(sql, [now, now])這段代碼用于把所有過(guò)期且仍處于 active 狀態(tài)的記憶改成 archived。實(shí)際生產(chǎn)環(huán)境中expired 狀態(tài)和 archived 狀態(tài)可以分開(kāi)處理expired 表示不再參與檢索archived 表示仍然保留但降級(jí)為低頻訪問(wèn)。不要在同一個(gè)狀態(tài)里混用否則統(tǒng)計(jì)時(shí)很難區(qū)分。5. 關(guān)鍵參數(shù)和設(shè)計(jì)取舍5.1 分支數(shù)量應(yīng)該怎么控制數(shù)據(jù)分支數(shù)量是一個(gè)典型的取舍問(wèn)題。分支太少記憶混在一起檢索噪聲大分支太多路由規(guī)則復(fù)雜調(diào)用方需要記住一堆分支名運(yùn)維維護(hù)成本也高。分支數(shù)量?jī)?yōu)點(diǎn)缺點(diǎn)適用場(chǎng)景3 到 5 個(gè)路由簡(jiǎn)單、檢索穩(wěn)定粒度較粗某些場(chǎng)景仍有噪聲個(gè)人助手、小型業(yè)務(wù)6 到 15 個(gè)語(yǔ)義隔離清晰需要維護(hù)路由規(guī)則和使用文檔中型團(tuán)隊(duì)知識(shí)庫(kù)、多項(xiàng)目 Agent15 個(gè)以上高度隔離路由復(fù)雜分支管理和監(jiān)控成本高大型組織、強(qiáng)權(quán)限隔離場(chǎng)景推薦做法是先用少量分支跑通完整鏈路觀察檢索命中率。當(dāng)出現(xiàn)“檢索結(jié)果混雜無(wú)關(guān)記憶”時(shí)再根據(jù)失敗樣本拆分新分支。5.2 記憶系統(tǒng)關(guān)鍵參數(shù)速查表參數(shù)常見(jiàn)值影響錯(cuò)誤表現(xiàn)top_k5 到 10返回記憶條數(shù)過(guò)大易引入噪聲Agent 上下文被無(wú)關(guān)信息擠占score_threshold0.6 到 0.8低于閾值的結(jié)果不返回返回不相關(guān)內(nèi)容檢索質(zhì)量下降importance0 到 1排序權(quán)重重要記憶優(yōu)先低價(jià)值記憶長(zhǎng)期占坑expire_after_days30 到 365控制記憶自然過(guò)期時(shí)間過(guò)期太短丟失有用信息太長(zhǎng)數(shù)據(jù)膨脹merge_interval_seconds3600 到 86400控制去重合并頻率過(guò)高增加計(jì)算成本過(guò)低導(dǎo)致重復(fù)記憶殘留branch_list 默認(rèn)值3 個(gè)核心分支未指定分支時(shí)的候選范圍誤查全局導(dǎo)致權(quán)限混雜或噪聲大這里要強(qiáng)調(diào)score_threshold 不是越高越好。設(shè)置太高時(shí)真正有用的記憶可能因?yàn)楸硎霾町惐贿^(guò)濾掉設(shè)置太低時(shí)大量低相關(guān)記憶進(jìn)入上下文模型反而更糊涂。建議在測(cè)試集上統(tǒng)計(jì)相似度分布后再確定閾值。5.3 語(yǔ)義分支與向量集合的關(guān)系數(shù)據(jù)分支落到存儲(chǔ)層有兩種主流實(shí)現(xiàn)方式。第一種是一個(gè)分支對(duì)應(yīng)一個(gè)獨(dú)立向量集合。優(yōu)點(diǎn)是隔離徹底分支之間互不影響權(quán)限控制容易缺點(diǎn)是跨分支檢索時(shí)需要逐個(gè)集合查詢?cè)俸喜⒔Y(jié)果實(shí)現(xiàn)相對(duì)復(fù)雜。第二種是統(tǒng)一向量集合通過(guò) metadata 字段中的 branch_type 標(biāo)簽過(guò)濾。優(yōu)點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單一次查詢可以同時(shí)支持單分支和多分支缺點(diǎn)是數(shù)據(jù)量增大后過(guò)濾條件對(duì)向量檢索的效率影響需要評(píng)估。兩種方式的代碼差異主要體現(xiàn)在存儲(chǔ)和檢索兩個(gè)環(huán)節(jié)。使用第二種方式時(shí)寫(xiě)入向量時(shí)需要附帶 metadata{ id: memory_id_1, vector: [0.1, 0.2, 0.3], metadata: { user_id: user_001, branch_type: user_preference, memory_type: preference } }檢索時(shí)在向量查詢請(qǐng)求中帶上 filter 條件{ query: [0.1, 0.2, 0.3], limit: 5, filter: { user_id: user_001, branch_type: user_preference } }選擇哪種實(shí)現(xiàn)取決于數(shù)據(jù)規(guī)模和是否需要嚴(yán)格的物理隔離。個(gè)人項(xiàng)目和小型團(tuán)隊(duì)建議用第二種復(fù)雜度低最容易落地。6. 運(yùn)行驗(yàn)證從寫(xiě)入到分支查詢6.1 啟動(dòng)最小服務(wù)這里使用 FastAPI 提供 HTTP 接口便于驗(yàn)證完整流程。啟動(dòng)命令如下uvicorn app:app --host 0.0.0.0 --port 8000啟動(dòng)成功后終端會(huì)輸出 uvicorn 的運(yùn)行地址。此時(shí)可以訪問(wèn)http://127.0.0.1:8000/docs查看接口文檔。這一步確認(rèn)服務(wù)本身沒(méi)有報(bào)錯(cuò)。6.2 寫(xiě)入不同分支的數(shù)據(jù)寫(xiě)入接口請(qǐng)求示例POST /memories { user_id: user_001, source: user, memory_type: preference, content: 用戶喜歡簡(jiǎn)潔的技術(shù)方案不喜歡長(zhǎng)篇大論, importance: 0.9 }返回結(jié)果中應(yīng)包含 branch_type 字段值為user_preference。這就是路由函數(shù)生效的驗(yàn)證。再寫(xiě)入一條任務(wù)事件POST /memories { user_id: user_001, source: agent, memory_type: event, content: 用戶在今天 14:00 確認(rèn)了訂單系統(tǒng)的數(shù)據(jù)庫(kù)選型, importance: 0.7 }返回結(jié)果中 branch_type 應(yīng)改為task_event。兩條數(shù)據(jù)屬于不同分支證明路由規(guī)則正常工作。6.3 驗(yàn)證分支過(guò)濾查詢查詢接口請(qǐng)求示例GET /memories?user_iduser_001branch_typeuser_preferencequery喜歡簡(jiǎn)潔方案正常結(jié)果應(yīng)該只返回 user_preference 分支中的記憶不返回 task_event 分支中的內(nèi)容。如果查詢時(shí)不傳 branch_type只傳 user_id則確認(rèn)默認(rèn)分支邏輯是否生效GET /memories?user_iduser_001query訂單系統(tǒng)這里要注意觀察返回結(jié)果是否同時(shí)包含 user_preference 和 task_event 分支的數(shù)據(jù)。如果只返回一個(gè)分支需要回頭檢查search_memory中的默認(rèn) branch_list 配置。6.4 驗(yàn)證歸檔與遺忘手動(dòng)執(zhí)行歸檔函數(shù)驗(yàn)證python -c from memory_core import archive_expired_memories; archive_expired_memories()然后在數(shù)據(jù)庫(kù)里檢查狀態(tài)變化SELECT memory_id, branch_type, status, expire_at FROM memory_record WHERE user_id user_001;正常情況下未過(guò)期的記錄仍是 active已過(guò)期記錄變成 archived。如果所有記錄都變成 archived說(shuō)明寫(xiě)入時(shí) expire_at 計(jì)算用的時(shí)間基準(zhǔn)有問(wèn)題檢查是否使用了錯(cuò)誤的時(shí)區(qū)或者過(guò)期時(shí)間被設(shè)置成當(dāng)前時(shí)間之前。7. 常見(jiàn)問(wèn)題排查7.1 寫(xiě)入后檢索不到可能原因有很多按順序排查寫(xiě)入時(shí) route_branch 返回的分支與查詢時(shí)傳入的 branch_type 不一致。向量數(shù)據(jù)沒(méi)有保存成功memory_embedding 表缺少記錄。查詢時(shí)的 user_id 與寫(xiě)入時(shí)的 user_id 不一致。score_threshold 設(shè)置過(guò)高導(dǎo)致相似度低于閾值的結(jié)果被丟棄。數(shù)據(jù)狀態(tài)不是 active而是 archived、expired 或 trashed。推薦檢查方式先不看向量直接用 SQL 查詢 memory_record 表確認(rèn)記錄存在且 status 為 active。然后再確認(rèn) query 中傳入的過(guò)濾條件是否包含該記錄的分支。7.2 新記憶覆蓋了舊記憶現(xiàn)象是用戶修改偏好后新記錄寫(xiě)入舊記錄仍然存在但 Agent 仍然會(huì)讀到舊記錄。原因是寫(xiě)入新記憶時(shí)沒(méi)有處理舊記憶的沖突舊記錄仍處于 active 狀態(tài)。處理方式在寫(xiě)入相同分支、相同 type 的新記憶時(shí)先將舊記憶的狀態(tài)改為 superseded。增加 version 字段記錄同主題記憶的先后版本。需要支持歷史回溯時(shí)不物理刪除舊記錄只改變狀態(tài)。推薦做法是給 memory_record 增加一個(gè) topic_key 字段用來(lái)標(biāo)識(shí)“同一主題”。寫(xiě)入時(shí)先查詢相同 topic_key 的記錄如果存在新版本就把舊版本置為更新?tīng)顟B(tài)。7.3 表數(shù)據(jù)膨脹后查詢變慢當(dāng) memory_record 表數(shù)據(jù)量持續(xù)增長(zhǎng)即使加了索引查詢也可能變慢。檢查方向是否按 user_id 和 branch_type 建立了聯(lián)合索引。是否定時(shí)執(zhí)行了歸檔任務(wù)active 數(shù)據(jù)是否被控制在合理范圍。向量檢索是否在 SQL 過(guò)濾之后執(zhí)行而不是先全量向量搜索再過(guò)濾。如果 SQLite 單表數(shù)據(jù)量已經(jīng)超過(guò)百萬(wàn)行建議把結(jié)構(gòu)化數(shù)據(jù)遷移到 PostgreSQL把向量數(shù)據(jù)遷移到專業(yè)向量庫(kù)避免在單個(gè)文件數(shù)據(jù)庫(kù)上硬扛大數(shù)據(jù)量。7.4 時(shí)間分支錯(cuò)亂現(xiàn)象是按天歸檔時(shí)部分?jǐn)?shù)據(jù)被歸入錯(cuò)誤日期或過(guò)期時(shí)間判斷錯(cuò)誤。常見(jiàn)原因是時(shí)區(qū)不統(tǒng)一。有的服務(wù)使用本地時(shí)間寫(xiě)入另一個(gè)服務(wù)使用 UTC 讀取導(dǎo)致expire_at和當(dāng)前時(shí)間比較時(shí)出現(xiàn)偏差。排查時(shí)先確認(rèn)所有時(shí)間字段是否統(tǒng)一使用 UTC ISO 格式再確認(rèn)寫(xiě)入時(shí)datetime.now(timezone.utc)是否被誤寫(xiě)成datetime.now()。問(wèn)題現(xiàn)象常見(jiàn)原因檢查方式處理建議寫(xiě)入后檢索不到分支條件不一致或向量缺失先查 SQL 再查向量表統(tǒng)一分支命名增加寫(xiě)入日志新記憶覆蓋舊記憶失敗未處理主題沖突檢查 topic_key 查詢邏輯寫(xiě)入前先查同主題 active 記錄查詢變慢沒(méi)有及時(shí)歸檔或索引缺失查看 SQL 執(zhí)行計(jì)劃增加組合索引定期運(yùn)行歸檔任務(wù)時(shí)間分支錯(cuò)亂時(shí)區(qū)混用檢查數(shù)據(jù)庫(kù)時(shí)間值全部改為 UTC 存儲(chǔ)8. 最佳實(shí)踐與擴(kuò)展方向8.1 學(xué)習(xí)環(huán)境和生產(chǎn)環(huán)境的差異本地 Demo 可以接受 SQLite 和模擬 embedding但生產(chǎn)環(huán)境不能這樣簡(jiǎn)單處理。層面本地驗(yàn)證環(huán)境生產(chǎn)環(huán)境存儲(chǔ)SQLitePostgreSQL 或其他關(guān)系數(shù)據(jù)庫(kù)向量檢索Python 列表遍歷專用向量庫(kù)支持索引和分片嵌入服務(wù)模擬向量?jī)?nèi)部嵌入服務(wù)需監(jiān)控穩(wěn)定性和限流定時(shí)任務(wù)手動(dòng)執(zhí)行腳本獨(dú)立調(diào)度服務(wù)記錄執(zhí)行日志鑒權(quán)無(wú)接口鑒權(quán)、用戶數(shù)據(jù)隔離、操作審計(jì)配置寫(xiě)死在代碼配置中心或環(huán)境變量外置在生產(chǎn)環(huán)境上線記憶系統(tǒng)前至少要補(bǔ)齊日志、監(jiān)控、權(quán)限、回滾和數(shù)據(jù)備份這幾項(xiàng)。記憶數(shù)據(jù)是 Agent 行為的上下文依據(jù)丟失或?qū)戝e(cuò)都會(huì)直接影響業(yè)務(wù)結(jié)果。8.2 生產(chǎn)環(huán)境必須補(bǔ)齊的保障記憶寫(xiě)入接口需要增加調(diào)用方標(biāo)識(shí)、操作審計(jì)和實(shí)施限流。不能讓任意客戶端無(wú)限寫(xiě)入否則惡意調(diào)用可能撐爆存儲(chǔ)。批量任務(wù)要重試和告警。歸檔、合并、遺忘任務(wù)如果失敗不能靜默結(jié)束應(yīng)該記錄失敗原因并觸發(fā)告警否則數(shù)據(jù)會(huì)持續(xù)膨脹。數(shù)據(jù)備份策略要區(qū)分全量備份和增量備份。向量數(shù)據(jù)也要納入備份范圍不能只備份關(guān)系型數(shù)據(jù)庫(kù)。更重要的是要建立記憶回滾能力。當(dāng)一次批量記憶更新導(dǎo)致 Agent 行為異常時(shí)能按分支、按用戶、按時(shí)間段回滾到歷史狀態(tài)。這個(gè)能力在設(shè)計(jì)階段就要預(yù)留不能在事故發(fā)生后靠手工改庫(kù)。8.3 下一步可以怎么擴(kuò)展數(shù)據(jù)分支是記憶系統(tǒng)的基礎(chǔ)能力下一步可以考慮以下方向。第一接入知識(shí)圖譜。將 fact 類型記憶抽取為實(shí)體和關(guān)系用圖結(jié)構(gòu)支撐多跳推理。數(shù)據(jù)分支可以按實(shí)體所屬領(lǐng)域劃分例如產(chǎn)品域、技術(shù)域、用戶域。第二實(shí)現(xiàn)分級(jí)遺忘機(jī)制。根據(jù)重要程度、訪問(wèn)頻率、最后一次使用時(shí)間綜合計(jì)算記憶熱度熱度低的記憶先進(jìn)入候選歸檔列表由人工或規(guī)則確認(rèn)后刪除。第三支持多 Agent 共享記憶。在 user_id 之上增加 agent_id、team_id 維度讓一個(gè)團(tuán)隊(duì)的多個(gè) Agent 共享知識(shí)但用戶私有記憶仍然保持隔離。這一步需要更細(xì)的權(quán)限模型。第四建立記憶反饋閉環(huán)。當(dāng)用戶對(duì) Agent 的回答給出負(fù)面反饋時(shí)回查命中的記憶數(shù)據(jù)分析是否記憶本身不準(zhǔn)確。這樣可以把數(shù)據(jù)分支與模型評(píng)估系統(tǒng)連接起來(lái)。對(duì)新手來(lái)說(shuō)最有價(jià)值的練習(xí)不是直接接入完整框架而是先手寫(xiě)一遍最小的記憶寫(xiě)入、分支路由、查詢和歸檔流程把數(shù)據(jù)模型和狀態(tài)流轉(zhuǎn)理解清楚再去學(xué)習(xí)向量庫(kù)和遺忘機(jī)制。數(shù)據(jù)分支看起來(lái)只是簡(jiǎn)單的字段拆分但它決定了記憶系統(tǒng)在真實(shí)業(yè)務(wù)中能不能穩(wěn)定工作。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
精品国产一区二区三区四区阿崩| 成人资源在线| 九九视频在线| 激情综合网,五月| 日本理论久久| 九九Av| 五月丁香六月激情综合网| 99成人小视频| 精品久久9| 国产精品美女| 天堂久久婷婷| 亚洲精品婷婷| 武汉美女啪啪视频免费一级片| 123草逼网| 国产偷人爽久久久久久老妇APP| 色中色综合| 久久色在线视频| 深爱激情网综合| 69精品人人人人人人| 色婷婷亚洲精品天天综| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 人妻AV在线观看| 深爱激情五月网| SESE无码AV| 噜噜噜噜婷婷五月天| 欧美私人家庭影院| 国产毛片精品一区二区色欲黄A片| 丁香五月播播| 婷婷六月丁香激情| 中文字幕久久婷九女同| 操操综合网婷婷| 99精品热视频| 丁香五月在线自慰| 伊人婷婷色激情丁香| 婷婷五月天激情小说| 九九热精品| 国产精品成人av在线观看春天| 99ri在线观看视频| 九九热青青草| 五月婷婷丁香大香蕉| 99热这里| 成人中文网| 亚洲综合五月| 夜夜操狠狠操| 五月丁香六月日逼| 天天色综合色| 六月天六月婷| 激情五月激情综合网一级丸片| 色婷婷五月在线| 69人人操人人爽| 欧美日本免费一道免费视频| 91久久精品国产91性色TV| 99色色网| 99精品偷自拍| 色五月婷婷综合| 99久久久久久www| 婷婷激情丁香六月| 欧美综合激情五月| 激情五月婷婷丁香| 操人久久| 国产美女视频久| 99久久婷婷| 中文毛片无遮挡高潮免费| 久久视频在线| 狠狠综合网| 五月丁香花激情综合网| 国产综合网在线| 久久机热这里只有精品| 操骚货在线| 五月激情影视| 操人91| 变态另类9| 少妇搡BBBB搡BBB搡毛茸茸 | 日日爽夜夜爽| 久久激情五月| 日夜夜天天| 天天cha成人综合网| 婷婷五月激情基地| 综合久久99| www.狠狠| 人妻av在线| 99久久久久| 99久热| 国产成人亚洲综合A∨婷婷| 99久视频| 国产精女同一区二区三区久 | 婷婷伊人五月丁香天堂网| 婷婷啪啪| 亚洲电影中文字幕| 丁香5月激情网| 狠狠另类视频| 激情五月婷黄版| 丁香五月激情五月开心五月| 99色在线视频| 色五月婷婷在线| 婷婷色网站| 激情婷婷六月天| 亚洲五月天另类小说图片| 久久大香蕉同僚| 97人人超| 啪精品| 色婷婷五月丁香色| 色狠狠999综合网| 日本熟女一区二区| 五月婷婷综合在线| 综合99综合久久久久久久| 九九综合网| 五月丁香婷婷成人版| 日本久久视频| 激情六月婷| 婷婷五月香蕉| 91九九九九九九| 激情五月婷婷开心网| www超碰| 亚洲激情网| 久久女人九九| 婷婷五月天另类网站| 日韩在线99| 国产69久久久欧美黑人A片| 九九热91| 色婷婷狠狠干芒果TV| 99操碰| 五月天色五月| 亚洲激情综合| 午夜一区| WWW色色色COm| 五月丁香婷婷爱| 成人做爰A片免费看视频 | 亚洲电影在线观看| 开心五月婷婷五月| 久久婷婷色| 黄色激情网站在线观看| 久久五月天婷婷视频| 另类小说激情五月天| 久久99综合网| 清纯唯美 激情四射| 九九色逼| 五月天.com| 欧美肉大捧一进一出免费视频| 99久超碰| 亚洲国产成人在线| 九九大香视频| 999激情视频| 99久久久精品| 丁香六月婷婷色XXXXX| 五月婷婷综合网| 激情碰碰碰| 森林影视大全,最好看的2019年视频 | 五月天综合| 99干日日干| 婷婷综合中文字幕| 日日做天天操夜夜爽| 激情五月天小说网| 99热精品网| 久久狠狠干| 日韩成人无码片| 激情亚洲婷婷六月| 精品99在线| 99热99| 97色干| 这里只有精品99www| 久久综合99| ww久久| 毛片九九九九九九| 亚洲综合干| 六月丁香综合| 久婷婷色| 婷婷社区五月天| 9色免费网| 夜夜操天天爽| 热久国产| 亚洲色啪| 午夜不卡成人一区二区| 日韩九九| 日韩野外 无套| 激情五月天色婷婷| 婷婷五月丁香超碰| 亚洲激情网| 日韩精品超碰在线观看| 91操人视频| 狠狠色婷婷综合开心影视| 性色99| 亚洲精品V天堂中文字幕| 亚洲熟女色| 日本综合色色| 色色影院黄大片| 久久婷婷亚洲| 久久激情五月网| 91视频精品99| 丁香五月婷婷呀| 桃色五月婷婷| 操逼六区| 婷婷五月综合婷婷| 久久HD| 国庆精品久久| av在线观看网址| 五月婷婷激情综合网| 五月丁香少妇| 国产XXXX搡XXXXX搡麻豆| 桃色激情婷婷伊人网| 欧美色激情四射| 天天在线久久综合| 变态 另类 在线| 日本99色| 天天操婷婷| 五月婷婷丁香色播网| 日产精品一线二线三线芒果| 亚洲综合激情五月天婷婷| 91色逼| 亚洲成人网无码| 人妻无码视频网| 五月婷婷色播视频| 超碰猛烈的性猛交| 国产一级黄色影片,| 天天做天天视天天谢| 丁香五月婷婷国产av| 五月婷婷亚洲| 激情五月丁香六月综合AVXXXX| 第四色激情网| 婷婷娌伦网| 久久久久9| 色久99| 99热综合| 九九综合88| 丁香五月天激情视频| 久色激情| 五月天停婷基地| 99热日本| 狠狠狠狠青草| 久久婷婷五月| 这里只有精品1| 激情五婷精品网在线观看网址| 97爱艹婷婷开心丁香激情综合| 日韩人妻无码精品| 噜噜视频| 激情五月婷婷伊人| 中文字幕永久免费| 九九黄色网| 99福利视频| 五月大香蕉| 日本强伦片中文字幕免费看| 色婷婷五月天堂资源| 91avse| 狠狠做深爱婷婷久久综合一区| 国产综合婷婷| 极品人妻VIDEOSSS人妻| 色综合色| 99re这里只有精品免费| 久99久99精品免| 五月婷中文娱乐综合| 丁香六月五月天| 天天爽夜夜操| 激情综合亚洲色婷婷五月| 97av在线视频| 欧类av怡春院| 婷婷五月天成人| 婷婷综合九月| 69人妻人人澡人人爽久久| 91精品综合久久久久久五月丁香| 精品亚洲国产成人A片在线鸭王| 久久九九@| 婷婷五月视频| 婷婷五月天电影网| 成人精品人妻| 海外网站专业操老外| 五月天婷婷丁香成人网| 激情五月婷婷丁香综合网| 婷婷五月激情丁香| 五月天天爽| 五月宗合激情网| 蜘蛛女免费观看完整版高清电影| 综合婷婷六月| 亭亭五月丁香综合欧美| 色婷婷4| 噜噜色五月| 久久久大香蕉| 91精产品自偷自偷综合| 激情色色| 五月丁香直播| 日本五月婷婷| 五月婷av| 狠狠婷婷色| 伊人啪啪网| 欧美激情综合| 日木WWW视频| 国产成人一区二区三区在线观看| 五月婷婷综合在线亚洲视频| 91精品视频男人的天堂| 久久AV无码精品人妻系列试探| 天天摸夜夜夜| 啊v视频在线观看| 色播综合| 天天日天天肏天天奸| 91碰碰| 99在线精品免费视频| 婷婷伊人五月天| 4399精品一区二区| 99久精品视频| 色色色五月婷婷| 免费成人va| 综合网激情五月天| 五月婷婷影视| 六月婷婷啪啪| 五月天色色色| 色播五月天婷婷老师| 综合五月婷婷| 欧洲精品欧洲情| 天天做天天爱天天摸| 好看的国产精品| 久久黄色网扯| 狠狠久久婷五月综合色| 91婷婷伊人牛牛| AV在线免费播放| 五月丁香六月婷婷综合在线| 韩国天天婷婷| 91性高潮久久久久久久久| 成人视频婷婷| 精品成人无码A片观看香草视频| 超级碰人人操人人干| 丁香五月婷婷激情小说| 久久99热这里只有精品首| 色你久久| 色婷婷丁香| www.久久| 五月婷婷丁香啪啪| 99九九精品| 天天操夜夜操| 九九精品少妇| 久久丁香婷| 99精品视频免费观看| 精品一二三区久久AAA片| 超碰中文字幕在线| 五月天欧美激情| 六月色婷婷欧美| 婷婷激情五月天色| 五月婷婷激情中文字幕| 五月成人丁香av91| 亚洲日韩人妻操逼| 大香蕉久久婷婷| 欧美成人猛片AAAAAAA| 婷婷五月电影| 26uuu.| 色色com| 天天碰夜夜操| 婷婷5月天激情综合| 熟女激情五月天| 性做爰1一7伦| 国产精品五月丁香| 9久热在线视频精品| 日韩欧美成人一区二区三区| 婷婷 亚洲图片 丁香| 激情婷婷丁香五月天| 国产偷人爽久久久久久老妇APP| 91碰超| 逼逼AV| 婷婷五月成人| 欧美激情xxxXX| 婷婷激情综合网| 日日夜夜婷婷| 色五月丁香A欧美com| 五月激情精品视频| 成人精品视频99在线观看免费| 中文字幕av在线| 天天干天天做| 97碰碰视频在线观看免费| 婷婷久久丁香| 色操综合| 99热这里只有精品中文字幕| 婷婷五月天激情网| 九九99在线观看视频| 婷婷六月久久综合导航| 91操在线| 少妇人妻凹凸视频| 99国产97在线,| 丁香婷婷中文字幕| 亚洲成Av人片乱码色第1集| 2025年最新亚洲在线欧美| 五月天婷久久| 久久丁香五月| 五月婷婷三级| 色色操| 久久婷婷激情| 中文字幕av久久爽一区| xxxx五月| yirenjiqingshiping| 色色色色色色色色色色色色色色,网站| 日本波多野结衣视频| 国产裸舞福利资源在线视频| 中文字幕婷婷9月天| 性色99| 97操碰免费视频| 男人天堂伊人五月丁香| 欧州色色| 91日韩在线| 婷婷中文字幕| 婷婷色丁香六月| 色噜久| 久久久久久久人妻| 丁香六月婷婷激情综合| 欧美性生交XXXXX无码小说| 毛片新网地| 色五月婷婷五月| 色婷婷精品小视频| 久久9RE热视频精品98| 翔田千里 50岁 无码| 婷婷基地成人五月天| 婷婷成人视频| 天天狠狠插| 五月激情久久| 性爱久久| 五月天成人免费视频| 无码se| 久久五月婷婷综合网| 第五色婷婷| 俺来也综合网精品一区| 九九9久九9国产视频| 操操操操操电影网| 激情九九六月激情免费视频| 黄色一级影片| 99性感视频| 香蕉曰比| 精品久久99| 99热8| 亚洲无码成人| Www.Av网9| 九九这里只有精品| 97九色视频| 久久亚洲A| 丁香五月婷婷少妇| 日韩亚洲视频| 亚洲色网络| 成人精品在线观看| 五月婷婷香蕉| 色色色999| 99激情| 四色 爱 婷婷 精品 亚洲 五月天| 久久婷婷综合五月| 婷婷在线播放| 成人AV在线电影| 五月深爱网| 伊人五月婷婷| 一本色道久久88加勒比| 久久HD| 91无码高清| 婷婷爱婷婷| 激情深爱综合| 99热丁香五月| 色九月综合网| 噜噜五月天综合| 第九色区av天堂| 91九色精品熟女内射| 91超级碰碰碰| 亚洲一级AV在线免费播放| 伊人无码高清| 1000部毛片A片免费观看| 丁香五月六月综合激情| 久久精彩视频| 激情综合六月| 色欲色天天香综合| www五月婷婷88导航| 涩综合婷婷| 国产成人AV在线| 丁香五月婷婷骚视屏| 99五丁香月| www.五月丁香av| 蜘蛛女免费观看完整版高清电影 | 九九热这里只有精品6| 伊人丁香婷婷东京| 呦呦视频无码播放| 五月天激情在线视频| 婷婷天堂视频| 另类视频在线| 久青操| 亚洲国产精品VA在线看黑人| 成人五月天在线观看| 丁香花色色网| 婷婷欧美色| 久久视这里只有精品| 成人精品在线观看| 超碰人人色| ww久久| 91精品久久久久| 九月丁香| 婷婷五月欧美综合| 26uuu欧美激情另类| 这里只有精品视频国产| 激情久久五月网| 久久人妻情侣| 亚洲激情婷婷| 伊人久久99| 九九色精品| www.99在线| 嫩草AV久久伊人妇女超级A| 99热在线观看| www.九月婷婷丁香.com| 色99日韩| 天天插天天草人人玩| 丁香五月在线观看综合| 丁香狠狠色婷婷久久无码视频| 婷婷成人丁香色情基地30 | 99热网站| 国产97色在线 | 日韩| 天天日天天爽夜夜爽| 播五月开心婷婷欧美综合| 五月天丁香综合久久国产| 91精品国产91久久久久青草| 成人无码精品1区2区3区免费看| 精品视频二级九九| 人人操人人添人人摸97| 婷婷97| 超碰av在线| 夜夜天天久久婷婷| 五月色精品| 可以免费观看的AV| 日韩成人精品中文字幕| 色九九九综合| 婷婷开心深爱五月天| 激情综合青草| 另类小说五月天综合网| 四色女婷婷| 色性五月天| 亚洲愉拍99热成人精品| 狠狠操狠狠色| 五月婷婷综合网| 五月激情综合深爱| 日本色婷婷| 青青久久91| 天天弄天天爽| 激情婷婷久久| H亚洲| 99精品综合在线| 超碰在线观看caop| 婷丁香久综合| 中文字幕成人| 热99精品视频观看| 人人舔人人| 国产日比| 啪啪99| 精品久久久久久久人妻| 婷婷六月久久综合导航| 婷婷九月丁香天堂丁香天堂| 第四色婷婷五月| 婷婷五月色情天| 蜜乳AV成人| 五月激情丁香六月狠狠干| 色婷婷狠狠色| 日本欧美成人片AAAA| 午夜成人网站在线观看| 丁香婷婷五月天色播| 超碰91人人操| 欧美婷婷九月| 深爱五月婷婷开心中文字幕| 五月久视频| 日本不卡高字幕在线2019| 91婷婷丁香| 亚洲操操操| 婷婷亚洲在线| 开心五月色婷| 精品欧美一区二区三区久久久| 五月丁香操婷逼| 五月天亚洲综合网| 亚洲亚洲人成综合网络| 一起草无码视频| 五月丁香久人妻中文| 97性高潮久久久| 久久在这里有精品| 青青草原福利在线| 97色五月婷婷在线| 婷婷五月天激情五月天网站| 95精品区一区二| 噜噜噜噜噜日本视频| 久久激情五月婷婷| 五月天操逼网| 日本va欧美va国产激情| 黄色91在线观看| 亚洲A色| 狠狠色中色| 日本性激情色播| 一二线视频 另类| 天天拍夜夜爽| 国产亚洲AV人片在线| 欧美97p| 99操碰| 99在线观看这里都是精品| 思思热视频在线| 9久热在线视频精品| 五月婷婷丁香六月在线| 五月丁香在线观看国产| 丁香五月六月综合欧美| 日本久久视频| 思思热在线观看| 色色色色色级无码| 久久婷婷五月天丁香| 午夜激情五月| 中文久久婷婷| 成人丁香| 天天色天天爱天天爽| 久久九九99.www| 狠狠五月天| 久久综合五月天| 婷婷五月天久久| 欧美激情 日韩无码 婷婷 五月天| 久久激情网| 婷婷在线免费| 在线理论片| 天天天操天天天日| 9 99免费视频| 激情五月综合| WWW色色色COM| 91九色在线| 91日在线视频| 综合色五月天| www.99热国产| 五月婷婷精品| 色色色五月婷婷| 东北黄色一级| 色五月婷婷中文字幕| 狠狠人人| 五月婷婷电影院| 五月婷婷无码| 欧美精品99| 第四色五月天| 91精品久久久久久综合五月天| 丝袜激情网| www.婷婷| 综合一区二区三区| 激情综合婷婷| 国产av基地| 亚洲丁香五冃97色| 天天色宗合| 这里只有精彩亚洲视频推荐| www.zbzhongsen.com| 丁香五月花影院| 操碰99| 桃色五月婷婷| 欧美大香蕉视频| 九热免费视频| 丁香六月激情综合啪啪| 伊人婷婷福利网| 五月婷婷综合丁香视频| av线电影| www五月天激情com| 色综色网| 久久6这里只有精品| 色五月成人在线| 五月婷婷啪啪啪| 99热人人| 超碰97人人操| 任你爽免费视频| 99热亚洲| 九九伊人网| 丁香五月激情婷婷| 九九色综合| 伊人丁香五月婷婷潮吹| 色六月婷婷| 色综久久久| 色婷婷久久综合久色综| 日本三级中国三级99人妇网站| 久久丁香五月婷婷| www.久久色.com| caop在线| 五月丁香六月色| 99色.com| 色色三级视频| 婷婷色播六月无码| 色色色色综合网| 六月丁香婷婷综合狠狠爱夜夜爱| 91丁香综合| 91玖玖| 激情婷婷另类| 丁香婷婷五月天网站| 精品国产AV色一区二区深夜久久 | 亚洲国产精品SUV| 丁香五月婷婷大香蕉| 人人操人| 嫩草AV久久伊人妇女超级A| 五月丁香色婷| 免费色婷婷| 能看的AV| 婷婷五月天在婷| 天天干,天天舔| 大陆极品少妇内射AAAAAA| 婷婷亚洲欧美丁香五月| 99久久婷婷| 丁香花色色网| 久婷首页| 操日视频| 天天操夜夜啊| 五月丁香综合网| 婷色影院| 丰满少妇猛烈A片免费看观看| 天天插综合| 日日夜夜狠狠干| 婷婷六月久久| 美欧成人视频| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 六月撸婷婷| 综合逼五月激情婷婷| 99热这里只有精品69| 婷婷久久国产视频| 亚洲色五月| 看全色黄大色大片| 亚洲 精品 综合 精品| 激情色五月天| 人人操人人添人人摸97| 97操碰日本女人| www99精品日韩| 免费观看亚洲AV片| 色婷婷97| 这里只有精品免费视频在线观看| 日本久久高清| 凹凸操Av| 激情五月婷婷| 婷婷综合仓库中文| 狼人久草| 天天爱天天操| 色婷婷香蕉| 五月丁香六月激情| 人人插操| 丁香六月| 26uuu日韩| 亚洲第一黄网| 成人无码免费一区二区中文| 99热在线播放精品| 综合色色综合| 婷婷五月天777| 日韩婷婷| 婷婷中文字幕网站| 五月婷网| 日本熟女一区二区| 婷婷五月天基地| 墨西哥毛片内射精| 激情综合自拍五月婷婷色五月| 色综合久久综合中文综合网| 色色com| 热婷婷av| 亚洲视色| 国产精品日本一区二区在线播放| www.激情五月天。com| 天天射天天射一道本日本社区 | 色九四色| 欧美日本综合网| 五月天伊人| 九九免费精品在线视频| 色色色色色色网站| 2014天天爽| 婷婷成人视频| 97久久草草超级碰碰碰| 99亚洲色| 亚洲激情五月| 夜夜爽日日躁| 99热免| 亚洲99激情| 激情丁香五月婷婷啪啪| 99re免费视频| 狠狠色丁香| www五月婷婷88导航| 色停停香蕉视频| 久久五月网| 99色看这里只有精品| 免费无码毛片一区二区A片| 五月婷婷偷拍| 91色五月| 久久久婷| 色五月美女| 久久女婷| 欧美图片丁香五月天| 色色五月婷婷久久| 中文字幕有多少字| 五月丁香婷婷综合| 五月婷激情影院| 亚洲天堂婷婷丁香| 五月婷婷视频啪啪美女| 色吊操色妞| 色玖玖爱| 丁香婷婷综合激情五月色| 九九综合色综合| 久久久久久久久久久久久9| 婷婷五月天社区| 色婷婷深爱五月| 五月天婷婷丁香花| 婷婷色五月大香蕉在线| 免费视频99| 久久在线人妻| 99综合色色色| 婷婷五月精品中文| 国产肥白大熟妇BBBB视频| 色情五月婷婷| 99福利视频| 激情美女五月天| 久久九色| 久久99久久99精品免视看婷| 色色色综合网| 丁香五月天堂网| 色色色综合网| 激情综合网五月激情网| 五月丁香婷婷激激激综合网色播| 五月噜噜噜色综合| 日本一级一级一级一级| 午夜丁香综合婷婷| 五月婷婷六月丁香首页| Y11111111111少妇电影院| 六月丁香婷| 亚洲日日操| 精品A√| 婷婷五月深深爱| 丁香成人色情五月天| 成人五月天婷婷| 色婷婷婷av| 影音先锋女人av鲁色资源网小说免费| 91精品91久久久中77777| 人妻人人操| 另类综合激情| 亚洲综合视频一下| 狠狠色婷婷六月激情网| 五月天激情子轮| 五月婷婷丁香色播网| 91碰碰碰| 日日夜夜青青草| 色久五月天| 五月丁香六月婷婷网站| 99精品网| 天天综合在线网| 色五月欧美| 婷婷综合精品| 婷婷五月天激情网| 99在线看视频| 青青久久91| 色色吧综合| 婷婷五月激情片| 天天日本夜夜谢| 色婷婷色99国产综合精品| www.夜夜操.com| 九久9精品| 超碰A V在线| 99精品在线观看| 狠狠爱激情网| 日噜噜色| 国产精品视频网| 亚洲成人av在线观看| 久色网址| 久草xx性爱视频| 久艹大香蕉| 北条麻妃九九九国产精品视频| 狠狠九九婷婷韩| 亚洲激情电影五月天色婷婷丁香一起草| 五月天婷婷丁香花| 日韩人妻在线观看| 日韩人人操| 五月激情婷婷开心五月| 操人久久| 色综合久久88色综合天天| 九月丁香婷婷综合激情| 天天操中文字幕| 五月 婷 久| 初夜av| 色播五月网| 热久久999| 五月六月激情婷婷| 99色色热| 五月天伊人网| www久| 热久国产| 久久九九免费视频| 丁香六月婷婷激情| 日韩十国产极品久久| 婷婷午夜天| 久久这里只有精品久久| 99热这里只有精品16| 97人碰人操| 色播五月丁香| 色婷婷成人做爰A片免费看网站| 婷婷五月网图片区| 六月婷婷综合激情| 超碰人人操人人干| 婷婷狠狠操| 五月丁香五月婷婷| 婷婷丁香五月精品| 久久五月婷| 情婷婷五月天在线| 超碰免费99| 青青草网武则天| 夜夜干天天操| 五月丁香激情怕怕| 亚洲综合色色| 狠狠艹狠狠艹| 久久 婷婷 五月天| aaa丁香五月天| 人人人操| 成人做爰A片免费看网站找不到了| 丁香六月综合激情| 色天堂A| 综合久久9| 丁香婷婷性爱| 九九无码| 久久99热这里只有精品23| 九九综合色| 五月六月丁香婷婷在线观看| 99国产精品久久久久久久久久久| 涩涩涩婷婷| 91狼友视频网页更新| 亚洲午夜国产成人电影VA国产欧…| 久久九九经典| 久久亚洲婷婷| 五月丁香婷婷婷婷综合网| 五月天伊人| 国产色五月| 色婷婷欧美在线| 五月丁香天堂| 婷婷五月天国产精品| 色无码| 五月永久激情| 99精品丰满| 激情内射人妻1区2区3区| 丁香五月婷在线观看| 国产激情久久久| 国产综合81p| 熟妇天天综合| 九九九激情综合| 日韩综合久久| 高清无码网址| 99热这里只有精品免费观看| 99热在线播放| 色婷婷影| 婷婷五月天激情电影| 日韩在线看AV| 五月丁香婷婷色色| 激情综合丁香五月| 国产精品色婷婷久久久精品| 国产乱子轮XXX农村| 激情网五月天| 97精品人人A片免费看| 91久久精品无码一区二区三区| 色婷婷综合影院| 亚洲久热| 婷婷五月激情四射手| 色都都狠狠色都都色综合色| 丁香五月最新网址| 99热欧美| 99热日本| 天天干天天操天天爽| 丁香五月五月婷婷| 蜜桃婷婷丁香综合久久开心亚洲| 99精品网址| 亚洲av免费在线| 久久女婷| 婷婷色色网| 亚洲精品久久久久久久久久吃药| 玖玖热视频| 99热免| 欧美性爱丁香五月| 噜噜色五月| 99久久99热| 色色色色色色网站| 99re6久热只有精品6在线直播| 免费无码毛片一区二区A片 | 日日做A爰片久久毛片A片英语| 五月桃花网综合| 九月婷婷色色| 青青草原中文字幕| 婷婷丁香色情五月天| 色情丁香五月婷婷精品| 夜精品无码A片一区二区蜜桃| 99操网站| 激情六月五月婷婷综合网| 久久六月天| 久久女婷| 色色九九五月天 | 六月丁香婷婷天堂| 天天色99| 任你躁XXXXX麻豆精品| 97碰人人操| 伊人国产婷婷五月天| 97丁香五月| 极品少妇高潮啪啪AV无码| 超碰色女人| 性色人人爽| 丁香 亚洲 久久| 四季8848精品成人免费网站| 婷婷色网站| 色导航色婷婷五月天在线观看| 99热| 欧美五月婷婷| 婷五月天| 久久久婷婷五月天| 成人在线精品| 桃色激情网| 老妇六区| 伊人激情| 五月天狠狠色| 91n啪啪| 日日日影院| 99网| 26uuu青青| 99操无码视频观看| 七七久久婷婷| 色色免费网站| 色五月婷婷五月| 久草免费福利视频| 色婷綜合网| 久99热| 亚洲综合五月天婷婷丁香| 天天爽天天干| 97亚洲精品| 婷婷十月丁香| 九九99九九精品免费 | 色婷婷丁香香香蕉视频| 久久婷婷五月丁香蜜桃网| 色激情综合狠狠婷婷| 日韩精品一品二区三区的使用体验| 九九精品大香蕉| 天天舔天天插天天干| 婷婷久久综合| 日韩a热| 99综合网| peg 2区三区四区的| 久久丁香五月| 久热99| 91在线观看www| 五月婷婷综合久久| 九久久九精品视频| 精品人妻久久久久| 亚洲成人精品三区| 欧美成人A片AAA片在线播放| 99在线看视频| 99爱精品视频| 一区二区你懂的| 黄色AAAAA| 久久九九囯产| 久久五月天视频| 日韩在线99| www,久久久| 思思99热这里只有精品| 在线综合网| 精品国产va久久久久| 丁香九月激情| 狠狠搞综合色| 伊人五月婷| 丁香五月欧美激情| 秋霞AV美国| 九九热av| 五月婷婷久久综合| 丁香五月激情图片婷婷| 噜噜噜噜噜色| 婷婷国产欧美97| 男人天堂99| 丁香五月天在线观看视频| 伊人久久婷婷| 操逼福利视频| 久久九九婷婷| 久久婷婷婷婷伊人| 婷婷五月激情视频在线| 色天堂婷婷| 天天狠狠六月婷丁香影院| 久久激情天堂| 色99色| 99精品在| 亚洲中文AV网站| 五月天小说激情| 99网| 丁香久月婷| 久久色天堂| 狠狠操性爱av| 一起草AV| 婷婷伊人网| 亚洲欧洲中文日韩久久AV乱码| 99免费在线视频| 中文av网| 99热这里有精品| 五月天丁香婷婷久久九| 婷婷久久夜| 国产午夜精品一区二区三区嫩草| 国产资源在线视频| 97色女人在线| 色碰干| 久大香蕉| 久久久91| 婷婷深爱五月| 玖玖精品婷婷| 大香蕉伊人99| 色五月色五天色情网| 色婷网| 五月婷婷久久久| 久色网| 综合激情网| 久99| 欧美黑人巨大猛烈cuckold| 国产成人网| 91婷婷丁香| 五月天国产| 26UUU欧美激情一区二区| 99在线播放| 精品久久人妻| 精品色| 婷婷五月天黄色| 性一交一乱一交A片久久四色| 婷婷六月丁香在线| 久久嘟嘟丁香| 九九操屄| 九九热免费视频| 日韩精品二三区| 亚洲激情亚洲激情| 亚洲视频另类| 夜夜骑夜夜操| 综合激情啪啪| 亚洲无AV在线中文字幕 | 五月婷在线| 久久人妻伊人| 五月色精品| 丁香五月婷婷动漫视频| 欧美成人日韩| 嫩草极品| 可以免费观看的AV| 国产成人亚洲综合A∨婷婷| 激情人妻综合| 色五月综合在线| 深爱激情丁香| 久久这里只| 香蕉综合在线| 六月婷综合| 色色国产| 99热777| 丁香五月大片| 激情另类综合| 天天爱天天操| 九九激情视频| www.色五月.com| 五月天色丁香| 欧美性生交XXXXX无码小说| 97久久五月丁香婷婷| 狠狠爱婷婷丁香| 在线五月色播| 五月婷导航| 91色五月| 色婷婷丁香AV综合| 91精品综合久久久久久五月丁香| 五月丁香婷婷久久| 超碰99热精品| 亚洲精品a成人在线播放| 99精品久久久久| 天天操夜夜夜拍拍拍| 欧美成人va| JAPANRCEP老熟妇乱子伦视频 | 91人妻PORNY九色大屁股| 久热在线中文字幕色999舞 | 伊人五月天| 欧洲电影在线观看免费版英语版| 丁香五月天激情四射网| 99这里只有免费的小视频在线观看| 久久只这里有精品| 天天骑天天操| 在线综合91| 日日干夜夜撸夜夜骑| 夜夜夜夜夜骑撸| 国产精产国品一二三在观看| Aα在线免费观看| 丁香婷婷激情五月| 99re视频在线播放| 色婷婷基地 | 狠狠综合| 久久这里只有精品99| 九九99精品免费播放| 久热这里只有精品性色AV| 性色婷婷| 东北熟女高潮99综合99| 五月婷婷影视| 超碰免费99| 久久婷婷激情四射五月天| 国产日产成人亚洲欧美国产VA| 五月婷婷六月丁香综合在线| 丁香五月婷婷啪啪视频| 色五月丁香总合网| 人妻无码精品一区| 久草狼人| 激情五月色婷婷| 日本波多野结衣视频| 九九热在线观看视频网站| 亚洲免费观看高清完整版AV线| 999热在线观看视频| 五月婷综合性中心| 9久久精品| 嫩草视频观看| 成人丁香五月天| 极品人妻VIDEOSSS人妻| 五月总合激情网| 五月天婷婷丁香基地在线观看| 可以免费观看的AV| 五月丁香好婷婷A片网| 日本天天操| 天天干一干| 丁香五月天堂亚洲社区| 五月婷婷网久久| 丁香五月激情网| 色综合久久44| www久久艹| av婷婷丁香| 思思热在线视频99| 色婷婷丁香女女| 天天肏天天插| 国产精品日本一区二区在线播放| site:minyis.com| 天天插天天插| 夜夜人妻五月天| 久久538| 91狼友视频网页更新| 99在线视频在线观看| 人人爽网| 五月丁香婷婷中文网| 亚州成人综合在线| 色综合色综合色综合| 婷婷六月天| 深爱激情九九五月天 | 操逼视频网址| 午夜电影网VA内射| 综合色图婷婷| 丁香婷婷六月激情文学 | 99精品综合视频| 九九蜜臀精品| 色综合五月天| 天天插天天很| 亚洲乱码日产精品BD| 人人人操B超碰| 中文字幕在线视频播放| 四月丁香五月婷婷久久| 九伊人网| 九九免费视频| 91操色| 久久女伦| 欧美激情综合五月色丁香| 色婷亚洲五月丁香| 国产精品电影网| 性爱五月婷| 97人人操人人| 国产激情在线| 色婷婷丁香五月| 丁香五月婷婷综合视频| 婷婷五月花| 亚州AV超碰人人操| 五月婷婷www| 五月丁香花视频| 狠狠色丁香久久| 六月丁香五月婷婷| 俺来也综合网精品一区| 天天干天天干天天干天天干天| 婷婷五月天无码视频| 色综啪啪网| 超碰a女人的天堂| 99免费青青蜜臀| 欧美色婷婷| 五月丁色AV| 狠狠色色色| 丁香美女主播视频在线观看| 4399欧美另类视频| 久久婷婷六月综合| 色综合色综合婷婷热| 久热婷婷综合| 五月丁香色婷婷| 这里只有精品免费在线视频| 日木WWW视频| 狠狠操在线视频| 91婷婷伊人牛牛| 国产精品久久久久久久久久免费 | 精品综合网在线| 天天干夜夜谢| 天天做天天爱天天爽夜夜揉| 精品日本视频444|