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

ARTICLE DETAIL

資訊詳情

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

Agent評(píng)測(cè)工作臺(tái):從軌跡回放到回歸對(duì)比的落地實(shí)踐

Agent評(píng)測(cè)工作臺(tái):從軌跡回放到回歸對(duì)比的落地實(shí)踐 Agent 評(píng)測(cè)是 Agent 工程化落地中最容易被低估的一環(huán)。很多團(tuán)隊(duì)能快速搭出一個(gè)能跑的 Agent卻很難回答三個(gè)基礎(chǔ)問(wèn)題新版提示詞真的比舊版好嗎同一個(gè)任務(wù)連續(xù)運(yùn)行二十次成功率是多少失敗的回合到底是模型理解錯(cuò)了、工具調(diào)用錯(cuò)了還是任務(wù)定義本身有歧義。Agent Review Studio 這類 local-first agent evaluation workbench解決的就是這件事把評(píng)測(cè)集組織、運(yùn)行軌跡記錄、指標(biāo)計(jì)算和結(jié)果審查整合到一個(gè)本地工作臺(tái)中讓 Agent 的行為變化可復(fù)現(xiàn)、可對(duì)比、可人工核查。這篇文章不假定你已經(jīng)擁有完整的評(píng)測(cè)平臺(tái)也不綁定某個(gè)具體 Agent 框架。我會(huì)從評(píng)測(cè)工作臺(tái)解決的底層問(wèn)題開(kāi)始再給出一個(gè)可以在本地跑通的最小實(shí)現(xiàn)內(nèi)容包括評(píng)測(cè)集定義、運(yùn)行器、軌跡存儲(chǔ)、指標(biāo)計(jì)算和結(jié)果審查。讀完以后你可以把同一套思路遷移到自己的 Agent 項(xiàng)目里底層不管是自研模型調(diào)用、LangChain 這類編排框架還是企業(yè)內(nèi)部封裝好的 SDK都只影響適配層不影響工作臺(tái)的整體設(shè)計(jì)。1. Agent 評(píng)測(cè)為什么不能只靠普通測(cè)試腳本1.1 Agent 行為和普通函數(shù)測(cè)試有本質(zhì)差別傳統(tǒng)單元測(cè)試有一個(gè)隱含前提相同的輸入會(huì)產(chǎn)生穩(wěn)定輸出。對(duì)一個(gè)純函數(shù)來(lái)說(shuō)入?yún)⒋_定、執(zhí)行環(huán)境確定返回值就可以被精確斷言。Agent 不具備這個(gè)特性。Agent 的輸入是自然語(yǔ)言任務(wù)執(zhí)行過(guò)程是模型推理、工具調(diào)用、結(jié)果觀察的循環(huán)最后的輸出既受模型版本和溫度參數(shù)影響也受上下文長(zhǎng)度、工具返回內(nèi)容、網(wǎng)絡(luò)延遲甚至并發(fā)順序影響。同樣是幫我查一下本月訂單金額并生成匯總模型第一次可能直接調(diào)用查詢工具第二次可能先問(wèn)用戶要具體日期范圍第三次可能選擇了錯(cuò)誤的時(shí)間字段。三個(gè)回合的最終結(jié)果可能完全不同但每個(gè)回合內(nèi)部都有完整推理鏈路。只用斷言結(jié)果正確與否的測(cè)試腳本無(wú)法回答為什么會(huì)失敗失敗在哪一步是不是工具返回格式變了這類問(wèn)題。所以 Agent 評(píng)測(cè)的核心對(duì)象不是單個(gè)輸出值而是執(zhí)行過(guò)程本身。評(píng)測(cè)工作臺(tái)必須能記錄每一輪推理、每一次工具調(diào)用、每一個(gè)中間觀察結(jié)果把黑盒輸出變成可審查的白盒軌跡。軌跡回放能力是評(píng)測(cè)工作臺(tái)和普通測(cè)試腳本最本質(zhì)的區(qū)別。1.2 local-first 解決的是數(shù)據(jù)主權(quán)和可復(fù)現(xiàn)問(wèn)題local-first 這個(gè)詞在 Agent 評(píng)測(cè)場(chǎng)景下有兩層含義。第一層是數(shù)據(jù)不出本機(jī)。Agent 運(yùn)行軌跡里通常包含用戶問(wèn)題、業(yè)務(wù)字段、工具返回的原始數(shù)據(jù)這些內(nèi)容很可能涉及敏感信息。如果評(píng)測(cè)平臺(tái)是云端 SaaS軌跡上傳意味著業(yè)務(wù)數(shù)據(jù)離開(kāi)本地網(wǎng)絡(luò)很多團(tuán)隊(duì)在合規(guī)上無(wú)法接受。本地優(yōu)先的工作臺(tái)把 SQLite 文件、軌跡目錄和評(píng)測(cè)報(bào)告都放在本機(jī)評(píng)測(cè)數(shù)據(jù)的所有權(quán)和使用權(quán)都留在團(tuán)隊(duì)自己手里。第二層是環(huán)境可控。云端評(píng)測(cè)平臺(tái)往往黑盒管理模型版本、參數(shù)和依賴版本出現(xiàn)問(wèn)題后很難回溯。本地工作臺(tái)可以把模型版本、提示詞版本、工具定義版本、依賴鎖文件一起記錄成一次評(píng)測(cè)快照。出問(wèn)題時(shí)按快照重建環(huán)境就能復(fù)現(xiàn)不需要猜測(cè)線上環(huán)境發(fā)生了什么變化。需要說(shuō)明的是local-first 不等于完全離線。評(píng)測(cè)運(yùn)行器仍然需要調(diào)用模型 API只是評(píng)測(cè)框架本身、存儲(chǔ)、審查界面都在本地運(yùn)行。文章后面說(shuō)的架構(gòu)也是這種形態(tài)框架本地化模型遠(yuǎn)端調(diào)用。1.3 評(píng)測(cè)工作臺(tái)的五個(gè)能力層次從功能角度看一個(gè)可用的 Agent 評(píng)測(cè)工作臺(tái)至少包含五層能力評(píng)測(cè)集管理組織和版本化用例集合支持分類、標(biāo)簽、預(yù)期結(jié)果描述。運(yùn)行器批量執(zhí)行評(píng)測(cè)任務(wù)統(tǒng)一注入環(huán)境變量、模型參數(shù)和工具配置。軌跡存儲(chǔ)把一次運(yùn)行的所有步驟按時(shí)間順序落盤形成可回放證據(jù)。指標(biāo)計(jì)算在軌跡基礎(chǔ)上計(jì)算成功率、工具調(diào)用有效率、延遲、Token 消耗等。審查與對(duì)比把多次運(yùn)行結(jié)果放在一起比較定位差異和回歸。這五層缺了任何一層評(píng)測(cè)都會(huì)退回成跑一遍看日志。下面各部分會(huì)按這個(gè)層次順序展開(kāi)實(shí)現(xiàn)。2. 先理解評(píng)測(cè)工作臺(tái)的核心概念2.1 評(píng)測(cè)集Suite和用例Case評(píng)測(cè)集是若干評(píng)測(cè)用例的集合。一個(gè)用例代表一個(gè)要驗(yàn)證的任務(wù)場(chǎng)景包含任務(wù)輸入、任務(wù)描述、預(yù)期行為、標(biāo)簽和可選的環(huán)境配置。id: case-001 name: 查詢訂單狀態(tài)并回復(fù)用戶 description: 用戶想知道訂單 20240315001 當(dāng)前處于什么狀態(tài) input: message: 我的訂單 20240315001 現(xiàn)在到哪一步了 expected: type: contains values: - 已發(fā)貨 - 運(yùn)輸中 - 已完成 tags: - order - retrieval difficulty: easy這里的expected不是硬編碼最終答案而是描述什么結(jié)果可以接受。常見(jiàn)判斷方式有四類判斷方式適用場(chǎng)景說(shuō)明exact match結(jié)構(gòu)化輸出、JSON 字段輸出必須精確相等適合工具返回校驗(yàn)contains / regex自然語(yǔ)言回復(fù)判斷關(guān)鍵信息是否出現(xiàn)JSON Schema 校驗(yàn)工具參數(shù)、結(jié)構(gòu)化結(jié)果校驗(yàn)字段類型和必填項(xiàng)不關(guān)心具體值LLM-as-judge / 人工審查開(kāi)放性任務(wù)由模型或人判斷結(jié)果質(zhì)量需要額外控制偏差在最小實(shí)現(xiàn)里可以先支持前三種把 fourth 種留到后面擴(kuò)展。2.2 軌跡Trace是評(píng)測(cè)的第一手證據(jù)軌跡是一次評(píng)測(cè)運(yùn)行從開(kāi)始到結(jié)束的完整事件序列。一個(gè)最小軌跡應(yīng)該包含以下字段{ runId: run-20250315-001, caseId: case-001, startedAt: 2025-03-15T10:00:00.000Z, finishedAt: 2025-03-15T10:02:31.000Z, status: completed, steps: [ { seq: 1, type: model, input: 我的訂單 20240315001 現(xiàn)在到哪一步了, output: 我需要查詢訂單狀態(tài)先調(diào)用訂單查詢工具。, model: gpt-4o-mini, temperature: 0, tokensIn: 120, tokensOut: 45, durationMs: 800 }, { seq: 2, type: tool_call, name: query_order, arguments: {\orderId\: \20240315001\}, result: {\status\: \shipped\, \updated\: \2025-03-15T08:30:00Z\}, durationMs: 210 } ] }軌跡的價(jià)值在于事后審查。當(dāng)最終結(jié)果失敗時(shí)審查者需要知道模型在哪一步產(chǎn)生了錯(cuò)誤判斷工具返回了什么引起誤解后續(xù)步驟是否基于錯(cuò)誤信息繼續(xù)執(zhí)行。沒(méi)有軌跡指標(biāo)就是沒(méi)有根據(jù)的數(shù)字有了軌跡指標(biāo)才能被追責(zé)和復(fù)盤。2.3 指標(biāo)分為結(jié)果指標(biāo)和過(guò)程指標(biāo)指標(biāo)不能只看最終成功率。一個(gè) Agent 可能最后輸出了正確答案但中間調(diào)用了八次工具、繞了很多彎路也可能最終失敗但失敗原因是外部 API 超時(shí)而非 Agent 邏輯錯(cuò)誤。所以要把指標(biāo)分成兩類指標(biāo)類別指標(biāo)名稱計(jì)算方法說(shuō)明結(jié)果指標(biāo)Success Rate成功用例數(shù) / 總用例數(shù)最直觀的總體質(zhì)量指標(biāo)結(jié)果指標(biāo)Task Score按完成度打分 0-100適合部分完成也算分的情況過(guò)程指標(biāo)Tool Success Rate工具成功調(diào)用數(shù) / 總調(diào)用數(shù)反映工具使用能力過(guò)程指標(biāo)Avg Steps總步驟數(shù) / 運(yùn)行次數(shù)步驟多不一定差但可以反映繞路過(guò)程指標(biāo)Avg Latency總耗時(shí) / 運(yùn)行次數(shù)和成本一起決定可用性過(guò)程指標(biāo)Token Usage總 Token 數(shù)或單次平均直接對(duì)應(yīng) API 成本過(guò)程指標(biāo)Abort Rate超時(shí)或異常終止數(shù) / 總運(yùn)行數(shù)反映穩(wěn)定性真實(shí)項(xiàng)目里結(jié)果指標(biāo)決定功能是否達(dá)標(biāo)過(guò)程指標(biāo)決定 Agent 是否值得上線。一個(gè)步驟少、延遲低、成本可控的 Agent即使成功率略低也往往更容易被用戶接受。2.4 回歸對(duì)比把單次運(yùn)行變成趨勢(shì)Agent 評(píng)測(cè)最大的陷阱是拿一次運(yùn)行結(jié)果下結(jié)論。同樣的提示詞溫度為零時(shí)也可能因?yàn)榉谴_定性采樣產(chǎn)生不同輸出工具服務(wù)波動(dòng)也會(huì)影響結(jié)果。正確做法是對(duì)同一套評(píng)測(cè)集反復(fù)運(yùn)行多次把結(jié)果當(dāng)成分布來(lái)看?;貧w對(duì)比指兩件事一是同一個(gè) Agent 版本在多次運(yùn)行之間的穩(wěn)定性對(duì)比二是新舊版本在相同評(píng)測(cè)集上的效果差異。工作臺(tái)應(yīng)該把兩次運(yùn)行的用例結(jié)果對(duì)齊逐條顯示這個(gè)用例舊版成功、新版失敗或新舊都成功但新版多用了兩步。這種差異視圖是決定是否發(fā)布新版本的主要依據(jù)。3. 環(huán)境準(zhǔn)備搭建一個(gè)本地可跑通的腳手架3.1 技術(shù)棧選擇與版本要求下面示例用于說(shuō)明思路實(shí)際項(xiàng)目可以按團(tuán)隊(duì)熟悉程度替換。核心原則是運(yùn)行器用你熟悉的后端語(yǔ)言存儲(chǔ)用本地文件或 SQLite審查界面用最簡(jiǎn)單的方式呈現(xiàn)。推薦一個(gè)低成本的組合組件推薦選擇備選方案選擇理由運(yùn)行器Node.js TypeScriptPython FastAPI類型約束對(duì)軌跡數(shù)據(jù)結(jié)構(gòu)很有幫助存儲(chǔ)SQLitebetter-sqlite3JSON Lines 文件單文件、零運(yùn)維、適合本地評(píng)測(cè)集定義YAMLJSON可讀性好適合寫(xiě)注釋審查界面本地 Express 服務(wù) 靜態(tài) HTMLReact/Vue最小實(shí)現(xiàn)避免構(gòu)建復(fù)雜度命令行入口Commander直接 npm script方便在本地和 CI 復(fù)用環(huán)境要求很簡(jiǎn)單Node.js 18 以上npm 或 pnpm一臺(tái)能訪問(wèn)模型 API 的開(kāi)發(fā)機(jī)。不需要部署數(shù)據(jù)庫(kù)不需要申請(qǐng)額外的評(píng)測(cè)平臺(tái)賬號(hào)。注意如果你要接不同模型 API請(qǐng)先確認(rèn)項(xiàng)目使用模型的版本、baseURL 和鑒權(quán)方式。模型版本不固定評(píng)測(cè)結(jié)果的可復(fù)現(xiàn)性會(huì)大打折扣。3.2 目錄結(jié)構(gòu)設(shè)計(jì)一個(gè)最小項(xiàng)目可以按功能拆分目錄agent-review-studio/ ├── package.json ├── tsconfig.json ├── data/ │ └── eval.db # SQLite 數(shù)據(jù)庫(kù)本地自動(dòng)生成 ├── suites/ │ ├── order-basic.yaml # 評(píng)測(cè)集定義 │ └── order-edge.yaml ├── src/ │ ├── cli.ts # 命令行入口 │ ├── types.ts # 軌跡、用例、指標(biāo)類型 │ ├── runner.ts # 評(píng)測(cè)運(yùn)行器 │ ├── store.ts # SQLite 持久化 │ ├── metrics.ts # 指標(biāo)計(jì)算 │ ├── adapter.ts # Agent 適配層隔離不同框架 │ └── server.ts # 本地審查服務(wù) └── reports/ # 生成的報(bào)告目錄這里的adapter.ts是關(guān)鍵。評(píng)測(cè)工作臺(tái)不應(yīng)該關(guān)心 Agent 內(nèi)部是 LangChain 還是自研實(shí)現(xiàn)它只要求適配層暴露一個(gè)統(tǒng)一方法接收消息和歷史上下文返回本輪輸出、工具調(diào)用列表和 token 消耗。評(píng)測(cè)集、指標(biāo)、存儲(chǔ)全部建立在統(tǒng)一接口之上替換底層框架只需要重寫(xiě)適配層。3.3 SQLite 表結(jié)構(gòu)設(shè)計(jì)評(píng)測(cè)數(shù)據(jù)核心是四張表用例、運(yùn)行、步驟、指標(biāo)。CREATE TABLE cases ( id TEXT PRIMARY KEY, suite TEXT NOT NULL, name TEXT NOT NULL, input TEXT NOT NULL, expected TEXT NOT NULL, tags TEXT DEFAULT [], created_at TEXT DEFAULT (datetime(now)) ); CREATE TABLE runs ( id TEXT PRIMARY KEY, case_id TEXT NOT NULL, status TEXT NOT NULL, -- running / completed / failed / aborted model TEXT, prompt_version TEXT, started_at TEXT, finished_at TEXT, error TEXT ); CREATE TABLE steps ( id INTEGER PRIMARY KEY AUTOINCREMENT, run_id TEXT NOT NULL, seq INTEGER NOT NULL, type TEXT NOT NULL, -- model / tool_call / tool_result / error name TEXT, input TEXT, output TEXT, duration_ms INTEGER, tokens_in INTEGER, tokens_out INTEGER, created_at TEXT DEFAULT (datetime(now)) ); CREATE TABLE metrics ( run_id TEXT PRIMARY KEY, success INTEGER, task_score REAL, tool_success_rate REAL, avg_latency_ms REAL, total_tokens INTEGER, steps INTEGER );表結(jié)構(gòu)的設(shè)計(jì)要點(diǎn)是把運(yùn)行的原始軌跡和計(jì)算出的指標(biāo)分開(kāi)存儲(chǔ)。軌跡是證據(jù)指標(biāo)是結(jié)論。證據(jù)不能因?yàn)橹蟾牧怂惴ǘ鴣G失所以任何指標(biāo)計(jì)算都應(yīng)該是從軌跡重新推導(dǎo)而不是在軌跡上原地修改。這樣后面優(yōu)化指標(biāo)算法時(shí)歷史運(yùn)行記錄還能重新計(jì)算不需要重跑評(píng)測(cè)。4. 實(shí)現(xiàn)一個(gè)最小評(píng)測(cè)閉環(huán)4.1 定義評(píng)測(cè)任務(wù)和預(yù)期結(jié)果在suites/order-basic.yaml中定義兩個(gè)用例一個(gè)驗(yàn)證正常查詢一個(gè)驗(yàn)證無(wú)效訂單處理suite: order-basic description: 訂單查詢基礎(chǔ)能力評(píng)測(cè) cases: - id: order-001 name: 查詢已發(fā)貨訂單 input: message: 我的訂單 20240315001 現(xiàn)在到哪一步了 expected: type: contains values: [已發(fā)貨, 運(yùn)輸中, 已完成] tags: [order, happy-path] - id: order-002 name: 查詢不存在的訂單 input: message: 查一下訂單 999999 的物流狀態(tài) expected: type: contains values: [不存在, 沒(méi)有找到, 無(wú)效] tags: [order, edge-case]這里隱藏了一個(gè) Agent 評(píng)測(cè)的常見(jiàn)誤區(qū)預(yù)期結(jié)果描述的是用戶可接受的信息而不是模型逐字輸出。如果寫(xiě)死values: [已發(fā)貨](méi)當(dāng)模型回復(fù)您的訂單已經(jīng)發(fā)出正在運(yùn)輸途中時(shí)正確信息因?yàn)榇朕o不同被判失敗。評(píng)測(cè)集要站在用戶價(jià)值角度設(shè)計(jì)而不是站在字符串匹配角度設(shè)計(jì)。4.2 實(shí)現(xiàn)評(píng)測(cè)運(yùn)行器運(yùn)行器負(fù)責(zé)讀取評(píng)測(cè)集、逐條調(diào)用 Agent 適配層、收集軌跡。下面是一個(gè)最小實(shí)現(xiàn)// src/runner.ts import { readFile } from fs/promises; import yaml from yaml; import { RunResult, Step, Suite } from ./types; import { runAgent, AgentAdapterOptions } from ./adapter; export async function runSuite(filePath: string, adapter: AgentAdapterOptions) { const raw await readFile(filePath, utf-8); const suite yaml.parse(raw) as Suite; const results: RunResult[] []; for (const testCase of suite.cases) { const steps: Step[] []; const startedAt new Date().toISOString(); let status: RunResult[status] completed; let error: string | undefined; try { // 調(diào)用適配層執(zhí)行 Agent接收逐步回調(diào)以記錄軌跡 await runAgent( { message: testCase.input.message, suite: suite.suite, caseId: testCase.id, }, adapter, (step) steps.push(step) ); } catch (e) { status failed; error e instanceof Error ? e.message : String(e); } results.push({ runId: ${testCase.id}-${Date.now()}, caseId: testCase.id, status, startedAt, finishedAt: new Date().toISOString(), steps, error, }); } return results; }這段代碼的關(guān)鍵在于runAgent的第三步回調(diào)。很多初版評(píng)測(cè)框架只會(huì)收集最終輸出丟掉了中間步驟。正確的做法是讓適配層在每個(gè)事件發(fā)生時(shí)就上報(bào)一次運(yùn)行器只負(fù)責(zé)按順序追加。這樣軌跡的完整性由運(yùn)行器保證不屬于自定義 Agent 邏輯的一部分。4.3 保存軌跡和計(jì)算結(jié)果運(yùn)行完成后需要把軌跡寫(xiě)入 SQLite并計(jì)算指標(biāo)。寫(xiě)入順序很重要先寫(xiě)運(yùn)行主記錄再寫(xiě)步驟再寫(xiě)指標(biāo)。任何一步失敗都應(yīng)該讓整次運(yùn)行標(biāo)記為 failed避免出現(xiàn)有指標(biāo)沒(méi)軌跡的殘缺數(shù)據(jù)。import Database from better-sqlite3; export function persistRun(db: Database, result: RunResult) { const insertRun db.prepare( INSERT INTO runs (id, case_id, status, error, started_at, finished_at) VALUES (?, ?, ?, ?, ?, ?) ); const insertStep db.prepare( INSERT INTO steps (run_id, seq, type, name, input, output, duration_ms, tokens_in, tokens_out) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) ); const insertMetric db.prepare( INSERT INTO metrics (run_id, success, task_score, tool_success_rate, avg_latency_ms, total_tokens, steps) VALUES (?, ?, ?, ?, ?, ?, ?) ); const tx db.transaction(() { insertRun.run( result.runId, result.caseId, result.status, result.error ?? null, result.startedAt, result.finishedAt ); for (const step of result.steps) { insertStep.run( result.runId, step.seq, step.type, step.name ?? null, step.input ?? null, step.output ?? null, step.durationMs ?? null, step.tokensIn ?? null, step.tokensOut ?? null ); } const metrics computeMetrics(result); insertMetric.run( result.runId, metrics.success ? 1 : 0, metrics.taskScore, metrics.toolSuccessRate, metrics.avgLatencyMs, metrics.totalTokens, metrics.steps ); }); tx(); }使用db.transaction的目的是保證一批數(shù)據(jù)要么全部寫(xiě)入要么全部不寫(xiě)入。否則一旦運(yùn)行到第三步失敗數(shù)據(jù)庫(kù)里就會(huì)留存一條沒(méi)有步驟記錄的 runs 數(shù)據(jù)后續(xù)統(tǒng)計(jì)時(shí)會(huì)污染成功率。4.4 生成審查報(bào)告本地工作臺(tái)的最小審查形態(tài)可以是一份靜態(tài) HTML 報(bào)告或者一個(gè)本地 Web 服務(wù)。最簡(jiǎn)單方式是讓 CLI 在執(zhí)行完評(píng)測(cè)后輸出一個(gè)reports/report.html里面按用例列出每次運(yùn)行的成功狀態(tài)和軌跡摘要。!-- 生成報(bào)告的簡(jiǎn)化模板實(shí)際由代碼動(dòng)態(tài)渲染 -- ul li strongorder-001/strongcompleted details summary查看軌跡/summary p第 1 步模型調(diào)用輸入用戶消息輸出我需要查詢訂單。/p p第 2 步工具調(diào)用 query_order參數(shù) {orderId:20240315001}。/p p第 3 步工具返回 {status:shipped}。/p /details /li /ul報(bào)告不是給機(jī)器看的是給人審查的。所以每一條用例都要有展開(kāi)軌跡的入口并且標(biāo)記該用例使用的預(yù)期判斷方式。這個(gè)階段的報(bào)告可以很粗糙但它必須讓審查者能回答為什么判定成功或?yàn)槭裁磁卸ㄊ ?. 關(guān)鍵模塊設(shè)計(jì)指標(biāo)計(jì)算、軌跡審查和回歸對(duì)比5.1 指標(biāo)計(jì)算模塊指標(biāo)計(jì)算不應(yīng)該散落在插入數(shù)據(jù)的邏輯里而應(yīng)該獨(dú)立成一個(gè)純函數(shù)模塊。這樣歷史軌跡可以重新計(jì)算指標(biāo)不同指標(biāo)算法可以并行比較。// src/metrics.ts import { RunResult, Metrics } from ./types; export function computeMetrics(result: RunResult): Metrics { const steps result.steps; const toolCalls steps.filter((s) s.type tool_call); const toolSuccess toolCalls.filter((s) s.output !s.output.startsWith(ERROR)); let totalTokens 0; let totalLatency 0; for (const step of steps) { totalTokens (step.tokensIn ?? 0) (step.tokensOut ?? 0); totalLatency step.durationMs ?? 0; } return { success: result.status completed, taskScore: result.status completed ? 100 : 0, toolSuccessRate: toolCalls.length ? toolSuccess.length / toolCalls.length : 1, avgLatencyMs: steps.length ? totalLatency / steps.length : 0, totalTokens, steps: steps.length, }; }現(xiàn)在computeMetrics里的 success 只判斷狀態(tài)沒(méi)有做預(yù)期結(jié)果的匹配。真實(shí)實(shí)現(xiàn)里應(yīng)該在運(yùn)行器判斷完 expected 之后把匹配結(jié)果傳進(jìn)來(lái)。這一步留給你的實(shí)際項(xiàng)目擴(kuò)展關(guān)鍵是保持軌跡數(shù)據(jù)不隨指標(biāo)變化的原則。5.2 軌跡審查頁(yè)面軌跡審查頁(yè)面至少有三種視圖列表視圖按套件和用例列出所有運(yùn)行記錄綠綠紅紅一眼看出失敗集中在哪個(gè)用例。時(shí)間線視圖單個(gè)運(yùn)行記錄的步驟按時(shí)間展開(kāi)模型推理、工具調(diào)用、工具結(jié)果依次排列任何一步耗時(shí)異常都容易發(fā)現(xiàn)。對(duì)比視圖同一用例的新舊兩次運(yùn)行并排展示高亮模型推理差異、工具參數(shù)差異和結(jié)果差異。時(shí)間線視圖最容易暴露問(wèn)題。例如一個(gè) Agent 在工具調(diào)用失敗后反復(fù)重試時(shí)間線會(huì)連續(xù)出現(xiàn)五次相同的tool_call這比任何指標(biāo)都直觀。如果工具報(bào)錯(cuò)是 401說(shuō)明權(quán)限配置有問(wèn)題如果是參數(shù)校驗(yàn)失敗說(shuō)明 Agent 對(duì)參數(shù)理解有誤。審查頁(yè)面應(yīng)該讓這些信息第一眼可見(jiàn)而不是藏在日志里。5.3 回歸對(duì)比和門禁判斷回歸對(duì)比的核心是找出從好變壞的用例。工作臺(tái)可以把新舊兩次運(yùn)行的數(shù)據(jù)按case_id對(duì)齊生成一張差異表case_id舊版結(jié)果新版結(jié)果舊版步驟數(shù)新版步驟數(shù)差異判斷order-001successsuccess34步驟增加可接受order-002successfailed2-回歸必須修復(fù)order-003failedsuccess-3修復(fù)項(xiàng)確認(rèn)有效性這里的門禁可以簡(jiǎn)單到一句話如果存在任何success - failed的用例且該用例標(biāo)簽不在豁免列表中則本次評(píng)測(cè)不通過(guò)。這個(gè)規(guī)則應(yīng)該寫(xiě)進(jìn) CI 腳本防止新版 Agent 或者新提示詞在修復(fù) A 場(chǎng)景時(shí)弄壞 B 場(chǎng)景。6. 運(yùn)行驗(yàn)證從命令行到本地 Web 工作臺(tái)6.1 啟動(dòng)流程按以下順序操作可以跑通最小閉環(huán)# 1. 初始化項(xiàng)目并安裝依賴 npm install # 2. 初始化數(shù)據(jù)庫(kù) npm run init-db # 3. 將模型 API 密鑰寫(xiě)入本地環(huán)境變量 export MODEL_API_KEYyour_key_here # 4. 運(yùn)行評(píng)測(cè)集 npm run eval -- --suite suites/order-basic.yaml # 5. 啟動(dòng)本地審查服務(wù) npm run review這里要特別提醒API 密鑰不要寫(xiě)進(jìn)評(píng)測(cè)集 YAML也不要提交到 git 倉(cāng)庫(kù)。評(píng)測(cè)集是團(tuán)隊(duì)共享的版本化文件密鑰應(yīng)該通過(guò)環(huán)境變量或本地的.env.local注入并且這個(gè)文件必須加入.gitignore。6.2 預(yù)期結(jié)果和驗(yàn)證方式第一次運(yùn)行結(jié)束后你應(yīng)該能看到類似下面的輸出suite: order-basic cases: 2 passed: 1 failed: 1 success rate: 50.0% tool success rate: 100.0% avg latency: 820ms total tokens: 1840 report: reports/report.html但這只是第一步。要確認(rèn)評(píng)測(cè)真的有效至少還需要驗(yàn)證三件事失敗的用例點(diǎn)擊軌跡后能看到具體的失敗步驟而不是只看到一個(gè) failed 狀態(tài)。把同一個(gè)用例故意改成錯(cuò)誤預(yù)期運(yùn)行結(jié)果應(yīng)該從成功變失敗證明預(yù)期判斷邏輯有效。連續(xù)運(yùn)行三次同一評(píng)測(cè)集觀察成功率波動(dòng)范圍。如果波動(dòng)超過(guò) 20 個(gè)百分點(diǎn)說(shuō)明用例設(shè)計(jì)或評(píng)測(cè)環(huán)境本身不穩(wěn)定需要先解決穩(wěn)定性問(wèn)題。6.3 學(xué)習(xí)環(huán)境和生產(chǎn)環(huán)境的區(qū)別上面這套流程適合在本地快速驗(yàn)證想法。進(jìn)入團(tuán)隊(duì)協(xié)作或生產(chǎn)環(huán)境后需要額外補(bǔ)上幾塊項(xiàng)目學(xué)習(xí)環(huán)境生產(chǎn)環(huán)境存儲(chǔ)本地 SQLite 文件SQLite 文件加入版本管理或備份機(jī)制評(píng)測(cè)集手工編輯 YAML評(píng)測(cè)集變更走 MR 流程記錄版本運(yùn)行結(jié)果本地命令行在 CI 中運(yùn)行結(jié)果上傳為構(gòu)建產(chǎn)物模型配置環(huán)境變量手動(dòng)指定固定模型版本、采樣參數(shù)寫(xiě)入配置快照人工審查本地 HTML 報(bào)告審查結(jié)果可注釋、可標(biāo)記、可追蹤數(shù)據(jù)備份不必須定期備份數(shù)據(jù)庫(kù)設(shè)置保留策略生產(chǎn)環(huán)境最關(guān)鍵的差異化動(dòng)作是可追溯。一次發(fā)布對(duì)應(yīng)的評(píng)測(cè)結(jié)果必須能關(guān)聯(lián)到具體的代碼版本、評(píng)測(cè)集版本、模型版本和運(yùn)行時(shí)間。缺失任何一個(gè)出現(xiàn)線上問(wèn)題時(shí)都無(wú)法回查。7. 常見(jiàn)問(wèn)題與排查鏈路7.1 評(píng)測(cè)任務(wù)大面積失敗現(xiàn)象同一個(gè)評(píng)測(cè)集大部分用例都返回 failed。排查順序先看錯(cuò)誤信息。如果所有失敗都報(bào) 401、403通常是 API Key 無(wú)效或沒(méi)有對(duì)應(yīng)模型權(quán)限。再看超時(shí)配置。如果失敗集中在某個(gè)工具調(diào)用步驟且每條軌跡都在同一工具處中斷優(yōu)先懷疑工具本身報(bào)錯(cuò)或網(wǎng)絡(luò)不通。然后看預(yù)期判斷方式。如果失敗用例的軌跡正常完成但被判定失敗檢查expected.type是否和實(shí)際輸出匹配。例如模型回復(fù)您的訂單已發(fā)出而預(yù)期寫(xiě)死了已發(fā)貨就會(huì)誤判。最后檢查評(píng)測(cè)集本身。如果用例輸入格式和 Agent 訓(xùn)練數(shù)據(jù)差異過(guò)大失敗是正常的需要調(diào)整用例設(shè)計(jì)。對(duì)應(yīng)處理建議問(wèn)題現(xiàn)象常見(jiàn)原因檢查方式處理建議全部用例 401API Key 無(wú)效或無(wú)權(quán)限查看運(yùn)行器日志的第一個(gè)錯(cuò)誤重新配置環(huán)境變量并確認(rèn)模型白名單全部用例超時(shí)模型或工具響應(yīng)過(guò)慢查看軌跡中耗時(shí)最長(zhǎng)的步驟增加單步超時(shí)時(shí)間或排查工具性能完成但判失敗expected 寫(xiě)得太死打印實(shí)際輸出對(duì)比預(yù)期配置改用 contains 或人工審查判斷結(jié)果時(shí)好時(shí)壞采樣參數(shù)或環(huán)境不穩(wěn)定連續(xù)運(yùn)行 5 次統(tǒng)計(jì)分布固定溫度記錄模型版本擴(kuò)大樣本量7.2 軌跡丟失或結(jié)果對(duì)不上現(xiàn)象metrics 表里有運(yùn)行記錄但 steps 表為空或者審查頁(yè)面顯示的成功數(shù)和 CLI 輸出不一致。排查鏈路檢查寫(xiě)入順序。如果insertMetric不在insertRun和insertStep的同一個(gè)事務(wù)里先寫(xiě)指標(biāo)后寫(xiě)步驟就容易出現(xiàn)只有指標(biāo)沒(méi)有軌跡的半截?cái)?shù)據(jù)。檢查異常處理。運(yùn)行器 catch 到異常后是否仍然執(zhí)行了持久化邏輯。如果異常發(fā)生在步驟還沒(méi)有回調(diào)時(shí)直接跳到失敗分支軌跡為空是正常的但如果你期望保留異常發(fā)生前已經(jīng)記錄的部分步驟需要在 catch 里顯式維護(hù)steps數(shù)組。檢查統(tǒng)計(jì)口徑。CLI 輸出的 success rate 是基于 runs 表統(tǒng)計(jì)還是基于 metrics 表統(tǒng)計(jì)。兩個(gè)來(lái)源結(jié)果不一致時(shí)說(shuō)明代碼中有第二個(gè)統(tǒng)計(jì)入口應(yīng)統(tǒng)一成一個(gè)函數(shù)。7.3 指標(biāo)偏高或偏低的可信度問(wèn)題現(xiàn)象本地跑成功率 90%但線上表現(xiàn)明顯更差。原因通常不在評(píng)測(cè)代碼而在評(píng)測(cè)設(shè)計(jì)評(píng)測(cè)集和調(diào)優(yōu)數(shù)據(jù)重疊。如果評(píng)測(cè)用例來(lái)自 Agent 調(diào)優(yōu)時(shí)見(jiàn)過(guò)的數(shù)據(jù)結(jié)果虛高屬于數(shù)據(jù)泄漏。樣本量太小。10 個(gè)用例只跑一次成功率 90% 意味著只有一個(gè) fail置信度非常低。評(píng)測(cè)集難度失衡。大量簡(jiǎn)單用例撐高整體成功率掩蓋了困難場(chǎng)景的問(wèn)題。處理方式是分層看指標(biāo)按 tag 統(tǒng)計(jì)成功率單獨(dú)篩出edge-case類用例的結(jié)果而不是只看總體成功率。同時(shí)在報(bào)告中展示每個(gè)用例的單次結(jié)果不合并成一個(gè)數(shù)字。7.4 本地環(huán)境與 CI 結(jié)果不一致現(xiàn)象本地運(yùn)行全部通過(guò)CI 里同一評(píng)測(cè)集大量失敗。這是 Agent 評(píng)測(cè)最常見(jiàn)的環(huán)境問(wèn)題之一。排查順序?qū)Ρ饶P桶姹?。CI 里是否用了不同的 model 名稱或 default 版本導(dǎo)致推理行為不一致。對(duì)比環(huán)境變量。CI 里是否缺少M(fèi)ODEL_API_KEY或使用了不同 key 導(dǎo)致速率限制。對(duì)比網(wǎng)絡(luò)和依賴。CI 是否能訪問(wèn)模型 APIpackage-lock.json是否提交依賴版本是否已鎖定。對(duì)比并發(fā)設(shè)置。本地順序執(zhí)行和 CI 并發(fā)執(zhí)行可能觸發(fā)速率限制或超時(shí)失敗位置通常分布在tool_call步驟。預(yù)防做法是在評(píng)測(cè)配置中記錄環(huán)境指紋模型版本、溫度、top_p、依賴版本、Node 版本、關(guān)鍵環(huán)境變量的 hash。評(píng)測(cè)報(bào)告第一頁(yè)就展示這些信息本地和 CI 不一致時(shí)先比對(duì)指紋。8. 評(píng)測(cè)工作臺(tái)的最佳實(shí)踐和擴(kuò)展方向8.1 設(shè)計(jì)評(píng)測(cè)集的檢查清單一個(gè)評(píng)測(cè)集在合并進(jìn)工程之前應(yīng)該逐條確認(rèn)每個(gè)用例是否描述了一個(gè)完整用戶場(chǎng)景而不是一個(gè)孤立的模型指令。預(yù)期結(jié)果是否站在用戶可接受信息的角度描述而不是模型逐字輸出。是否覆蓋 happy path、edge case、異常輸入、權(quán)限不足、工具失敗五類基礎(chǔ)場(chǎng)景。用例輸入中是否包含真實(shí)業(yè)務(wù)敏感數(shù)據(jù)如果是是否做了脫敏。每個(gè)用例是否有明確的維護(hù)人需求變更時(shí)由誰(shuí)更新評(píng)測(cè)集。評(píng)測(cè)集是否在獨(dú)立目錄下版本化管理和代碼變更同步提交。8.2 發(fā)布前評(píng)測(cè)檢查清單Agent 版本發(fā)布前建議依次確認(rèn)評(píng)測(cè)集版本已固定和本次發(fā)布意圖匹配。在固定模型版本和采樣參數(shù)下完成至少三輪完整評(píng)測(cè)。新舊版本回歸對(duì)比中不存在非豁免的success - failed用例。失敗的用例都有軌跡可供人工審查且每一條失敗原因已經(jīng)被歸類。指標(biāo)統(tǒng)計(jì)同時(shí)包含結(jié)果指標(biāo)和過(guò)程指標(biāo)避免只匯報(bào)成功率。評(píng)測(cè)數(shù)據(jù)已備份報(bào)告已歸檔對(duì)應(yīng)代碼 commit 可追溯。8.3 擴(kuò)展方向從最小工作臺(tái)繼續(xù)往下走有三個(gè)值得投入的方向。第一個(gè)是引入更豐富的判斷方式。除了字符串匹配可以增加 LLM-as-judge讓一個(gè)獨(dú)立模型按評(píng)分標(biāo)準(zhǔn)判斷結(jié)果質(zhì)量并將評(píng)判斷模型的結(jié)果也作為一條軌跡保存方便進(jìn)一步審查。第二個(gè)是支持評(píng)測(cè)集和數(shù)據(jù)集的版本化。用 Git 管理 YAML 評(píng)測(cè)集是第一步第二步是給每個(gè)用例增加expected的變更歷史讓為什么這個(gè)用例被改弱了有據(jù)可查。第三個(gè)是把評(píng)測(cè)工作臺(tái)接入日常開(kāi)發(fā)流。本地運(yùn)行只是調(diào)試手段真正能防止 Agent 退化的機(jī)制是 CI 門禁每次提示詞變更或 Agent 邏輯變更都自動(dòng)觸發(fā)一輪回歸評(píng)測(cè)把差別結(jié)果直接貼到 MR 里。做到這一步評(píng)測(cè)工作臺(tái)就不再是一個(gè)輔助工具而是 Agent 工程化質(zhì)量體系的一部分。Agent 評(píng)測(cè)的本質(zhì)是給看起來(lái)智能的系統(tǒng)建立可驗(yàn)證的行為邊界。Agent Review Studio 這類 local-first 工作臺(tái)提供了一個(gè)正確的方向讓評(píng)測(cè)數(shù)據(jù)留在本地讓軌跡成為證據(jù)讓差異可以被看見(jiàn)。先把最小閉環(huán)跑起來(lái)再用指標(biāo)、軌跡和回歸對(duì)比慢慢逼近真實(shí)業(yè)務(wù)的質(zhì)量要求這才是評(píng)測(cè)體系能長(zhǎng)期運(yùn)轉(zhuǎn)的方式。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日本黄大片在线观看视频| 中文字幕日韩人妻视频一区二区三区| 国产熟女完整版中字| 四虎影视在线| 亚洲人天堂| 国人欧美精品一区二区| 天美传媒在线一区| 伊人网青青| 国产女人高潮视频| 婷婷10月天青娱乐| 九九99精品视频在线观看| 97视频7| 久久久久久久久久久六六| 999 久久久| 蜜乳中文字幕a在线| 大香蕉婷婷| 亚洲成人帖图| 看一级黄色视频| 少妇蹲下买菜露大唇0| 成年人一级黄色毛片大全在线观看| 亚洲精品一卡二卡三卡福利视频网站| 午夜福利一区二区影院| 成人在线视频一区| 伊人久久在线视频观看| www.高清无码诱惑一区.com | 91劲爆| 久久久久亚洲av综合波多野制衣| a人欧美综合天堂麻豆| 97超碰欧美| 中文字幕老熟妇黄色视频| 91熟女网| 亚洲午夜免费狠狠干| 台湾佬大香蕉| A啊啊在线观看| 日本韩国国产精品一区| 97亚洲欧美日韩| 尤物网址| 青青操视频在线| 丁香婷婷色五月| 久久久久久久 九九九九九九九| 97资源亚洲| 韩国久久97| 91老司机视频| 爱欲AV| 操人人| 久久女同性恋一二区| 99性爱在线观看| 亚洲影视高清三级-草1024榴社区入口-品爱AV| 久久露脸国产老熟女| 亚欧高清v| 影音资源男人日韩| 第二页中文字幕| 四虎午夜影院| 啊啊啊轻点在线观看| 亚洲AV免费在线| 久久久久久网址| 久久大线蕉一区| 五月天婷精品激情| 欧美亚洲小说| av久日| 色色综合网站| 爱妃国产亚洲视频中文字幕| 九九亚洲色在线观看| 久久久久久免费电影| 中国亚洲呦女专区| 国产一级舔足在线观看| 久久久免费高清中文视频| 成人日韩欧美| 久草福利在线资源站| 日本天天干天天操一区| 成人久久精品| 精品一久久久| xxx亚洲午夜天堂| 97视频观看| 亚洲精品三区在线观看| 97超级久久| 青青草视频久久久久| 国产一级不卡在线观看| 亚洲人妻五月丁香婷婷| 久9视频| 亚洲情色无码一区二区三区| 美女诱惑1区2区| 欧美日韩色图片| 精品人妻免费观看| 激情另类激情| 啊啊啊啊二区好大| 小草精彩毛片| 牛牛aV| 久久这里只有精品9| 欧美后入视频| 欧美性猛交美女自慰91| 色狠狠 - 百度| 久久免费9| 欲射影视| 蜜桃久久久久久| 亚洲黄色网址视频| 99久久无码| 91插B网站| 精彩国产视频播放1区2区| 免费一级毛片在线视频观看| 国模无码人体一区二区三| 亚洲精品久久一区二区三区蜜桃臀| 日韩一级二级| 九九色逼| 亚洲操操| 久久久久国产精品片区无码直播| av一区二区三区不卡| 久热网| 国产美女精品| 四季AV综合网址| 中亚精品极乱| 久草视频分类在线| 97精品熟女少妇一区| 精品91日日夜夜超清资源| 久久社区一区二区三区| 久久亚洲AV无码白度| 午夜福利一区二区三区四区五区色婷婷| 97超碰69| 蜜桃成人1区2区3区| 伊人黄色视频免费观看| 十八禁成人网站在线观看| 18禁看网站一区| 亚洲图片第一页| 久9爱精品| 黑人粗大V S日韩女优视频| 亚洲熟久久| 免费9 1久久| 午夜天堂精品久久久久91| 久久精品色欧美aⅴ一区二区| 日本天天操| 亚洲成人在线高清| 手机午夜电影神马久久| 国产最新小视频在线播放下载 | 黑人性欧美| 狠狠爱夜夜干| 久久久久久少妇| 国产少妇高潮| 欧美少妇色综合| 亚洲精品天堂久久A∨51成人漫| 91美| 老熟妇91| 另类小色呦| 欧美人妻一区| 亚洲精品日韩国产欧美| 欧美顶级黄片AAAAA在线免费看| 久久直播国产| 伊人AAA| 艹我哪美一区无码| 美女人妻色网站| 精品91摸| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 亚洲丝袜综合| 性综合网| 韩国免费播放一级毛片| 伦伦成年午夜免费视频| 男人的天堂一区三区| 麻豆国产96在线| 婷婷色在线| 综合网欧美在线| 国产不卡片| 国产久久一区二区三区野外在线| 欧美天堂亚洲电影院一区在线播放| 亚洲开心网| 欧美AB在线| 香蕉精品二区二区| 日本潮催一卡操| 国产 亚洲 一二三四| 欧美成人性爱视频在线播放| 欧美亚洲一级在线观看| 一区二区免费电影久久| 青青伊人这里只有精品| 99视频自拍| av天堂影视中文在字幕在线中文| 亚洲国产综合久久天堂| 青青草玖玖爱| 蜜臀AV午夜精品久| 国产一区免费午夜视频| 婷婷影院入口| 天堂九九九九九九九九九| 99热导航| 啊啊啊好大好深| 秋霞午夜成人福利片片| 欧美黑人精品一区二区| 精品久久青青草| 久久久久9999妇女| 91性网| 久久久久成人蜜桃精品| 试看福利| 综合夜夜| 黄片免费看黄片免费看| 欧美久久草熟女| 亚州日韩97| 久久久精品网| 影音先锋视频在线| 一二三啪啪专区| 夜夜爽夜夜摸夜夜操免费视频| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 97神马久久| 欧美高清18A片| 蜜桃av色偷偷av老熟女| 最新日日夜夜天天干干| 丁香五月婷婷五月| 啊灬啊灬啊灬啊灬高潮奶出了免费视 | 天天操人人操骚逼网站| 97视频在线播放| 亚洲国产成人精品久久久国产成人一区二区三. | 蜜乳AV色欲AVAV无码| 欧美亚男人的天堂| 日韩AC| 超碰97爽| 96一区二区| 乱伦Av网| 久久超碰大香蕉| 91n欧美| 韩国午夜理伦三级好看| 欧美天天谢综合网| 84YTCOM性无码| 久久性爱城| 美欧老女人97| 久久精品午夜国产亚洲AV无码| 色啪网| 嫩草 我啊~嗯~在线| 香蕉欧美| 视频在线观看一二三区| 欧美色网| 丁香六月天| 亚洲成人帖图| 国内三级自拍小视频在线观看| 91狠狠综合久久久久久| 色婷婷视频| 久久妇| 18一区二区三区| 久久精精区一区二区一蜜桃一区二区| 日韩欧美视频青青| 国产精品69久久久久久久| 91第一页| 色播五月丁香| 精品久热| av在线观看不卡网站| 亚洲天堂综合AV| 色偷偷人人玩人人舔人人操人人摸人人爽 | 高潮的A片激情扒开一区| 亚洲色人妻综合| 9丨久久九九九| 日韩综合97P| 欧美色综合| 国产中文大片资源中文字幕| 岛国福利在线精品播放| 少妇蜜汁| 玖玖爱在线视频免费观看| 99少妇精品视频| 亚洲欧美清纯| 国产精品一区二区在钱播放| 欧美色999| 视频在线观看一二三区| 日韩无码精品综合久久| 亚洲好色人妻| 久久香蕉影院| 亚洲色图图片| 青青草精玖玖69精品| 国产精品嫩草影院午夜两性 | 五月婷婷六月色| 日韩欧视频| 99热99色| 久久久久久久唑| 男人的天堂2018东京热啪啪啪| 欧美激情专区| 91丝袜激情在线| 久草视频在线视频在线视频在线观看| 伊人久久亚洲色欲综合网站 | 超碰性爱97| 亚洲中文字幕精品一区| 欧日韩在线观看| 午夜寂寞欧美| 欧洲自拍第一页| 精品久久視頻在线| 亚洲AV成人无码一二三久久| 中文字幕诱惑制服人妻丝袜美丝袜美| 亚洲黄色网址视频| 超碰美女97| 久久伊人在线五区| 国产综合网站在线播放| 伊色久人大在线| 人妻天天爽夜夜爽爽| 日韩欧美操逼xxx| 爱妻综合网| 91九色精品熟女内射| 欧美日韩国产中文精品字幕自在自线| 国产第25页在线观看| 97久久久久久久久久| 无码99| 精品国产Av无码久久久亚洲| 国产欧洲精品亚洲午夜拍精品| 日本一级性爱| 日本伦乱九九九综合| 欧美色图人妻| 精品一区二区啪啪啪| 国产精品视频自拍在线| 在线播放欧洲免费av| 97视频7| 五月丁香影院| 高跟丝袜AV专区国产| 亚洲久久久| 日韩电影天堂视频一区二区| 五月婷婷激情网| 免费一级性爱久久| 热热色中文无码| 亚洲老司机123专区| 日韩一级二级| 亚洲 日韩 丝袜 熟女 变态| 婷婷色香伊人| 欧美性Fer办公室秘书| 欧美图片偷拍| 久久女婷| 成人性爱高清视频免费看| 天天插网| 天天日天天干天天摸天天操| 1204金沙人妻懂旧版免费| 四虎AV在线观看| 三级网色| 成人影院永久免费观看网址| 搡老女人老91二区| 一区二区三区一亚洲中文字幕、综合区灬 | 97亚洲色图| 嫩草 人人网精品| 日韩熟妇二区| 九九成人| 亚洲操逼视频网站| 1769一区二区| 强歼乱伦资源网| 超碰成人人人爽人人爽| 欧美天天干| 99热18这里只有精品| 欧美综合骚| 精品一区二区成人动漫| 青娱乐国产精品| 国产日韩精品suv| 色妺妺AⅤ| 日韩欧美久久婷婷网站| 欧美成人国产精品| 亚洲日本天堂| 蘋果手機免費看成人Av| 98精品国产乱码久久久久久| 99热 按摩 日韩| 有码人妻系列| 欧美另类色| 婷婷色网| AV九九| 久久久精品无码亚免费| 亚洲欧美国产其他二区| 日本精品不卡一二三区| 亚洲一级特黄大片在线播放91| 少妇厨房愉情理伦片bd在线观看| 夜草网站| 人人么人人操| 日韩操啪| 26UUU欧美日本| 亚洲中文字幕熟女| 激情五月综合开心五月| 十八禁视频一区二区| 五月丁香黄色网| 国产后入| 大香蕉乱级| 亚洲欧洲自拍图片专区满春格 | 国产自产一区视频在线| 波多野结衣先锋影音| 精品日韩中文在线| 强奸乱伦大香蕉网| 香蕉婷婷| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 色操逼网| 无色无码| 亚洲AV成人在线| 五月天综合在线| www五月| 欧美操逼一二三区| 920日本午夜免费| 丰满少妇一区二区三区专区| 中文字幕88av在线| 亚洲日韩东京热一区| 色色青青久久| 蜜臀久久99精品久久久久久婷婷| 午夜成人爽爽爽爽A片李冰冰| 日韩强奸av| 大香蕉视频一二三区| 亚洲日韩美国人妻| 大香蕉久| 亚洲精品色| 很很很很操| 久久久免费高清中文视频| 91N综合网| 啊啊啊网站| 成人午夜高潮av猛片| 亚洲第一精品在线视频| 国产精品成人在线| 射丝袜高跟鞋99| 美女黄码视频午夜| 亚洲欧美91| 欧美人与动性人交a| 国产熟女完整版中字| 在线小视频| 美女91网| 无码区蜜乳| 92人人操人人| 久久精品国产97欧美精品亚洲 | 91国精产品| 欧美少妇高潮| 欧美一区二区一级岛国大片| 性爱乱伦网址| 久久欧美按摩999| 久久国产对白激情浪潮 | 精品人妻夜夜草| 亚洲 欧美 综合 91| 99热在线播放| 精品九九国产无码| 久久久久久久 九九九九九九九 | 亚洲色图自拍| 久久精品电影在线| 成人亚欧免费视频| 超碰久久性爱| 99热线麻豆| 欧美18老人禁| 2010男人的天堂| 亚洲色香| 男啪女色黄无遮挡免费观看| 欧美日韩性爱精品| 亚洲天堂人人妻| 人人妻人人澡人人爽久久av| 夜色AV无码手机在线影院| 婷婷色一区| 国产精品一区在线播放| 国产一级作爱毛片| 91丝袜激情在线| 免费试看60秒| 婷婷久草一区二区三区| 熟女91网| 中文字幕亚韩| 久久99草| 女欧美一区二三区| 东北黄色电影| 热热色中文无码| 免费av大片| 欧美成人色| 久久精品人妻一区| 爆乳免费黄网站| 超碰成人人人爽人人爽| 乱码人妻一区二区三区| yellow网站免费观看日韩高清无码| 夜夜 中文视频rt| 91天天| 久久婷婷色| 亚洲高清男人天堂| 国产亚洲精品农村妇女| 欧洲一区二区三区免费| 午夜性生活av免费在线看| 日本久久精品| 人人操人人精品影片| 高清成年美女黄网站免费大全 | 日本青青草在线| 91性网| 蜜桃无码AV一区二区| 久久精品视频一区三区小泽玛利亚| 中日韩一区二区三区欧美| 天天摸,夜夜摸| 天躁夜夜躁2021| 精品婷婷| 大香蕉淫人| 国产精品国产拍高清AV| 欧美91网| 一本道综合色图| 亚洲男人天堂2017| 亚州伊人色综台| 91精品91久久久久77777俄罗斯老妇姓x| 日本99热| 极品色综合| 95人妻爽爽人人做人人澡| 青青草原香蕉日本Ap| 91粉嫩萝控精品福利网站_精品影音先锋国| 欧洲大香蕉| 日韩成人性爱AV| 99福利社| 九九在线精品| 久久精品| 国产五码丝袜屁眼| 亚洲欧洲网站免费观看| 9丨久久九九九| 91亚洲人| 欧美第38页| CCYY草草影院地址入口| 在线一区| 丁香六月婷婷综合| 久久久久久97| 蜜臀亚洲中文| 377p欧洲日本亚洲大胆| 中出20p| 婷婷色综合| 伊人天天久久动态图| 亚洲国产一级中文综合久久天堂在线免费观看 | 久久色精品视频在线| 性色avv| 中文字幕精品一区二| 性交一区二区在线播放| 亚洲1区| 日韩性爱啪啪视频| 美女让帅哥通她小鸡鸡| 五月综合色| 中日韓欧美高清| 亚洲日韩熟女人妻高清在线| 精品美女人人干| 婷婷五月天av| 蜜乳成人AV| 97国产精品久久久久| 婷婷五月成人| 欧美日韩色综合网| 欧美天天综合在线| 欧美夜夜骑视频| 亚洲欧美经典一区二区 | 美女国产一区二区久久| 97碰久久| 动漫av中文| 伊人激情| 免费伦费视频在线观看| 91久久久久久久久18| 2017大香蕉国产精品久久| 丁香婷婷大香蕉| 免费少妇一区二区| 亚洲影视高清第一页| 九九天堂| 婷婷久月| 亚洲国产婷婷在线播放| 熟女人妻精品一区二区视频| 蜜桃视频成a人v在线| 五月天伊人网| 欧美一品道| av操操不卡| 2018色综合天天操| 欧美熟女操屄| 亚洲啪AⅤ永久无码| 久久中文字幕在线观看| 欧美一区二区三区成人性生活| 少妇无码太爽| 凹凸视频特色日本特黄| 色在线亚洲视频www| 激情小说亚洲色图| 新怡红院| 91无摭挡| 日韩精品99久久久久久中文字幕| 美女露胸露奶头| 国产动漫操逼视频| 少妇3P性爱自拍| 欧美一二三级精品在线| 亚洲欧美不卡线| 亚州五月| 久久中久文96| 丰满人妻一区二区中文| 亚洲熟女乱熟乱熟妇综合网二区| 亚洲人精| 99只有精品| 亚洲图片偷拍视频区| 国产精品亚洲无码| 男女做爰猛烈动高潮A片免费应用| 日韩国产中文字幕| 久操网无码在线| 俺去啦俺来也久久综合| 亚洲精品久久久久毛片A片拉屎 | 长久操视频| 青青草啪啪网| 欧洲乱码视频| 99re这里| 欧美 亚洲 另类 综合| 久久熟妇五十路一区| 久操视频免费在线观看| 久久女人视频| 亚洲日本男人天堂网| 情侣开房子拍 日韩无码 女的很漂亮| 五月天色图影视| 九九这里只有精品| 日韩人妻少妇 一区二区三区| 91精品大奶人妻| 九九久久99| 99热精品在线| 色婷婷亚洲婷婷| 中国少妇啪啪视频| 国产精品久久久久9999小说| 南澳成人一级片在线播放| 精品十八在线观看| 天堂性色| 天天干人人看综合| 亚洲男人综合| 欧差乱伦二三| 97人妻免费中文字幕| 国产性爱乱伦AV| 91动漫操逼视频| 色噜噜人妻丝袜a∨先锋影| 国产高清无码一区二区三区四区皇冠| 免费观看啪视频| 99精品在线| 天天操狠狠日夜夜干超碰撸com视频在线观看 | 久99| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 亚洲色图加勒比| 哈哈操电影AV| 91N综合在线| 日本色色视频网站| 久久专区| 国产一级内射高清视频| 香伊人在线| 色综合天天| 欧美强奸乱| 激情五月丁香五月| 午夜久久一区二区无码中出| 国产AV人人 夜夜人人澡| 欧亚成人在线视频| 欧成人在线| 97视频在线看| AⅤ片水多多| 久久男女激情视频网站| 亚州情色j区| 亚州色站 日韩电影| 97伪v| 久久久专区| 国内一级精品| 女同女同恋久久级三级| 婷婷AV一区二区三区| 97天天搞在线| 久久久精品中文字幕爱豆| 污污汅18禁网站在线永久免费观看| 黄页| 大香樵伊人网| 97精品久久久久久久| 人人澡人人澡人人| 久久久久久久久久va| 久久精品三级影视| 天天综和| 亚州黄站| 日韩在线一区高清在线| 99热官网| 99精品久久久久久| 91在线视频国产网站| 色婷婷激一区二区三区| 天天日老熟妇| 欧美91网| 亚洲va有码在线天堂| 日本熟妇一区二区三区| 色综合超碰超| 午夜性生活av免费在线看| 日韩人成网站在线播放| 日韩三级网址| 精品一区二区三区蜜桃| 噜噜噜在线视频| 综合网,亚洲,欧美| 国产免费内射视频| 欧美国产伊人久久久久| 亚州精品丝袜-不卡成人免费| 国语精品av| 熟女五十路一区二区三| 日韩紧密久久| 亚洲色图A| 国产精品成人福利在线| 人妻在线臀日韩| 躁躁躁日日躁2020| 日本一区二区三区四区免费观看| 99国产精品在线观看| yazhououmeizongya| 午夜一区二区三区国产| 久久国产精品,久久国产| 78精品| 天天躁日日躁AAA片李宗瑞| 欧美在线啊啊啊| 大香蕉欧美| 九九性视频| 精久久久| 97国产高清视频在线观看| 精品一区二区三区最新| 啊啊啊操死我了| 午夜理论片在线观看免费| 久久久久久久久久黄色网| 日本不卡二区| 欧美成不卡网| 男人的天堂 在线一区| 天天日少妇逼AV| 蜜汁欧美| 大香网伊人久久综合| 成人情色综合网| 欧美亚洲日本视频久久久| 欧美一区二区成人一卡| 韩国一级婬片A片无码天美| 亚洲第一二区另类图| 爱妃国产亚洲视频中文字幕| 黄色二级片网站| 国产强奸乱伦第1页| 亚洲精品久久久久久久蜜桃臀| 青青草久久| 日韩人成网站在线播放| 欧美最大综合网| 国产色精品午夜大片| 4虎在线视频| 欧美激情中文字幕另类小说| 日本五区不卡| 99热这里是精品| 漂亮人妻被强中文字幕hd| 中文字幕黄色片| 97久久久久| 色哟哟的毛片| 久久性爱视频免费看| 日日干日日操五月天伦理视频| 欧美亚洲自拍另类人妻| 久久9精品视频| 天天躁日日躁成人字幕aⅴ| 美性中文综合网| 啪啪AV导航| wuyechaopeng| 久久激情五月| 综合网天天| 亚洲AO在线| 亚州免费啪啪视频| 学生妹天天看| 日本三级日本三级99| 国产熟女无套内射| 第二页中文字幕| 九色精品视频导航1| 精品视频一区二区| 丝袜内射| 日本三级网页| 日本不卡一二区| 大香蕉伊人网WWWn0n| 亚洲成人在线高清| 亚洲骚男同com| 亚洲AV无码国产成人| 五十路熟女人妻一区二区在线观看| 淫色网综合| 久久美女国产| 少妇淫妇久久久久久久| 嗯嗯嗯不要不要免费视频| 97在线视频观看网站| 偷拍亚洲情色| 中文字幕日产av人| 人人操人人操人人操人人操人人操人人人11.CM| 伊人久久亚洲色欲综合网站 | 黑人性欧美| 热久久无毒不卡| 屁股久久久久久久久久| 大香蕉综合| 亚洲天堂中文字| 91在线丝袜| 久久天天摸| 人人人人插| 搡老女人老91二区| 国产一区二区三区久久精品太古里| 欧美日韩香蕉| 欧美 亚洲精品首页| 国产性刺激| 第一高清av中文字幕| 翔田千里AV无码秘 三区| 久久久久一本一区二区青青蜜月| 在线观看黄色电话| 精品日韩人妻视频| 超碰97人妻自拍| 欧美国产有色电影| 国产精品国产自产拍高清AV| 网页导航五月天免费一二三区| 日本不卡五区| 天天综合站| 亚州乱码中文字幕综合久久久| 色黄色美女大长腿午夜视频| 国产精品com| 国产夫妻性生活视频| 国产高清不卡视频| 人妻少妇视频在线播放| 亚洲精品第一| 日婷婷| 伦理第一页| 欧美精品三区| 97玖玖人妻| 婷婷五月综合激情| 国产极品美女高潮无套在线观看| 97国产精品| 91高清欧美| 伊人亚洲综合| 九草在线大香蕉| 99999精品成人| 亚洲精品视频二区| AV不卡在线| A一区片| 超碰久超碰久| 国产av热热色| 久久欧洲| 99re95| 嗯啊啊啊轻点视频 | 超碰成人最新最好看| 久久透逼视频| 欧美精品宗合| 97色亚洲| 91人妻人人澡人人爽人人精品| 日本五区不卡| 蜜桃网熟妇| 国产人妻精品一区二区三区秋霞 | 国产精品久久久久久久AV大片| 少妇久久久久久| 清纯唯美激情| 欧美性色欧美| 四虎影视国产精品| 婷婷探花久久精品一区| 久久精品99| 91N综合网在线| 色爽——AV| 久久成人午夜狠狠| 色综合超碰超| 偷拍欧美亚洲| 97精品一区二区视频在线观看| 久久风骚城市| 偷拍新久久| 大香蕉之青青草原| 欧美亚洲高清不卡| 97干天天| 四虎在线播放| 美女毛片999| 午夜后入| 婷婷九月国产| 久久熟女嫩草成人片免费| 亚欧美综合| 欧美桃色网| 狠狠操狠狠燥| 熟妇人妻丰满久久久久久久无码| 澳门色噜噜色噜噜色噜噜色噜噜色噜噜| 91欧美www| 国产精品诱惑| 国产无码久久高清| 亚洲无码国产精品久久| 午夜电影在线观看无码专区| 亚洲精品乱码久久久久久蜜桃麻豆 | 在线国产福利网址导航| 亚洲色 国产 欧美 日韩| 岛园激情| 熟女精品一区二区三区| 精品国产网站| 97超碰久久色| 精品乱码在线观看| 成人青青草原伊人| 玖草在线视频| 夜夜草天天| 九月丁香综合网| 五月天婷婷基地| 国产最新AV| 国产1024在线播放| yaouchengrenav| 欧美的性爱网站免费| 一级久久性爱视频| 久久久久久亚洲精品不卡人乳| 歐美一級亂黃99在綫精品| 婷婷美人网| 天美传媒精品久久视频| 欧洲久久一二线| 日本性爱不卡视频| 狠狠久久亚洲欧美专区| 91精品成人| 中日韩久久久免费看| 亚洲色阁| 岛国色情视频在线观看| 欧美性生活综合| 91 丝袜在线| 色香综合天天影视综合| 久久久性| 九九天堂| 色官网在线| 少妇99成人麻豆| 亚洲色悠悠久久88| 97K超碰在线| 自怕偷自怕亚洲精品| 亚洲色图日韩精品| 大香蕉在线视频15| 欧美性综合| 久久妇| 国模久久在线| 97免费视频在线观看| 国产无马视频| 嗯嗯嗯啊啊啊在线免费观看| 96AV久久久| 蜜臀99久久精品| 久久人| 午夜.DJ高清在线观看免费7 | 成人性爱免费播放| 国产精品分类在线观看| 操逼国产免费| 又黑又大又粗| 91丝袜在线视频| 91精品国产91综合久久蜜臀| 人人插人人搞人人操| 国产欧美一区二区| 后入合集| 久久久久久亚洲中文| 97国产色综合| 欧美姓爱综合网| 国产精品制服丝袜清纯唯美| 偷窥自拍亚洲色图| 久久久九| 少妇高潮流水av免费| 男人的天堂不卡一区二区| 久久久精品久久| 夂久色| 人妻无一区二区三区| 97最新在线播放视频| 亚洲国产精品久久久男人的天堂| 欧美色图亚洲色| 美女自卫慰黄网站免费| 大肉棒导航| 毛片久久| 人妻天堂综合网| 国产夫妻性生活视频| 天天视频综合在线观看视频| 中文字幕88av在线| 亚州综合色| 亚洲欧美成人在线| 亚洲好色人妻| 黄色AAAAA欧美| 最新av在线| 天天夜躁日日躁狠狠2002| 人妻天堂综合网| 性欧美999| 女人高潮大叫一级毛片| 国产久9| 国产精品无码论坛| 天天操天天看| 精品人妻av在线播放| 亚洲限制级| 最新av网站在线观看| 久久99手机免费视频| 成人一二| 色第一页| 国产精品国产亚洲区艳妇糸列| 熟女丰满人妻一区| 天天躁日日躁狠狠躁| 亚码激情| 中文字幕欧美日韩三级| 99精品丰满人妻无| 欧美色网| 日韩紧密久久| 激情视屏国产乱伦强奸| 日韩精品国产一区二区| 国产久久视频| 日本爽爽爽爽爽爽免费视频| 第45页一区二区| 国产麻豆福利av在线播放| 久久一二三四不卡 | 欧美性区| 在线岛国新天堂8| 黄色不卡视频| 久久黄色视频一区二区三区| 久操在97| 日韩一级欧美一级在线观看| 欧美97se| 中文字幕一区av| 97干色| 夜夜爽爽爽| 久久双插| 91l欧美在线| yellow网站免费观看日韩高清无码| 亚洲综合九| 国产又操| 亚洲在饯| 另类亚洲一区二区三区| 2019AV天堂| av绯色| 天天综合网视频91| 亚洲图片偷拍视频区| 久久久久九九九| 日本一片一区| 亚洲色图殴美色图激情乱伦| 狠狠入| 91麻豆天美传媒HD| 黄色免费网页无码| 美欧色综合| 久久九九一区二区三区成人| 人人看欧美性爱| 激情综合 婷婷五月 红杏| 九久9热| 国产中文精品一区二区在线观看| 啊啊啊啊,啊啊好多水| 天天综合网一91网| 亚洲三区视频| 97久久超碰亚洲| 啊啊啊啊视频免费| 黄色片一区二区三区四区五区 | 久久熟女久| 开心激情婷婷| 久久产精品一区二区三区电影| 风月影院男女十八禁| 天天射影院| 亚洲另类小说卡通动漫| 欧美97av| 亚州综合图片| 五月天丁香| 精品毛片av一区二区| 亚洲天堂资源在线| 无码人妻精品一区二区三区九九| 午夜男人一级A片7777| 超碰在线欧美性爱激情| 综合性视频99| 爽爽歪在线视频| 国产粉嫩出水在线播放| 少妇久久久久久| 国产风韵犹存熟妇三区| 一区黄二区黄| 免费视频a级毛片免费视频| 亚洲日韩精品久久久久一区壹牛| 国内成人圈中文字幕无码视频| 91观看 国产白丝| 天天干夜夜鈤| 先锋激情∨在线视频播放| 多毛小伙内射老太婆| 国产又操| 天天爽天天| 日本裸体久久色噜噜| 久久精品72| 亚洲丰满很很操| 九九九九热| 手机看av网站在线看| 91综合中文字幕| 好色美女九七第一页| 天堂69亚洲精品中文字| 亚洲一区二区久久久久| 立川理惠加勒比无码| 97青青操视频| www.acm成人黄色毛片| 青青草啪啪网| 立川理惠加勒比无码| 丁香九月 婷婷| 丝袜色综合| 日韩免费看黄片| 亚洲精品一卡二卡三卡福利视频网站| 麻豆天美传媒毛片| 日本日日色视频| 18禁中文字幕| 97 国产精品| 影音先锋视频在线| 开心激情站| 久久女女| 久久久国产av美女私房| 婷婷丁香成人| 熟妇最新先锋一二三区| 二色av| 奇米四色影视777久久久| 久久一二三四五六七八九区区区 | 丁香九月婷婷| 激情五月婷婷| 中文不卡视频| 久久亚洲欧美中文字幕国语| 婷婷精品国产一区二区三区日韩| 国产强奸超碰AV| 超91综合网| 免费αV在线视频| 久久久久久波多野吉衣高潮| 欧美成人A√在线一区二区| 精品一区二区三区四区女| 国产亚洲精品一区二区三区| 免费久久9999| 国产精品日韩在线一区| 粉嫩国产精品久久久| 日本久久女同性恋视频| 97亚洲综合电影| 丝袜美腿av女优在线| 色婷婷丁香五月| 99视频自拍区| 色婷婷五月天| 日本肉体xxxx裸交| 亚洲一区二区三区春色| 91老司机精品| 亚州再线| 亚州AV无码国产精品| 久久69| 中文字幕女同在线| 精产国品一区二三产品| 97鸡把在线视频| 精品久一区免费| 黄色乱论网站| 任你爽视频| 六六久久日韩不卡| 激情一区二区三区在线观看| 青青草日韩无码| 亚洲综合色男人网| 99热综合| 亚洲高潮少妇| 久久本道| 爽爽爽免费视频| 天天日日日射| 日韩天天本| 啊啊啊啊啊舒服| 91在线观看,天天综合| 天天射日日干| 吖在线不卡一区二区国产剧情| 一区二区三区黄色片a| 欧美 亚洲 另类 综合| 91久久久老司机| 欧美日韩制服| 97精品网| 9国产超碰| 亚欧视频在线| 操婷婷逼| 亚洲综合97中文网| 亚洲欧洲精品成人| 美女91色黄18| 日韩小电影| AⅤ片水多多| 377p欧洲日本亚洲大胆| 欧美很很操视频| 91大胆欧美| 天天夜夜久久| 欧洲站一级二级三级h| site:sinbotex.com| 无码日韩人妻av一| 久久精彩视频| 一区 欧美 日韩 麻豆| 加勒比综合a∨| 四虎精品永久在线播放| 亚洲欧美日韩免费电影| 在线播放中文字幕| 禁止观看美女黄| 玖玖资源视频一区二区三区| 东北女人操逼| 人人插人人摸人人| 开心五月婷婷| 欧中日成人免费影视| 欧美高清在线| 试看日韩黄片| 超碰成人国产| 神马午夜久久久| 亚洲天堂一二| 精品国产Av无码久久久亚洲| 国产日韩色综合| 亚洲 综合 欧美| 欧美综合在线91| 射 色综合| 日韩无码AB| 嗯嗯啊啊操我| 青椒国产97在线熟女| 天天操天天插| 亚洲性少妇| 性夜影院爽黄A爽免费动漫| 国产一级αv免费看片| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 蜜臀99999| 日韩少妇无码| 色青青久久影视| 99re95| 国产99999| 亚洲精品亚洲人成人网| 淫骚熟女一区二区三区| 免费视频97| 97碰在线视频| 国产欧美成人精品| 国产成人亚洲精品无| 亚洲精品第一| 久久、1234| 亚洲日韩黑丝| 色臀aV| 天天碰久久入| 日小BB小视频| 九九热免费视频| 99在线精品观看视频中文| 欧美午夜视频免费观看|