亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

AI社交產(chǎn)品架構(gòu)拆解:從AI Agent到消息推送與積分體系的完整設(shè)計(jì)

AI社交產(chǎn)品架構(gòu)拆解:從AI Agent到消息推送與積分體系的完整設(shè)計(jì) 引言為什么我要把 AIFriends 的架構(gòu)和流程單獨(dú)寫成一份復(fù)習(xí)文檔如果你最近在準(zhǔn)備 AI 應(yīng)用方向的面試或者正在從零搭一個(gè)帶社交屬性的 AI 產(chǎn)品那 AIFriends 這個(gè)項(xiàng)目應(yīng)該是個(gè)不錯(cuò)的參考樣本。它不算特別復(fù)雜但麻雀雖小五臟俱全——涵蓋了用戶體系、AI Agent 交互、消息推送、積分經(jīng)濟(jì)系統(tǒng)、管理后臺(tái)這些典型模塊而且業(yè)務(wù)閉環(huán)是完整的。說(shuō)實(shí)話我最初接到這個(gè)項(xiàng)目的技術(shù)梳理任務(wù)時(shí)第一反應(yīng)是“這不就是個(gè)套殼聊天應(yīng)用嗎”。但真正把架構(gòu)圖和業(yè)務(wù)流程逐層拆開(kāi)之后我才發(fā)現(xiàn)里面的設(shè)計(jì)取舍比預(yù)想中多得多。比如 AI 人格的會(huì)話上下文怎么管理、異步任務(wù)隊(duì)列怎么設(shè)計(jì)、積分扣費(fèi)怎么避免并發(fā)超扣、管理后臺(tái)的審核流怎么和用戶側(cè)狀態(tài)機(jī)聯(lián)動(dòng)——這些都是實(shí)際業(yè)務(wù)里繞不開(kāi)的細(xì)節(jié)也是面試官最喜歡深挖的點(diǎn)。這份文檔的定位是“復(fù)習(xí)用的”所以我會(huì)刻意把每個(gè)模塊的架構(gòu)決策、流程節(jié)點(diǎn)、數(shù)據(jù)流轉(zhuǎn)邏輯都講透而不是只羅列一堆技術(shù)名詞。不管你是想照著這個(gè)思路做自己的 AI 社交產(chǎn)品還是單純想理解 agent 類項(xiàng)目的通用架構(gòu)模式這篇內(nèi)容應(yīng)該都能幫你省下不少瞎琢磨的時(shí)間。1. 項(xiàng)目整體設(shè)計(jì)與架構(gòu)思路拆解1.1 項(xiàng)目定位與核心需求解析AIFriends 本質(zhì)上是一個(gè)“AI 虛擬好友社交平臺(tái)”。用戶注冊(cè)之后可以創(chuàng)建或者選擇不同的 AI 好友角色和這些角色進(jìn)行多輪對(duì)話。這些 AI 好友不是簡(jiǎn)單的問(wèn)答機(jī)器人而是有固定人設(shè)、記憶能力、情感反饋的 agent 形態(tài)產(chǎn)品。從業(yè)務(wù)需求倒推技術(shù)需求核心要解決四件事多角色 AI 人格的管理每個(gè) AI 好友擁有獨(dú)立的 prompt 模板、知識(shí)庫(kù)、語(yǔ)氣風(fēng)格甚至記憶片段對(duì)話過(guò)程的穩(wěn)定性多輪對(duì)話不能丟上下文消息要能實(shí)時(shí)送達(dá)網(wǎng)絡(luò)抖動(dòng)不能直接吞消息商業(yè)化閉環(huán)免費(fèi)用戶每天有對(duì)話次數(shù)限制付費(fèi)用戶解鎖無(wú)限暢聊需要一套積分/會(huì)員系統(tǒng)內(nèi)容安全AI 生成內(nèi)容不能失控需要前置審核和后置舉報(bào)機(jī)制這個(gè)定位意味著架構(gòu)不能只考慮“能跑”還要考慮“能管”。很多 AI 應(yīng)用死在兩個(gè)地方一個(gè)是上下文管理亂導(dǎo)致體驗(yàn)崩塌另一個(gè)是商業(yè)化路徑不清晰導(dǎo)致產(chǎn)品沒(méi)法續(xù)命。AIFriends 的設(shè)計(jì)從一開(kāi)始就把這兩條線拉了進(jìn)來(lái)。1.2 整體架構(gòu)分層與模塊劃分整個(gè)系統(tǒng)采用前后端分離 微服務(wù)化的架構(gòu)風(fēng)格但并沒(méi)有一上來(lái)就拆十幾二十個(gè)服務(wù)——那對(duì)小團(tuán)隊(duì)和快速迭代來(lái)說(shuō)反而是災(zāi)難。它按照業(yè)務(wù)域拆成了六個(gè)核心服務(wù)服務(wù)模塊職責(zé)范圍關(guān)鍵技術(shù)點(diǎn)用戶服務(wù)注冊(cè)、登錄、個(gè)人資料、好友關(guān)系JWT 鑒權(quán)、Redis 會(huì)話緩存AI Agent 服務(wù)角色人格管理、對(duì)話生成、上下文管理LLM 接入層、Prompt 模板引擎、向量記憶庫(kù)消息服務(wù)實(shí)時(shí)消息收發(fā)、消息持久化、已讀回執(zhí)WebSocket 長(zhǎng)連接、消息隊(duì)列削峰訂單/積分服務(wù)積分充值、對(duì)話扣費(fèi)、會(huì)員套餐事務(wù)性扣費(fèi)、冪等性保障審核服務(wù)用戶輸入側(cè)敏感詞、AI 輸出側(cè)合規(guī)過(guò)濾異步審核隊(duì)列、人工審核工作臺(tái)管理后臺(tái)服務(wù)角色管理、用戶管理、數(shù)據(jù)看板、審核處理RBAC 權(quán)限模型、操作日志審計(jì)每個(gè)服務(wù)獨(dú)立部署、獨(dú)立數(shù)據(jù)庫(kù)用 HTTP/REST 作為服務(wù)間同步調(diào)用的主要協(xié)議異步場(chǎng)景走消息隊(duì)列。沒(méi)有引入太重的 Service Mesh也沒(méi)有強(qiáng)行上分布式事務(wù)而是盡量把跨服務(wù)的數(shù)據(jù)一致性控制在“最終一致”的范圍內(nèi)。提示這個(gè)架構(gòu)的聰明之處在于邊界劃分基本沿著“業(yè)務(wù)對(duì)象”走而不是沿著“技術(shù)層次”走——按用戶、對(duì)話、消息、錢、內(nèi)容安全來(lái)分每一個(gè)服務(wù)都能獨(dú)立演進(jìn)這是新手做架構(gòu)時(shí)最容易忽略的一點(diǎn)。1.3 為什么選這個(gè)架構(gòu)方案而不是單體應(yīng)用有人可能會(huì)問(wèn)一個(gè) AI 聊天產(chǎn)品單體應(yīng)用不香嗎前期開(kāi)發(fā)效率更高部署也更簡(jiǎn)單。這個(gè)問(wèn)題的答案在于“業(yè)務(wù)預(yù)期的變化方向”。AI 對(duì)話類產(chǎn)品有三個(gè)天然特點(diǎn)第一LLM 調(diào)用的延遲和成本是波動(dòng)的需要獨(dú)立的服務(wù)來(lái)做限流、降級(jí)、重試策略第二對(duì)話上下文可能包含大量的個(gè)性化記憶數(shù)據(jù)存儲(chǔ)層需要能夠靈活擴(kuò)容第三消息實(shí)時(shí)通道和業(yè)務(wù) API 的負(fù)載特征完全不同——WebSocket 連接是長(zhǎng)駐型的而業(yè)務(wù) API 是突發(fā)型的放在同一個(gè)進(jìn)程里互相拖累就是必然的。所以在 AIFriends 的架構(gòu)里消息服務(wù)被單獨(dú)拆了出來(lái)這是一個(gè)非常正確的決策。長(zhǎng)連接服務(wù)不會(huì)被業(yè)務(wù)接口的突發(fā)流量打垮業(yè)務(wù)服務(wù)也不會(huì)因?yàn)橄V播的邏輯 bug 而全部宕機(jī)。你要做 AI 應(yīng)用消息通道和業(yè)務(wù)邏輯分離這條底線最好從一開(kāi)始就守住。2. 核心業(yè)務(wù)流程拆解與設(shè)計(jì)邏輯2.1 用戶從注冊(cè)到首次對(duì)話的完整鏈路一個(gè)用戶從進(jìn)入產(chǎn)品到產(chǎn)生第一段對(duì)話背后走的是這樣一條鏈路用戶通過(guò)手機(jī)號(hào)或第三方賬號(hào)注冊(cè)用戶服務(wù)創(chuàng)建賬號(hào)并返回 JWT Token前端攜帶 Token 調(diào)用 AI Agent 服務(wù)拉取可選擇的 AI 好友列表用戶選擇某個(gè) AI 好友點(diǎn)擊“開(kāi)始聊天”前端發(fā)起 WebSocket 連接消息服務(wù)完成連接鑒權(quán)和會(huì)話綁定用戶發(fā)送第一條消息消息服務(wù)先落庫(kù)再轉(zhuǎn)發(fā)給 AI Agent 服務(wù)AI Agent 服務(wù)加載該好友的人格 prompt、歷史記憶、當(dāng)前會(huì)話上下文調(diào)用 LLM 生成回復(fù)回復(fù)內(nèi)容先送審核服務(wù)做合規(guī)檢查通過(guò)后由消息服務(wù)推送給用戶這個(gè)流程看著不復(fù)雜但有兩個(gè)細(xì)節(jié)值得展開(kāi)。第一個(gè)細(xì)節(jié)是“先落庫(kù)再轉(zhuǎn)發(fā)”。很多初版實(shí)現(xiàn)圖省事直接走內(nèi)存轉(zhuǎn)發(fā)消息一旦服務(wù)重啟就丟。AIFriends 的做法是用戶消息到達(dá)消息服務(wù)之后立刻寫數(shù)據(jù)庫(kù)狀態(tài)標(biāo)記為“已發(fā)送”等 AI 回復(fù)生成后再把這一輪會(huì)話的狀態(tài)更新為“已完成”。這樣即使中間任何一環(huán)掛了消息也不會(huì)丟用戶刷新頁(yè)面還能看到歷史記錄。第二個(gè)細(xì)節(jié)是 AI 回復(fù)的審核時(shí)機(jī)。這里是在“生成后、推送前”審核不是生成前攔截。原因很簡(jiǎn)單生成前的 prompt 審核只能攔住輸入側(cè)的問(wèn)題但 LLM 的輸出不可完全預(yù)測(cè)所以輸出側(cè)必須有一道獨(dú)立檢查。雖然這樣會(huì)增加用戶等待時(shí)間但安全合規(guī)這條線不能省。2.2 AI 對(duì)話流程中的上下文管理與記憶機(jī)制AI 好友和普通聊天機(jī)器人的最大區(qū)別在于“記憶”。AIFriends 的 agent 設(shè)計(jì)里記憶分為三個(gè)層次短期會(huì)話記憶存儲(chǔ)在當(dāng)前 session 內(nèi)記錄最近的對(duì)話輪次保存在 Redis過(guò)期時(shí)間 30 分鐘長(zhǎng)期用戶記憶記錄用戶的基本喜好、性格標(biāo)簽、說(shuō)過(guò)的重要信息寫入向量數(shù)據(jù)庫(kù)角色設(shè)定記憶AI 好友自身的人設(shè)背景、說(shuō)話風(fēng)格、知識(shí)邊界作為系統(tǒng)級(jí) prompt每次用戶發(fā)消息時(shí)AI Agent 服務(wù)會(huì)執(zhí)行一個(gè)“記憶組裝”流程從 Redis 取出短期會(huì)話記錄從向量庫(kù)檢索與當(dāng)前話題相關(guān)的長(zhǎng)期記憶片段然后把角色設(shè)定、短期上下文、相關(guān)記憶拼裝成最終的 prompt 發(fā)送給 LLM。這個(gè)設(shè)計(jì)解決了一個(gè)核心矛盾LLM 的上下文窗口是有限的你不能把用戶全部歷史對(duì)話都塞進(jìn)去必須做有選擇性的提取。向量檢索在這里起到的作用就是“只挑和當(dāng)前話題有關(guān)的記憶”既控制 token 數(shù)量又讓回復(fù)看起來(lái)是“記得你”的。注意記憶檢索是 AI 社交產(chǎn)品體驗(yàn)的分水嶺。很多團(tuán)隊(duì)前期為了省事只往 prompt 里塞最近 N 輪對(duì)話結(jié)果 AI 聊了三天就把用戶的生日、喜歡的音樂(lè)類型全忘了用戶立刻就會(huì)覺(jué)得“這是個(gè)假 AI”。記憶機(jī)制不是錦上添花是產(chǎn)品能不能留住用戶的關(guān)鍵。2.3 積分扣費(fèi)與會(huì)員體系的流程設(shè)計(jì)商業(yè)模式部分AIFriends 走的是“免費(fèi)次數(shù) 積分充值 會(huì)員訂閱”三者結(jié)合的路子。積分扣費(fèi)流程是這里面最容易出并發(fā)問(wèn)題的地方。每次用戶發(fā)送一條消息會(huì)先經(jīng)過(guò)積分服務(wù)的預(yù)扣費(fèi)操作。這個(gè)預(yù)扣費(fèi)不是直接扣余額而是先凍結(jié)對(duì)應(yīng)積分等 AI 回復(fù)成功推送給用戶后再轉(zhuǎn)正式扣費(fèi)如果 AI 生成失敗則解凍退回。這樣做的好處是避免“用戶發(fā)了消息但 AI 沒(méi)回復(fù)錢卻已經(jīng)扣了”的客訴。在技術(shù)實(shí)現(xiàn)上扣費(fèi)用的是 Redis 的 Lua 腳本做原子操作先檢查余額再扣減保證并發(fā)場(chǎng)景下不會(huì)超扣。數(shù)據(jù)庫(kù)層面記錄每一筆積分流水方便后續(xù)對(duì)賬和客服查詢。會(huì)員體系則簡(jiǎn)單一些會(huì)員用戶在有效期內(nèi)不限制對(duì)話次數(shù)但會(huì)有每日最大消息數(shù)的風(fēng)控上限防止接口被腳本刷爆。會(huì)員狀態(tài)存在用戶服務(wù)的緩存里AI Agent 服務(wù)每次收到對(duì)話請(qǐng)求時(shí)會(huì)校驗(yàn)會(huì)員資格。這個(gè)積分流程設(shè)計(jì)里最值得學(xué)習(xí)的一點(diǎn)是“預(yù)凍結(jié)”的思路。真實(shí)業(yè)務(wù)里凡是涉及“扣錢 異步結(jié)果”的場(chǎng)景都應(yīng)該考慮這個(gè)模式。直接先扣款再退款也不是不行但用戶體驗(yàn)和客服壓力完全不是一個(gè)量級(jí)。3. 關(guān)鍵模塊的技術(shù)實(shí)現(xiàn)與實(shí)操要點(diǎn)3.1 AI Agent 服務(wù)中 Prompt 模板的角色管理實(shí)現(xiàn)AI 好友的人格差異完全靠 Prompt 工程來(lái)實(shí)現(xiàn)。AIFriends 里每個(gè) AI 角色對(duì)應(yīng)一個(gè) Prompt 模板模板不是死字符串而是支持變量的結(jié)構(gòu)化配置。舉一個(gè)實(shí)際的模板片段你是{character_name}年齡{age}性格{personality}。 你正在和用戶進(jìn)行一場(chǎng){relationship_type}的對(duì)話。 【背景記憶】 {memory_snippets} 【近期對(duì)話】 {chat_history} 【用戶畫(huà)像】 {user_profile} 請(qǐng)用{style_guide}的風(fēng)格回復(fù)回復(fù)長(zhǎng)度控制在{max_tokens}字以內(nèi)。這里的變量分別從角色配置表、記憶檢索結(jié)果、會(huì)話上下文、用戶畫(huà)像服務(wù)中動(dòng)態(tài)填充。模板本身存放在數(shù)據(jù)庫(kù)里而不是硬編碼在代碼里這樣運(yùn)營(yíng)人員可以在管理后臺(tái)直接調(diào)整某個(gè) AI 角色的人設(shè)不需要重新發(fā)版。技術(shù)實(shí)現(xiàn)上有一個(gè)容易踩坑的點(diǎn)模板變量的注入順序會(huì)影響 LLM 的輸出質(zhì)量。AIFriends 的實(shí)測(cè)經(jīng)驗(yàn)是“角色設(shè)定放最前面用戶畫(huà)像放最后”效果最好因?yàn)?LLM 對(duì) prompt 開(kāi)頭和結(jié)尾的信息注意力更強(qiáng)把最核心的人設(shè)約束放在開(kāi)頭把對(duì)當(dāng)前回復(fù)影響最大的用戶信息放在結(jié)尾回復(fù)質(zhì)量的穩(wěn)定性會(huì)有明顯提升。3.2 消息服務(wù)的推送機(jī)制與接口設(shè)計(jì)消息服務(wù)需要同時(shí)支持 WebSocket 長(zhǎng)連接和 HTTP 回調(diào)兩種消息下發(fā)方式。WebSocket 用于實(shí)時(shí)推送HTTP 回調(diào)主要用于第三方渠道或者前端斷線重連后的消息補(bǔ)償拉取。實(shí)際的接口設(shè)計(jì)大概是這樣的// 發(fā)送消息請(qǐng)求 POST /api/v1/chat/message { session_id: uuid, session_type: ai_friend, content: 今天心情不太好, message_type: text } // 響應(yīng) { message_id: uuid, status: pending, estimated_reply_time_ms: 3500 }這里用 message_id 做全鏈路的追蹤標(biāo)識(shí)。消息從客戶端發(fā)出到 AI 回復(fù)返回中間經(jīng)過(guò)消息服務(wù)、Agent 服務(wù)、審核服務(wù)所有的狀態(tài)變更都通過(guò)這個(gè) message_id 關(guān)聯(lián)。前端可以輪詢或者通過(guò) WebSocket 推送收到狀態(tài)更新當(dāng)狀態(tài)變?yōu)椤癱ompleted”時(shí)渲染 AI 回復(fù)。關(guān)于 WebSocket 連接管理AIFriends 用了 Redis Pub/Sub 做多實(shí)例消息廣播。單臺(tái)實(shí)例只維護(hù)自己節(jié)點(diǎn)上的客戶端連接但服務(wù)端要推送某條消息時(shí)通過(guò) Redis 頻道廣播所有實(shí)例收到后只推送給本地持有對(duì)應(yīng) session 的連接。這個(gè)方案比自研一套消息路由協(xié)議簡(jiǎn)單得多實(shí)測(cè)在幾千并發(fā)連接下完全夠用。3.3 審核服務(wù)的異步處理鏈路審核服務(wù)在 AIFriends 里是獨(dú)立部署的沒(méi)有嵌在 Agent 服務(wù)的同步調(diào)用鏈里。設(shè)計(jì)成異步的原因很簡(jiǎn)單LLM 回復(fù)已經(jīng)要花 2-5 秒了如果審核再同步加 500 毫秒用戶體感會(huì)明顯變差。異步審核的流程是AI Agent 服務(wù)生成回復(fù)后把回復(fù)內(nèi)容投遞到審核消息隊(duì)列審核服務(wù)消費(fèi)隊(duì)列先做機(jī)器敏感詞過(guò)濾再調(diào)用內(nèi)容安全 API 做語(yǔ)義級(jí)檢測(cè)如果自動(dòng)審核通過(guò)直接把消息推送給用戶如果疑似違規(guī)進(jìn)入人工審核隊(duì)列人工審核完成后審核結(jié)果通過(guò)回調(diào)接口告知消息服務(wù)決定放行還是攔截這個(gè)鏈路里有個(gè)取舍問(wèn)題用戶體驗(yàn)和合規(guī)風(fēng)險(xiǎn)怎么平衡。AIFriends 的做法是“低風(fēng)險(xiǎn)秒放行高風(fēng)險(xiǎn)進(jìn)人工”。機(jī)器審核認(rèn)為沒(méi)有問(wèn)題的消息直接推送概率極低的高危內(nèi)容即使要等人工審核也絕對(duì)不能放出來(lái)。還有一個(gè)細(xì)節(jié)是審核服務(wù)的降級(jí)策略。如果內(nèi)容安全 API 調(diào)用超時(shí)不能無(wú)限阻塞消息推送可以設(shè)置一個(gè)超時(shí)閾值比如 800ms超時(shí)后先標(biāo)記為“待復(fù)核”放行消息后續(xù)在后臺(tái)異步補(bǔ)充審核。屬于業(yè)務(wù)向安全做適當(dāng)妥協(xié)的經(jīng)典做法不能因?yàn)閷徍讼到y(tǒng)的問(wèn)題把整個(gè)對(duì)話功能拖死。4. 實(shí)操過(guò)程與核心環(huán)節(jié)實(shí)現(xiàn)復(fù)盤4.1 從零搭建環(huán)境與依賴服務(wù)如果你要復(fù)現(xiàn)這套架構(gòu)本地開(kāi)發(fā)環(huán)境建議這樣搭建。基礎(chǔ)設(shè)施部分Docker Compose 是起步的正確選擇。AIFriends 依賴的中間件主要包括PostgreSQL業(yè)務(wù)數(shù)據(jù)、Redis緩存和 Pub/Sub、RabbitMQ異步任務(wù)隊(duì)列、Milvus 或 Chroma向量記憶庫(kù)、MinIO對(duì)象存儲(chǔ)用于存用戶頭像和對(duì)話附件。按依賴順序啟動(dòng)容器# 1. 啟動(dòng)基礎(chǔ)設(shè)施 docker compose up -d postgres redis rabbitmq minio # 2. 啟動(dòng)向量數(shù)據(jù)庫(kù)無(wú) GPU 需求CPU 模式即可 docker compose up -d chroma # 3. 初始化數(shù)據(jù)庫(kù)表結(jié)構(gòu) cd services/user-service alembic upgrade head cd services/message-service alembic upgrade head # 4. 啟動(dòng)各個(gè)微服務(wù) cd services/ai-agent python app.py --port 8001 cd services/message python app.py --port 8002 cd services/order python app.py --port 8003一個(gè)容易踩坑的點(diǎn)是數(shù)據(jù)庫(kù)初始化順序。user-service 和 message-service 之間有外鍵關(guān)聯(lián)嗎從架構(gòu)上看沒(méi)有——各服務(wù)庫(kù)都是獨(dú)立的所以不存在嚴(yán)格的建表順序依賴。但如果你的實(shí)現(xiàn)里跨庫(kù)引用了記得先起的服務(wù)要容忍關(guān)聯(lián)表暫不存在的異?;蛘哂檬录C(jī)制等依賴服務(wù)就緒。4.2 核心服務(wù)間的接口約定與聯(lián)調(diào)記錄服務(wù)間通信的接口約定是整個(gè)項(xiàng)目里最需要提前鎖死的東西。我在實(shí)際聯(lián)調(diào)中吃過(guò)虧兩個(gè)服務(wù)各自開(kāi)發(fā)到聯(lián)調(diào)階段發(fā)現(xiàn)字段命名不一致、狀態(tài)碼語(yǔ)義不一致返工成本極高。AIFriends 的約定大致如下服務(wù)間 API 統(tǒng)一走 /api/v1/ 前綴內(nèi)部調(diào)用帶 internal-token 頭與用戶側(cè) JWT 區(qū)分用戶 ID 和會(huì)話 ID 統(tǒng)一用雪花算法生成不用數(shù)據(jù)庫(kù)自增 ID避免跨服務(wù)暴露業(yè)務(wù)量狀態(tài)碼統(tǒng)一使用 0 表示成功非 0 為業(yè)務(wù)錯(cuò)誤碼HTTP 層面只區(qū)分 2xx 和 5xx關(guān)鍵鏈路發(fā)送消息、扣費(fèi)必須打印鏈路 TraceID日志格式統(tǒng)一為 JSON聯(lián)調(diào)時(shí)最耗時(shí)間的是 WebSocket 消息時(shí)序問(wèn)題。我在本地模擬了弱網(wǎng)環(huán)境做測(cè)試發(fā)現(xiàn)偶發(fā)的消息延遲會(huì)打亂前端渲染順序——用戶發(fā)了消息 A 和 BAI 先回復(fù)了 B 再回復(fù) A對(duì)話順序就亂了。解決辦法是在消息體里加一個(gè) client_msg_seq 字段前端本地維護(hù)遞增序號(hào)渲染時(shí)先按 seq 排序再展示。這個(gè)字段在初版設(shè)計(jì)里完全沒(méi)考慮屬于聯(lián)調(diào)時(shí)踩坑后補(bǔ)的。4.3 LLM 接入層設(shè)計(jì)與 Key 池管理AI Agent 服務(wù)的核心是 LLM 接入層這塊做得不好再好的 prompt 也白搭。AIFriends 沒(méi)有直接在各處硬編碼 LLM API 調(diào)用而是抽象出了一個(gè)統(tǒng)一的 LLM Gateway。這個(gè) Gateway 做了三件事多廠商模型路由不同 AI 角色可以配置不同的模型比如知識(shí)型角色用更強(qiáng)的模型閑聊型角色用更快更便宜的模型Gateway 根據(jù)角色配置做路由Key 池化管理多個(gè) API Key 輪詢使用某個(gè) Key 觸發(fā)限流時(shí)自動(dòng)切換下一個(gè)并標(biāo)記該 Key 冷卻超時(shí)重試與降級(jí)單次 LLM 調(diào)用最長(zhǎng)等待 15 秒超時(shí)后自動(dòng)重試一次切換 Key仍失敗則返回友好話術(shù)給用戶并把這條消息標(biāo)記為“ai 不可用”Key 池管理是很多團(tuán)隊(duì)會(huì)忽視的模塊。LLM 供應(yīng)商的限流策略和成本控制直接關(guān)系到項(xiàng)目能跑多久Key 被限流了沒(méi)有自動(dòng)切換機(jī)制整個(gè)對(duì)話功能就是癱瘓的。這個(gè)模塊用最簡(jiǎn)單的輪詢 冷卻期就夠了不必引入太復(fù)雜的負(fù)載均衡策略。4.4 部署架構(gòu)與配置管理的實(shí)戰(zhàn)建議部署方面AIFriends 用 Docker Compose 做單機(jī)編排生產(chǎn)環(huán)境建議升級(jí)到 Kubernetes。但要注意的是微服務(wù)架構(gòu)里服務(wù)拆得越多部署和排障成本越高。我的建議是如果你的團(tuán)隊(duì)只有兩三個(gè)人前期用 Docker Compose 部署在單臺(tái) 4C16G 的服務(wù)器上撐住幾千 DAU 完全沒(méi)問(wèn)題。等用戶量起來(lái)之后再遷 K8s利用 namespace 和 deployment 的滾動(dòng)更新能力來(lái)降低發(fā)版風(fēng)險(xiǎn)。配置管理上強(qiáng)烈建議用環(huán)境變量 配置中心的方式不要硬編碼在代碼里或者寫死在配置文件中。至少要把數(shù)據(jù)庫(kù)連接串、Redis 地址、LLM API Key 這些敏感配置單獨(dú)抽離生產(chǎn)環(huán)境用 K8s Secret 或在配置中心加密存儲(chǔ)。5. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄5.1 消息丟失與重復(fù)推送問(wèn)題這類問(wèn)題在我實(shí)際運(yùn)行中遇到得最多尤其是消息丟失?,F(xiàn)象用戶發(fā)了一條消息客戶端狀態(tài)一直停在“發(fā)送中”數(shù)據(jù)庫(kù)里沒(méi)有這條記錄。排查路徑先看 Nginx 和網(wǎng)關(guān)的訪問(wèn)日志確認(rèn)請(qǐng)求是否到達(dá)消息服務(wù)確認(rèn)消息服務(wù)日志里有沒(méi)有對(duì)應(yīng)的消息事件查數(shù)據(jù)庫(kù)對(duì)應(yīng)表看是否有記錄但狀態(tài)異常如果服務(wù)日志都沒(méi)有基本可以斷定是前端沒(méi)發(fā)出來(lái)或者網(wǎng)關(guān)丟包優(yōu)先查前端邏輯處理方案客戶端新增失敗重試機(jī)制超時(shí) 5 秒自動(dòng)重發(fā)并帶上 client_msg_seq 去重服務(wù)端在消息表增加唯一索引session_id client_msg_seq從根本上杜絕重復(fù)入庫(kù)。重復(fù)推送的問(wèn)題更隱蔽。用戶發(fā)送一條消息AI 回復(fù)生成后 WebSocket 推送了一次前端斷線重連后 HTTP 補(bǔ)償拉取又拿到了一次導(dǎo)致對(duì)話界面出現(xiàn)兩條相同的回復(fù)。解決辦法是在前端維護(hù)已渲染消息的 ID 集合渲染前先查重。5.2 LLM 響應(yīng)超時(shí)與假死問(wèn)題AI Agent 服務(wù)調(diào)用外部 LLM 時(shí)最常見(jiàn)的故障就是響應(yīng)超時(shí)。這里的超時(shí)場(chǎng)景和常規(guī)數(shù)據(jù)庫(kù)超時(shí)不一樣外部 LLM 服務(wù)可能因?yàn)樽陨碡?fù)載高而響應(yīng)極慢或者長(zhǎng)時(shí)間沒(méi)有返回任何流式數(shù)據(jù)。排查建議給 LLM 調(diào)用設(shè)置多級(jí)超時(shí)連接超時(shí)3 秒、首 token 等待超時(shí)10 秒、整體響應(yīng)超時(shí)30 秒對(duì)同時(shí)發(fā)起的并發(fā)請(qǐng)求數(shù)做信號(hào)量控制超出排隊(duì)等待防止 LLM API 被瞬時(shí)打滿流式模式下如果超過(guò) 30 秒沒(méi)有任何 token 返回直接中斷該次生成返回一個(gè)兜底文案給用戶還有一個(gè)容易被忽略的點(diǎn)LLM 調(diào)用線程池的大小設(shè)置不合理會(huì)導(dǎo)致服務(wù)整體線程阻塞。AIFriends 踩過(guò)這個(gè)坑最初設(shè)置的線程池太小某個(gè)時(shí)刻用戶量上來(lái)所有線程都阻塞在 LLM 調(diào)用上健康檢查接口都沒(méi)有空閑線程響應(yīng)了。解決方法是把線程池?fù)Q成 IO 密集型的 ThreadPool并且給健康檢查接口單獨(dú)留出線程配額。5.3 積分扣費(fèi)不一致的排查記錄積分扣費(fèi)不一致主要體現(xiàn)在三種情況用戶發(fā)送消息后余額扣了但 AI 回復(fù)沒(méi)有生成用戶并發(fā)發(fā)送多條消息只成功扣了部分積分對(duì)賬發(fā)現(xiàn)積分流水和訂單記錄金額不匹配第一種情況在預(yù)凍結(jié)模式下很少出現(xiàn)但如果出現(xiàn)大概率是凍結(jié)轉(zhuǎn)扣費(fèi)的流程沒(méi)走完。排查時(shí)看訂單表的狀態(tài)如果訂單停在“frozen”狀態(tài)超過(guò) 30 分鐘手動(dòng)補(bǔ)一個(gè)任務(wù)把它轉(zhuǎn)成“failed”并解凍。第二種情況一般是 Redis Lua 腳本在并發(fā)下執(zhí)行了正確性校驗(yàn)但 application 層把返回結(jié)果做了錯(cuò)誤的空值處理。這種問(wèn)題需要看具體代碼但排查思路是在測(cè)試環(huán)境用并發(fā)工具比如 jmeter 或 go-wrk模擬 50 并發(fā)發(fā)消息看 Redis 的扣減記錄和數(shù)據(jù)庫(kù)的流水是否一致。5.4 審核服務(wù)堆積導(dǎo)致消息延遲推送當(dāng)內(nèi)容安全 API 調(diào)用波動(dòng)時(shí)審核隊(duì)列會(huì)積壓導(dǎo)致 AI 回復(fù)遲遲推不到用戶端。處理優(yōu)先級(jí)從高到低檢查內(nèi)容安全 API 的調(diào)用成功率如果 API 本身降級(jí)了自動(dòng)切換備用供應(yīng)商調(diào)整審核服務(wù)的消費(fèi)并發(fā)數(shù)加大消費(fèi)線程池把積壓消化掉動(dòng)態(tài)調(diào)整超時(shí)閾值把自動(dòng)放行的判斷標(biāo)準(zhǔn)適當(dāng)放寬比如超時(shí) 1 秒就標(biāo)記待復(fù)核放行人工審核隊(duì)列單獨(dú)限流防止操作員處理不過(guò)來(lái)之后積壓到爆這個(gè)問(wèn)題的核心是“審核不能阻塞主流程”。AI 對(duì)話產(chǎn)品對(duì)實(shí)時(shí)性的要求很高一條消息 10 秒內(nèi)不回復(fù)用戶基本就流失了。所以審核鏈路一定要和業(yè)務(wù)主鏈路解耦寧可放進(jìn)來(lái)再處理也不能讓用戶一直等。5.5 新增 AI 角色的配置冷啟動(dòng)運(yùn)營(yíng)在管理后臺(tái)新建一個(gè) AI 角色用戶端立刻就能看到并開(kāi)始聊天但實(shí)際體驗(yàn)可能會(huì)很差——因?yàn)檫@個(gè)角色還沒(méi)有積累任何記憶也缺少對(duì)話樣本。這就需要一個(gè)冷啟動(dòng)策略。AIFriends 的做法是給新角色填充“種子對(duì)話數(shù)據(jù)”在角色上線前運(yùn)營(yíng)配置 20-30 組預(yù)設(shè)問(wèn)答對(duì)寫入角色的記憶庫(kù)作為初始記憶。這樣用戶第一次和新角色聊天時(shí)角色就已經(jīng)“知道”一些關(guān)于自己的背景信息不會(huì)出現(xiàn)一問(wèn)三不知的情況。技術(shù)上實(shí)現(xiàn)很簡(jiǎn)單就是往向量庫(kù)寫入一批初始文檔同時(shí)更新角色配置表里的 greeting_message 和 初始人設(shè)關(guān)鍵詞。這里有一個(gè)典型坑新角色上線后由于沒(méi)有歷史對(duì)話數(shù)據(jù)向量檢索可能返回空結(jié)果Prompt 模板里的 memory_snippets 變量為空導(dǎo)致 LLM 生成的回復(fù)極其干癟。所以模板渲染時(shí)要兼容空變量的情況為空時(shí)直接省略該段提示而不是輸出一行空字段。5.6 問(wèn)題排查速查表癥狀可能原因快速排查方向用戶消息發(fā)送失敗WebSocket 連接斷開(kāi)檢查實(shí)例連接數(shù)、Redis Pub/Sub 頻道是否存在消息收到但 AI 未回復(fù)Agent 服務(wù)調(diào)用 LLM 超時(shí)查看 LLM Gateway 的日志和耗時(shí)指標(biāo)AI 回復(fù)了但用戶沒(méi)收到審核服務(wù)攔截或推送失敗查審核隊(duì)列狀態(tài)和消息服務(wù)推送日志積分被扣但 AI 沒(méi)回復(fù)預(yù)凍結(jié)后未正常轉(zhuǎn)扣費(fèi)查訂單狀態(tài)手動(dòng)補(bǔ)償解凍用戶反饋 AI 記憶混亂向量檢索質(zhì)量低或上下文拼接錯(cuò)誤查記憶檢索排名情況和 Prompt 組裝結(jié)果管理后臺(tái)角色修改未生效角色配置緩存未刷新檢查 Redis 緩存 key 的過(guò)期策略和手動(dòng)刷新接口6. 踩坑記錄與架構(gòu)演進(jìn)復(fù)盤6.1 初版單體應(yīng)用到微服務(wù)拆分的遷移邏輯AIFriends 最初的核心對(duì)話功能其實(shí)是一個(gè)單體應(yīng)用代碼量到兩萬(wàn)行左右時(shí)就明顯吃力了。最典型的問(wèn)題是消息推送的 WebSocket 連接和業(yè)務(wù) API 共享進(jìn)程一旦某個(gè)業(yè)務(wù)接口出現(xiàn)慢查詢GC 停頓時(shí)間變長(zhǎng)WebSocket 心跳就會(huì)斷客戶端表現(xiàn)為“掉線”。遷移到微服務(wù)之后最直接的收益不是性能提升了多少而是故障隔離做得更好了。消息服務(wù)宕機(jī)用戶還能正常登錄瀏覽Agent 服務(wù)依賴的 LLM 供應(yīng)商故障其他服務(wù)完全不受影響。這種隔離能力對(duì)在線業(yè)務(wù)來(lái)說(shuō)比單純的性能優(yōu)化重要得多。另外拆分之后每個(gè)服務(wù)的數(shù)據(jù)結(jié)構(gòu)可以做針對(duì)性優(yōu)化。用戶服務(wù)用關(guān)系型存儲(chǔ)用戶畫(huà)像Agent 服務(wù)用向量庫(kù)支撐記憶檢索訂單服務(wù)用事務(wù)性數(shù)據(jù)庫(kù)保證資金安全。數(shù)據(jù)模型跟著業(yè)務(wù)屬性走而不是被一個(gè)“大而全”的庫(kù)綁架。6.2 數(shù)據(jù)一致性與多服務(wù)事務(wù)的取舍微服務(wù)架構(gòu)里最煩人的問(wèn)題是跨服務(wù)的數(shù)據(jù)一致性。AIFriends 沒(méi)有引入分布式事務(wù)框架而是用“本地事務(wù) 消息事件”的模式保證最終一致。舉例來(lái)說(shuō)用戶充值的流程訂單服務(wù)在本地庫(kù)創(chuàng)建訂單狀態(tài)為“待支付”支付回調(diào)成功后訂單服務(wù)更新訂單狀態(tài)并發(fā)送“支付成功”事件到消息隊(duì)列積分服務(wù)消費(fèi)事件給用戶增加積分并寫入積分流水如果步驟 2 之后、步驟 3 之前積分服務(wù)恰好宕機(jī)用戶支付了但積分沒(méi)到賬。解決方式是引入一個(gè)對(duì)賬補(bǔ)償任務(wù)——定時(shí)掃描“支付成功但積分未增加”的訂單重新發(fā)送事件。這種模式的代碼量不大但能覆蓋絕大多數(shù)故障場(chǎng)景比引入 Seata 這類分布式事務(wù)中間件的成本低得多。6.3 我對(duì) AI 社交類項(xiàng)目架構(gòu)擴(kuò)展性的心得這類項(xiàng)目的擴(kuò)展路線大致可以分三個(gè)階段。第一個(gè)階段是把核心對(duì)話鏈路跑通重點(diǎn)在于 prompt 質(zhì)量和記憶機(jī)制第二個(gè)階段是完善商業(yè)化和安全體系積分、會(huì)員、審核、管理后臺(tái)一個(gè)都不能少第三個(gè)階段才是規(guī)模化引入更多的 AI 角色類型、多人聊天室、UGC 社區(qū)等。如果一開(kāi)始就按第三個(gè)階段的標(biāo)準(zhǔn)做架構(gòu)設(shè)計(jì)大概率會(huì)過(guò)度設(shè)計(jì)。AIFriends 的做法是我比較認(rèn)同的按業(yè)務(wù)自然增長(zhǎng)逐步演進(jìn)但每個(gè)階段都預(yù)留好擴(kuò)展點(diǎn)——比如 Prompt 模板從一開(kāi)始就可以配置化向量記憶庫(kù)一開(kāi)始就獨(dú)立存儲(chǔ)消息服務(wù)從一開(kāi)始就支持多實(shí)例廣播。我個(gè)人在實(shí)際項(xiàng)目中的體會(huì)是AI 產(chǎn)品的架構(gòu)難點(diǎn)從來(lái)不在“怎么調(diào)用大模型”而在于怎么把大模型的輸出安全、穩(wěn)定、商業(yè)化地融入到你現(xiàn)有的業(yè)務(wù)體系里。Prompt 寫得好可以讓一個(gè)角色討人喜歡但架構(gòu)設(shè)計(jì)得好才能讓一百萬(wàn)個(gè)角色同時(shí)活著且不出亂子。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
九九久久玖玖| 久热久| 91色狼| 97超碰久| 久久久九97| 人人操人人色人人摸| 欧美青青草视频| 加勒比大香蕉视频在线| 成年人网站在线免费观看| 欧洲精品欧洲精品| 天天色怡春院| 亚洲AV免费在线观看| 亚洲91在线播放影院| 一本色道熟妇| 97国产综合欧美| 亚洲一区深夜| 日日夜夜干| 18禁精品网站在线看| 午夜传煤十二区精品| 9久久美女首页| 久久亚洲婷婷| 极品美女福利在线观看| 国产传媒午夜理伦精品| 97综合| 97欧美久久久久久久| 麻豆久久久久久久久丝袜| 91干熟女| 色情乱伦AV| A片A5445444| 久久少妇| 久久久精品网站| 日日干夜夜欢| 亚洲玖玖爱| 青青操视频在线| 人人妻人人色| 婷婷另类小说| 日韩天堂av电影在线观看| 午夜丁香婷婷| 青青草啪啪网| 日本99视频| 亚洲无吗在线视频| 不卡一区二区日本视频| 国产中文精品一区二区在线观看| 亚洲一区在线观看欧洲| 国产一区二区在线播放量| 麻豆成人影音在线| 亚洲色图欧美| 亚洲av青草久久一区二区| 久久香蕉国产线看观看亚洲女人 | 激情黄色五月天| 国产大片精久久久久久| 激情文学小说一区二区| 超碰在线一区| 国产高清亚洲日韩一区 | 加勒比无码一区二区三区| 69精品人人人人| 手机在线人成免费视频| 亚洲第一黄色av网站| 91精品女厕偷拍视频| 欧美顶级黄片AAAAA在线免费看| 日本免费不卡二区| 国产精品96| 播播亚洲小说亚洲| 99久久com免费视频′| 欧洲在线性爱视频| 久久伊人青青草| 婷婷AV一区二区三区| 黄色网址在线免费观看| 狠狠干2020| 天天流夜夜操| 手机不卡视频不卡在线一二三区| 国产视频一区二区在线观看| 少妇人妻在线| 免费精品国偷自产在线在线 | 色九九九九九九| 熟女熟妇伦久久影院毛片一区二区| 天天综合麻豆视频| 97日韩| 激情婷婷综合久久| 成人性爱全视频观看| 睡产熟女乱伦| 蜜臀久久99精品久久久老,,| 亚洲和欧美裸体美女双飞视频| 久久精品国产久精国产| 99re黄 | 欧洲Au麻豆| a片自拍直播视频| 亚洲 无码 偷拍| 永久免费发布性爱网| 人妻少妇视频在线播放| 欧美色图人妻| jizz啪啪| 久久98| 欧美日韩婷婷中文| 国产精品ww久久| 无码操逼网| 日本有码久久| 天天综合网~91| 久久无码一区二区二三区性色| 久久久久亚洲AV无码专区少妇| 国产精品熟女乱伦| 啪啪啪精品视频| 麻豆一区二区三区精品| 激情 欧美 亚洲 小说| 五月婷婷激情网| 欧美熟妇精品黑人巨大一二三区| 午夜精品久久久久久久99热影院| 成人无遮挡毛片免费看| 日日玩天天干| 亚洲美女30b| 日本黄大片在线观看视频| 亚洲精品男人的天堂| 亚洲欧洲无码一区夜| 校园春色综合色| 天天综合亚在线| 能直接看AV的网站| 韩国黄色片精品久久久| 99∨VTV| 亚洲一级特黄大片在线播放91| aa片毛片| 国产精品午夜福利亚洲综合网| 精品视频在线观看| 精品人妻免费观看| 大香蕉视频一二三区| 久96热在线观看视频| 女人天堂av在线播放| 超碰78| 久久老女人| 国产精品久久久| 天天综合中文字幕 91| 亚洲图片欧美偷拍| 午夜美女福利视频| 亚洲国产尤物yw在线观看| 手机看片日韩人妻| 日本污ww视频网站| 好看的91视频| 色亚洲欧美| 久草新在线| 大二网站亚洲| 亚川综合视频| aⅴ日韩成人电影av在线免费看av大全 | 九t超碰| 亚州男人天堂| 国产亚洲日韩欧| 久久人人爽爽人人爽人人片αV| 在线岛国新天堂8| 欧美黑人精品在线播放| 美女自卫慰黄网站免费| 男人的天堂2019AV| 欧美亚洲国产自久久| 60秒免费小视频| 超碰在97| 亚洲欧美清纯| 色欲三区| 婷婷激情综合网| 天天操天天射青青草| 欧美激情综合色综合啪啪五月| 色99视频| 久久成人午夜狠狠| PMv在线观看| 国产毛片久久久久久久| 这里只有精品视频| 嗯嗯嗯啊啊啊干死我吧| 天天看片天天爽| 红桃视频高潮| 91老熟女91老女人| 成人性爱免费播放| 动漫爆乳3D奶水一区在线观看| 久久久久久久久久久久久久久性生活视频| 99热导航| 成人性生活高清视频在线播放| 亚洲图片欧美色图| 秋霞视频一区二区 | 精品亚洲| 一区在线国产播放| 91色综合激情| AV女优男人的天堂| 精品久久久久久中文| 99热超碰在线| 久热大香蕉网站| 久久人| 日韩激情中文字幕有码| 欧色综合| 精品午夜福利导航| 日本色婷婷| 91老熟女老女人国产老太| 男人的天堂一区| 久久高清欧美国产| 亚av顶级裸体一区二区三区四区五区| 91福利网在线观看| 熟女人妻久久中文字幕一二区| 欧美天天综| 色图四区| 免费一级欧美片片线观看| 亚洲综合小视频小说在线观看| 美女t无毒不卡不卡| 国产极品馒头逼| 五月天丁香网| 粉嫩AV一区二区夜夜| 日本熟妇人妻中出视频| 日韩噜噜69| 久热影视| 日韩图区| 人妻99p| 天天摸天天操视频| 这里都是精品在线观看| 超碰欧美COM| 日韩视频啪啪| 九九九九97| 级做a爱无码性色永久免费| 亚洲国产精品久久久久婷婷青年| 蜜臀无码视频在线观看| 婷婷色色五月天| 综合色久欲| 18禁中文字幕| 亚洲第一精品在线视频| 久久天天躁日日躁狠狠躁 | 精品四五区| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 日韩欧视频| 激情五月天婷婷| 98久久| 欧美一二在线| 欧美性爱五月天| 天天综合97| n1038 一二三区| 伊人久久综合影院| 美女网站91| 亚洲中文字幕乱码无码一区二区| 欧美一区二区三区四区综合| 美女骚尻视频| 二区熟妇韩日| 日本激情免费大片| 中文字幕乱码在线观看| 亚爽爽爽爽爽爽爽爽| 久久久久久国产精品免费网站| 我爱操| 亚洲 日本 一 二 三| 91丨国产丨白浆秘 洗澡动漫| 黑人中出21连凳花野真衣| 2017人人操,人人摸| 精品人妻久久久久一区二区三区| 爱欲AV| 人人摸人人叼| ,成人免费啪啪视频| 超碰久在线天天做| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 欧美性后入| 色呦呦呦在线观看视频| 97九色| 豆1无夜无码| 亚洲天堂另类美腿| 久久性爱免费送| 亚洲男人电影天堂| 亚洲日精品| 日本三级人妻a人妻一在线| 欧美不卡二区| 精品日韩人妻视频| 天堂成人网| 美女诱惑在线一区| 青青草视频在线观看一区二区| 久久肏大逼| av网站国产主播在线| 夜夜无码| 天天看高清麻豆| 天天添天天干电影| 大香蕉啪啪啪| 久久久国产亚洲精品系列| 91色综| 91人妻素女| 欧美成年人性爱视频免费观看| 五月天人妻综合| 国产成人天堂| 久久精品视频一区三区小泽玛利亚| 97免费在线视频在线观看| 欧美一级A片在线看视频性色| 91精品亚洲内射孕妇| 超碰2017| 久夜视频| 欧美少妇人妻| 色五月AV| 97超碰精品| 清纯唯美亚洲| 日本精品中文字幕视频| 超碰97亚洲| 熟女久久| 亚洲欧美骚| 99热这里只有精品1| 2019午夜福利视频| 欧美日本不卡| 日本欧美m v精品网站加| 第45页一区二区| 亚洲情色电影网| 欧美性特| 成人影 天天操 亚洲| 91oumei| 东京日日夜夜| 夜夜嗨一区二区| 920日本午夜免费| 婷婷综合| 久久久久久中文版| 亚洲成人色情五月天丁香花| 蜜臀久久久| www.高清无码诱惑一区.com | 国产视频一区二区在线| 麻豆AV一区二区| 熟妇人妻一区二区三区| 区一在线观看| 9999九九九久久久| 神马九九九| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 亚洲男人久久综合天堂| 91精品久久久久五月天精品| 日本一级婬片试看三分钟| 性生活久久久久久久久久| 久久久18禁| 久久一本大香蕉| 亚州Av天美传媒| aV中文麻| 国产精品久久久久久高清无码免费看| 国产精品亚洲天堂网址| 91精品无码人妻系列| 五月婷婷丁香六月| 韩日巨乳美女免费视频在线观看| 日本一卡二区在线| 欧美性爱第1 页| 一区二区三区美女超清| 亚乱色| 国产高潮AA片免费看| 日韩有码一区三区| 成人色女网| 亚洲在钱| 中文字幕精品探花视频| 伦伦成年午夜免费视频| 亚洲精品一区中文字幕乱码| 美日韩在线不卡人妻| 亚洲国产青青| 在线视频免费观看午夜| 国产Aα| 97自拍视频在线| 青青草视频爽一爽| 撸无码不卡免费视频| 91天天| 亚洲乱伦图片视频| 亚洲另类久操网| 欧美久久久| 日韩精品-原创伙伴| 免费视频在线一区二区不卡| 婷婷色五月激情| 国产久久久9999| 熟女91网| av一区二区三区不卡| 亚洲欧美国产其他二区| 久久久久密臀一区二区| 超碰97 线线 在现| 蜜桃无码AV一区二区| 欧美亚男人的天堂| 欧美高清色| 91快色色色色色| 116美女午夜| 五月天精品| 国产美女口爆吞精视频| 欧美后进式| 999九九九九国产动| 男女日B国产| 亚洲一区二区麻豆影院| 久久婷婷苹果| 久操热| 亚洲欧洲综合av在线| 成人精品在线观看| 精品制服美女中文一区二区三区| 国产精品亚洲无码| 人人色人人射人人妻| 992视频一区| 日韩欧美一级特黄大片| 天天看高清麻豆| 一级毛片电影免费看| 99色婷婷| 欧美天天综合在线| 日韩中文欧美| 好吊色综合| 清柠毛片| 精品九九九| 九九热免费国产视频婷婷伊人五月 | 欧美精品四区| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 美女露胸露屁股| 欧美96精品在线| 九九热精品| 久草综合网| 一区二区三区精品久久| 久久精品综合| 蜜桃视频精品一区二区| 九九热九九| 久久香蕉国产传媒一区剧情天美| 易易A毛视频| 大奶啊啊好爽 | 麻豆天美在线喷水AV| 国产 日韩 欧美高清| 日韩ab网 | 在线国产一区二区av| 岛国不卡超碰护士AV在线播放| 密乳无码| nuu12国产麻豆精品| 新婚人妻扶着粗大强行坐下| 中文一区二区| 五月婷婷六月激情| 大学生美女口爆| 97欧美精品综合| 成人激情无码在线视频| 欧美淫乱视频| 国产又黄又猛又粗又爽的网站| 玖玖综合网| 岛国AV一区二区电影| 久久久99免费| 91高潮喷水美女| 青青草天天亲夜夜操网| 亚州91| 老熟女熟妇| 国产亚洲精品美女久久久久久2021| 亚洲视频二区| 日韩一区二区精品视频| 国产精品午夜福利亚洲综合网| 蜜臀AV成人精品蜜臀| 大香蕉免费乱伦视频| 嗯嗯不要 视频| 美女啊啊啊啊pc| 操操吧亚洲乱伦视频| 亚洲日本天堂| 欧美美女自慰一区二区三区| 91人妻中文| 欧美激情内射| 国产一区二区久久| 五月天激情网站| 尤物视频一区| 91人妻人人澡人人爽人人精品| 精品美女在线视频| 激情综合网五月婷婷| 在线视频亚洲无码| 色欧美色交综合| 久久啊哟| 婷婷久久综合| 美女一区二区国产精品| 国产熟女精品一区二区| 中文字幕在线第二页| 蜜臀少妇一区二区| 亚洲国产成人精品无码专区| 人人干黄色| 九九热精品视频六| AV99热18这里只有精品| 日韩AV色图| 日韩中文字幕二区| 天天干天天操天天干天天操| 囯戸精品高潮呻吟旡码| 亚洲毛片基地专区| 97ai亚洲| 久久久内射良家| 亚洲美欧999| 五月婷婷六月丁香| av资源在线观看少妇| se01国产在线视频| 伊人网青青| 色欧美综合| 国产嫩草精品A88AV| 国产青视频| 青青草国产亚洲精品久久| 在线另类| 亚洲色诱惑| 福利伊人玖玖国产| 中国一级特黄大片护士| 国产无吗在线播放| 中文字幕一区二区视频在线观看| 欧美国产婷婷久久| 久久精品导航| 99热在线只有精品| 超碰9 7女人| 久久久久9999精品九九九| 国产大片精久久久久久| 亚洲综合有玛| 九九热超碰97亚洲最新香蕉| 亚洲情色1区| 老女人日韩美91| 男人的天堂在线有码| 激情五月天色色| 丰满的三级少妇欧美久久久| 无码少妇精品一区二区60岁老人| 熟女色综合久久| 国产高清MV操逼视频| 天天草夜夜草高潮片| 飘花国产午夜精品不卡| 欧美精品99久久久**| www.大香| 国产网站在线播放| 日韩AC| 99啪啪视频| 99操视频| 熟妇视频一区二区三区在线观看| 亚洲综合码| 粉嫩AV一区夜夜嗨| 亚洲女人毛茸茸91| 外国免费性情大片| 女性喷水高潮在线观看| 久久欲| 噜噜噜在线视频| www.av在线视频| 人人妻人人狠人人| 精品视频久久久久九九九九9999| 久久午夜伦| 九一综合精品视品av| 国产高清不卡视频| 俺也射| 久久久久成人网| 欧美性xxxxx狂欢| 成人无码在线视频网站| 国产精品无码在线| 乱日视频| 久久宗合亚洲| 综合久久2017| 丁香六月激情| 久操热| 亚洲欧美天堂在线| 啊嗯嗯啊好大好爽| 五月天亚洲色图| 欧美成人一级麻豆| 78久久| 大香蕉一区二区在线观看.| 国产亚洲精品美女久久久m| 亚洲国产成人高清在线| 美腿色图| 亚洲欧美国产精品久久久久久久| 国产乱子伦久久精品综合一区二区三| 日本精品网站在线中文| 婷婷五月天成人网| 麻豆 亚洲 97| 久久久久久久97| 人人操人人搞人人草| 九九热最新| 好屌色综合| 96一区二区| 中文一区在线视频| 色哟哟-国产专区| 嗯嗯嗯啊啊在线观看| 亚洲网站一区二区在线| 色狠狠综合| 久久超碰98| 男人天堂网站| www久久99| 欧美97日韩精品| 人人澡人人干| 91操人| 亚洲熟妇熟在线电影视频| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | av日韩中文字幕| 手机午夜电影神马久久| 乱精品一区字幕二区| 2003天天干夜夜操| 国产东北女人在线视频| 九九久久首页| 91综合网站| 天天精品| 日本最新1区2区3区| 在线播放免费av福利片| 天天综合网久久ww| 91亚洲高清| 丁香六月婷| 午夜九九| 国产视频一区二区免费| 啊操爽品善一区二区三区| 国产在线视频午夜精华在| 九九人人操| 人妻少妇精品无码专区二区密桃| 久久男人精品| 男人的天堂2000| 人人贴人人摸| 精品九九九九九九九九九| 少妇厨房愉情理伦片bd在线观看| 中日无幕一二三四区| 夜夜欧美| 亚洲天堂人妻一区二区| 青青草好吊色| 欧美精品四区| 亚洲欧美综合| 麻豆AV一区二区| 色哟哟AⅤ| 欧美一级欧美三级在线观看| 四虎国产精品永久在线囯在线| 最新加勒比丝袜在线| 九九九免费视频| 天天摸天天插天天日| 天美传媒精品一区二区| 久久久不能久久久久| 爱妃国产亚洲视频中文字幕| 97se综合网| 三级激情网站| 国产后入清纯| 激情五月天网站| 国产女大学生AV| 色爱欲亚洲| 天堂俺去俺来也www久久婷婷| 久久久禁| 亚洲成av人片色午夜乱码| 久久久性爱| 啊啊啊 在线观看| 一区二区三区亚洲| 五月天亚洲网| 狠狠综合网| 天天射天天操天天干天天吃2018| 欧美韩国你懂得在线| 亚洲精品一二区| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 亚洲丁香花色| 亚洲国产精品成人久久蜜臀| 欧美精品偷拍| www.av在线视频| 久久有码视频| 艳美熟妇先锋一二三区| 人人 操人人 操人人| av久日| 亚洲精品成人| 日韩无码视频黄色| 色69大色97香蕉| 美女露胸露奶头| 探花在线免费观看视频国产一区| 又黄又硬又粗又长国产视频| 欧美色图片91| 一区二区娱乐网站| V A在线| 91超碰在线播放| 国产av高清版| 韩国黄片aaaa| 国产精品白丝| 后入日本1234| 蜜桃精久三区| 欧美色图天堂在线| 国产AV无码AV| 91久久青青草原精品| 亚洲国产亚洲天堂| 九九九午夜| 国产黄片在线免费观看| 国产在线观看一区二区三区| 色97国产69香蕉| 99久久这里只有精品| 久久鲁干| 日本成人A片网站| 欧美成人精品一区| 激情五月天校园春色网| 九九久久首页| 人人操av| 五月天玖玖资源站| 免费看国产曰批40分钟怎么下载| 色欧美亚洲| 四虎免费视频| 懂色AV中文| 99精品丰满人妻无| 国产精品一区二区黄片| 性爱视频无打码在线观看| 91色宗合| 国内一级精品| 屁股久久久久久久久| 啊视频在线| 亚洲AV成人无码一二三久久| 国产人妻久久精品一区二区三区| 91色综合激情| 国产精品大香蕉| 黄视频免费| 91人妻熟女| 97操综合| 久草在| AV 少妇 人妻 偷拍| 日韩欧美大力操| 亚州成人a∨| 熟女一区二区三区四区| 无码WWW免费视频网站| 亚洲综合激情五月久久| 日日爽夜夜爽| 超碰色综合| 欧美亚洲特P| 高清不卡 中文 人妻| 欧美在线 亚洲| 亚洲AV无码久久久国产精品| 涩综合导航| 欧美性五月| 久久日本熟妇熟色高清| 亚洲吊色| 97射欧美| 91插B网站| 99热线麻豆| 91无码人妻精品一区二区三区蜜桃| 亚洲色图美腿丝袜| 97大色网| 熟女自慰久久久| 强上我不卡卡| 丝袜制服字幕在线| 欧美日本久久精品一区| 日本少妇va7777| www.欧精品| 欧美最婬乱婬爆婬性视频 | 男人的天堂久久久| 欧美天天综合在线| 操碰97| 99在线免费视频| 久久久久久性爱片| 欧美爆操91| 日夜久久久九九九久| 婷婷五月天无码 | 91视频精品| 18禁看网站一区| 国产又操| 蜜桃中文字日产乱幕4区| 97欧美精品综合| 超碰久在线天天做| 天天狂操夜夜狂日| 在线观看色视频| 91久久久久免| 少妇蹲下买菜露大唇0| 国产三级资源在线观看| 久久精品中文字幕无码l| 后入国产| 三上悠亚在线毛片91| 欧美一级A片在线看视频性色| 欧美天天影院| 日少妇亚洲版| 校园春色亚洲无码| 色淫网站优优视频| 亚洲精品久久久久毛片A片拉屎 | 97中文字幕色| 丝袜天堂网| juliaann欧美丝袜办公室| 一区二区高清视频| 99婷婷一区二区| 视频国产精品未满十八禁止在线观看| 亚洲一区二区三区欧美日韩| 亚洲天堂电影精品一区| 黄色十八禁网站| 欧美日韩大陆黑人少妇99| 久久影视二区三区行押| 精品人妻中文字幕高清| 韩国午夜理伦三级好看| 91女网站| 国产精品3| PMv在线观看| 欧美极度丰满熟妇hd| 性欧美体内射精| 超碰欧美97资源| 精品人妻1区| 婷婷久久综合| 国产少妇内射| www.亚洲成人一区| 人妻少妇精品一区二区三区| 亚洲色图伊人网| 日韩久射综合| 蜜乳AV网址| 乱精品一区字幕二区| 久久久久921| 日韩欧美大片免费高清啪啪| 色婷婷丁香五月| 久草草一二三四区久久| 一级毛片电影免费看| 久久美女福利是上海美女| 欧美变态激情网| 亚洲精品九九九| 99.色网| 色综合久久av| se,,,亚洲欧美| 久久美女福利是上海美女| 一二三卡欧美日韩人妻免费精品| 国产第12页| 亚洲自拍欧美色综合| 久久香蕉网| av毛片aaaaa免费看| 欧美视频激情久久久久久| 竹菊影视国产一区二区| 欧美第二页| 在线观看黄色电话| 国产精品国产| 91丨九色丨东北熟女| 天天做日日爱夜夜爽| 99精品热| 亚洲AV不卡在线观看| 密乳无码| 青草园大香蕉| 99这里只有精品国产| 色女99一级片在线观看| 91丝袜美女视频| 992这里有精品| 伊人超碰97| 人妻久久久| 日本男人天堂| 女同在线视频一区| 久久久久夜夜夜夜| 欧美 亚洲 制服 精品| 欧美天天综合在线| 9/A片| 中出欧美| 婷婷色香| 亚洲AV无码乱码| 日韩精品人妻中文字有码在线| 乱性AV| 精品一二三区女同| 十八禁的黄污污免费网站| 大屁股熟女一区二区三区| 亚洲无吗在线视频| 亚洲美腿丝袜香蕉影视欧美成人| 日韩操p| 色天欧美| 国产无码精品成人| 久久精品中文| 久操不卡视频| 天天综合欧美| 国产亚洲欧洲在线观看| 国产不良强奸视频免费看| 国产精品久久久九九九| 人妻系列无码专区中文有码| 变态另类专区| 日韩欧美女优电影| 两女互慰AV高潮喷水在线观看| AV在线资源| 久热大香蕉| 大学生美女口爆| 欧美激情久| 亚洲综合中文字幕有码| 色欧洲| 99热精品国产| 国产吞精a级片激情电影| 欧美色图电影| 91性高| 性爱边摸边日免费AV| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 另类图片五月天| av激情亚洲五月天| 日日干夜夜欢| 亚洲无码久久久久久久| 上床啊啊啊| 操操AV电影| 国产黄色影片在线观看| 亚洲a色| 青青草伊人久久| 免费黄色视频网址| 精品一区二区国产日韩| 天堂亚洲精品| 激情文学网伊人| 人人看人人爰人人操| 久久婷婷苹果| 亚洲一二三四区机械| 翔田千里无码一区| 少妇人妻在线| 天美一二三在线观看Av| 伊人精品久久网站| 久久久日本电影| 91欧美综合在线| 人妻熟女字幕一区二区| 久久精品高清AV| 九九九九精品九九九九| 人妻天天爽夜夜爽2| 欧美另类色| 欧美黄片欧美黄片xxx| 美女被啪到深处抽搐视频| 久久久久久久久国产| 久久久影院| 人妻丰满熟妇一区二区三| 国产99热| 久久久久久中文| 久插综合| 麻豆黄色五月天| 偷窥自拍亚洲天堂网爆| 欧美日韩另类在线播放| 超碰97欧美| www.久久超碰| 日本精品一区二区三| 99re这里只有精品3| 青青操青娱乐| 99亚洲精品| 日本506070| 九t超碰| 麻豆人妻偷人精品无码视频| 97精品久久久久久久| 性爱乱伦网址| 久久精品国产亚洲AV无码电影| 97无码视频在线播放| 欧美se综合| 久久精品女同亚洲女同13| av麻豆啪啪| 内射中出日韩在线观看视频| 啪啪一区| 一区二区三区视频在线观看免费| 欧美一级美片在线观看免费| 97免费视频在线观看| 性高潮久久久久久久久久久| 日本道人妻久久久在线不卡色视频| 国产青青美女玩逼视频| 欧美亚洲厕所精品偷拍91 | 一区二区三区免费岛国片| 情趣丝袜无码操逼视频| 久久精品 六十路 熟女 欧美| 欧美综合自拍| 91色拍| 亚洲欧洲av影音| 毛片一区二区| 亚洲天堂五月天国产| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 国产精品原创巨作?v网站| 欧美裸体美女日麻屄| 一区二区三区一亚洲中文字幕、综合区灬 | av强奸乱轮| 亚洲国产ⅴ高清在线观看| 黄色香蕉视频网站一区| 女欧美一区二三区| 999精品国产高清一区二区| 翔田千里爆乳巨臀无码| 亚洲av无码国产精品字幕| 国产最新小视频在线播放下载| 超碰九区| 又大又大又大又粗爽高潮观看 | 爽爽淫人网| 欧美亚洲第1页| 校园春色欧美色图| 99www.bibizy香蕉资源国产一区二区三区高清| 午夜呻吟欧美| 东北老女人的激情视频| 欧美影音在线| 97操B| 久草精品在线| 久久精品国产Aⅴ| 日韩亚洲欧美中文字幕| 国产JDAV无码视频在线观看| 思思热在线cao| 欧美激情中文字幕另类小说| 色婷婷久久| 成人精品电影| 国产成自自拍在线观看| 久久久久久久久久久精| 久9九综合在线| 最新av中文字幕高清| 欧美日韩一区二区三区四区蜜桃| 日韩av一级黄片| 九九热精品| 天天爽夜夜欢视| 另类图片五月天| 欧美日韩中文视频播放| 久久大黄片| 精品久久久久av影院| 五月婷婷AV| 成人综合网 欧美| 国产亚热在线久久| 中欧人妻丝袜中文字幕| 国产91av在线播放| 欧美精品99久久久| 淫妻综合网| 日欧毛片久久| 一区二区视频在看| 日韩黄片影院| 中文字幕啊啊啊在线观看视频| 久久亚洲不卡一区二区三区 | 怡春苑东京热| 亚洲精品99999| 国产粉嫩蜜臀av一区二区三区 | 精品无码久久久久久久久果冻糖心 | 日韩亚洲Av人人夜夜澡人人爽| 无码99| 人澡逼| 一级性爱啪啪视频| 91亚州日韩高清| 加勒比av官网在线| 超碰97护士| 欧美亚洲日本激情在线| 懂色AV一区二区三区| 青青草久久| 一级黄色性爱裸体视频| 国产成人自拍视频在线| 极品粉嫩少妇视频| 亚洲欧美校园| av绯色| 求求你操操我| 久久久久久久唑| 日韩一级成人毛片免费观看| 少妇69中文| 蜜区区视频79 | 欧美美逼| 亚洲日韩美国人妻| 玖玖爱一区在线| 97干色| 天天添天天干电影| 这里只有精品97| 久久香蕉综合一本到3atv| www.91欧美| 日本一道在线播放高清| 亚洲五月婷| 夜夜春夜夜操| 福利视频一区二区微拍| 欧美永久激情一区二区| 人人妻人人澡人人爽人人精品浪潮| 欧亚性爱在线视频| sss视频华人在线| 天天干18禁| 国产精品老师| 国产精品久久久久久夜夜夜夜| 欧美aa一级片| 久久国产对白激情浪潮 | 国产丝袜高跟美女av免费观看| 亚洲乱妇p22| 丁香激情网| 亚洲情色视频| 嗯嗯啊中文字幕| 久久精品一区二区| 久操99| 亚洲情色欧美| 亚洲熟女综合| 人人搞人人插人人操| 亚洲欧洲视频小说在线观看| aa片毛片| 91爱综合| 国产精品白领在线观看| 日日骚 av| 欧美一级美片在线观看免费| 亚洲色9| 手机看片日韩人妻| 亚洲黄色网址| 中日韩熟女| 超碰碰小说97| gogogo免费高清看中国国语| 九九热精彩视频| 乱伦图av| 国产97综合| 91九色网| 97干97色| 91色婷婷综合久久中文字幕二区| 久射吧| 99视频内射三四| 久久国产乱子伦精品免费女,网站| 精品久久99| 曰韩中文人妻视频| 超碰人妻久久人妻中文97| 久久精品店| 校园春色 亚洲| 亚洲nv男人的天堂网| 综合伊人激情| 日韩丝袜高跟制服在线观看| 思思在线免费视频| 久久精品店| 男女激情中文字幕| 青娱乐国产盛宴视频| 一二三四区电影| 校园春色制服丝袜中文字亚洲| 啊啊啊啊好多水| 色好看av| 美女自卫慰黄网站免费| 操一操摸一摸| 91爱欧美| 99热99色| 九久久精品| 大香蕉AV丝袜| 欧美国产伊人久久久久| 日日躁夜夜躁狠狠躁超爽| 99爱久久视频频| 色官网在线| 91综合在线| 久久亚码| 校园春色制服丝袜中文字亚洲| 1人人看人人摸人人操| 国产女主播视频在线观看| 熟女六十路| 毛片久久| 青青草乱入乱欲视频在线观看| 久久久一区二区三区三州| 日本免费一区二区不卡| 九九九午夜| 中日韩欧美精品无码AⅤ一区二区| 婷婷九月丁香| 黄色二级片网站| 最新国内自拍av免费| 免费视频97| 国产精品丝袜久久亚洲不卡| 九九av| 亚洲中文国际强奸字幕| 超碰在线1234区| 日本三级日本三级三级人妇四虎| 日韩丰满熟妇| 东京热视频网| 精品久久97观看在线视频| 欧美性爱网97| 97人人中文网| 91丨九色丨国产打屁股| 啪啪啪东京| 91 天天综合| 亚洲色图伊人网| 激情一区二区三区在线观看| 亚洲天堂男人天堂网| 精品大全99999| 中文字幕国产精品1区| 成人国产精品三级A片| 欧美经典一区二区三区| 亚洲av综合伊人久久| 91n处女在线观看| 乱色老一区二区三区的观看方式| 91色伦综合| 少妇蜜汁| 这里是精品| 99热99re超碰精品| 深夜激情无码| 人人摸.人人色| 黑人精品一区二区在线播放| 青青草在线视频美女| 伊人大香蕉在线| 99久久这里只有精品| 日本高清一区二区在线| 精品无码不卡视频| 91国产操逼视频| 91情色在线| 91 偷| 美女十八禁| 久久久久久中文| 色偷综合| 亚洲欧美日韩国产丝袜自拍中文| 99啪啪视频| 97干com| 综合 青草 伊久久 影院 综合| 青青草视频久久| 激情六月婷婷| 欧洲天天在线| 欧洲天天在线| 志村玲子视频一区二区| 久久伊人大香蕉| 99精品视频在线观看| 五月婷婷丁香| 色小视频蜜乳| 色综合尤物| 国产综合网站在线播放| 亚洲一区中文字幕一区| 日日碰狠狠添天天爽超| 丁香五月婷婷色| 天天日天天舔天天喷天天射| 欧美|91色综合| 97香焦色区| 欧美九九爱| 91在线限制级| 人妻免费观看| 精品久久艹| 免看60秒涩涩视频| 四虎影视精品| 啊啊啊啊啊啊啊在线| 亚洲九九爱| 偷拍亚洲情色| 大香蕉综合网| 成人午夜高潮av猛片| 日本性爱视频一级| 少妇人妻好深太紧了vr91| 久久久久久国产手机AV| 色五月首页| 91黑丝少妇| 91亚洲影院综合| 69久久久久久久久久久久久| 清纯唯美综合亚洲| 成人怡红院| 香港澳门日本三级网站| 欧美色性爱| 黑丝少妇| 男生女生啊啊啊啊| 最新9久久久9免费视频| 在线洲亚线| 蜜臀va69|