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

ARTICLE DETAIL

資訊詳情

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

AI編程中的Harness:讓模型生成代碼可控可驗證

AI編程中的Harness:讓模型生成代碼可控可驗證 Harness 在 AI 編程領(lǐng)域的熱度主要來自一個很直接的痛點大模型生成代碼速度快但直接搬運到項目里并不讓人放心。模型寫出的代碼可能語法正確但語義錯誤可能調(diào)用了不存在的接口可能隨手修改了不應(yīng)該動的配置文件也可能在同一個編譯錯誤上反復(fù)打轉(zhuǎn)。所謂 harness就是圍繞編碼模型搭建的一層工程化約束和控制層讓代碼生成過程可觀察、可驗證、可干預(yù)。這篇文章以“生成可控代碼”為主線討論幾類能落地的 harness 實踐并用一個最小項目說明從模型輸出到驗證反饋的閉合流程。Harness 并不是什么神秘工具。它在測試領(lǐng)域早就存在叫“測試夾具”作用是給被測對象提供穩(wěn)定的運行環(huán)境。到了 AI 編程場景里它的角色變成給模型一個明確任務(wù)、一組受限工具、一套驗證規(guī)則和一條失敗后的反饋回路。社區(qū)里常見的做法是把 DeepSeek、Codex 這類編碼能力較強的模型接入本地工具鏈時不直接執(zhí)行模型輸出而是先套一層 harness讓模型在約束好的工作區(qū)里生成、修改、驗證代碼。這樣做的目的只有一個讓 AI 生成代碼的過程像人工開發(fā)一樣有任務(wù)單、有規(guī)范、有測試、有審查而不是把一段模糊輸出直接當成交付物。下面從概念、控制維度、可落地實踐、最小示例、參數(shù)調(diào)優(yōu)、效果評估、常見問題和生產(chǎn)建議幾個方向展開。1. 先搞清楚Harness 到底給編碼模型加了一層什么1.1 從“模型直接輸出”到“模型在框架內(nèi)行動”沒有 harness 時使用模型的典型流程是開發(fā)者把需求發(fā)給模型模型返回一段代碼開發(fā)者復(fù)制到項目里手動編譯、測試、修改。這個過程有兩個問題。第一模型只負責生成不負責驗證驗證責任全部落在人身上。第二如果生成的代碼有問題開發(fā)者需要手動把報錯信息重新喂給模型多輪往復(fù)效率低且容易遺漏上下文。有了 harness 之后流程變成開發(fā)者只定義任務(wù)和驗收條件harness 負責調(diào)用模型、接收輸出、執(zhí)行靜態(tài)檢查、運行測試、收集失敗信息并把失敗信息重新作為上下文發(fā)送給模型進行修復(fù)。整個過程被縮小到一個受控的執(zhí)行循環(huán)里。模型不再直接接觸真實項目目錄而是先在一個臨時工作區(qū)或受限目錄中完成任務(wù)只有通過全部驗證后diff 才會被提交到項目。這個轉(zhuǎn)變的本質(zhì)是“責任轉(zhuǎn)移”。代碼是否正確不再依賴模型一次性輸出得對不對而是依賴驗證器是否覆蓋了關(guān)鍵問題。模型可以犯錯但只要驗證器能發(fā)現(xiàn)錯誤并且錯誤信息能有效地回到模型側(cè)修復(fù)循環(huán)就可以收斂。Harness 解決的不是“模型能不能寫對代碼”而是“模型寫錯了能不能被及時攔住、及時修掉”。1.2 Harness 與 Agent 不是一回事很多人在實際項目里把 Harness 和 Agent 混在一起導(dǎo)致設(shè)計上出現(xiàn)偏差。Agent 強調(diào)的是自主決策模型可以根據(jù)目標自行規(guī)劃步驟、調(diào)用工具、觀察結(jié)果。Harness 強調(diào)的則是約束和管控它定義模型能做什么、不能做什么、做到什么程度算通過。兩者的關(guān)系可以這樣理解Harness 是 Agent 的“外殼 管理方”。一個 Agent 可以在 Harness 內(nèi)部運行但它的每一步行動都要經(jīng)過 Harness 的校驗。模型認為自己有權(quán)限修改某個文件不等于它真的能修改Harness 會在文件系統(tǒng)層面對路徑進行攔截。模型認為自己已經(jīng)完成任務(wù)也不等于任務(wù)真的完成Harness 會執(zhí)行測試套件來判斷。對比項HarnessAgent設(shè)計目標約束、驗證、可觀測自主規(guī)劃、執(zhí)行復(fù)雜任務(wù)控制方式白名單、規(guī)則、驗證器目標驅(qū)動、自我決策對錯誤的容忍錯誤必須被捕獲并反饋錯誤可能被吞掉或繼續(xù)執(zhí)行核心產(chǎn)物可驗證、可審計的交付物完成目標的過程和結(jié)果典型關(guān)系管理 Agent 的運行邊界在 Harness 內(nèi)完成任務(wù)設(shè)計 harness 時不要把“讓模型更自主”當成目標。模型越自主越需要更強的邊界。一個只知道“寫代碼”的模型如果被賦予了任意執(zhí)行命令、任意訪問網(wǎng)絡(luò)的權(quán)限它可能在幾秒內(nèi)做出超出預(yù)期的事??煽氐膬?yōu)先級永遠高于智能。1.3 可控代碼要控制的其實是四個環(huán)節(jié)可控制代碼不是一個靜態(tài)概念它分布在生成鏈路的四個環(huán)節(jié)里。輸入環(huán)節(jié)要控制的是任務(wù)描述是否清晰、上下文是否完整、規(guī)則是否被模型看到。生成環(huán)節(jié)要控制的是模型參數(shù)的隨機性、輸出格式的合法性、生成結(jié)果是否被截斷。執(zhí)行環(huán)節(jié)要控制的是模型能否運行代碼、能訪問哪些路徑、能調(diào)用哪些外部命令。驗證環(huán)節(jié)要控制的是編譯是否通過、測試是否通過、代碼風格是否符合項目規(guī)范、是否存在明顯安全隱患。這四個環(huán)節(jié)缺一個都會出現(xiàn)“看起來能跑但一進項目就出事”的情況。很多團隊接了大模型寫代碼只做了生成環(huán)節(jié)的控制比如調(diào)低溫度、限制輸出長度卻忽略執(zhí)行環(huán)節(jié)和驗證環(huán)節(jié)結(jié)果模型生成的代碼破壞了本地環(huán)境或帶上了不安全依賴。一個完整的 harness 至少要把這四個環(huán)節(jié)串起來輸入有模板生成有格式約束執(zhí)行有沙箱驗證有測試。下面一節(jié)逐個展開。2. 生成可控代碼的五個控制維度2.1 輸入控制任務(wù)模板和上下文裁剪模型對輸入非常敏感。同一個需求用一句話描述和用結(jié)構(gòu)化的任務(wù)單描述輸出質(zhì)量差別很大。輸入控制的核心是兩件事一是把任務(wù)描述標準化二是把上下文裁剪到模型能有效處理的長度。任務(wù)模板的作用是固定輸入結(jié)構(gòu)。模板里至少應(yīng)該包含任務(wù)目標、輸入輸出約定、技術(shù)棧約束、禁止事項、驗收條件。模板不是限制開發(fā)者的表達而是讓模型每次都收到同樣完整的信息避免模型因為缺少關(guān)鍵約束而自由發(fā)揮。任務(wù)目標 用 Python 實現(xiàn)一個函數(shù)輸入為整數(shù) n返回第 n 個斐波那契數(shù)。 技術(shù)棧約束 - Python 3.10 - 只允許標準庫 - 禁止使用遞歸方式 輸出格式 必須輸出 JSON包含 code、explanation、tests 三個字段。 驗收條件 - 代碼通過 pylint 檢查 - 測試文件通過 pytest - 函數(shù)能正確處理 n0 和 n1上下文裁剪同樣重要。把整個倉庫的代碼都塞進 prompt模型往往記不住早期內(nèi)容還可能被無關(guān)文件干擾。常見做法是只把與任務(wù)相關(guān)的文件內(nèi)容、函數(shù)簽名、測試用例放進去。如果模型支持檢索增強可以按相似度召回相關(guān)代碼而不是無腦拼截上下文。2.2 工具控制白名單而不是自由發(fā)揮模型在生成代碼過程中如果需要修改文件、執(zhí)行命令、運行測試harness 必須明確告訴它可以用哪些工具。工具控制的基本原則是“默認拒絕白名單放行”。一個最小工具白名單配置可以這樣設(shè)計{ allowed_tools: [ read_file, write_file, list_dir, run_command ], allowed_read_paths: [ ./src, ./tests, ./requirements.txt ], allowed_write_paths: [ ./src, ./tests ], allowed_commands: [ python, pytest, pylint, pip install ] }這里的邏輯不是告訴模型“你可以做什么”而是告訴 harness“模型只能做這些”。模型在 prompt 里可能說要刪除某個目錄harness 在執(zhí)行層直接拒絕因為刪除操作不在白名單內(nèi)。把權(quán)限控制放在 harness 端而不是模型端這是很多失敗實踐的最重要分界線。永遠不要依賴模型自己判斷“這個文件該不該改”。2.3 執(zhí)行控制沙箱、超時和資源限制即使有了工具白名單也建議把代碼執(zhí)行放到沙箱里。原因是模型生成的代碼可能有難以預(yù)料的副作用占用大量內(nèi)存、開啟網(wǎng)絡(luò)連接、修改全局配置。如果直接在開發(fā)機上執(zhí)行清理成本非常高。常見的沙箱方案是 Docker 容器。把項目目錄掛載進容器限制網(wǎng)絡(luò)訪問設(shè)置 CPU 和內(nèi)存上限執(zhí)行完自動銷毀容器。這樣即使模型生成的代碼有問題影響范圍也被限制在容器內(nèi)。docker run --rm \ -v $(pwd)/workspace:/workspace \ -w /workspace \ --network none \ --memory 512m \ --cpus 1 \ --tmpfs /tmp:rw,noexec,nosuid,size128m \ python:3.11-slim \ bash -c pip install -r requirements.txt pytest tests/ -x這條命令里的關(guān)鍵參數(shù)每一個都有意義。--network none禁止容器訪問網(wǎng)絡(luò)防止模型生成的代碼下載惡意依賴或外發(fā)數(shù)據(jù)。--memory 512m限制內(nèi)存占用避免死循環(huán)代碼拖垮宿主機。--cpus 1限制 CPU 使用。--rm保證任務(wù)結(jié)束后容器自動刪除。--tmpfs把臨時目錄放到內(nèi)存且不允許執(zhí)行文件降低寫入入侵風險。學(xué)習環(huán)境為了簡單可以直接在本地執(zhí)行但至少要使用臨時目錄。生產(chǎn)環(huán)境如果接受不了容器方案也要用操作系統(tǒng)級別的用戶隔離和目錄權(quán)限來做執(zhí)行控制。2.4 驗證控制編譯、靜態(tài)檢查、測試三道關(guān)卡驗證器是 harness 的裁判。沒有驗證器模型說“寫完了”你無法判斷真假。驗證器應(yīng)該分層設(shè)計每一層解決一類問題。第一層是結(jié)構(gòu)驗證。檢查模型輸出是否符合約定的 JSON 格式、字段是否齊全、代碼是否能夠被解析。這一層可以過濾掉大量格式錯誤。第二層是靜態(tài)檢查。包括編譯、代碼風格檢查、靜態(tài)類型檢查。Python 項目可以用python -m compileall、pylint、mypyJavaScript 項目可以用tsc --noEmit、eslint。靜態(tài)檢查能發(fā)現(xiàn)語法錯誤、未使用變量、類型不匹配等問題執(zhí)行速度快非常適合作為第一道自動化關(guān)卡。第三層是測試執(zhí)行。運行項目的單元測試和集成測試驗證代碼行為是否符合預(yù)期。測試是判斷代碼是否“真的正確”的最可靠手段。如果項目測試覆蓋不足harness 的可靠程度也會下降。#!/usr/bin/env bash set -e echo 1. 結(jié)構(gòu)驗證 python validate_schema.py generated_output.json echo 2. 靜態(tài)檢查 cd workspace python -m compileall src/ pylint src/ --errors-only mypy src/ --ignore-missing-imports echo 3. 測試執(zhí)行 pytest tests/ -x --timeout30這三層驗證的執(zhí)行順序不能亂。先做結(jié)構(gòu)驗證再做靜態(tài)檢查最后才跑測試。如果結(jié)構(gòu)不對后面的檢查都沒有意義如果靜態(tài)檢查沒過測試大概率也過不了。每一層失敗后harness 都要收集失敗信息返回給模型進行下一輪修復(fù)。2.5 修復(fù)控制有限輪次的失敗反饋閉環(huán)模型第一次生成代碼很可能無法通過全部驗證這很正常。Harness 的價值在于把失敗反饋給模型讓模型有機會修正。但修復(fù)不能無限進行否則可能陷入死循環(huán)既浪費 token 又消耗時間。所以修復(fù)控制要有一個明確參數(shù)最大修復(fù)輪次。比如max_attempts 3意味著模型最多生成三次三次都失敗就停止交給人工處理。def run_harness(task, max_attempts3): for attempt in range(1, max_attempts 1): prompt build_prompt(task, previous_feedback) output call_model(prompt) result validate_and_test(output) if result.passed: return result previous_feedback result.feedback print(f第 {attempt} 次修復(fù)失敗原因{result.summary}) raise HarnessTimeout(超過最大修復(fù)輪次需要人工介入)這里的關(guān)鍵是previous_feedback。反饋信息必須簡潔、結(jié)構(gòu)化、可操作。直接把兩萬行 pytest 輸出全部塞給模型模型反而不知道問題在哪。推薦的做法是保留錯誤類型、出錯文件、出錯行號、錯誤摘要以及最近的失敗斷言上下文。反饋質(zhì)量直接決定修復(fù)能不能收斂。3. 五類可落地的 Harness 實踐3.1 最小命令行 Harness把模型調(diào)用封裝成校驗流程最簡單的一類 harness 適合個人開發(fā)者或?qū)W習場景用腳本封裝“調(diào)用模型 - 生成文件 - 執(zhí)行檢查”的流程。它不涉及復(fù)雜的工作區(qū)權(quán)限控制也不依賴容器重點是把驗證動作自動化。下面是一個最小 Python 示例的結(jié)構(gòu)。call_model函數(shù)在實際項目中可以替換為任何模型的接口調(diào)用比如 OpenAI 兼容接口或本地模型服務(wù)。import json import subprocess import sys def call_model(prompt): # 實際項目替換為具體模型接口 # response client.chat.completions.create(...) # return response.choices[0].message.content return {} def generate(task: str) - dict: prompt_template 任務(wù)目標 {task} 輸出格式 只輸出 JSON不要輸出解釋性文字。 JSON 必須包含 code、explanation、tests 三個字段。 raw call_model(prompt_template.format(tasktask)) return json.loads(raw) def run_checks(payload: dict): with open(workspace/solution.py, w) as f: f.write(payload[code]) result subprocess.run( [pytest, workspace/, -x, --timeout30], capture_outputTrue, textTrue ) return result.returncode 0, result.stdout[-2000:] if __name__ __main__: task sys.argv[1] payload generate(task) passed, feedback run_checks(payload) print(PASSED if passed else feedback)這段代碼的核心是“把驗證動作從人工命令變成程序行為”。以后要調(diào)整檢查項只需要改run_checks里的命令。要接入新的模型只需要替換call_model。最小 harness 的重點不是功能全面而是把生成到驗證的鏈路建立起來形成閉環(huán)。3.2 工作區(qū) Harness限制模型能改哪些文件第二個層級是工作區(qū)控制。當任務(wù)涉及多個文件模型需要讀寫項目代碼時僅靠 prompt 約束不夠。Harness 需要在文件系統(tǒng)層面強制執(zhí)行路徑白名單。一個可落地的思路是對所有文件操作做一層代理。模型不直接調(diào)用系統(tǒng) API而是統(tǒng)一調(diào)用 harness 提供的read_file、write_file接口。每個接口在真正執(zhí)行前都要檢查請求路徑是否在白名單內(nèi)。ALLOWED_WRITE_PATHS { /workspace/src, /workspace/tests, } ALLOWED_READ_PATHS ALLOWED_WRITE_PATHS | { /workspace/README.md, /workspace/requirements.txt, } def safe_write(path: str, content: str): normalized str(Path(path).resolve()) if not any(normalized.startswith(p) for p in ALLOWED_WRITE_PATHS): raise PermissionError(f禁止寫入路徑: {path}) with open(normalized, w, encodingutf-8) as f: f.write(content)這種設(shè)計的優(yōu)點是把權(quán)限判斷從“模型的自我約束”變成“harness 的執(zhí)行的強制約束”。即使模型在 prompt 里被誘導(dǎo)去修改config/app.conf只要路徑不在白名單內(nèi)操作就會拋錯。工作區(qū) harness 特別適合讓模型修改一個已有項目的多個文件同時保護敏感配置不被覆蓋。3.3 容器沙箱 Harness把依賴和副作用隔離起來當生成代碼需要安裝依賴、運行真實服務(wù)、連接數(shù)據(jù)庫時本地工作區(qū)已經(jīng)不夠安全。這時候需要把整個環(huán)境裝進容器做到“依賴隔離 副作用隔離”。容器沙箱 harness 的典型流程是生成代碼并寫入臨時目錄構(gòu)建一個包含項目依賴的鏡像啟動容器掛載臨時目錄執(zhí)行驗證命令結(jié)束后銷毀容器。這個流程適合集成到 CI 流水線中每次代碼生成都在干凈環(huán)境里驗證。#!/usr/bin/env bash set -e TARGET_DIR$(mktemp -d) # 生成代碼并寫入 TARGET_DIR python generate_and_write.py $TARGET_DIR # 使用項目 Dockerfile 構(gòu)建沙箱鏡像 docker build -t code-harness-sandbox . # 執(zhí)行驗證 docker run --rm \ -v $TARGET_DIR:/app \ -w /app \ --network none \ --memory 1g \ --cpus 2 \ code-harness-sandbox \ bash -c pytest tests/ -x pylint src/容器方案的權(quán)衡是構(gòu)建速度和隔離程度。每次構(gòu)建鏡像可能耗時較長所以一般把依賴安裝分成兩層基礎(chǔ)依賴放在鏡像構(gòu)建階段項目代碼用掛載卷注入。這樣代碼變化不需要重新構(gòu)建依賴層。生產(chǎn)環(huán)境可以在鏡像倉庫里緩存基礎(chǔ)鏡像把 build 時間控制在可接受范圍內(nèi)。3.4 測試驅(qū)動反饋 Harness讓失敗信息回到下一輪 prompt沒有反饋的驗證沒有意義。測試驅(qū)動反饋 harness 的核心是把 pytest、eslint 等工具的輸出轉(zhuǎn)換成模型能理解的修復(fù)指令。一個常見錯誤是直接把原始測試輸出全文喂給模型。原始輸出包含大量路徑、堆棧、無關(guān)警告模型很容易被干擾。正確做法是先結(jié)構(gòu)化摘要哪條測試失敗、失敗類型是什么、期望值是什么、實際值是什么、關(guān)鍵堆棧在哪幾行。上一輪結(jié)果 [1/3] test_fibonacci_value_0 - 失敗 原因: assert fib(0) 0 實際: fib(0) 拋出了 IndexError 關(guān)鍵信息: 函數(shù)在 n0 時訪問了 fib[-1] 請在不改變函數(shù)簽名的情況下修復(fù)確保測試通過。這段反饋里包含了失敗的測試名、斷言、實際表現(xiàn)和關(guān)鍵線索。模型看到之后可以快速定位到邊界條件處理缺失的問題。這樣的反饋比“你的代碼沒有通過測試”有效得多。修復(fù)循環(huán)是否收斂很大程度上取決于反饋的信息密度。3.5 多 Agent 評審 Harness生成和審查分離更高一層的可控性來自“讓另一個模型審查生成結(jié)果”。生成 agent 負責實現(xiàn)功能審查 agent 負責挑錯。兩者角色分離能減少生成 agent 自說自話的風險。多 agent 評審的流程并不復(fù)雜。先生成代碼并運行基礎(chǔ)測試再把代碼、任務(wù)描述、測試結(jié)果一起交給審查 agent。審查 agent 不直接修改代碼只輸出審查意見包括正確性問題、邊界條件、安全問題、可讀性問題。生成 agent 根據(jù)意見修改第二輪再交給審查 agent 復(fù)核。這種方案的代價是 token 消耗增加延遲變高所以不適合每個小任務(wù)都使用。比較適合高風險代碼例如數(shù)據(jù)庫遷移、權(quán)限相關(guān)邏輯、支付金額計算、外部系統(tǒng)接口對接。評審 agent 的 prompt 也要單獨設(shè)計不能簡單復(fù)用生成 agent 的模板。審查時更看重“找問題”而不是“寫代碼”。4. 從零搭建一個最小可運行的 Harness 示例4.1 項目結(jié)構(gòu)和運行環(huán)境下面用一個完整的 Python 小項目演示 harness 如何串起“生成 - 驗證 - 修復(fù)”的閉環(huán)。項目結(jié)構(gòu)如下harness-demo/ ├── runner.py ├── validator.py ├── prompt_builder.py ├── model_client.py └── workspace/ └── tests/ └── test_solution.py運行環(huán)境建議 Python 3.10 以上安裝pytest、pylint。如果本地沒有可用的模型接口可以把model_client.py里的模型調(diào)用替換成模擬函數(shù)先跑通整個 harness 流程再接入真實模型。pip install pytest pylint這里要說明一點真實項目里模型接口地址、API Key、模型名稱都應(yīng)通過環(huán)境變量注入而不是硬編碼在代碼里。學(xué)習環(huán)境為了減少配置成本可以先寫在配置文件中但進入生產(chǎn)環(huán)境前必須外置化。4.2 任務(wù)模板和輸出 JSON 約束prompt_builder.py負責把“任務(wù) 修復(fù)反饋”組裝成模型輸入。關(guān)鍵點是要求模型只能輸出 JSON方便后續(xù)程序解析。def build_prompt(task: str, feedback: str | None None) - str: feedback_section if feedback: feedback_section f 上一輪驗證失敗請根據(jù)以下反饋修復(fù)代碼 {feedback} return f 任務(wù)目標 {task} 約束 - 語言Python 3.10 - 只允許使用標準庫 - 不要修改測試文件 - 函數(shù)簽名必須保持為 fib(n) 輸出要求 只輸出一個 JSON 對象不要輸出任何解釋文字。 JSON 結(jié)構(gòu)如下 {{ code: 完整的 Python 代碼, tests: 針對該函數(shù)的 pytest 測試代碼, explanation: 一句話說明實現(xiàn)思路 }} {feedback_section} 這里要求模型把代碼和測試一起輸出是為了讓閉環(huán)更完整。測試代碼雖然會覆蓋預(yù)置的test_solution.py但模型給出的測試可以作為額外參考。實際項目中建議測試由人編寫而不是模型編寫否則模型的錯誤思路會滲透到測試里。模型自測通過不等于功能正確只有獨立的測試套件才可信。4.3 驗證器鏈從 JSON 解析到測試執(zhí)行validator.py負責執(zhí)行驗證。它的輸入是模型原始輸出輸出是一個驗證結(jié)果對象包含是否通過、失敗原因、完整反饋。import json import subprocess import tempfile from pathlib import Path class ValidationResult: def __init__(self, passed: bool, feedback: str): self.passed passed self.feedback feedback def validate(raw_output: str, workspace: Path) - ValidationResult: try: payload json.loads(raw_output) except json.JSONDecodeError as e: return ValidationResult(False, f模型輸出不是合法 JSON{e}) if not all(k in payload for k in (code, explanation)): return ValidationResult(False, JSON 缺少 code 或 explanation 字段) src_dir workspace / src src_dir.mkdir(exist_okTrue) (src_dir / solution.py).write_text(payload[code], encodingutf-8) compile_result subprocess.run( [python, -m, compileall, str(src_dir)], capture_outputTrue, textTrue ) if compile_result.returncode ! 0: return ValidationResult(False, f編譯失敗{compile_result.stderr[-1500:]}) pytest_result subprocess.run( [pytest, str(workspace / tests), -x, --timeout30], capture_outputTrue, textTrue ) if pytest_result.returncode ! 0: return ValidationResult(False, pytest_result.stderr[-2000:] or pytest_result.stdout[-2000:]) return ValidationResult(True, 所有驗證通過)注意驗證器里使用了compileall作為第一道檢查。它的執(zhí)行速度比 pytest 快很多能在測試前就發(fā)現(xiàn)語法錯誤。如果編譯失敗就沒有必要跑測試節(jié)省時間。這個順序體現(xiàn)在代碼里就是先編譯、后測試。tempfile在代碼里導(dǎo)入但未使用真實項目中應(yīng)使用臨時目錄管理輸出文件避免污染工作區(qū)。下面示例簡化了路徑管理實際生產(chǎn)代碼要清理臨時文件。4.4 修復(fù)循環(huán)把失敗反饋送回模型runner.py是整個 harness 的主入口。它定義最大修復(fù)輪次循環(huán)調(diào)用模型、驗證、反饋。import sys from pathlib import Path from model_client import call_model from prompt_builder import build_prompt from validator import validate def run(task: str, max_attempts: int 3): workspace Path(workspace).resolve() feedback None for attempt in range(1, max_attempts 1): print(f--- 第 {attempt} 輪 ---) prompt build_prompt(task, feedback) raw_output call_model(prompt) result validate(raw_output, workspace) if result.passed: print(驗證通過) return print(f驗證失敗{result.feedback[:200]}) feedback result.feedback print(f連續(xù) {max_attempts} 輪失敗自動停止請人工介入。) sys.exit(1) if __name__ __main__: run(實現(xiàn) fib(n)返回第 n 個斐波那契數(shù)n 為自然數(shù)要求處理 n0 和 n1 的邊界。)修復(fù)循環(huán)有一個容易忽略的細節(jié)失敗反饋不能無限累積。如果每一輪都把上一輪的完整輸出拼進去prompt 會越來越長模型反而抓不住重點。一般建議只保留最近一次失敗反饋或?qū)Χ噍喎答佔稣獕嚎s??梢栽赽uild_prompt里只保留feedback字段也就是最近一輪的驗證結(jié)果。4.5 跑通流程后的預(yù)期結(jié)果如果接入了真實模型正常流程會看到類似這樣的輸出--- 第 1 輪 --- 驗證失敗test_fibonacci_value_0 失敗fib(0) 拋出了 IndexError --- 第 2 輪 --- 驗證失敗test_fibonacci_value_1 失敗fib(1) 返回 1期望 0 --- 第 3 輪 --- 驗證通過如果沒有接入模型可以先寫一個模擬的call_model讓它在第一輪返回固定 JSON用來測試 validator 和 runner 的邏輯是否正常。這也是一個很好的工程習慣在模型接入前先把 harness 自身鏈路驗證好。def call_model(prompt: str) - str: return json.dumps({ code: def fib(n):\n if n 0:\n return 0\n if n 1:\n return 1\n return fib(n - 1) fib(n - 2), tests: def test_fib():\n assert fib(0) 0\n assert fib(1) 1, explanation: 使用遞歸實現(xiàn)但實際生產(chǎn)需要處理性能問題 })模擬模型的目的不是驗證模型能力而是驗證 harness 的 JSON 解析、文件寫入、命令執(zhí)行、結(jié)果判斷是否正常。等 harness 鏈路穩(wěn)定后再替換成真實模型接口排查范圍會小很多。5. 關(guān)鍵參數(shù)怎么調(diào)調(diào)錯了會有什么表現(xiàn)5.1 模型側(cè)參數(shù)溫度、采樣和輸出長度模型側(cè)參數(shù)直接影響生成結(jié)果的可控性。下面是三個最常調(diào)整的參數(shù)。參數(shù)說明推薦值代碼生成場景調(diào)大影響調(diào)小影響temperature控制隨機性0 到 0.3更容易出現(xiàn)不常見寫法也更容易出錯輸出更穩(wěn)定、更保守top_p核采樣控制候選詞集合0.9 到 1.0多樣性增加確定性增加max_tokens控制最大輸出長度按任務(wù)預(yù)估留 20% 余量可能輸出無關(guān)內(nèi)容代碼容易被截斷代碼生成場景建議把 temperature 調(diào)到接近 0。原因不是溫度越低越聰明而是代碼對確定性要求高。同樣的需求模型如果每次輸出不同實現(xiàn)驗證成本會顯著增加。低溫度可以保證在同樣輸入下輸出基本穩(wěn)定便于復(fù)現(xiàn)和排除問題。max_tokens這個參數(shù)在 harness 里尤其重要。如果設(shè)置過小生成的代碼會被強行截斷validator 會報 JSON 解析錯誤。如果設(shè)置過大模型可能輸出大量無關(guān)解釋浪費 token。一個通用估算方法是按任務(wù)文件中可能出現(xiàn)的代碼行數(shù)乘以每行約 10 到 15 個 token再加上 500 token 余量。5.2 Harness 控制參數(shù)harness 自身的參數(shù)比模型參數(shù)更影響可控性。這些參數(shù)通常集中在配置文件里而不是散落在代碼中。參數(shù)默認值參考含義設(shè)置過大的表現(xiàn)設(shè)置過小的表現(xiàn)max_attempts3最大生成修復(fù)輪數(shù)長時間無效循環(huán)成本上升模型來不及修復(fù)可修復(fù)的錯誤timeout_seconds60單輪驗證超時卡在死循環(huán)或慢測試中正常測試被誤殺enabled_checkscompile, lint, test啟用的驗證器驗證過嚴影響通過率漏掉關(guān)鍵錯誤allowed_write_paths按項目配置允許寫入的目錄模型可能改到敏感配置模型無法完成多文件任務(wù)max_attempts是最容易調(diào)錯的一個參數(shù)。設(shè)成 1 等于不讓模型修復(fù)設(shè)成 10 又可能讓模型在錯誤方向上反復(fù)消耗。建議從 3 開始觀察平均修復(fù)成功輪次后再調(diào)整。如果大部分成功任務(wù)都在第 2 輪修復(fù)成功而第 3 輪幾乎不產(chǎn)生新進展就把最大值調(diào)回 3如果第 3 輪仍頻繁成功可以提高到 5。timeout_seconds也需要按驗證器的耗時單獨設(shè)置。編譯檢查通常幾秒內(nèi)完成pytest 時間取決于測試規(guī)模集成測試可能需要幾分鐘。不要讓一個統(tǒng)一超時同時約束所有驗證器。更合理的做法是每個驗證器都有單獨的超時配置。5.3 安全邊界和資源限制參數(shù)安全參數(shù)是生產(chǎn)環(huán)境不能省的。下面是一組必須顯式配置的安全約束。security: forbidden_commands: - rm -rf - shutdown - sudo - curl - wget forbidden_packages: - subprocess - os.system max_output_size: 204800 max_runtime_seconds: 300 enable_network: false enable_audit_log: true api_keys_in_prompt: false這里的forbidden_commands和forbidden_packages是針對模型生成內(nèi)容的靜態(tài)過濾不能替代沙箱隔離但可以作為前端過濾。api_keys_in_prompt控制的是組裝 prompt 時是否允許把 API Key、數(shù)據(jù)庫連接串等敏感信息傳給模型。默認應(yīng)該是 false。任何情況下都不應(yīng)該把生產(chǎn)密鑰放進模型上下文因為模型輸出可能被記錄到日志、發(fā)送到外部服務(wù)或在不經(jīng)意間被寫入代碼文件。6. 如何驗證 Harness 真的讓代碼變可控了6.1 用通過率、輪次、越權(quán)次數(shù)三個指標評估搭建完 harness 后需要用數(shù)據(jù)判斷它是否真的有效。三個核心指標值得長期記錄。指標含義怎么統(tǒng)計信號解讀首輪通過率不經(jīng)過修復(fù)第一次生成就通過驗證通過的樣本數(shù) / 總樣本數(shù)越高說明任務(wù)模板和上下文越有效平均修復(fù)輪次從首次失敗到最終通過的輪次數(shù)所有成功樣本的輪次均值平均值越低反饋信息越有效越權(quán)次數(shù)模型嘗試訪問白名單外路徑或命令的次數(shù)harness 攔截器日志計數(shù)數(shù)值高說明 prompt 約束或工具邊界需要加強建議準備一個 20 到 50 個任務(wù)的評測集任務(wù)從簡單到復(fù)雜分布。用相同的 harness 配置跑一遍記錄通過、失敗、越權(quán)和輪次。這個評測集的價值不只是驗證當前 harness 狀態(tài)它還能在更換模型版本、修改 prompt 模板時做回歸對比避免“某次改動讓整體效果變差”卻沒人發(fā)現(xiàn)。{ task_id: task_023, model: 模型標識, attempts: 2, passed: true, violation_count: 1, first_pass: false, duration_seconds: 45 }這類結(jié)構(gòu)化記錄可以累積成 CSV 或 JSONL后續(xù)用腳本統(tǒng)計。沒有數(shù)據(jù)的 harness 優(yōu)化都是憑感覺有了數(shù)據(jù)才知道該調(diào)參數(shù)還是該改 prompt。6.2 有 Harness 和無 Harness 的關(guān)鍵差異有 harness 和沒有 harness使用模型的方式完全不同??梢杂靡粡埍碚f明差異。場景無 Harness 的典型行為有 Harness 的典型行為代碼錯誤人工復(fù)制代碼、手動運行、手動復(fù)制報錯自動執(zhí)行驗證器失敗信息結(jié)構(gòu)化回流文件修改模型建議人工確認容易遺漏路徑白名單強制執(zhí)行越權(quán)直接攔截測試運行依賴人工執(zhí)行時常跳過作為驗證關(guān)卡自動執(zhí)行失敗處理模型可能重復(fù)同樣的錯誤有限修復(fù)輪次內(nèi)自動修正超限則介入審計幾乎沒有記錄模型請求、工具調(diào)用、驗證結(jié)果全部留痕這些差異不需要等到生產(chǎn)環(huán)境才會體現(xiàn)。即使是個人項目把 harness 腳本固定下來之后每次讓模型生成代碼都走同一套驗證流程長期積累節(jié)省的時間非??捎^。最明顯的收益是“模型生成錯誤代碼”時修復(fù)路徑從“人來復(fù)述問題”變成“harness 自動把問題上下文帶回給模型”。6.3 日志審計讓每次生成和修復(fù)都可回溯日志是 harness 的“黑匣子”。生產(chǎn)環(huán)境的模型調(diào)用必須可審計。每條日志至少應(yīng)該包含四個部分模型輸入的摘要、模型輸出的摘要、驗證器的執(zhí)行結(jié)果、harness 自身的決策。{ timestamp: 2026-08-22T10:15:33Z, task: 實現(xiàn) fib(n), prompt_hash: abc123, model_output_hash: def456, validator: { compile: pass, pytest: fail, summary: test_fibonacci_value_0 失敗 }, decision: feedback_to_model, token_count: 1234, duration_ms: 25400 }這里不建議把完整 prompt 和完整輸出都直接寫入日志因為可能包含敏感信息。更穩(wěn)妥的做法是記錄哈希值原始內(nèi)容存入獨立的、權(quán)限受限的存儲里只有排查問題時才讀取。日志的保留策略也要提前定義尤其是涉及代碼生成的項目審計數(shù)據(jù)可能需要保留較長周期。7. 常見問題排查從現(xiàn)象倒推根因7.1 模型不按約定輸出 JSON現(xiàn)象模型輸出里混入了 Markdown 代碼塊、解釋文字或多余字段導(dǎo)致 validator 在json.loads階段直接失敗??赡茉蚰P陀?xùn)練數(shù)據(jù)里代碼類問題的回答習慣是包裹在 Markdown 代碼塊中。prompt 雖然要求“只輸出 JSON”但模型的輸出格式偏好可能覆蓋指令。檢查方式把模型原始輸出保存下來查看是否帶有json或“好的我將為你實現(xiàn)”這類前綴。解決方式在 validator 里先做一次凈化。如果原始輸出包含 Markdown 代碼塊提取其中的 JSON 內(nèi)容如果包含說明文字嘗試從第一個{截取到最后一個}。更根本的解決方法是把輸出格式約束放到 prompt 的開頭并且提供 in-context example。import re def extract_json(raw: str) - str: start raw.find({) end raw.rfind(}) if start -1 or end -1 or end start: raise ValueError(未找到 JSON 內(nèi)容) return raw[start:end 1]這種凈化方案不能作為偷懶的借口。它只是提高容錯性真正解決問題的仍然是要讓模型理解“輸出 JSON 是硬約束不是建議”。7.2 修復(fù)循環(huán)不收斂同一個錯誤反復(fù)出現(xiàn)現(xiàn)象模型在上一輪已經(jīng)看到fib(0)導(dǎo)致IndexError的反饋但新一輪代碼仍然沒有處理n0??赡茉蛴腥齻€。第一反饋信息太弱模型沒有理解錯誤根因。第二prompt 中任務(wù)約束被后續(xù)文字覆蓋模型只記住了最新內(nèi)容。第三溫度設(shè)置過高模型每次都換一種實現(xiàn)方式?jīng)]有針對反饋做局部修復(fù)。檢查方式查看上一輪反饋文本是否在下一輪 prompt 中出現(xiàn)確認模型是否真的讀到了反饋。然后對比相鄰兩輪的輸出 diff看模型是“局部修改”還是“全量重寫”。解決方式把反饋信息壓縮成明確指令例如“請在函數(shù)開頭增加 if n 0 的邊界判斷”。如果模型仍在全量重寫調(diào)低 temperature并在 prompt 中明確要求“基于上一輪代碼做最小修改不要重寫整個函數(shù)”。另外要設(shè)置硬性最大輪次超過后停止并交給人工避免無效消耗。7.3 模型嘗試修改白名單外的文件或執(zhí)行危險命令現(xiàn)象harness 日志里出現(xiàn) PermissionError模型試圖寫入config/database.yaml或嘗試執(zhí)行rm -rf??赡茉蛉蝿?wù)描述里沒有明確禁止這些操作或者模型為了實現(xiàn)目標選擇了破壞性方案。檢查方式查看工具調(diào)用日志統(tǒng)計越權(quán)訪問集中在哪些路徑和命令。如果越權(quán)次數(shù)明顯升高說明 prompt 中的約束信息不夠醒目。解決方式第一層是加強 prompt在任務(wù)模板中增加“禁止修改的文件”和“禁止執(zhí)行的命令”。第二層是執(zhí)行層強制攔截路徑不在白名單內(nèi)直接拒絕。第三層是沙箱兜底即使前兩層被繞過容器內(nèi)也沒有重要文件可破壞。預(yù)防建議不要把所有希望寄托在 prompt 上。模型可能因為上下文過長或?qū)馆斎攵雎约s束執(zhí)行層的強制攔截才是可控性的底線。7.4 測試環(huán)境不穩(wěn)定導(dǎo)致驗證誤判現(xiàn)象某輪生成的代碼實際正確但 pytest 因為超時、依賴缺失、隨機失敗報了錯harness 把反饋發(fā)給模型后模型在錯誤方向上反復(fù)修改??赡茉驕y試環(huán)境每次運行依賴系統(tǒng)狀態(tài)。比如測試用了真實網(wǎng)絡(luò)請求但網(wǎng)絡(luò)不穩(wěn)定或者測試依賴某個未被凍結(jié)版本的第三方庫同一段代碼在不同時間運行結(jié)果不同。檢查方式在 validator 中重復(fù)執(zhí)行同一段代碼兩次對比結(jié)果是否一致。檢查requirements.txt或pyproject.toml是否鎖定了所有依賴版本。查看 pytest 輸出是否出現(xiàn) timeout、connection error 等環(huán)境相關(guān)錯誤。解決方式固定依賴版本把測試環(huán)境換成 Docker 容器對網(wǎng)絡(luò)測試使用 mock 或本地測試服務(wù)。同時區(qū)分 flaky 測試和真實失敗可以在測試命令里標記--durations10或為已知 flaky 的用例單獨配置重試規(guī)則。避免模型因為環(huán)境問題而修改正確代碼。7.5 上下文過長導(dǎo)致規(guī)則被忽略現(xiàn)象prompt 里明明寫了“只允許使用標準庫”模型還是導(dǎo)入了numpy??赡茉蚰P涂梢蕴幚淼纳舷挛拈L度有限。任務(wù)描述、倉庫代碼、歷史反饋全部累積后早期約束被后續(xù)內(nèi)容掩蓋模型只關(guān)注最近的指令。檢查方式打印發(fā)送給模型的完整 prompt查看約束語句在文本中的位置。如果出現(xiàn)在很長上下文的中部它被忽略的概率會明顯增加。解決方式把最重要的約束放在 prompt 開頭和結(jié)尾兩個位置中間放背景材料。減小裁剪粒度只保留與當前任務(wù)直接相關(guān)的代碼。歷史反饋只保留最近一輪或使用摘要。更徹底的做法是啟用模型服務(wù)端的系統(tǒng)提示詞把硬性規(guī)則放在 system message 里而不是隨任務(wù)內(nèi)容一起傳入。7.6 多 Agent 評審意見產(chǎn)生沖突現(xiàn)象生成 agent 和評審 agent 對某個問題的判斷不一致。生成 agent 認為代碼正確評審 agent 堅持要求修改兩輪之后任務(wù)無法收斂??赡茉蛟u審 agent 的判別標準不夠具體它的判斷依賴自身主觀理解。尤其在沒有測試用例覆蓋的領(lǐng)域評審 agent 容易提出風格化、非必要的修改意見。檢查方式記錄評審 agent 輸出的意見類型判斷多少條屬于正確性問題多少條屬于風格問題。如果大多數(shù)是風格意見說明評審 prompt 需要更嚴格地限定“只報告會導(dǎo)致錯誤或安全隱患的問題”。解決方式給評審 agent 一個明確的等級分類。建議按嚴重級別輸出阻斷級別、重要級別、建議級別。只有前兩級需要生成 agent 修復(fù)建議級別直接忽略。這樣能減少意見沖突導(dǎo)致的循環(huán)。8. 生產(chǎn)環(huán)境落地的檢查清單和擴展方向8.1 學(xué)習環(huán)境與生產(chǎn)環(huán)境的差異學(xué)習環(huán)境里跑通一個 harness 只需要幾分鐘但生產(chǎn)環(huán)境落地時要考慮的問題會多很多。下面這張表列出最常見的差異。維度學(xué)習環(huán)境生產(chǎn)環(huán)境配置硬編碼在代碼里配置外置化通過環(huán)境變量或配置中心注入模型 API本地模擬或測試賬號固定模型版本關(guān)注兼容性執(zhí)行環(huán)境本機目錄Docker 容器或獨立執(zhí)行機權(quán)限一個開發(fā)賬號獨立服務(wù)賬號最小權(quán)限日志打印到控制臺接入集中日志平臺設(shè)置保留周期監(jiān)控無通過率、失敗率、平均輪次、耗時指標回滾手動清理每個產(chǎn)物有唯一 ID記錄版本密鑰可能臨時寫在代碼里從環(huán)境變量讀取禁止進入 prompt 和日志學(xué)習環(huán)境的目的是快速看到效果可以容忍臨時配置。生產(chǎn)環(huán)境的目的是穩(wěn)定可維護必須從第一天就考慮可觀測性和權(quán)限控制。把一個學(xué)習用 harness 直接搬到生產(chǎn)環(huán)境最常見的后果是密鑰泄露、執(zhí)行片段污染宿主機、模型版本升級后結(jié)果波動卻無法定位原因。8.2 發(fā)布前檢查清單在把 harness 接入正式項目前可以按下面這份清單逐項確認。模型版本是否固定是否記錄了模型標識和 prompt 版本。max_attempts是否設(shè)置是否限制了總執(zhí)行時間和總 token 消耗。執(zhí)行環(huán)境是否隔離是否禁用了不必要的網(wǎng)絡(luò)權(quán)限。白名單路徑是否只覆蓋任務(wù)需要的目錄。敏感文件是否被排除在讀取白名單之外。測試套件是否獨立于模型生成內(nèi)容測試是否由可信人員維護。驗證器執(zhí)行是否有超時控制是否有序排列。失敗反饋是否結(jié)構(gòu)化是否只保留有效信息。日志是否記錄了任務(wù) ID、模型輸出哈希、驗證結(jié)果和最終決策。API Key 等敏感信息是否不進入 prompt、不寫入日志。是否有人工介入機制超限任務(wù)是否會被標記并推送。是否有評估集是否在修改 prompt 前后用同一套任務(wù)回歸。這份清單不需要一次性全部滿足。它可以作為從實驗到生產(chǎn)的驗收標準。每上線一個新場景先過一遍清單再開始引入模型生成流程能避免大量線上問題。8.3 可以繼續(xù)深入的方向Harness 實踐本身是一個可以持續(xù)擴展的方向。最直接的一個擴展是建立任務(wù)級評估集。把過去真實項目里的歷史問題整理成測試用例每次調(diào)整模型、prompt 或 harness 參數(shù)時都跑一遍評估集通過率變化一眼可見。第二個方向是將 harness 接入 CI/CD 流水線。當開發(fā)者提交一個“由模型修改的 PR”時流水線自動運行 harness 的全部驗證關(guān)卡包括編譯、靜態(tài)檢查、測試、安全掃描。這樣可以保證進入代碼評審階段的每個 PR 都已經(jīng)是經(jīng)過模型自驗和工具驗證的產(chǎn)物。第三個方向是讓反饋循環(huán)更智能。當前許多 harness 只是把測試失敗信息喂回給模型。更復(fù)雜的設(shè)計可以加入“問題定位器”先從堆棧中提取出錯文件、行號、符號名再結(jié)合語法樹分析給出更精確的修復(fù)建議。這種結(jié)構(gòu)化反饋能顯著減少模型盲目嘗試的次數(shù)。第四個方向是橫向?qū)Ρ炔煌P驮谕?harness 下的表現(xiàn)。同一個任務(wù)模板、同一套 validator、同一個評測集分別運行不同模型比較通過率、平均輪次、越權(quán)次數(shù)。這種對比可以為團隊選型提供量化依據(jù)而不是單純看演示效果。Harness 的核心價值不在于讓模型顯得更聰明而在于讓模型生成的代碼進入項目之前先經(jīng)過一條有約束、有驗證、有反饋、可回溯的生產(chǎn)線。把允許模型做什么、禁止模型做什么、怎樣算通過、怎樣算失敗、失敗后如何反饋寫成配置harness 才真正開始幫你控制代碼質(zhì)量而不是替你寫代碼。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月丁香 啪啪啪| 五月丁香六月婷婷综合网站| 操碰99在线视频观看| 欧美日韩aaa| 五月激情丁香五月| 色v综合网| 五月丁香啪综合| 色欲一区二区三区精品A片| 夜夜做天天爽| aaaaaa片| 日韩三级片一区二区| 丁香六月天婷婷| 噜噜视频| 久久性爱视频| www.狠狠| 婷婷五月天AV| 狠狠穞A片一區二區三區| 激情六月天婷婷| 五月激情偷拍婷婷| 婷婷色色播五月天| 丁香成人综合| 丁香六月天婷婷色| 日日干干天天干| caop在线| 久久99这里只有精品| 波多野结衣AV无码Porn| 黑人无码一区| 色玖玖综合| av中文网| 玖久久网站| 五月丁香婷婷综合| 天天拍天天操| 大地资源色婷婷视频在线| 亚洲操精品| 丁香狠狠色婷婷久久无码视频| 啪啪干伊人婷婷| 91操操| 久久婷婷丁香| 国产 码在线成人网站| 亚洲九九婷婷| 欧美日韩成人在线| 色小说婷婷五月天天天| 99热这里只有精品一区| 人人爱人人摸人人澡| 五月开心婷婷| 五月激情综合美女久久| 婷婷激情六月视频| 99热9| 久久婷婷综合网| 婷婷五月在线视频| 日本婷婷五月天| 大香蕉九九| 激情图片婷婷| 性无码专区无码| 综合婷婷| 天堂va久久久噜噜噜久久Va| 99热最新精品| 婷久看人爽| 亚洲第一色色色| 黄色大片又大粗又爽| 婷婷视频网| 丁香激情久久| 97婷婷丁香五月天激情图片| 婷婷操婷婷干婷婷射| 婷婷五月天中文字幕| 九热视频| 久久免费精彩视频| 日韩五月婷婷久久| 日韩啪啪视频| 五月婷婷丁香av| 婷婷五月天综合中文| 六月久久狠狠| 国产毛片精品一区二区色欲黄A片| 99热精品在这里| 五月婷婷激情综合| 狠狠色婷婷丁香五月| 影音先锋 一区| 色综合九九| 精品九九在线观看| 五月婷视频在线| 色婷婷狠狠18禁| 精品一二三区久久AAA片| av亚洲国产小电影| 9|无码久久久久久| 亚洲亚洲永久无码777777| 99A片| 一起草无码| 日本三级日本三级99| 狠狠色噜噜狠| 久久这里只精品66| 99九九视频| 婷婷五月天激情小说| 日本韩国视频在线观看社区免费的9| 亚洲欧美国产A片免费观看| 色婷久| 超碰碰碰碰| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 丁香久月| 思思w99| 夜夜爱伊人| 欧美在线| 婷色人人狠| 99热国产在线| 香蕉AV777XXX色综合一区| 久久区区一二三av| 伊人五月天婷婷| 97人人草| 99热线观看9| 色频玖玖五月天| 亚洲欧美一区二区三区爱爱动图| 色情综合网| 婷婷色基地在线看 | 久久综合26p| 插逼综合网| 五月天在线视频尤物视频在线看| av中文在线| 手机旧版看人妻1025| 婷婷六月丁香1| 99操无码视频观看| 色色五月天丁香婷婷| 亚州AV超碰人人操| 1024成人免费看| 久久亚洲A| 日本99在线| 9 7总站超级碰免费视频| 人人操99| 婷婷五月成人| 激情五月综合网| 99视频在线| 国产成人综合亚洲| 九九热这里只有精品9| 99re这里| 久久中文人妻系列| 欧美成人精品三区综合A片| 91青娱乐青青草| 人妻无码精品一区| 亚洲色基地| 99热在线这里只有精品| 欧美午夜乱妇午夜福利| 丁香五月婷婷亚洲另类| 五月丁香亭亭激情操逼网| 婷丁五月| 伊人高清无码| 99热在线精品观看| 色综合视频| 99国产视频网| 日本97在线| 五月婷婷无码| 久久女人天堂| 最近中文字幕大全免费版在线| ay2区| 91欧美| 99热国产| 91男同视频| 婷婷开心综合人妻小说网址| 久久久久久婷| 天天操婷婷| 九九re精品视频在线观看| 亚洲 视频 导航 一区| 五月婷婷六月综合| 久久激情视频| 五月丁香狠狠爱婷婷综合| 人妻丰满精品一区二区A片| 六月丁香婷婷亚洲中文玖玖| 五月婷婷激情啪啪| 97操视频| 丁香五月日本| 91视频久久久| 超碰成人免费| 婷婷五月美女直播| 亚洲成人高清在线| 综合欧美五月婷婷| 97操碰视频| 激情综合5| 无码激情AAAAA片-区区| 色久天| 91操片| 久久久久久人妻| 色综合久久天天综合网| 9久热免费视频99| 玖玖婷婷五月天| 26uuuu精品一区二区| 色欲AVV| www.天天干| 五月香婷婷| 裸睡玩奶头(高H)| 丁香五月天激情小说| 丁香深五月婷婷| 欧美va在线观看| 激情综合色| Blackedraw视频一区二区| 色婷五月天激情| 99自拍网| 欧美在线视频9| 五月丁香六月激情| 天天爱综合网| 天天干夜夜欢| 婷婷免费精品视频| 97丁香五月| 色色99| 五月婷婷亚洲色视频| 99视频内射三四| 色99久草在线| 97色婷婷| 91超级碰碰碰| 丁香六月婷婷综合| 性天天中文网| 丁香花五月天| 激情五月天婷婷免费观看| 日韩av在线播放综合网| 2018国产大陆天天弄| 色丁香五月| 天天曰夜夜爽| 一区二区三区视频| 97碰人人操| 国外亚洲成AV人片在线观看| 色色色综合网| 婷婷久久综| 丁香五月婷婷成人网| 久9热视频在线观看| 国产亚洲精品久久久久久郑州| 51国精产品自偷自偷综合| 亚洲亚洲激情| 丁香六月激| 99热99思午夜精品| 99久99久| 久草五月丁香婷婷综合| 九九XX视频| www.zbzhongsen.com| 丁香五月日韩| 色婷婷欧美| 五月天六月婷| 天天舔天天摸天天透| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 亚洲第一成人无码A片| 另类图片色五月| 另类五月激情| 色导航色婷婷五月天在线观看| 99热这里只有精品手机在线观看| 婷婷在线免费| 俺来也综合网精品一区| 五月婷婷深深的爱| 婷婷综合激情五月中文字幕| 五月激情六月| 丁香六月av| 少妇激情基地| 色色网站在线免费观看视频| 婷婷五月天激情偷拍| 区区久久妻| AV在线资源| 日韩高清成人| 久久婷婷伊人| 久久五月丁香伊人青草| 99.色| 开心日韩丁香婷婷五月| 玖玖资源站蜜臀| 思思国产99| 日日肏天天操| 四月婷婷五月丁香| 久久丁香五月天| 大香蕉五月丁香| AV在线大香蕉| 能看的AV| www.久久久久久久久久.com| 激情五月天啪啪| 丁香五月综合激情性爱| 五月天婷婷色在线视频免费观看| 俺五月| 天天综合天天玩夜夜玩天天玩夜夜玩 | 99视频在线观看地址| 五月天婷婷综合| 无码免费人妻A片AAA毛片西瓜| 亚洲爆乳无码精品AAA片蜜桃| 野战J办公桌椅H| 激情婷婷狠狠干综合| 色无婷婷| 色婷婷中文在线| www99热| 婷婷五月天少妇| 久久婷婷五月天激情| 色噜噜狠狠狠综合曰曰曰| 日韩色色视频www| 人人摸人人澡人人| 嫩草AV久久伊人妇女超级A| 国产成人精品一区二三区熟女在线| 日本欧美成人片AAAA| 成人无码髙潮喷水A片| 懂色av粉嫩AV蜜臀AV| 成人在线日韩欧美| 天天噜天天爱| 伊人玖玖网| 激情五月天丁香| 狠狠ri| 欧美大道不卡| 六月婷婷网站| 国产激情综合五月久久| 激情综合九| 99在线免费视频| 午夜 外网 精品 在线| 人人舔人人| 激情另类综合| 一区操| 亚洲精品国产成人AV在线| 七七九九色色| 五月婷婷黄色| 人妻中文av| 五月色亭丁香| 色色色色综合网| 懂色av粉嫩av蜜臀av| 婷婷 伊人 久久| 青青草a在线| 99爱视频| 久久日曰| 天天摸天天高潮天天爽| 99无码黄色视频| 色五月色情| 久er7久热| 丁香五月天成人网站| 狠狠干婷婷| 《久久综合九色综合97婷婷| 在热视频精品| 爱99干99| 天天干天天日日| 97干欧美| 综合99综合久久久久久久| 玖操97| 亚洲色网络| 91九色超碰正在播放| www.99热最新视频8| 色你久久| 六月婷婷久久| 婷婷五月天网址| av五月天婷婷丁香| 99re这里只有精品在线观看| 青草视频在线观看视频| 色欲丁香久久| 农村熟妇高潮精品A片| 亚洲综合网 665566| 99热综合网| 丁香五月欧美婷婷综合| 五月天婷婷丁香视频| 日本久久精品| 色色婷五月天| 爱爱网址9| 五月婷婷久久激情| 丁香五月花| 日本妈妈乱| 色婷婷香蕉| 欧美日韩成人一区二区| 久大香蕉| 日本久久99| 亚洲99综合| 91视频精品99| 亚洲操B| 九热视频| 日产精品久久久久久久蜜臀 | 婷婷午夜| 99视频在线啪| 天天久久综合| 日比视频91| www,五月天激情| 蜜臀久久99精品久久久久久酒店| 日日肏天天操| 69精品无码一区二区三区| 九九热经典视频在线观看| 五月天丁香婷婷久久九| 婷婷色丁香六月| 九九激情| 久9视频| 超碰女人天堂| 国产又粗又大又爽又黄| 女力报到正好爱上你| 日B日潘金莲BB| 丁香五月天天高清在线| 久久久27操| 五月婷婷99热| 六月丁香婷婷网| 国产av天天插天天操天天爽| 激情五月婷婷| 色9色| 国产精品美女久久久久AV超清| 99热99免费| 色无婷婷| av在线中文| 色啪综合| 久久91久久精品久久| 婷婷五月天狠狠| 色色色地址| 激情网五月天| 激情深爱五月| 性色欲情 网站| 97碰碰碰免费公开在线视频| www.henhengan| 4399在线观看免费毛片| 嫩草AV久久伊人妇女超级A| 99视频一区| 九九热99视频在线| av中文字幕免费观看| 综合色播| 五月天小说激情| 人妻中文字幕精品| 国产亚洲99久久精品| 丁香六月天色婷婷| 自拍偷窥99热| 五月丁香激情综合网官网| 婷婷97碰碰| 99热思思在线观看| 激情99热| 五月婷天堂视频| 五月丁香人妻| 丁香五月激情婷婷婷婷在线观看| 丁香五月自拍| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 色婷操逼| 狠狠做深爱婷婷久久综合一区| 婷婷丁香五月综合| 色色综合院| 九九热精品| 狠狠色丁香| 青草性爱视频| 激情五月婷黄版| 五月婷婷国产| 婷婷影视久久| 1000部毛片A片免费观看| 丁香五月AV| 激情综合网亚洲色图| 婷婷色影院| 亚洲欧洲一二| 六月婷婷操逼| 97久久婷婷色| 欧美人与性动交CCOO| 色综合天堂| 九九在线这里只有精品视频| 性爱电影科技贸易有限公司| 丁香五月天欧洲在线| 91av视频在线观看最新网址| 激情久久伊人| 99丁香婷婷综合网| 久久综合99综合| 色综合天天综合成人网| 亚洲九九视频| 九九热视频在线观看| 激情综合色婷婷啪啪六月天| 夜夜躁爽日日| 狠狠色噜噜狠狠狠888| 区区欧美你爱| 激情五月天伊人av| 天天干夜夜想| 精品久久人妻| 日本在线99| 狠狠激情五月天| 五月婷婷在线网站| 99热99这里有免费的精品| 色9色| 国产亚洲色婷婷99精品| 狠狠狠婷婷五月综合| 五月丁香影院| 天天做天天视天天谢| 人妻中文在线| 欧美婷婷六月丁香综合色连续高潮抽搐| 色5月婷婷色| 激情五月天的婷婷| 99黄色性生活| 色噜噜伊人| 丁香婷婷丁香五月欧美人| 综合五月天亚洲婷婷| 全亚洲最大的婷婷五月天网站COM| 五月停停色色丁香| 大香蕉久久| 无码四色色色| 天天模,夜夜模夜夜爽| 激情五月激情综合网一级丸片| 99久久99视频只有精品| 五月丁香六月婷婷中文版| 色五月无码| 五月丁香六月婷婷中文版| 男人综合网| 99.色| 亚洲bt丁香五月天婷婷激情小说| 五月天色五月| 国产欧洲欧洲精品久久| 激情综合五月| av五月丁香| 婷婷 伊人 久久| 91精品久久久久| 青青夜夜狠狠夜夜狠狠| 五月天激情av| 九九色图| 欧美综合激情| 99热国内精品| www.思思99热| 五月丁香花视频| 色99在线视频| 日韩成人无码片| 超级碰碰碰97免费| 颜射 精品性爱av| 九九99视频| 五月婷婷影院| 九九精品免费视频99| 亚洲午夜Av| 99爱视频精品在线观看| 狠狠插日日干撸| 久9久9热久热| 日韩精品呦呦va| 黄网免费观看| 丁香五月婷婷激情中文| 五月天婷婷激情在线色图| 中文字幕丰满孑伦无码专区| 人妖色AV色综合| 久热伊人| 深爱五月激情| 最近韩国日本免费高清观看| 五月婷婷九九热| 狠狠做五月婷婷| 色五月婷婷小说亚洲中文字幕组| 精品色色| 另类A片| 草婷婷在线| 人妻激情在线| 综合99在线| 丁香六月天AV| 玖玖婷婷五月天| 影音先锋91在线资源站| 天天色播| 97色啪| 亚洲精品一二三| 五月婷婷六月天| 婷婷五月伦理网站| 无码少妇高潮喷水A片免费| 九九偷拍网| 97色伦另类图片小说视频 | 思思久久青草热| 久久久www| 青青操日本摸摸看看| 午夜丁香丁香婷婷| 色综合综合色| 97色女人在线| 无人精品在线视频| 久久婷婷艹| 成人色站,在线视频,看片-SS1AV| 丁香六月狠狠干| 99艹精品在线观看| 啪啪亚洲综合| 亚洲黄色网址| 丁香五月天五码婷婷| 天天狠天天叉| 六月丁香av| 这里只有精品视频免费在线观看| 懂色av粉嫩AV蜜臀AV| 婷婷久久夜| 91久久久久久久久18| 久久激情五月婷婷| 婷婷五月花| 婷婷综合色网| 五月丁香激情综合啪啪| 丁香六月婷| 婷婷五月天久久| 丁香操逼| 色五月激情| 99综合99| 天天弄天天操| 久热AA| 久久婷婷综合基地| 色色婷| 国产亚洲在线观看| 婷婷五月天激情网址| 五月丁香啪啪网| 伊人干综合| 色五月天激情| 午夜理论片最新午夜理论剧 | 夜夜夜叫天天天做| 五月综合激情久久| 激情小说视频图片| 丁香婷婷色情| 99视频这里有精品| 丁香五月婷婷动漫视频| 亚洲三级无码| 熟女激情五月天 | 日本一级淫| 99爱最新免费视频在线观看| 男人先锋久久| 天天干夜晚夜操| 久久久婷婷五月亚洲97号色| 97婷婷色| 六月丁香婷婷天堂| 成人国产网站| 婷婷午夜| 色香五月天| 一片AV片免费播放| 激情久久五月天| 开心六月丁香五月婷婷| 色婷婷激情Av久久久| 超碰1999| 色五月婷婷婷婷婷婷婷婷婷婷| 91久久久久久久久18| 秋霞电影理论| 欧美日韩国产日本精品四虎网网站物 | 激情视频综合| 99成人网站| 色五月aV| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 夜夜AVV| www.maotanji.com| 五月激情婷婷六月丁香| 五月丁香888| av色色国产| 人人干AV| 五月婷婷三级| 婷婷丁香五月天激情四射| 99精品在线| 五月天国产成人| 九九热这里只有精品9| 久久婷婷91| 五月丁香婷婷激情在线| 影音先锋毛片网站| 碰超亚洲| 深爱激情综合| 久久精品性爱| 色婷婷丁香特级性爱视频| 99综合自拍| 香蕉久久av一区二区三区 | 色~性~乱~伦~噜| 五月天全国最大成人网| 久久综合丁香| 成人无码中文| 国产午夜成人AV在线播放| 激情综合五月天| 六月丁香综合网| 色综合久久天天综合网| 伊人久久大香线蕉亚洲五月天,| 九九伊人网| 99综合一区| 丁香婷婷精品视频| 色九月婷婷综合| 成人AV播放| 能看的av| 色五月激情五月| 人人爱人人草| 丁香婷婷综合激情五月色| 婷五月丁香俺| 91人人爽狠狠狠| 九九色天堂| 久久机热这里只有精品| XXXX岛国| 人妻久久久久久久久妻久久久久久久久 | 激情电影五月婷婷| 欧美三级巜人妻互换| 日本五月婷| 99精品无码| 99免费热视频| 久久色五月天综合网| 五月丁香视频在线观看| 丁香午月AV中文字幕| 五月丁香激情四射| 9久热免费视频99| 91久草五月天婷婷| 97碰碰人人视频| 1024AV视频| 国产精产国品一二三在观看| 97五月天| 国产精产国品一二三在观看| www.婷婷六月天| 日本欧美成人片AAAA| 91一起操| 青草五月天| 99re这里| 婷婷五月激情综合| 久久伊人大香蕉| 五月天成人综合| 色综合五月| 色婷婷丁香| 操人无码| 国产午夜伦鲁鲁| 精品国产乱码久久久久久免费| 丝袜大香蕉| 曰韩少妇内射免费播放| 超碰成人黄色网| 色五月丁香91| 国内9l视频自拍老熟女九色| jiuse91在线| 亚洲一区二区无遮挡A片| 97超级操操| 色碰干| 五月丁香狠狠爱| 熟女婷婷网站一婷婷五月一丁香婷婷一婷婷激情网 | 丁香亭亭久久| 九九视频精品在线免费| 五月婷婷激情综合视频| 亚洲五月天婷婷| 久久婷丁香五月| www.99热视频| 丁香五月骚喷水视频| 激情综合婷婷| 精品乱码久久久久| 婷婷久草| 99ER热精品视频| 国内在线99视频| 五月天婷婷操逼视频| 国产 码在线成人网站| AV美美午夜| www.深爱激情| 日韩啪啪网| 三男玩一女三A片| 人人操婷婷| 99在线热| 婷婷激情五月综合丁| 激情都市丁香婷婷| 久久九九网| www.婷婷久久五月天| 波多野结衣AV无码Porn| 婷婷色五月综合丁香| 四色AVwww| 99ri在线视频| 婷婷丁香六月天| 亚洲AV日韩无码| 久久这里只有国产精品视频| 激情五月天综合网| 无码人妻AV久久久一区二区三区| 丁香婷婷婷五月综合色情| 婷婷九月| 另类综合色| 亚洲日韩一页精品发布| 日本97在线| 五月丁香婷婷六月天| xx久久| 九久久婷婷| 色色丁香| 丁香激情五月| 丁香五月天AV在线 | 久久综合55| 日本va欧美va欧美va精品| 婷婷日日夜夜| 亚洲亚洲人成综合网络| 色婷婷综合亚洲| 天天色天天舔天天爱天天爽| 久久机热/这里只有精品| 久久丁香婷婷色情综合| 国产永久一二一起草| 久久丁香五月天| 97爱艹婷婷开心丁香激情综合| 午夜一区| 123草逼网| 久久33视频| 欧洲激情五月天| 丁香五月五月婷婷| 中文字幕九九九九| 亚洲色网络| 丁香狠狠干| 秋霞午夜理论| 热99在线| 五月丁香福利| 色色五月天婷婷丁香| 色婷婷亚洲综合天堂| 丁香五月视频在线观看| 开心婷婷五月| 五月婷婷基地| 成人午夜无码视频| 99久超碰| 夜夜大香蕉婷婷丁香| 色婷大香蕉| 亚洲中文乱字字幕线在永久| 亚洲精品V天堂中文字幕| 天天操天天日天天爱| 成人在线网| 91人操| 五月婷婷激情| 人人澡玖玖一| 日本99久久| 色婷婷97| 色情综合| 噜噜噜噜噜在线| 色婷久久| 女性自慰系列第五页| 色欲色香综合网| 九月丁香亭亭| 婷婷五月天堂| 伊人大香五月天| 婷婷五月色| 五月婷婷综合激情| 性生生活大片又黄又| 黄色99网| 婷婷五月丁香第四色超碰在线 | 激情网五月| 丁香久月| 91九色精品女同系列| 亚洲综合99| 激情小说婷婷| 五月婷婷这里都是精品| 亚洲九N| 播五月丁香六月| 99免费青青蜜臀| 黄色一级影片| 日本色频| 国产AV一区二区三区最新精品 | 九九色综合| 六月婷婷七月丁香| 欧美久久久中文字幕| 99久久6| 日本久久爽| 婷婷五月天福利| 丁香激情六月天婷婷| 日本在线观看aaa 99| 激情深爱五月天| 丁香啪啪| 婷婷综合婷婷| 婷婷六月天天| 激情丁香久久| 久久婷鲁| 丁香五月电影| 精品久久久久久久久久久久人妻| 五月丁香天堂| www激情| 婷婷激情五月天色| 五月丁香视频色色| 26uuu精品一区二区| 五月丁香六月停停| 婷婷五月天亚洲综合| 激情婷婷五月天| 天天干狠狠艹| 欧美影院婷婷| 激情五月成年| 色欲影香| 3p日韩网站视频| 国产婷婷综合| 99re热视频这里只精品| 五月天婷婷7米| anquye伊人| 婷婷新网址| 五月丁香六月色| 久久久久久久久人妻| 激情五月天婷婷| 99干在线视频| 开心五月天激情网| 婷婷五月av| 爱之国产色情综合| 婷五月天丁香婷五月| 99这里有精品视频| 久久Xx| 另类小说五月天综合网| 色玖玖综合网| 五月丁香综合久久夜夜| 丁香婷婷久久| 色婷婷天堂| 亚洲婷婷六月天| 色五月色五天色情网| 日本色超碰| 日本久久精品| 亚洲成人一区| 五月丁香六月婷婷激情视频在线观看免费 | 色色色色色色色色综合网| 国产亚洲成AV人片在线观黄桃| 五月丁香在线| 亚洲精品国产精品乱码不99| 五月在线婷色| 日韩综合网络男女香蕉a片| 久久丁香婷| 一本色道久久88综合日韩精品| PORNY九色9l自拍视频成人| 九九热精品6| 五月综合777| 婷婷6月综合网| 五月婷婷中文字幕| 丁香五月婷婷99| 亚洲日本三级片| 92久久精品一区二区| 婷婷色导航| 欧美综合123区| 激情五月综合婷婷| 激情综合色播| 99热只有精| 欧美日本一区二区三区| 777丁香六月青青草婷婷综合久月| 九九热中文| 狠狠色网| 99ri视频在线观看| 大鸡巴伊人网| 99综合97| 五月丁香六月激情| 91肏肏肏| 岛国在线观看91| 99视频这里有精品| 99热热热99精品婷婷| 国产乱子轮XXX农村| 五月天精品| 五月天开心网| 国产精品18久久久| 亚洲欧洲中文日韩久久AV乱码| 五月婷视频| 五月婷婷开心网| 天天操夜夜操| 色五月综合| 国产国产乱老熟女视频网站97| 五月天开心网| 专区无日本视频高清8| 亚洲亚洲人成综合网络| 日本乱子人伦在线视频| 日逼AV影音先锋男人资源站| 色色欧美色色| 丁香婷婷五月激情四射网| 99精彩视频在线观看| aV欲望人妻中文字幕| 小泽玛利亚视频一区二区| 97欧美在线| 六月色播| 99热99ai| 99秘 在线| 亚洲激情免费视频| 六九色综合婷婷五月天| 五月婷婷综合久久| 激情综合五| 免费视频在线观看的网站| 99久久超级| 婷婷九月丁香天堂丁香天堂| 丁香五月区| xxxx五月| 国产资源91在线| 婷色五月天| 亚洲欧洲另类| 丰满老熟妇BBBBB搡BBB| 色婷婷丁香AV综合| 久久久久8888| 国语对白性爱视频播放| 色色欧美色色| 影视av久久久噜噜噜噜噜三级| 色99在线观看| 亚洲AV影片在线观看| 色综合久久综合| 婷婷五月播| 天天肏天天爽夜夜爽| 色色色综合| 五月丁香网站| 久久国产AV| 日本一级一级一级一级| 久久只这里有精品| 综合一区二区三区| 2018国产大陆天天弄| 一起操 91N.com| 激情网站五月| 色狠狠色噜噜AV天堂五区消防| 婷婷综合精品| 69凹凸成人综合网| 五月天婷婷基地综合网| 五月 丁香 欧美| 婷婷五月花| 亚洲精品国产熟女久久久| 九月大香蕉| 亚洲色色图片| 激情五月婷婷视频一区二区三区| 五月丁香六月激情在线| 高清av在线国产| 五月婷婷六月丁香激情深爱| 天天爽天天做| 色九区| 丁香九月激情久久| 国产寻花在线| 五月天操逼网| 六月丁香婷婷爱| 久久五月天精品视频| 欧美五月婷婷| 亚洲精品久久久久久久久久飞鱼| 婷婷射图五月天| www.夜夜.com| 亚洲AV成人在线| 丁香六月激情毛片| 99精品无码网站| 色99在线| 日本一级特黄大片AAAAA级| 六月五月婷婷| 五月婷婷激情综合| 99人碰碰碰| 日韩无码色色| 久久六月婷婷| 婷婷成人综合免费视频| 久久三级视频| 丁香五月777| 99综合激情久久精品久久| 97色婷婷| 丁香五月亚洲激情婷婷射| 青青草原伊人网| 黄色高清无码| 婷婷激情五月天亚洲综合| 五月婷婷开心网| 五月丁香色色| 亚洲综合另类| 91AV视频| 思思热AV| 九九久久腿| 色婷五月天网站| 疯狂做受XXXX高潮A片动画| 久久久人妻人伦| 激情九月综合| 五月丁香综合在线| 天天日夜夜爽| www,色综合| 激情五月婷婷开心网| 日比视频91| 婷婷五月色综合| av网址在线播放| 五月丁香婷婷六月天| 五月丁香在线| 婷婷五月深深的爱| 人妻久久久久久| 日本色噜| 婷色五月天| 亚洲舔观看| 免费视频WWW在线观看网站| 中文字幕+乱码+中文字幕在线观看| 六月丁香激情网| 婷婷五月深情丁香深爱日韩| 五月天综合久久| 激情六月丁香综合| 精品影院| 天天操夜夜肏| 色情婷婷久久五月天| 日日狠狠久久偷偷四色综合免费 | 色婷婷在线电影| 午夜丁香六月婷| 少妇人妻丰满做爰XXX| www,婷婷五月天777me,com| 久九男女天堂| 九九视频这里有精品| 92久操视频| 神马欧美精| 99在线资源| 强伦轩人妻一区二区电影| 色婷婷五月天亚洲| 色伦专区97中文字幕| 婷婷五月天激情五月天网站| 中文字幕av久久爽| 囯产精品久久欠久久久久久九大| 精品99在线| 综合色播| wwwxxx五月婷婷小说| 激情 久久 婷婷| www.com五月天| 色婷婷综合久久久久| 久久九九国产精品怡红院| 婷婷深爱五月亚洲综合| 懂色av粉嫩AV蜜臀AV| 激情五月天综合网| 六月色婷婷色| 五婷婷综合网| 97干综合网| 色欲操| 好大好粗嗯啊-一级黄色大片免费观看-成人AV| 精品久久99码| www色色色com| 五月天激情美女久久| 五月天婷婷激情小说电影| 亚洲愉拍99热成人精品| 天天日夜夜| 欧洲激情精品婷婷| 欧美日韩成人| 91久女| 中文字幕AV在线| 亚洲丁香五月美女| 九九www| 色婷婷在线视频| 色婷婷成人| 丁香婷婷激情综合五月激情 | 天天舔天天爽| 新99思思视频| 久久图色4| 亚洲综合色网| 人人摸人人| 69堂午夜视频最新地址| 操日本色| 大香蕉啪啪网| 激情噜噜噜| 伊人丁香婷婷东京| 色婷婷www| 五月做爱| 超碰免费在线| 久久激情五月天| 九九热短视频在线观看| 亚洲视频五区| 极品五月天| 色婷婷影院| 亚州操操| 婷婷丁香人妻天天| 天天摸天天舔天天爽| 国产性爱一级| www.wuyuetian啪啪| 五月激情六月综合| 婷婷天天色| 婷婷一本和五月丁香| 色播婷婷大香蕉| 九月婷婷在线观看| 久久久国产精品黄毛片| 色婷婷导航| 日狠狠| 色五月天网| 色亚洲无码| 97黑人精品区| 99久久人人| 爱久久小说下载网| 九九热在线99| 久久婷婷五月天激情| 都市激情小说婷婷| 婷婷五月丁香综合激情小说| 亚洲综合1024| 色综合久久综合| 五月婷婷综合成人| 欧美三级巜人妻互换| 色五月激情五月| 久久女人天堂| 天天天在线观看| 亚洲激情免费视频观看| 中文字幕簧片| 天天天操天天天爰| 婷婷激情四射| 大香蕉婷婷丁香天堂AV| 9精品视频在线| 六月丁香婷婷综合影院| 99热这里只| 激情美女五月天激情在线| 99热成人精品| 激情综合网之激情五月| 亚洲视频a| 7月婷婷六月丁香| 色婷视频| 婷婷色网| 99激情网| 五月天激情偷拍| 天天日日人| 99热这是里只有精品| 综合五月草| 99热99日…..| 日本www五月婷婷| 五月婷婷色综图片| 亚洲综合网激情五月天| 五月丁香视频在线观看| 婷婷五月天天| 另类国产综合| 亚洲人成人五月天| 婷婷激情五月综合| 99精品在线观看视频| 五月欧美丁香在线观看| 99热激情| 五月天激情亚洲| 丁香操逼| 色99婷婷五月天| 婷婷综合影院| 色婷婷A| 99热18| 五月天激情网图片 - 百度| 欧美色播综合在线观看| 国产熟女日日骚五月丁香爱| 中文网av| 另类激情中文| 色五月成人| 色婷婷丁香五月| 婷婷不干网| 色网站9| 97色色婷婷五月天| 五月婷婷久久综合| 日日操夜夜操狠狠操| 五月丁香伊人网| www.99热视频| 黄网在线播放| 欧美韩国日本| 免费播放AV| 99riAv1国产在线观看| 99色综合网| 天天干天天操天天爱| 狠狠干在线| 26uuu精品国产| 97丨九色丨国产丨PORNY| 中文字幕av网站| 中文字幕AV在线| 五月天婷婷久色| 婷婷亚洲五月| 99亚洲视频| 操B无码视频国语| 色婷婷色情| ji'qing'luan'ren'lun| 激情五月婷婷丁香| 99免费| ZpRSw| 中文字幕在线播放视频| 99色看| 五月丁香六月成人| 少妇性BBB搡BBB爽爽爽视頻| 激情婷婷网| 華人性愛AV在線| 性爱视频99| 欧美一级色| 在线99精品| 狠狠狠狠狠狠草| 色在线99| 亚洲综合色婷| 中文字幕在线资源| 久久久天堂国产精品女人| 国产综合丁香五月天| 99国产er热视频| 五月天狠狠网| 粉嫩AV久久一区二区三区| 五月婷婷丁香六月| 日韩婷婷五月天| www999日韩精品| 97碰碰叉| 激情色中文| 丁香婷五月天开心六月| 无码人妻AV久久久一区二区三区| 五月婷婷七月丁香| 草婷婷在线| www夜夜操| 婷婷中文字幕网| 日日操,夜夜撸| www婷婷| 9有码中文| 久久久精品人妻录| 久久99综合| 97操碰视频| 五月天婷婷成人| 666555。COm毛片| 久久网站免费亚洲| 天堂久久婷婷| 青青操日本摸摸看看| 丁香成人综合| 能看的av网站| 99九九在线精品热动漫| 欧美丁香五月| 五月丁香花成人社区| 无码一区二区三区四区五区| 久久人操| 一区三区视频有限公司| 色婷婷久久综合丁香五月| 无码免费人妻A片AAA毛片西瓜| 久久99网站| 26uuu精品一区二区| 大香婷婷| 停停五月丁香| 色婷婷狠狠18yy| 狠狠狠人妻| 欧美一级色| 大香蕉网站,大香蕉综合| 亚洲操b| 人人操9| 五月欧美色色五月| 欧美 日韩 人妻 高清 中文| 性爱先锋AV| 极品人妻VideOssS人妻| 日韩九区| 久久九色| 久热成人| 婷婷九月色| 婷婷丁香社区网| 人人摸人人摸| 久久久这里都是精品| 色色婷| 开心婷婷中文字慕| 日本色五月| 好吊操这里只有精品| 爱射综合| 欧美丁香六月在线观看视频| 丁香五月色| 色婷婷色五月丁香| 超碰9799| 亚洲VA在线| 免费色婷婷| 美女五月天| 婷婷五月色图| 操一区| 男人天堂伊人五月丁香| 无码日本精品XXXXXXXXX|