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

ARTICLE DETAIL

資訊詳情

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

AI旅游Agent全棧實(shí)戰(zhàn):MCP協(xié)議、會(huì)話記憶與支付回調(diào)技術(shù)拆解

AI旅游Agent全棧實(shí)戰(zhàn):MCP協(xié)議、會(huì)話記憶與支付回調(diào)技術(shù)拆解 1. 先拆清三個(gè)容易被低估的難點(diǎn)再談技術(shù)棧先說結(jié)論一個(gè)AI旅游Agent表面上是一套用戶聊天 → 行程規(guī)劃 → 下單支付的流程但你真上手做就會(huì)發(fā)現(xiàn)真正決定項(xiàng)目成敗的從來不是大模型API本身而是圍繞它鋪開的前端交互、上下文管理、工具調(diào)用協(xié)議和支付回調(diào)。很多人以為這就是給GPT套個(gè)殼加個(gè)天氣查詢接口再把攜程的單子接進(jìn)來實(shí)際上這套東西的復(fù)雜度遠(yuǎn)超想象。我這個(gè)項(xiàng)目從零搭建跑完整個(gè)鏈路之后最大的感受是技術(shù)選型誰都能抄難的是把對(duì)話和業(yè)務(wù)這兩套邏輯真正焊在一起。先把這個(gè)Agent要解決的場(chǎng)景說清楚。我做的是一款給自助游用戶用的旅游規(guī)劃Agent用戶通過微信小程序或H5頁面跟它對(duì)話比如幫我規(guī)劃一份成都四天三晚的行程預(yù)算3000不想去網(wǎng)紅景點(diǎn)Agent需要自己去查天氣、調(diào)景區(qū)信息、比價(jià)酒店最終生成一份可確認(rèn)的行程單用戶點(diǎn)確認(rèn)后直接走微信/支付寶的H5支付完成預(yù)訂。整個(gè)鏈路涉及前端、網(wǎng)關(guān)、編排引擎、MCP工具服務(wù)、訂單系統(tǒng)和支付渠道缺一不可。拆解這個(gè)技術(shù)棧之前先講三個(gè)我踩完坑才明白的難點(diǎn)這決定了后面的所有設(shè)計(jì)難點(diǎn)一是上下文漂移問題。旅游規(guī)劃絕不是一次問答就能結(jié)束的。用戶今天說定了去成都明天可能改口說成都太熱了換昆明吧甚至只是改一個(gè)預(yù)算數(shù)字。如果Agent上下文里存的是成都四天三晚改預(yù)算后生成的行程可能還帶著成都的舊信息。這要求系統(tǒng)必須把對(duì)話歷史和結(jié)構(gòu)化行程草稿分開管理而不是一股腦塞給大模型。難點(diǎn)二是工具返回的數(shù)據(jù)結(jié)構(gòu)統(tǒng)一。MCP協(xié)議給了Agent調(diào)用工具的標(biāo)準(zhǔn)通道但是酒店供應(yīng)商返回的字段、天氣服務(wù)的字段、門票系統(tǒng)的字段格式千差萬別。Agent也就是大模型非常敏感返回體一旦出現(xiàn)歧義它就會(huì)開始瞎猜字段含義。我見過Agent因?yàn)橐粋€(gè)日期格式不一致把今天理解成明天最后給出錯(cuò)誤建議的例子。難點(diǎn)三是支付環(huán)節(jié)的最后一公里。聊天界面里一切都很美好但要用戶真金白銀付錢的那一刻體驗(yàn)稍微卡頓流失率就直線上升。而且H5支付的回調(diào)機(jī)制、并發(fā)冪等、掉單處理完全是另一套工程體系跟AI可沒什么關(guān)系卻又是這個(gè)產(chǎn)品能活下來的基礎(chǔ)。下面我就按實(shí)際系統(tǒng)的調(diào)用順序從前端開始一層一層拆解每個(gè)環(huán)節(jié)的技術(shù)選擇和落地細(xì)節(jié)。2. 前端對(duì)話層為什么我用uniapp而不是原生小程序前端對(duì)話層是這個(gè)Agent的門面用戶所有感知都發(fā)生在這里。我最初評(píng)估過三種方案微信原生小程序、uniapp跨端框架、純H5。最終選了uniapp核心原因是一套代碼同時(shí)覆蓋小程序和H5。2.1 選型邏輯跨端覆蓋背后的生意邏輯旅游場(chǎng)景的流量分散在微信、支付寶、抖音等多個(gè)平臺(tái)用戶分享行程的時(shí)候打開鏈接可能是H5也可能是小程序。如果每個(gè)端都寫一套原生代碼維護(hù)成本翻倍而且AI對(duì)話界面這種復(fù)雜交互雙端同步改版非常痛苦。uniapp的好處在于編譯期把同一套Vue代碼轉(zhuǎn)成各端產(chǎn)物。我的實(shí)際經(jīng)驗(yàn)是微信小程序端走原生渲染H5端走標(biāo)準(zhǔn)瀏覽器組件用uni-ui的彈層、輸入框、按鈕對(duì)話消息列表自己封裝。不需要花里胡哨的圖表和動(dòng)畫核心交互就是消息氣泡、鍵盤輸入、流式文本渲染、行程卡片展示。唯一的坑是小程序的WebView與H5的DOM差異。比如長(zhǎng)按復(fù)制、輸入框自動(dòng)滾動(dòng)、鍵盤彈起遮擋行程卡片這些細(xì)節(jié)點(diǎn)在雙端表現(xiàn)不一致調(diào)試時(shí)要掃碼真機(jī)看效果別信模擬器。2.2 對(duì)話狀態(tài)機(jī)前端不只是貼大模型的返回對(duì)話層最容易犯的錯(cuò)誤是把前端當(dāng)成一個(gè)打印終端——大模型說什么頁面就渲染什么。真實(shí)場(chǎng)景里用戶隨時(shí)可能打斷、修改、確認(rèn)前端必須維護(hù)一個(gè)對(duì)話狀態(tài)機(jī)。我的前端核心狀態(tài)是這樣一個(gè)結(jié)構(gòu)type ChatState { phase: idle | collecting | planning | confirming | payment; currentIntent: createPlan | modifyBudget | changeCity | bookProduct | askWeather; draftPlan: DraftPlan | null; // 結(jié)構(gòu)化行程草稿 selectedPackage: ProductPackage | null; // 用戶待確認(rèn)的產(chǎn)品包 unconfirmedChanges: string[]; // 等待用戶確認(rèn)的修改點(diǎn) };這個(gè)狀態(tài)機(jī)的意義在于前端知道當(dāng)前對(duì)話處于什么階段就能決定消息列表里展示什么卡片。比如phase是planning時(shí)大模型正在調(diào)工具查酒店前端就顯示正在查詢合適房源...的等待動(dòng)畫phase進(jìn)入confirming時(shí)前端直接把行程卡片渲染成可編輯狀態(tài)用戶可以直接改日期、刪景點(diǎn)改完前端把變更塞回消息發(fā)送而不是讓用戶重新打字描述。2.3 流式輸出與體驗(yàn)細(xì)節(jié)做出來對(duì)話體驗(yàn)上我用WebSocket做全雙工通信服務(wù)端一邊調(diào)用大模型一邊通過ws推送中間結(jié)果。前端收到文本增量就做打字機(jī)效果收到Markdown片段就渲染日程卡片收到工具調(diào)用狀態(tài)就顯示進(jìn)度提示。這里有個(gè)經(jīng)驗(yàn)值得分享不要把大模型的原始輸出直接推給前端。旅游行程如果以Markdown文本渲染版式會(huì)很丑用戶也不容易點(diǎn)選。我的做法是Agent編排層在生成回復(fù)正文之外額外生成一份結(jié)構(gòu)化的tripPlanJSON前端檢測(cè)到消息里帶JSON字段就渲染成專門的行程卡片組件。卡片上的每個(gè)景點(diǎn)、酒店、航班都是可點(diǎn)的條目點(diǎn)擊后觸發(fā)進(jìn)一步對(duì)話。2.4 H5打包與分享的補(bǔ)充方案小程序端順手解決H5端我額外接了一層Web裝包。因?yàn)橛脩艨赡茉谂笥讶蛩阉饕胬稂c(diǎn)開一個(gè)旅游攻略鏈接這個(gè)鏈接必須能全屏聊天不需要下載App。H5頁面我套了個(gè)PWA殼離線時(shí)還能看歷史對(duì)話記錄這一招對(duì)提升回訪率很有幫助。3. 會(huì)話與記憶層不能只靠大模型上下文窗口很多人以為把全部對(duì)話歷史拼成大模型的上下文就行但旅游場(chǎng)景下的對(duì)話通常有幾十輪幾次修改后歷史文本就會(huì)突破上下文窗口限制。而且token成本也不是開玩笑每輪都塞全部歷史一次請(qǐng)求光輸入就要幾千token價(jià)格翻倍。3.1 雙層記憶對(duì)話摘要 結(jié)構(gòu)化草稿我的會(huì)話層采用了雙層記憶結(jié)構(gòu)。第一層是結(jié)構(gòu)化行程草稿。任何一輪對(duì)話結(jié)束后編排層都會(huì)提取用戶當(dāng)前確認(rèn)的目的地、日期、人數(shù)、預(yù)算、偏好、已排行程寫進(jìn)一個(gè)JSON對(duì)象存Rediskey是session:{userId}:draft。{ city: 成都, days: 4, travelers: 2, budget: 3000, preferences: [美食, 歷史文化], avoid: [網(wǎng)紅景點(diǎn)], timeline: [ { day: 1, spots: [武侯祠, 錦里], hotel: null }, { day: 2, spots: [都江堰], hotel: null } ], history: 用戶原計(jì)劃去都江堰因下雨改成熊貓基地 }第二層是對(duì)話摘要。每輪對(duì)話結(jié)束后服務(wù)端調(diào)用一次大模型把這一輪用戶新表達(dá)的關(guān)鍵信息概括進(jìn)摘要替代原始消息。比如用戶說預(yù)算從3000提到4500酒店可以住好一點(diǎn)摘要里就只記預(yù)算更新為4500偏好中高檔酒店。3.2 為什么要這么設(shè)計(jì)理由是控制模型幻覺。大模型讀純對(duì)話歷史時(shí)容易在用戶到底改了什么上產(chǎn)生混淆。比如用戶第一次說預(yù)算3000第二次說不超過4000第三次又說其實(shí)4500也行如果只順著上下文文字看模型可能不知道該聽哪句。而結(jié)構(gòu)化草稿是程序直接更新的模型每次只需要基于草稿狀態(tài)去補(bǔ)充新內(nèi)容準(zhǔn)確率高得多。結(jié)構(gòu)化草稿還有一個(gè)額外好處可以做并發(fā)控制。用戶邊聊邊改是常態(tài)比如同時(shí)在兩個(gè)設(shè)備登錄這種情況下Redis里的草稿有版本號(hào)服務(wù)端用樂觀鎖處理并發(fā)更新避免后一次修改覆蓋前一次關(guān)鍵信息。提示不要把對(duì)話原樣全部存進(jìn)Redis。Redis適合存短小精悍的結(jié)構(gòu)化數(shù)據(jù)長(zhǎng)文本歷史歸檔到MongoDB或MySQL都行Redis里只保留最近5輪原始消息用于兜底生成摘要時(shí)參考。3.3 記憶層如何跟前端狀態(tài)機(jī)配合前端的狀態(tài)機(jī)和服務(wù)端的記憶層通過一個(gè)sessionSync接口同步。前端展示的draftPlan字段就是服務(wù)端記憶層Redis草稿的鏡像。用戶在前端改了一個(gè)景點(diǎn)前端發(fā)送一個(gè)updateDraft消息服務(wù)端校驗(yàn)后更新Redis再觸發(fā)新一輪Agent編排——這比讓用戶重新描述一遍需求體驗(yàn)強(qiáng)太多了。4. MCP服務(wù)層把天氣、酒店、門票變成Agent的眼睛和手MCPModel Context Protocol是這兒技術(shù)棧的樞紐。如果你還不了解MCP可以這樣理解MCP用一個(gè)標(biāo)準(zhǔn)協(xié)議讓大模型Agent能調(diào)用外部的工具/數(shù)據(jù)源。服務(wù)商把能力封裝成一個(gè)個(gè)工具注冊(cè)到MCP Server上Agent通過MCP客戶端發(fā)現(xiàn)這些工具并調(diào)用返回結(jié)構(gòu)化結(jié)果。相當(dāng)于給Agent配了一副能查實(shí)時(shí)數(shù)據(jù)的手套。4.1 為什么旅游場(chǎng)景特別適合MCP旅游Agent要接觸的數(shù)據(jù)源極其分散天氣接口、航班查詢、酒店庫(kù)存、門票余票、地圖POI、甚至當(dāng)?shù)鼗顒?dòng)。這些系統(tǒng)各有各的API、鑒權(quán)方式和返回格式。要是每一個(gè)都讓編排層寫死適配代碼維護(hù)量巨大而且每加一個(gè)供應(yīng)商就要改一次編排邏輯。MCP的思路是把數(shù)據(jù)源封裝成工具屏蔽細(xì)節(jié)。我這邊部署了五個(gè)MCP ServerMCP Server職責(zé)工具暴露weather-server接入聚合天氣數(shù)據(jù)get_forecast(city, date)poi-server景點(diǎn)、美食、文化活動(dòng)查詢search_poi(city, keyword, tags)hotel-server酒店搜索與比價(jià)search_hotels(city, date, priceRange)ticket-server景區(qū)門票余量與預(yù)訂check_availability(poiId, date)traffic-server城市間/市內(nèi)交通方案get_flight_route/get_train_schedule每個(gè)MCP Server都是獨(dú)立進(jìn)程內(nèi)部各自處理第三方API的鑒權(quán)、緩存、重試、限流。Agent編排層完全不需要關(guān)心天氣API的AK怎么配、酒店供應(yīng)商的字段怎么映射它只需要按MCP工具清單發(fā)起調(diào)用。4.2 工具定義與返回結(jié)構(gòu)設(shè)計(jì)MCP工具定義使用JSON Schema大模型會(huì)根據(jù)這個(gè)Schema決定要不要調(diào)用、傳什么參數(shù)。工具定義寫得清不清楚直接決定Agent能否正確使用。當(dāng)時(shí)我在poi-server里定義了一個(gè)搜索接口{ name: search_poi, description: 根據(jù)關(guān)鍵詞和城市搜索景點(diǎn)或美食列表適合在行程規(guī)劃中查找候選打卡點(diǎn), inputSchema: { type: object, properties: { city: { type: string, description: 城市名如成都 }, keyword: { type: string, description: 搜索關(guān)鍵詞如熊貓、火鍋 }, tags: { type: array, items: { type: string }, description: 篩選標(biāo)簽可選美食/歷史文化/自然風(fēng)光/親子/網(wǎng)紅 } }, required: [city] } }這里有個(gè)重要經(jīng)驗(yàn)description一定要寫清楚工具的用途和參數(shù)邊界。大模型會(huì)從description學(xué)習(xí)什么場(chǎng)景下該用這個(gè)工具。我之前在行程規(guī)劃場(chǎng)景里把ticket-server.check_availability描述寫成查詢門票余量Agent反而在用戶問幾點(diǎn)開放時(shí)也去查余量。后來我把description改成查詢指定景區(qū)在某日的門票余量和開放時(shí)間模型就再?zèng)]亂用。返回結(jié)構(gòu)上我統(tǒng)一收口成一個(gè)信封格式{ status: success, data: { ... }, // 業(yè)務(wù)數(shù)據(jù)字段全部snake_case meta: { source: amap, cached: true, fetchedAt: 2025-06-20T10:30:00Z } }數(shù)據(jù)字段名統(tǒng)一、嵌套層級(jí)清晰模型就不會(huì)在JSON路徑上糾結(jié)。日期格式我全局統(tǒng)一為YYYY-MM-DD別看這點(diǎn)小事模型對(duì)06/20/2025和2025-06-20的理解差異極大。4.3 不要把扣款放進(jìn)MCP工具我踩過最大的一個(gè)坑也是最想提醒你的絕對(duì)不要把支付扣款直接暴露成MCP工具給Agent調(diào)用。有人可能覺得Agent既然能查酒店那讓它直接訂個(gè)房不香嗎聽起來很美但后果很嚴(yán)重。大模型在工具選擇上本來就存在不確定性——用戶問預(yù)約明天早餐時(shí)Agent可能直接調(diào)用了hotel-server.book_room把明天的房費(fèi)都扣了用戶改了主意還要走退款流程中間一旦有幻覺運(yùn)營(yíng)事故就來了。我的原則是MCP工具只做查詢和預(yù)占付款和正式下單必須回到業(yè)務(wù)側(cè)。比如ticket-server.check_availability可以返回還剩多少票但真正的下單動(dòng)作通過獨(dú)立的下單接口完成由后端代碼校驗(yàn)、生成訂單、喚起支付。Agent只能引導(dǎo)用戶到確認(rèn)支付頁面絕對(duì)碰不了支付執(zhí)行權(quán)。這是安全邊界問題也是合規(guī)底線。4.4 MCP與排查調(diào)試的心得MCP Server這里比較容易踩的坑還包括每個(gè)Server的鑒權(quán)密鑰要用獨(dú)立的Vault管理不要寫死在環(huán)境變量里Server之間要用統(tǒng)一的日志追蹤ID不然Agent調(diào)了三個(gè)工具出了問題你都不知道是哪個(gè)數(shù)據(jù)源超時(shí)。調(diào)試MCP調(diào)用鏈我的建議是給每個(gè)工具調(diào)用都打日志格式類似[工具調(diào)用] traceId9f82, toolsearch_hotels, args{city:成都,date:2025-07-01}, latency312ms, resultCodesuccess這樣一旦用戶反饋推薦不準(zhǔn)你就能回放Agent當(dāng)時(shí)看到了什么數(shù)據(jù)判斷是大模型推理問題還是數(shù)據(jù)源問題。5. 編排與決策層大模型不是主角工具調(diào)用順序才是很多人以為Agent的核心就是大模型其實(shí)編排層才是。編排層決定什么時(shí)候調(diào)什么工具、拿到結(jié)果后怎么取舍、怎么把數(shù)據(jù)變成最終答案。大模型更像是編排層里的一個(gè)推理組件而不是全部。5.1 工具編排的執(zhí)行流我的編排引擎是這么跑一趟完整規(guī)劃流程的意圖識(shí)別與必要槽位提取從用戶第一句話中提取destination、dateRange、budget、travelers等。沒提全就主動(dòng)問。天氣與時(shí)間窗口確認(rèn)先調(diào)weather-server.get_forecast確認(rèn)行程期間適不適合戶外如果下雨Agent會(huì)主動(dòng)建議調(diào)整。景點(diǎn)候選集生成調(diào)poi-server.search_poi獲取一批候選景點(diǎn)按照用戶標(biāo)簽過濾。行程草稿編排把候選景點(diǎn)按空間距離和時(shí)間窗口拼成日程。這一步不是簡(jiǎn)單的列表堆疊要處理第二天去都江堰那第一天就得住在離高鐵站近的酒店這類空間推理。住宿與門票推薦調(diào)hotel-server和ticket-server在預(yù)算約束下給用戶推薦成組的產(chǎn)品包。用戶確認(rèn)用自然語言回復(fù)結(jié)構(gòu)化行程卡片展示等用戶拍板。這整個(gè)流程里大模型的角色是決策器。它每一步都把當(dāng)前草稿狀態(tài)、工具返回?cái)?shù)據(jù)、用戶偏好喂給模型讓模型決定下一步調(diào)哪個(gè)工具。我用的是類似ReActReason-Act的模式模型先寫出一段plan說明它現(xiàn)在要做什么然后調(diào)用工具拿到結(jié)果后決定是繼續(xù)調(diào)下一個(gè)工具還是產(chǎn)出回答用戶。5.2 延遲優(yōu)化并行調(diào)用代替串行旅行規(guī)劃的坑在于如果按上面的流程一步步來一次完整規(guī)劃可能要串行調(diào)用5-6個(gè)工具每次耗時(shí)2-5秒用戶等十秒以上才看到行程基本就要流失了。我的優(yōu)化策略是把互不依賴的查詢并行化。比如景點(diǎn)搜索、天氣查詢、酒店價(jià)格這三個(gè)互不依賴我用并發(fā)發(fā)送同一輪MCP請(qǐng)求。前端感知上就變成嗖一下三個(gè)進(jìn)度同時(shí)推進(jìn)總耗時(shí)從峰值20秒壓到6-7秒。但要注意串行規(guī)劃里有些依賴是硬性的。先有目的地和日期才能查景點(diǎn)先有景點(diǎn)候選和住宿范圍才能查酒店比價(jià)。所以我把這一輪并行拆分成了兩個(gè)階段中間加一個(gè)數(shù)據(jù)依賴檢查。5.3 模型選擇的取舍我的編排層用的是對(duì)話gpt-4o級(jí)別的大模型做復(fù)雜推理再加一個(gè)小模型做意圖分類。復(fù)雜推理模型負(fù)責(zé)多工具調(diào)度、行程優(yōu)化這類高難度任務(wù)便宜的小模型做初步識(shí)別能省一大筆成本。如果追求更低的token成本可以在工具調(diào)用結(jié)果的meta字段加一個(gè)壓縮標(biāo)記讓模型只接收摘要而不是完整JSON。比如酒店搜索結(jié)果有5000條Agent只需要前20條做推薦那就讓編排層截?cái)嗪髠鹘o模型反正大模型也讀不完。6. 支付鏈路從行程確認(rèn)到銀行回調(diào)中間全是細(xì)節(jié)到了支付環(huán)節(jié)很多人覺得接個(gè)支付SDK就行實(shí)際上支付是這個(gè)項(xiàng)目里工程復(fù)雜度最高的部分之一。這里我從技術(shù)角度完整過一遍。6.1 從行程草稿到訂單的完整時(shí)序用戶在前端行程卡片上點(diǎn)確認(rèn)預(yù)訂之后鏈路是這樣的前端把行程草稿里的productPackages酒店、門票組合和用戶信息提交到后端/api/order/create。后端先生成業(yè)務(wù)訂單狀態(tài)INIT把訂單與session關(guān)聯(lián)防止同一個(gè)用戶同時(shí)支付兩個(gè)版本行程。后端再調(diào)用支付渠道微信H5支付/支付寶手機(jī)網(wǎng)站支付創(chuàng)建預(yù)支付單拿到paymentParams。前端用拿到的時(shí)間戳和簽名參數(shù)通過SDK喚起收銀臺(tái)頁面。微信H5支付的調(diào)用核心代碼大致是// 服務(wù)端先拿到支付參數(shù) const payParams { appId: wx..., timeStamp: 1710000000, nonceStr: random, package: prepay_idwx..., signType: RSA, paySign: ... }; // H5端跳轉(zhuǎn)微信收銀臺(tái) window.location.href https://wx.tenpay.com/cgi-bin/mmpayweb/bin/checkoutpage.js;用H5跳轉(zhuǎn)而不是小程序支付是因?yàn)檫@條鏈路的用戶可能在瀏覽器、朋友圈、App內(nèi)等環(huán)境里打開行程鏈接微信小程序支付空間受限所以H5的兼容性更好。缺點(diǎn)是微信H5支付會(huì)有一層中間頁確認(rèn)增加了一步流失但這是渠道規(guī)則沒法繞。6.2 回調(diào)處理驗(yàn)簽別省冪等必須做支付成功之后微信/支付寶會(huì)異步回調(diào)你的服務(wù)器。這一步最容易出事?;卣{(diào)處理我當(dāng)時(shí)落地了三條鐵律第一驗(yàn)簽必須在業(yè)務(wù)邏輯之前。微信的簽名算法是MD5/RSA用平臺(tái)公鑰驗(yàn)簽別只檢查回調(diào)參數(shù)里的return_code為SUCCESS就處理業(yè)務(wù)。真實(shí)攻擊里偽造回調(diào)是常見手法只驗(yàn)return_code等于沒設(shè)防。第二冪等處理。同一個(gè)訂單可能因?yàn)榫W(wǎng)絡(luò)抖動(dòng)、渠道重試收到多次回調(diào)。我處理時(shí)先檢查訂單狀態(tài)如果已經(jīng)是PAID直接返回success不再重復(fù)出票。用數(shù)據(jù)庫(kù)唯一索引分布式鎖雙保險(xiǎn)。第三先更新余額庫(kù)存再通知業(yè)務(wù)側(cè)?;卣{(diào)里一般是先改訂單狀態(tài)為PAID再觸發(fā)下游動(dòng)作發(fā)放門票憑證、扣減庫(kù)存、給用戶發(fā)確認(rèn)消息。這些動(dòng)作必須做可靠的異步隊(duì)列不能硬塞在回調(diào)線程里。一旦隊(duì)列處理失敗還需要路由進(jìn)死信隊(duì)列人工介入。偽代碼大致是async function handlePaymentCallback(rawBody: string): Promisestring { // 1. 驗(yàn)簽渠道 SDK 內(nèi)置方法 const verified payChannel.verifySignature(rawBody); if (!verified) return fail; // 2. 解析回調(diào)數(shù)據(jù) const data parseCallback(rawBody); const orderId data.out_trade_no; const tradeStatus data.trade_state; // 3. 冪等檢查訂單已處理則直接返回成功 const exists await orderRepo.get(orderId); if (exists.status OrderStatus.PAID) { return success; } if (exists.status ! OrderStatus.INIT) { // 訂單已關(guān)閉或已退款這里要告警 logger.warn(支付回調(diào)狀態(tài)異常 orderId${orderId}, status${exists.status}); return success; } // 4. 冪等鎖用 Redis SET NX 超時(shí) const lockAcquired await redis.set(order:${orderId}:lock, 1, NX, EX, 5); if (!lockAcquired) return success; // 5. 更新訂單為已支付、出票等 await orderRepo.markPaid(orderId); await inventoryService.releaseStock(orderId); // 真正出票/占位 await notifyService.sendOrderConfirmed(orderId); return success; }6.3 掉單問題主動(dòng)查單是必須的異步回調(diào)畢竟不可靠掉單情況必然存在。我的策略是定時(shí)查單任務(wù)每5分鐘掃描一次所有狀態(tài)為INIT且創(chuàng)建時(shí)間超過15分鐘的訂單主動(dòng)向支付渠道發(fā)起/api/pay/query請(qǐng)求比對(duì)渠道側(cè)狀態(tài)。如果渠道側(cè)顯示已支付但本地訂單還是INIT就走一次補(bǔ)償邏輯更新本地訂單狀態(tài)、出票。如果渠道側(cè)顯示未支付就保持INIT用戶重新下單時(shí)還能繼續(xù)支付。這個(gè)定時(shí)任務(wù)我用的是可靠消息表狀態(tài)都落庫(kù)重啟后能續(xù)跑避免JVM內(nèi)存態(tài)丟失訂單。6.4 退款與對(duì)賬給運(yùn)營(yíng)留好工具旅游產(chǎn)品經(jīng)常涉及改期和退款。我的原則是退款不直接用Agent自動(dòng)處理而是走人工審核系統(tǒng)自動(dòng)退款兩步用戶發(fā)起退款申請(qǐng)客服在后臺(tái)審核通過調(diào)用退款接口原路退回。因?yàn)槁糜萎a(chǎn)品的退款涉不涉及到已經(jīng)核銷的門票、酒店違約金自動(dòng)化判斷容易出錯(cuò)。對(duì)賬層面每天凌晨跑一次T1賬單比對(duì)把支付渠道賬單和本地訂單逐筆核對(duì)輸出差異表。這個(gè)表運(yùn)營(yíng)每天早上必看比私下查數(shù)據(jù)庫(kù)靠譜多了。7. 性能、并發(fā)與安全旅游大促瞬間涌進(jìn)來怎么辦最后一部分重點(diǎn)說一下這個(gè)Agent在真實(shí)流量壓力下會(huì)遇到的問題。旅游場(chǎng)景有明顯的波峰波谷比如節(jié)假日前一周行程咨詢量可能平時(shí)十倍。大模型接口本身響應(yīng)慢、成本高編排層又依賴多個(gè)外部服務(wù)這是性能設(shè)計(jì)的核心矛盾。7.1 多租戶鑒權(quán)與限流Agent如果對(duì)外開放多租戶是標(biāo)配。每個(gè)接入方B端旅行社、C端用戶在網(wǎng)關(guān)層做獨(dú)立的API Key或OAuth token鑒權(quán)。MCP Server那層同樣要做租戶隔離不能讓一個(gè)租戶的并發(fā)查詢把另一個(gè)租戶的數(shù)據(jù)也拖垮。限流這塊我用的滑動(dòng)窗口令牌桶混合方案。對(duì)話接口限流按用戶維度比如每用戶每分鐘最多50條消息工具調(diào)用按租戶維度限流比如查酒店QPS上限100。超出直接返回請(qǐng)稍后再試。7.2 語義緩存省大模型token的利器很多人忽視緩存我觀察下來旅游對(duì)話里大量問題是高度相似的。比如成都四天怎么玩成都三天怎么玩成都周邊哪里好本質(zhì)上都是觸發(fā)同一套POI搜索流程。對(duì)這種問題我用語義緩存對(duì)用戶的輸入向量化后相似度匹配命中緩存直接把上次的規(guī)劃結(jié)果返回不再調(diào)用大模型和工具服務(wù)。緩存key是{userId的粒度或者全局}:{embedding}TTL設(shè)成1小時(shí)。這個(gè)方案把大模型調(diào)用量降了40%左右token成本節(jié)省非??捎^。代價(jià)是緩存可能返回稍過時(shí)的信息比如門票價(jià)格變了所以價(jià)格類數(shù)據(jù)我不緩存太久只有POI推薦和行程結(jié)構(gòu)可以走緩存。7.3 大模型接口并發(fā)控制與容錯(cuò)一次完整規(guī)劃可能要調(diào)用大模型三次以上意圖識(shí)別、工具選擇、最終回答每次都是毫秒級(jí)……不開玩笑是秒級(jí)。如果同時(shí)有20個(gè)用戶在上頭規(guī)劃后端對(duì)上游大模型API的并發(fā)一下就頂爆了。我的做法是做了一個(gè)大模型網(wǎng)關(guān)統(tǒng)一管理供應(yīng)商API密鑰、并發(fā)池、重試策略。每個(gè)會(huì)話的編排請(qǐng)求進(jìn)入一個(gè)隊(duì)列按用戶優(yōu)先級(jí)調(diào)度。同時(shí)把大模型的溫度調(diào)低0.2左右避免同樣的需求每次都給出不同的規(guī)劃答案提高確定性和可復(fù)現(xiàn)性。7.4 基礎(chǔ)設(shè)施層面的安全安全并不僅僅指支付回調(diào)驗(yàn)簽。還有幾個(gè)日常容易漏的點(diǎn)會(huì)話數(shù)據(jù)脫敏用戶聊天的手機(jī)號(hào)、身份證信息要脫敏后才能進(jìn)大模型提示詞不能明文發(fā)給模型。MCP工具返回的數(shù)據(jù)不能盲信第三方數(shù)據(jù)源返回的POI可能包含廣告推廣要用審核層過濾掉違規(guī)或低質(zhì)內(nèi)容避免Agent推薦出問題。限流和熔斷如果某個(gè)MCP Server持續(xù)超時(shí)比如酒店供應(yīng)商半夜停機(jī)維護(hù)編排層要能快速熔斷跳過該工具降級(jí)回答而不是死等拖垮整個(gè)Agent。8. 踩坑清單把這些坑提前填平能省一周時(shí)間最后把我實(shí)際遇到的最有價(jià)值的一批坑和對(duì)應(yīng)解法匯總成清單供你直接參考。1. MCP工具Schema描述不準(zhǔn)確導(dǎo)致的連鎖問題癥狀A(yù)gent在查詢天氣時(shí)調(diào)用查門票在推薦美食時(shí)調(diào)用查路線。根因工具工具描述粒度太大參數(shù)邊界沒寫清。解法把每個(gè)tool的description寫成一個(gè)典型使用場(chǎng)景加上參數(shù)約束說明比如價(jià)格單位、日期格式。2. 前端流式渲染把Markdown表格劈了癥狀用戶看到半個(gè)表格在動(dòng)態(tài)刷新。根因SSE消息按token推流前端把不完整的Markdown直接渲染。解法前端先把完整消息暫存只在句子/段落級(jí)別斷點(diǎn)觸發(fā)渲染表格結(jié)構(gòu)完整后再一次性顯示。3. 訂單狀態(tài)在支付回調(diào)里被并發(fā)覆蓋癥狀支付成功后訂單變成已關(guān)閉用戶錢付了東西沒落地。根因沒有冪等鎖兩個(gè)線程同時(shí)魔法更新同一個(gè)訂單狀態(tài)。解法Redis鎖數(shù)據(jù)庫(kù)狀態(tài)CAS更新。4. 大模型上下文注入了緩存舊數(shù)據(jù)癥狀用戶問今天成都幾點(diǎn)日出Agent回答的是緩存里昨天的結(jié)果。根因查詢結(jié)果meta里的fetchedAt沒傳給模型模型不知道數(shù)據(jù)新舊。解法編排層在給模型的數(shù)據(jù)前顯式標(biāo)注數(shù)據(jù)時(shí)間并要求模型如果數(shù)據(jù)時(shí)間超過24小時(shí)請(qǐng)聲明可能不準(zhǔn)確。5. 會(huì)話層草稿和聊天記錄過期策略不一致癥狀用戶隔三天回來App發(fā)現(xiàn)行程卡還在但對(duì)話記錄全沒了。根因草稿存Redis沒設(shè)TTL聊天記錄存MySQL按30天清理。解法統(tǒng)一TTL策略草稿和記錄過期時(shí)間對(duì)齊同時(shí)草稿表留一個(gè)用戶主動(dòng)保存入口。6. 旅游旺季支付回調(diào)延遲特別高癥狀用戶付完錢15分鐘沒收到確認(rèn)消息焦躁投訴。根因渠道回調(diào)本來就有分鐘級(jí)延遲遇到高峰期更慢。解法除了回調(diào)主動(dòng)加一條前端輪詢鏈路用戶支付頁返回App后前端每3秒查一次訂單狀態(tài)查到已支付就立刻出票提醒不等回調(diào)。7. 并發(fā)規(guī)劃時(shí)大模型API報(bào)429癥狀白天正常晚上一過8點(diǎn)報(bào)錯(cuò)量飆升。根因晚高峰對(duì)話量大但大模型API的限流配額是按QPS算的沒預(yù)留緩沖。解法大模型網(wǎng)關(guān)加平滑限流排隊(duì)高峰期自動(dòng)降級(jí)為異步回復(fù)行程正在排隊(duì)生成稍后查看。做完整套技術(shù)棧之后我最大的體會(huì)是AI旅游Agent不是大模型API的組合它是一個(gè)完整的軟件工程系統(tǒng)。前端要當(dāng)好狀態(tài)機(jī)管家編排層要當(dāng)好工具調(diào)度員MCP是數(shù)據(jù)源的標(biāo)準(zhǔn)插座支付則是整個(gè)體驗(yàn)的最后一道閘門。每個(gè)環(huán)節(jié)單獨(dú)看都能找到成熟方案難的是它們之間的銜接縫隙——那些傳感器失靈、緩存過期、回調(diào)重復(fù)、模型幻覺的時(shí)刻才是最考驗(yàn)工程能力的地方。如果你正準(zhǔn)備上手類似項(xiàng)目建議先把支付和會(huì)話記憶這兩塊地基打牢再談AI功能。畢竟用戶不會(huì)因?yàn)槟愕腁gent能畫漂亮行程單就不罵你但一定會(huì)因?yàn)橹Ц兑恢辈换卣{(diào)而卸載你。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
www婷婷| 99热碰碰热| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 国产阿姨日皮艹逼内射视频| 2050人人操免费工开爱| 色热久| 五月丁香在线视频观看| 九月久久婷婷| 伊人狼人干| 伊人玖玖网| 国产成人亚洲综合亚洲| 婷婷五月丁香五月| 亚洲婷婷丁香| 99爱免费视频| 五月丁香福利| 天天色天天爱天天爽| 日韩AV中文字幕在线| 九九精品自拍| 九九热这里| 中文字幕成人| 婷婷色色丁香五月天| 热九九精品| 丁香六月色婷婷| 日韩久久视频| 激情宗合 激情宗合| 99热精品在线| 玖玖色综合网| 五月天婷婷免费视频| 狠狠色丁香久久| 青柠影视免费高清电视剧| 久热播这里只有精品| 日韩人妻在线观看| 91.com男女操| 亚洲成人在线综合| 久久久jd| 99视频久久久| 婷婷九月在线| 婷婷99狠狠躁天天躁中文| 成人精品视频99在线观看免费| 日韩在线观看亚洲| 国产精品色| 五月婷婷伊人在线| 米奇影视五月天| 超碰九九热| 亚洲a片免费观看| A片试看50分钟做受视频| 综合啪啪| 美欧日韩国产成人在战| 亚洲第一综合| 黄色五月婷婷| 九九视频在线观看| 中文字幕 码精品视频网站| 色婷婷五月天激情在线观看| 99国产在线| 精品综合五月| 5月婷婷激情网| 成人色情五月天婷婷丁香| 亚洲AV免费在线| 超碰在线视屏| 99惹在线精品免费观看| 色婷婷在线视频久| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 69色色视频| 99视频| 99国产这里只有精品| 婷婷丁香激情五月| 丁香五月综合网亚洲综合欧美狠狠| 成人片久久网站| 九九激情网| 久操人妻| 五月的婷婷六月丁香| 丁香五月婷婷久久久| 大香蕉久热| 天天se在线视频| 99热丁香| 蜜桃婷婷丁香五月天狠狠久久综合| 大香蕉久久| 婷婷伊人中文字幕| 午夜九九电影| 天天爽天天干| 91精品综合久久久久久五月丁香| 人人操av| 美女伊人久久| 六月婷婷色综合| 99热最新| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 少妇2做爰HD韩国电影| 99九九精品| 婷婷在线免费| 亚洲愉拍99热成人精品| 久久婷婷亚洲无码一起| 婷婷五月天受日本法律保护| 99热99这里有免费的精品| 99er视频在线| 亚洲精品国产成人AV在线| 九九99精品| 99热99色| 草榴视频黄色网| 婷婷五月丁香人妻无码高清| 亚洲成人网无码| 成人婷婷桔色| 五月丁香五月婷婷| 色综合天天| 九月婷婷在线视频| 99视频久久| 日本天天综合| 久久久久久久久99精品| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | WWW免费视频碰碰碰碰| 人人操99| 狠狠色综合网| 激情综合丁香六| 在线成人视频免费| 五月天深爱激情网| 九九色逼| 五月天天堂久久| 六月丁香基地| 性欧美日本| 色婷婷五月天| 91久久久久久| 亚洲天堂啪啪| 丁香五月很很肏| 操一区| 丁香激情婷婷网| 人人97碰| 怡红院91a√| 天堂婷婷五月在线| 久久久91| 亚洲成人网站在线| 五月天综合激情网| 婷婷情色五月| 色香五月天| 国产精品久久..4399| 激情婷婷五月天| 成人av在线网址| 9999色色色色| 九九综合| 久久久大香蕉| 五月色色色| 亚洲AV久久久久久久久久久久久久久久| 久久婷婷色色| 玖玖婷婷五月| 激情图片99| 久久机热思思热| 天天综合色| 色综合网址| 五月天综合在线观看| 性无码专区无码| 亚洲av免费在线| 999热在线视频| 97色色婷婷| www,色婷婷| 99色免费观看全部| 欧美啪啪五月天| 这里只有精品免费视频在线观看 | 丁香六月天婷婷色| 狠狠五月天激情| 97色色网| 日本激情五月天‘| 日本在线播放97| www.minyis.com【JT】实力收量可预付TG@LXSPSW8 | 婷婷五月综合在线视频| 永久无码色| 狠狠狠狠狠干| 五月色婷婷影院| 五月婷婷色五月| 精品热九九| 九九视频精品这里只有| 免费观看全黄做爰的视频| 婷婷第六色| 欧美熟女99| 婷婷情色五月天| 天天天久久人人人合| 熟惀91九色在线| 8区视频在线| 婷婷中文字幕| 欧美操人| 国产无遮挡又黄又爽免费网站| 婷婷99中文字幕| 九月综合| 久久五月天激情婷婷| 一起草av| 婷婷色五月情| 欧美图片丁香五月天| 亚洲传媒在线观看| 婷婷射丁香| 任我鲁这里有精品视频| 99视频在线精品| 97天堂| 丁香五月电影| 天天射天天射一道本日本社区 | 丁香五月激情啪| 182TV大香蕉| 丁香五月婷婷大香蕉| 综合网啪啪| 九九热免费| 激情五月图| 噼里啪啦完整版中文在线观看| 六月天六月婷| 五月丁香六月成人| 无码成人AAAAA毛片AI换脸| 欧美久久婷婷| 色色色999| 一区二区三区视频| 十月色综合| 婷婷午夜综合| 婷婷久久五月| 色五月综合激情网| 色婷五月| 日狠狠| 九色PORNY9l原创自拍| 538在线精品| 狠狠五月天| 日本99久久| 久草婷婷在线| 色在线99| 五月丁香六月婷婷亚洲| 色综合色| 日本99色| 影音先锋AV资源男人站| 99久热| 婷婷五月丁香av网站| 嫩草AV久久伊人妇女超级A| 天天干夜夜谢| 伊人日日干| 五月丿香啪啪| 国产麻豆视频| 婷婷丁香六月| 天天日天天插| 99热在线观看精品| 人妻尝试久久久久久久久久久久| 亚洲激情网| 久久丁香婷婷色情综合| 99免费在线视频| 我去色色网五雨天| 99.色| 丁香五月激情啪| 国内熟女黄色系列| 国产成人一区二区三区在线观看 | 秋霞成人毛片一级A片| 无遮挡国产高潮视频免费观看| 99热在线看片| 久久人妻视频| 日本色综合| 99热精在线九九久久保| 五月婷婷干干干| 色婷婷在线影院| 被强行糟蹋的女人A片| 123草逼网| 五月丁香青草综合啪啪| 伍月婷丁香花全集| 性生活久久人妻| 思思热久久阴99| 97五月婷婷| 色婷婷亚洲综合天堂| 五月丁香啪啪| 五月天激情网站| 中文字幕av久久爽一区| 欧美精品啪啪| 婷婷久久99| 激情综合五月婷婷丁香| 这里只有精彩视频| 丁香 久久| 久久久天天啊| 五月天丁香久久| 天天爽天天爽视频| 九九99热| 大香蕉九九| 99精品热视频| 狠狠干无码| 日韩成人无码人妻| 91操碰| 色播播五月天| 五月丁香久久综合| 人人草人人爱| 亚洲蜜桃精久久久久久久久久久久| 中文av网站| 亚洲天堂爱爱| 婷婷中文字幕| 97色精品视频| 激情四射婷婷色色色| av第一二区| 91在线操| 青青草性爱视频| 婷婷丁香社区网| 婷婷五月天最新综合你懂的 | 人人综合五月人人婷婷| 开心婷婷丁香五月| 67194成I人在线观看线路1| 激情綜合網址| 99色色网| 99九九热播在线免费视频| 色五月色开心开心五月| 五月丁香琪琪| 激情五月第四色| 婷婷五月天直播| 青娱乐美女福利视频美臀| 色婷婷五月综合在线| 深爱激情久久| 成人视屏在线观看| 丰满少妇猛烈A片免费看观看| 99久久久99久久91熟女| www.久久久久久久久久.com| 婷婷五月激情的图片| 无码天天操| 久热网站| 99热这里只有精品免费| 色婷婷久久9.com| 综合色网站| 色色色777| 激情婷婷丁香色情五月天| 色人妻五月| 天天综合精品| 色色欧美色色色| 91久久精品视频| 97色色婷婷| 色婷婷色五月丁香| 激情婷婷五月| 欲色人妻| 好吊丝aV| 色色激情| 9 1大香蕉| 五月丁香亚洲校园欧美| 开心五月网| 成人日韩欧美| 成人丁香色| 婷婷大美在线| 亚洲无码播放| 91a片爽| 99综合一区| 激情五月天啪啪| 99精品久久| 亚洲视频1区| 丁香五月天在线观看视频| 综合伊人狠狠| 国产毛片精品一区二区色欲黄A片| 97色综合视频| 五月久久噜噜| 91九色首页| 五月色情精品| 婷婷丁香五另类网站| 99热这里是精品| 国产精产国品一二三在观看| 五月丁香综合| 99超级碰碰| 日韩在线观看网址| 深爱五月婷婷开心中文字幕| av色婷婷| 91久久精品无码一区二区三区| 热久久66| 99久久人妻精品无码二区| 九九色综合网| 超碰在线免费| 天天肏夜夜肏| 热久久91| 久久久婷婷婷| 26uuu在线观看| 欧美VA视频| 天天天操天天天日| 五月天激情亚洲| 免费精品66| 日本99热| 涩涩涩,com| 香蕉久久国产AV一区二区| 五月婷婷色色网址| 成人网址在线观看| 香蕉婷婷色五月| 高清无码视频网址| 欧美色偷拍| 99爱视频在线| 激情啪啪五月| 玖玖爱综合网| 久久久婷丁香五月天激情综合| 五月久久婷婷成人网| 5月丁香美女影院| 情五月亚洲婷婷| 丁香色色网| 天天日天天舔天天摸| 色五月天堂| 大香线蕉伊人| 精品色色| 天天干肏夜夜| 在线综合91| 天天色综网| Av免费网站在线| 丁香五月播播| 日良久久| 激情五月小说婷婷| 噜噜噜噜噜日本视频| 天天射影院| 天天做天天爱天天爽在| 综合在线观看99| 亚洲欧美999| 国产44页| 在线综合网| 思思久久精品视频| 超碰国产一区| 99热在线观看精品| 天天干夜夜b| 无码视频国内精品久久久| 婷婷五月天激情综合网| 五月激情网站| 激情五月婷婷| 成人永久免费视频在线观看| 久久激情综合| 日韩美女在线视频19| 亚洲综合无码| 天天干天天干天天干天天干天天干天天| 7777国产盗摄农村女人| 五月婷婷偷拍| 热热久久久久久久久| 七月丁香五月婷婷在线| 五月婷婷六月丁香玖玖玫瑰91| 91碰碰视频| 九九碰九九爱97| 色婷婷亚洲在线| 五月亭亭欧美女人| 狠狠操狠狠| 婷婷草| 六月婷婷av| 成人做爰高潮A片免费视频| www,五月天激情| 国产avapp 网| 天堂久久久久天堂网| A久久| 婷婷五月成人色综合| 激情婷婷五月丁香啪啪啪| 色婷婷a三区麻| 色色色色色综合| 婷婷丁香六月| 欧美日韩成人免费在线| 五月深爱激情网| 中文字幕成人| 五月丁香久久综合色| 激情五月婷| 欧美丁香五月| 天天爽天天干天天| 国产伊人五月天| 91日综合欧美| 少妇水多A片太爽了| 五月丁香无码| 五月激情久久| 热久久这里只有精品20| 天堂色婷婷| 日本人人超碰| www九九热| 狠狠色丁香婷婷久久综合| 五月天久久成人| 99久热| 五月丁香啪。| 香蕉AV福利精品导航| 九九综合色综合| 日本成人噜噜| 亚洲AV成人无码久久精品老人法拉利| 色婷婷丁香五月色综合网| 婷婷激情五月天7| 久草A片| 99热免费精品| 婷婷综合色色| 色爱综合网| 精品AV无码超碰| 色五月婷婷网| 99热在线观看| 婷婷丁香六月| 国产全是老熟女太爽了| A久久| 九九综合色| 这里只有精品久久| 八戒青柠影视剧在线观看| 五月婷婷六月丁香| 一点色成人网| 色婷婷成人色网| 久久九九激情五月天| 婷婷丁香中文字幕| 日本大逼91| 91大神在线免费看视频全集男男一起操| 丁香婷婷五月天成人| 五月婷婷 激情按摩| 中文字幕人妻一区二区| 97热久久| 美女五月天婷婷| 情五月亚洲婷婷| 久久婷婷五月综合色播| 婷婷99狠狠躁| 任我肏| 操碰97| 色九月婷婷| 五月婷三级片| 五月天婷婷爱| 99re这里只有精品免费| 热思思| 停停五月色宗合| 婷婷久热| 亚洲黄色网址| 欧美日本国产欧美日本韩国99| 久操操| 天天操天天操| 天天综合精品| 六月婷婷五月丁香| 色色97丁香婷婷五月天| 亚洲九九夜夜| 天天天天爽爽天干| 人妻内射视频| 五月婷婷丁香大香蕉| 精品久久久999| 99婷婷五月天| 五月丁香六月婷婷姐| 久久性视频| 专区无日本视频高清8| 久久五月天激情婷婷| 久操人妻| 婷婷五月天免费视频| 久久激情五月| www色综合亚洲92| 天天 青草 制服丝袜 在线| 丁香五月中文字幕久色| 99re这里| 激情综合色婷婷啪啪六月天| 六月丁香综合999| 99热这里| 情色五月天 网站| 久久 婷婷 五月天| 天天操夜夜爽| 嫩草AV久久伊人妇女超级A| 99啪在线视频| 亚洲男人的天堂婷婷色五月| 操一操干一干| 98色花堂98t.R| 五六月丁香激情视频| 影视av久久久噜噜噜噜噜三级| 中国操逼99| 97福利视频| 色婷婷激情| 狠狠插.com| 五月丁香婷婷爱激情综合网| 91超级碰在线| 日韩无码乱轮| 色综合久久88色综合天天| 丁香啪啪| 久久久久久欧美精品se一二三四| 丁香六月婷婷色播| 欧美啪啪五月天| 五月婷婷综合色啪首页| www.色五月| 深夜男女福利刺激影院一区| 五月天婷婷免费| 五月丁香综合久久夜夜| 激情五月婷婷在线| 日韩av一区二区在线/日产精品久久久 | 另类亚洲2| 久久a热| 丰滿爆乳一区二区三区| 手机AVAV天堂看网| 风流少妇A片一区二区蜜桃 | AV成人在线网站| 五月丁香好婷婷姑娘综合网| 色播播五月天| 开心婷婷五月激情网小说| 91成人品| 九九热在线观看6| 五月丁香激情婷婷| 五月婷婷人人人操| 色欲婷婷五月天| 久久综合色五月| 色综合色色| Www.Av网9| 九九热精品6| 懂色av粉嫩AV蜜臀AV| 思思re视频在线| 操逼棍操逼| 免费色婷婷| 成人性爱无码| 日韩美女羞羞网站在线观看| 日韩综合久| 激情六月丁香| 91丨九色丨国产打屁股| 婷婷五月开心中文字幕色| 五月天婷婷久久| 99热www.| 色婷婷色丁香色欲av| 91色情播放| www色综合亚洲92| 天天日天天舔| 9.1综合网| 99色综合| 九九激情视频| 97资源欧美日韩大香蕉超碰一区| 这里只有精品1| 色黑鬼导航| 95精品区一区二| 色婷婷六月丁香综合欲精品| 99热亚洲精品| 涩五月婷婷| 久久66精品| 五月天色站| 婷婷五月丁香六月| 丁香五月婷婷丫| 亚洲天堂制| 啪啪操超碰| 五月丁香婷婷网网网网| 99久操视频| 久久久27操| 婷婷五月天播| 超级久久久| 在线中文字幕视频| 99性感视频| www.久久综合| 亚洲亚洲人成综合网络| www.9797国产| 伊人六月无码视频| 婷婷婷久久久| 99riav 亚洲| 97色天堂| 这里只有精品在线播放| 婷婷丁香花五月天| 激情婷婷丁香五月| 色综合com| 五月天婷婷黄色| 性欧美日本| 综合AV网| www.狠狠操| 情婷婷五月天| 思思久久99热| 久久免费试看120秒| 日本九九九九| 免费啪啪亚州视频| 日本成人噜噜| 玖玖资源部在线播放| 激情婷| 极品人妻XXXXOOOO| 色婷丁香| 婷婷丁香18| 第四色婷婷最爱| 色婷| 无码动漫AV| 超碰国产在线播放| 婷婷丁香五月综合| 五月婷婷五月天| 色色网五月激情| 精品人妻伦| www.婷婷亚洲基地| 97超级操操| 五月婷婷影视| 日日影院 | 九月婷婷综合| 丁香五月另类色婷婷麻豆| 天天色综合综合| 日本www五月婷婷| 久热九九| 99爱爱| 操操自拍| 9 99免费视频| 97干在线看| 久久ri精品视频| 一级AV片| 五月天福利影院导航| 久热这里| 粉嫩AV久久一区二区三区| 色婷婷影视| 99热老网站| 色五月五月婷婷| 色婷婷亚洲六月婷婷中文字幕| 五月天黄色激情小说| 第六色在线| 色婷婷丁香五月天在线视频| 激情丁香婷婷五月天| 五月婷婷深深的爱| 夜夜爽天天| 五月婷婷五月丁香综合| 色色色色色色色综合| 丁香六月综合激情| 婷五月丁香俺| 深情六月婷婷综合久久| 免费的日逼视频| 亚洲AV激情五月综合网| 26uuu欧美亚洲日韩| 99亚洲大片精品永久在线观看 | 99久热这里只有精品| 久热伊人| 色婷婷六月| 无码AV免费精品一区二区三区| 国产美女无遮挡裸体毛片A片| 嫩草AV久久伊人妇女超级A| 乱精品一区字幕二区| 色综合久久之分久久| 超碰婷婷五月| av成人在线播放| 婷婷97碰碰| 精品久久99| 91免费在线视频6| 亚洲99视频| 婷婷五月激情在线视频| 色情五月天丁香社区| 99操视频| 国产真实乱对白精彩| 中文字幕综合色| 久久九精品| 激情视频婷婷五月花| 一本久久亚洲五月婷婷| 五月婷六月婷婷| 五月天狠狠色| 国产FREESEXVIDEOS性中国| 色噜噜丁香| 五月婷婷,狠狠操| 日日爱678| 六月婷婷色宗合| 五月婷婷亚洲色视频| 操91| 成人精品免费在线观看| www.婷婷五月天| 日日操夜夜爽天天天| 丁香六月激情国产| 天天插天天射| 99超级超级超级碰| 丁香五月激情六月欧亚激情综合导航| 欧美婷| www.婷婷五月天| 天天综合网站| 婷婷综合九月| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 午夜婷婷久久| 青柠影视免费高清电视剧| 婷婷五月色惰| 五月婷婷co.m| 99A级片| 色婷婷网大全在线| 午夜天堂啪啪| 亚洲日韩欧美综合VA| 综合网天天| 一级性感毛片| 国产欧美日韩一区二区三区| 五月丁香六月激情综合| 婷婷五月激情基地| 久久狠狠欧美| 六月婷婷激情| 99色免费观看全部| 婷婷伊人无码| 精品久久9| 大香蕉伊然在亚洲90| 九九热九九| 丁香六月激情四射| 在线超碰精品| 欧美韩日AAA网站| 97综合在线| www综合久久| 婷婷丁香五月天亚洲| 亚洲综合色网| 色婷婷久久综合| 五月天婷婷无码| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 日婷婷久久开心| 亚洲狠狠丁香婷婷香蕉| 天天日综合网射| 天天摸天天肏| 婷婷九月综合| 天天爱天天秀天天做| 九九中文色色| 婷婷丁香激情| 久久黄色片| 天天色天天爱天天舔| 狠狠草狠狠草| 久99久视频| 9精品在线| 九月婷婷激情| 婷婷九月亚洲| 色九亚洲| 五月丁香欧美综合| 丁香五月婷婷av| 天天拍天天操| 伊人碰碰婷婷| 综合久久久| a九九热www| 天天色丁香| 99re热99| 九九久久99| 丁香六月综合激情| 激情五月色婷婷| 精品久色| 精品无码久久久久久久久| 欧美色色色色色色色色色色影视| 91Chinese在线| 久热这里这里有精品| 性做久久久久久久免费看| 无码一区二区三区四区五区| 狠狠操综合| 99热在这里只有免费精品| 五月天激情国产综合婷婷婷| 五月丁香六月婷婷免费视频| 五月天丁香啪啪网| 丁香五月天堂| 丁香婷婷色| 无码操B| 婷婷五月激情六月丁香| 亚洲情综合五月天| 99青青草| 91丨九色|PRNY熟妇| 久久五月激情综合| 激情久久久| 99色视频| 精品A√| 99色在线观看视频| 开心深爱激情网| 五月天播播综合| 热日韩欧美| 亚洲婷婷欧美婷婷| 色色激情| 九九一区| 中文字幕成人影视| 天天摸天天舔在线视频| 国产在线激情视频| 色综合另类| 国产99热| 97操碰人免费| 玖玖色综合网| 亚洲色五月天在线| 色综合九九| 丁香六月婷婷色XXXX| 欧美成人网99网| 九九久久99精品免费观看www| 99热只有| 婷婷六月丁| 6080av| 大香蕉七区| 五月激情在线| 5月丁香啪啪啪| 成人丁香五月| 2050人人操免费工开爱 | 五月丁香做爱视频| 国産精品| 欧美十二区| 久久狠狠干| 婷婷社区五月天| 91精品久久久久久综合五月天| 97久久久久| 碰超亚洲| 99∨VTV| 婷婷五月天久久久| 欧美大奶熟女噜噜噜噜| 亚洲色图日韩网址| 亚洲亚洲人成综合网络 | 男女99免费视频| 亚洲人成网站999综合| 色播综合| 99热手机在线精品| 丁香五月视频在线观看| 99日逼视频| 97碰碰久久| 99热精品免费| 99a级片| 色色 9| XXXX岛国| 久婷婷| 婷色视频| tingtingseav| 国外亚洲成AV人片在线观看| 97色久| 思思热精品在线视频| 99热日本| 亚洲中文无码成人| 色琪琪一综合久久激情五月视频| 91女人18毛片水多国产| 性做爰1一7伦| 五月婷婷开心网| 五月 成人 婷婷| 日韩九九| 天天干天天射综合网| 天堂爱爱| 色婷婷丁香网| www.99热视频| 香蕉久久国产av一区二区| 97干婷婷五月天| 久久婷婷视频| 日韩综合天堂| 成人综合视频在线| 欧美超碰人人| 国产成人亚洲综合亚洲| 影音先锋男人AV资源站| 少妇高潮呻吟A片免费看软件 | av国产精品| 日本九九九九| 色婷婷六月| 色99网| 亚洲九九夜夜| 97啪啪| 成人网站在线观看视频| 激情综合在线观看| 精品爆操| 色婷婷激情四射视频| www.婷婷五月| 日本色爽| 少妇性按摩无码中文A片| 欧美色爱五月天| 丁香五月天啪啪a日本| 五月天婷婷婷| 亚洲中文乱字字幕在线永久| 国产精品久久久海的味道| 婷婷五月草| 狠狠插狠狠操| 夜夜躁婷婷AV| 五月丁香激情综合网| 久久九九99| 综合网色| 草了bav视频在线观看| 高清资源站日A美A欧亚…| 国产成人AV不卡| a级毛片一区二区免费视频| 五月丁香亭亭A片| 久久精品日| 丁香婷婷成人网站| www.婷婷五月天.com| 99这里热| 久久激情五月婷婷| 五月婷婷综合在线| 色图亚洲91| 美国不卡视频| 91操网| 《战争与艾拉》完整版| 99热骚货| 色播激情五月天| 久艹大香蕉| 成人AV在线电影| 久久五月婷婷综合网| 国产探花一片区| www.91在线观看| 五月天六月丁香| 色色网站免费观看| 夜夜躁爽日日| 99热亚洲精品| 一区二区成人电影免费播放| www. 五月. com| 婷婷操逼| 青草激情在线| 五月丁香 啪啪| 天天操夜夜操| 九九热99久久99| 91偷拍视频| 狠狠色激情综合| 99这里有精品| 亚洲成人在线播放| 久久香视频| 91精品久久久久久综合五月天| 色色丁香五月婷婷| 久久久无码精品成人A片小说| 五月天偷拍| 91jiuseshunv| 琪琪秋霞| 99精品免费| 人妻丰满精品一区二区A片| 老师把我爽高潮了免费A片| 99国产小视频2013| 婷婷十月激情综合网| 99九九视频| 五月永久激情| 91九色国产在线| 久99久视频精品| 亚洲天堂久久| 色色射| 亚洲国产精品二二三三区| 97碰碰在线观看视频| 99热在线中文字幕| 久久人人看| 97偷拍对白视频| 五月色婷婷亚洲| 五月婷婷丁香五月| 91妻人人爽人人看片| 欧美色色色色色| 天天爽天天爽视频| 久久精品国产一区二区三区四区| 97碰碰在线观看视频| 五月婷婷综合色拍| 久久五月丁香| 91丨九色丨熟女|老版| 韩国久久少妇视屏| 天天日天天插| 天天肏夜夜肏| 色婷婷激情四射视频| 天堂在线观看视频| 思思99精品视频| 99操视频| 成人中文字幕在线| 久久久久er热| 色级停停| 五月色 亚洲| 亚洲最大视频| 久久9视频欧美| 久草热在线视频| 大香蕉婷婷婷| 色色色色色色97| 欧洲色区| 【乱子伦】黄色| 五月婷婷六月丁香综合在线| 色婷婷777狠狠| 精品人妻一区| 热九九九九| 曰日爽日日操| 色在线免费观看| 婷婷开心激情综合五月天| 99热精品在线| 久久人妻乱子伦| 五月天激情综合| 丁香五月亚洲AV| 涩五月婷婷| 五月激情综合网| 久久婷婷亚洲| 婷婷在线免费| 怡红院视频| 色婷婷黄色网络| 高清视频一区| 丁香婷婷五月六月久久| 欧美日韩成人一区二区| 99热天堂| 97干欧美| 26uuu| 开心五月激情| 国产精产国品一二三在观看| 久久精品国产色| 极品人妻VIDEOSSS人妻| 天天插轮理| 99在线视频观看| 日韩在线婷婷五月天综合| 超碰无码老师| 天天日天天爽夜夜爽| 在线看黄色| 综合久久9| 成久综合视频| 免费视频WWW在线观看网站| 五月天婷婷丁香视频| 999热这里只有美国精品| 久久婷婷五月综合伊人| 中文字幕婷婷在线| 激情床戏| 日本的α片xxxwww| 丁香久久在线| 久机视频这只有精品| 婷婷午夜综合| 可以直接看的av| 丁香婷婷五月天色播| 色婷婷色综合久久精品V| 五月丁香六月婷婷国产视频| 五月丁香花激情综合网| 六月丁香啪啪啪| 玖玖精品视频99| 日韩 mm 不卡| 99九九精品| 夜夜骑日日夜夜| 亚洲久艹| 婷婷激情社区| 五月久久亚洲| 天堂综合久久| 久久人人看| 日日操天天爽| 激情六月婷婷| 国产成人精品一区二区三区视频| 天天谢天天操| 亚洲精品99| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 色综久久久| 91九色无码内射| 99久久激情视频| 五月丁香六月情婷婷久久| 亚洲有码在线视频| 五月丁香狠狠爱| 婷婷婷婷婷开心无码播放| 亚洲激情在线| 丁香六月综合| 五月天啪啪| 婷婷五月天干干| 97热视频| 99超级超级超级碰| 99热这里只有精品5| 五月婷婷综合精品| 超碰av在线| 婷综合六月| 久久曰曰| 播五月开心婷婷欧美综合| 综合激情五月丁香9999久久精| 9999综合99综合人| 天天拍天天操| 日本婷婷在线| 五月丁香九九九综合| 亚洲国产成人在线| 97男人天堂| 久久久婷| 伊人婷婷综合| 激情五月色在线播放| WWW色综合| 综合久久五月天| 超碰免费观看| 婷婷啪啪| 在线中文av| 亚洲久久激情| 我要射综合| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 99热成人精品| 九九九日本熟女| 二区成人视频| AA片在线观看视频在线播放| 香蕉综合网| 五月丁香在线| 热成人网| 国产综合激情五月久久| 五月天婷婷色在线视频免费观看| 狠狠久久婷婷| 99久热在线精品99re6热| 日本人妻伦在线中文字幕| 高清无码视频网址| 色碰碰| 丁香五月婷婷网| 婷婷色狠狠| 天天成人综合视频| 日韩成人免费电影| 久久婷婷激情| 99福利导航| 色久综合| 六月激情久久| 亚洲另类视频| 99爱在线精品视频免费观看| www.六月丁香看AV| 丁香五月天欧美在线| 丁香久久AV| 99热6这里只有精品6| 天天日天天狠狠操| aaa丁香五月天| 国在线激情网| 色五月婷色彩免播放器| 激情小说五月天| 九九热AV| 中文字幕在线免费观看视频| 九九五月天| 久久九九综合| 99热大全在线观看| 思思色播| 亚洲99激情| 婷婷大美在线| 五月丁香婷婷六月天| 五月丁香激情综合网官网| 色插综合网| www.狠狠干com| 国产精品热搜丁香五月婷婷| 99色最新在线视频网站| 啄木鸟丝袜美女福利视频 | 五月天婷婷綜合院| 99日在线视频| 丁香五月婷婷在线| 99综合视频一体| 一本色道久久88综合日韩精品| 精品国产一区二区三区四区阿崩| 精品亚洲国产成AV人片传媒| 婷婷五月天性色| Y11111111111少妇电影院| 婷婷五月丁香A∨| 超碰人人91| 狠狠色婷婷7777久| 新99思思视频| 狠狠干 狠狠操| 黄色激情五月天| 99在线视频精品| 丁香六月婷婷| 五月J香蕉婷婷| 永久热91| 激情五月婷婷综合| \\五月天婷婷激情| 五月丁香六月婷婷开心网| 婷婷综合在线网| 激情综合网五月婷婷| 亚洲第一综合| 色情网综合| 五月草影视| 激情色色色| 大香蕉啪啪啪| 影音先锋美国A| 91操屁股| 丁香五月天激情网址| 人人干AV| 秋霞AV淫| 天堂无码人妻精品AV一区| 色婷婷影视99| 亚洲操操| 日本五月视频| 色一情一乱一乱一区91| 欧美性猛交99久久久久99按摩| 色综合色综合色综合| 97色在线视频| 五月天婷婷深深爱| 久久婷婷网站| 国产高清av黄色看片| Www99热| 婷婷五月天六月综合| AA丁香综合激情| 狠狠干,狠狠操| 九九久久高清| 99热在这里只有免费精品| 色五月第四色| 99爱在线视频| 久久五月婷婷视频| 日本va网站| 色婷婷精品视频| 夜夜嗨一区二区三区直播内容| 在线观看996精品| 久久婷婷五月丁香| 日夜操B| 久久久久久婷| 狠狠看狠狠| 丁香五月影院| 婷婷婷婷婷婷婷婷婷婷丁香| 99激情在线| 婷婷丁香成人五月天| www.狠狠| 超碰在线国产9| 久久A区B区| 极品少妇高潮啪啪AV无码| 九热视频在线精品15| 婷婷五月天在婷| www.婷婷| 97干97色| 五月天国产| 五月婷婷影视| 综合激情啪啪| 婷婷97碰碰| 伊人超碰在线| 激情五月丁香在线观看直播| 亚洲久热| 国产婷婷五月天| 五月婷婷影| 婷婷五月色综合香五月| 激情深爱婷婷网| 超碰精品在线| 日韩AV在线免费观看| 丁香婷婷噜噜| 99久久97| 天天干天天干天天干天天干天天干天天| 另类图片天天影视在线观看| 久re热视频| 五月婷婷在线综合| 天久综合91综合首页| 五月丁香视频在线观看| 99爱视频在线观看| 在线观看的av| 婷婷狠狠18禁久久| 五月伊人婷婷999| 五月伊人婷婷| 伊人在线另类| 婷婷开心激情综合五月天| 亚洲V国产V欧美V久久久久久| www,五月天com| 亚洲天堂久久| 超碰91在线| 粉嫩av懂色av蜜臀av熟妇| 97黑人精品区| 99视频在线观看网址| 天堂网操| 五月天激情无码| 深爱五月婷| 国产91资源在线| 2025天天爽天天摸| 免费无码毛片一区二区A片| 夜夜躁狠狠 | 这里只有精品9| 香港九九六区八区99| 婷婷五月天天aV| 激情五月天.色网| 久热网站| 日韩五月婷婷| 五月天婷婷爱| 五月丁香综合| 色色婷|