日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

真實(shí)反饋驅(qū)動(dòng)的AutoDebug Agent:從失敗測(cè)試到自動(dòng)修復(fù)

真實(shí)反饋驅(qū)動(dòng)的AutoDebug Agent:從失敗測(cè)試到自動(dòng)修復(fù) 凌晨?jī)牲c(diǎn)半線上告警把我和枕頭拆散打開(kāi)日志一瞧又是空指針而且就在同事上周重構(gòu)完的支付模塊里。這種時(shí)候我腦子里反復(fù)滾著一句話能不能寫(xiě)個(gè)Agent讓它自己把bug給修了。說(shuō)干就干這就是AutoDebug Agent的由來(lái)——一個(gè)基于真實(shí)運(yùn)行反饋、能自主定位缺陷并生成修復(fù)方案的Agent項(xiàng)目。這里說(shuō)的缺陷是軟件世界里的bug不是工業(yè)視覺(jué)里那種軸承、試管的外觀缺陷檢測(cè)。AutoDebug Agent做的是把一段真實(shí)的失敗信息丟給Agent讓它自己去復(fù)現(xiàn)、診斷、寫(xiě)補(bǔ)丁、跑測(cè)試然后再根據(jù)新的測(cè)試結(jié)果決定是收工還是繼續(xù)修。它解決的是開(kāi)發(fā)過(guò)程中最磨人的那部分——大量重復(fù)的、低級(jí)的、但又必須有人蹲在電腦前盯著的bug修復(fù)工作適合日常開(kāi)發(fā)被bug反復(fù)糾纏的程序員、維護(hù)一堆歷史工程的老兵、想往CI/CD流水線里塞自動(dòng)修復(fù)能力的DevOps以及想把Agent產(chǎn)品化成內(nèi)部工具的技術(shù)負(fù)責(zé)人。1. 這個(gè)Agent到底在修什么核心思路與場(chǎng)景拆解1.1 為什么寫(xiě)AutoDebug Agent它和其他自動(dòng)化工具差在哪很多AI自動(dòng)修復(fù)的演示是在精心準(zhǔn)備的代碼庫(kù)里跑通一個(gè)預(yù)埋好的缺陷反饋也是設(shè)計(jì)好的跑通了就錄個(gè)視頻發(fā)出來(lái)。真拿這種思路去修真實(shí)項(xiàng)目里的bug基本會(huì)撞得頭破血流——真實(shí)世界里哪有那么多讀一遍代碼就能看出來(lái)的缺陷。AutoDebug Agent的思路不是讀代碼找bug而是讓Agent進(jìn)入一個(gè)觀察-診斷-修復(fù)-驗(yàn)證的閉環(huán)把每次代碼真實(shí)執(zhí)行產(chǎn)生的信號(hào)當(dāng)成下一輪判斷的依據(jù)。用最簡(jiǎn)單的話說(shuō)它不是靠猜而是靠試。你給它一個(gè)失敗的測(cè)試它先看為什么失敗改完再跑一遍看是不是真的解決了沒(méi)解決就帶著新的失敗信息重新診斷。這跟傳統(tǒng)自動(dòng)化測(cè)試工具有本質(zhì)區(qū)別。靜態(tài)掃描工具能告訴你這里可能越界但它不會(huì)替你寫(xiě)補(bǔ)丁再跑一遍回歸驗(yàn)證。CI系統(tǒng)能把失敗的構(gòu)建甩到你臉上但它不會(huì)自己動(dòng)手把問(wèn)題修好再重新提交。AutoDebug Agent真正想接手的是定位-修改-驗(yàn)證這一整條動(dòng)作鏈而不僅僅是發(fā)現(xiàn)。1.2 真實(shí)反饋是什么以及它為什么是會(huì)修的關(guān)鍵真實(shí)反饋是AutoDebug Agent標(biāo)題里最關(guān)鍵的定語(yǔ)。什么是真實(shí)反饋就是代碼真實(shí)執(zhí)行之后產(chǎn)生的信號(hào)不是人腦模擬出來(lái)的理想輸出也不是人工標(biāo)注好的標(biāo)準(zhǔn)答案。最典型的一類反饋是測(cè)試失敗信息。拿Python項(xiàng)目舉例pytest跑完一個(gè)用例失敗輸出里通常包含斷言實(shí)際值和期望值、拋異常的行號(hào)、堆棧里經(jīng)過(guò)哪些函數(shù)。這套信息對(duì)Agent來(lái)說(shuō)就是雷達(dá)信號(hào)模型看到期望值是True實(shí)際值是False、看到traceback定位到某個(gè)文件它才有條件把問(wèn)題和代碼位置關(guān)聯(lián)起來(lái)。除了測(cè)試輸出還有幾類反饋同樣重要編譯和類型錯(cuò)誤TS類型不匹配、Rust借用檢查失敗、Go空指針解引用警告運(yùn)行時(shí)堆棧和日志線上服務(wù)異常日志帶request_id和調(diào)用鏈上下文靜態(tài)分析告警lint規(guī)則觸發(fā)、安全掃描報(bào)告、復(fù)雜度告警版本控制歷史git blame、最近的提交記錄能告訴Agent這個(gè)文件最近被誰(shuí)動(dòng)過(guò)、改了什么用戶行為信息復(fù)現(xiàn)步驟、異常截圖、一句話描述尤其是UI類缺陷這些反饋的共同特點(diǎn)是它們是一手信息直接來(lái)自代碼運(yùn)行的結(jié)果。讓Agent基于這些信號(hào)去修而不是基于它對(duì)代碼的感覺(jué)這是AutoDebug Agent區(qū)別于其他demo級(jí)Agent的本質(zhì)差異。反饋的顆粒度直接決定了修復(fù)能力的上限。給Agent的信息越接近一個(gè)真實(shí)工程師調(diào)試時(shí)看到的信息它就越能做出靠譜的判斷。如果你只丟給它一個(gè)測(cè)試失敗的結(jié)論再?gòu)?qiáng)的模型也只能是在黑暗中瞎摸。1.3 適用場(chǎng)景和不適用場(chǎng)景先把丑話說(shuō)前面我得先潑一盆冷水AutoDebug Agent不是萬(wàn)能的也不是拿來(lái)替代程序員的。實(shí)測(cè)下來(lái)最適合的是這幾類場(chǎng)景單元測(cè)試和集成測(cè)試覆蓋較高的模塊覆蓋率至少60%以上否則反饋太稀疏Agent根本沒(méi)法定位異常類型明確的bug比如空指針、越界、超時(shí)、版本兼容性問(wèn)題能在幾個(gè)文件范圍內(nèi)定位的中小型缺陷修完之后有回歸測(cè)試可以驗(yàn)證的模塊不適合的場(chǎng)景也很明確設(shè)計(jì)層面的架構(gòu)問(wèn)題比如緩存一致性設(shè)計(jì)錯(cuò)了這不是一次修復(fù)循環(huán)能解決的跨十幾個(gè)服務(wù)、幾十張數(shù)據(jù)表的鏈路故障反饋信息爆炸而且大量缺失依賴外部硬件、特殊設(shè)備或真實(shí)用戶流的環(huán)境Agent沒(méi)法在本地復(fù)現(xiàn)完全沒(méi)有測(cè)試覆蓋的遺留系統(tǒng)一個(gè)文件三千行Agent盲修的風(fēng)險(xiǎn)極高這個(gè)工具的價(jià)值不是替代工程師而是把修bug這個(gè)動(dòng)作里最耗時(shí)的可復(fù)現(xiàn)、可定位、可驗(yàn)證環(huán)節(jié)壓縮到分鐘級(jí)。我在設(shè)計(jì)AutoDebug Agent時(shí)的目標(biāo)很樸素讓Agent像實(shí)習(xí)生一樣先把能查的查了能改的改了把真正需要人類判斷的部分留給我。2. 技術(shù)架構(gòu)與關(guān)鍵設(shè)計(jì)Agent的骨架怎么搭2.1 感知層把缺陷信息變成模型看得懂的輸入Agent要干活第一步是拿到它能用的信息。感知層是所有反饋信號(hào)的入口也是我最先設(shè)計(jì)、后來(lái)改動(dòng)最多的模塊。設(shè)計(jì)原則只有一條把原始信號(hào)做結(jié)構(gòu)化處理、壓縮體積、按診斷優(yōu)先級(jí)排序再喂給模型。原始信號(hào)是各種格式混雜的pytest輸出是純文本GitHub Actions日志是一大坨時(shí)間戳加著色控制字符線上日志是JSON堆棧是帶文件路徑和行號(hào)的多行文本。如果直接把拷貝的原始輸出丟給模型效果會(huì)非常差——上下文被無(wú)關(guān)信息塞滿模型反而找不到重點(diǎn)。我的做法分三步第一步歸一化。寫(xiě)一組解析器把不同測(cè)試框架的失敗輸出轉(zhuǎn)成統(tǒng)一結(jié)構(gòu)包括測(cè)試名稱、失敗類型、斷言詳情、堆棧列表。這一步的作用是把機(jī)器輸出變成結(jié)構(gòu)化事件。第二步壓縮。堆棧按規(guī)則排序后只保留應(yīng)用內(nèi)代碼的frame刪除框架內(nèi)部和第三方庫(kù)的frame日志按級(jí)別過(guò)濾保留ERROR和WARN去掉INFO和DEBUG的噪音。壓縮的目標(biāo)是把原始10KB的反饋壓到2KB以內(nèi)同時(shí)保住關(guān)鍵信息。第三步排序。把信息按診斷價(jià)值排序先給核心異常類型和消息再給出現(xiàn)異常的文件和行號(hào)接著是相關(guān)堆棧然后才是測(cè)試上下文和額外日志。模型讀token是有位置偏置的開(kāi)頭的內(nèi)容權(quán)重最高所以一定要把最該讓模型看到的東西放前面。這一步看起來(lái)不起眼但直接決定了后面修復(fù)循環(huán)能不能跑通。我的經(jīng)驗(yàn)是80%的Agent失敗不是模型不夠聰明而是喂給模型的信息不對(duì)或不夠。2.2 決策與行動(dòng)層修復(fù)循環(huán)的設(shè)計(jì)AutoDebug Agent的核心是一個(gè)修復(fù)循環(huán)像人的調(diào)試流程一樣分階段推進(jìn)。第一步是復(fù)現(xiàn)。Agent拿到反饋后先嘗試運(yùn)行相關(guān)測(cè)試或命令確認(rèn)缺陷能不能復(fù)現(xiàn)。這個(gè)階段如果復(fù)現(xiàn)不了Agent應(yīng)該停下來(lái)問(wèn)人而不是瞎猜。第二步是診斷。模型基于反饋信息和代碼上下文生成假設(shè)指出最可能的根因。這個(gè)階段的輸出不直接是代碼而是自然語(yǔ)言的診斷結(jié)論包括證據(jù)和懷疑點(diǎn)。第三步是修復(fù)。根據(jù)診斷結(jié)論生成一個(gè)最小化代碼變更。我要求Agent盡量只改相關(guān)行不要順手重構(gòu)不相關(guān)的代碼。第四步是驗(yàn)證。跑測(cè)試、跑lint、編譯收集新的反饋。如果測(cè)試通過(guò)進(jìn)入回歸檢查如果失敗帶著新反饋回到第二步形成循環(huán)。這個(gè)循環(huán)的本質(zhì)是一個(gè)假設(shè)-驗(yàn)證-修正的迭代過(guò)程。每輪迭代模型都根據(jù)最新的測(cè)試結(jié)果修正自己對(duì)根因的判斷。我把核心骨架寫(xiě)成偽代碼def autodebug_fix_loop(issue, feedback_store, model, tools): context build_context(issue, feedback_store) for attempt in range(MAX_ATTEMPTS): if attempt 0: diagnosis model.diagnose(context, feedback_store.last_failure()) if diagnosis.get(unreproducible): return {status: needs_human, reason: 無(wú)法復(fù)現(xiàn)} else: diagnosis model.refine_diagnosis(diagnosis, new_feedback) patch model.generate_patch(diagnosis, codebase_context) if not validate_patch(patch): continue # 補(bǔ)丁語(yǔ)法都不對(duì)直接重來(lái) apply_patch(patch) result run_tests_and_checks() if result.failed: new_feedback feedback_store.record(result) continue if run_regression().failed: # 當(dāng)前測(cè)試過(guò)了但回歸掛了 new_feedback feedback_store.record(run_regression()) continue return {status: fixed, patch: patch, attempts: attempt 1} return {status: timeout, last_feedback: feedback_store.latest()}關(guān)鍵點(diǎn)在于循環(huán)不是無(wú)限跑的。我給MAX_ATTEMPTS設(shè)定默認(rèn)值5最多嘗試五輪。原因有兩層一是每輪都會(huì)消耗token和計(jì)算資源二是從實(shí)踐中看五輪還修不好繼續(xù)下去大概率是模型在同一個(gè)錯(cuò)誤假設(shè)里打轉(zhuǎn)不如收集好上下文交給人類。另一個(gè)設(shè)計(jì)細(xì)節(jié)是validate_patch這一步。不要直接讓模型生成的補(bǔ)丁覆蓋文件——先用AST解析、語(yǔ)法檢查甚至先看diff的改動(dòng)范圍。語(yǔ)法不對(duì)立刻丟棄這個(gè)環(huán)節(jié)能攔截掉一大部分模型幻覺(jué)式輸出。2.3 記憶層讓Agent跨會(huì)話學(xué)習(xí)Agent記憶確實(shí)是能力提升的隱藏杠桿。AutoDebug Agent的短期記憶就是當(dāng)前修復(fù)會(huì)話的上下文這沒(méi)問(wèn)題真正有價(jià)值的是長(zhǎng)期記憶。我自己的長(zhǎng)期記憶實(shí)現(xiàn)思路是這樣的用一個(gè)向量庫(kù)或者簡(jiǎn)單的JSON文件記錄三類經(jīng)驗(yàn)。第一類是修復(fù)過(guò)的缺陷特征包括錯(cuò)誤類型、發(fā)生在什么模塊、根因是什么、最后怎么修的。第二類是有用的命令和查詢模板比如查這個(gè)服務(wù)全部日志用grep -r order_id logs/這樣的固定模式。第三類是項(xiàng)目特有的約定比如這個(gè)倉(cāng)庫(kù)提交前必須跑make format。每次修復(fù)成功后把這次的診斷結(jié)論和補(bǔ)丁摘要寫(xiě)進(jìn)記憶庫(kù)。下次遇到類似錯(cuò)誤Agent先檢索記憶庫(kù)把歷史相似案例作為上下文注入。這個(gè)設(shè)計(jì)在積累幾十個(gè)案例后效果明顯相當(dāng)于Agent在自己給自己加經(jīng)驗(yàn)。記憶庫(kù)要防止臟數(shù)據(jù)。我只記錄經(jīng)過(guò)驗(yàn)證的成功案例不記錄失敗嘗試。失敗的嘗試往往帶有誤導(dǎo)性會(huì)讓Agent把錯(cuò)誤的修復(fù)路徑當(dāng)成可能方案。2.4 安全邊界Agent能做什么、不能做什么搞Agent的人最容易忽略的就是安全邊界。AutoDebug Agent能執(zhí)行命令、能改代碼、能跑測(cè)試這在本地開(kāi)發(fā)環(huán)境還好一旦接入CI或者給了它一定的倉(cāng)庫(kù)權(quán)限風(fēng)險(xiǎn)立即放大。我做的第一道防線是沙箱執(zhí)行。Agent通過(guò)一個(gè)受限的runtime執(zhí)行命令只允許白名單內(nèi)的操作跑測(cè)試、讀文件、改倉(cāng)庫(kù)內(nèi)文件、執(zhí)行g(shù)it diff和git log。禁止網(wǎng)絡(luò)請(qǐng)求、禁止訪問(wèn)其他目錄、禁止安裝系統(tǒng)級(jí)依賴。第二道防線是文件修改策略。補(bǔ)丁應(yīng)用到真實(shí)代碼前先在臨時(shí)分支上應(yīng)用、跑驗(yàn)證、通過(guò)后再合回當(dāng)前分支。我習(xí)慣用git stash加臨時(shí)branch的流程這樣即使Agent闖禍一條checkout就能完全恢復(fù)。第三道防線是審批門(mén)檻。涉及刪除、push、合入主干這些高影響操作全部停下來(lái)等人點(diǎn)確認(rèn)。Agent可以當(dāng)好實(shí)習(xí)生但不能讓它掌握發(fā)布權(quán)限。還有一點(diǎn)容易被漏超時(shí)控制。每條命令必須有超時(shí)上限比如跑測(cè)試最多10分鐘。沒(méi)有超時(shí)的Agent就像沒(méi)有辭退機(jī)制的實(shí)習(xí)生能把整個(gè)CI卡死。我見(jiàn)過(guò)把Agent掛在一條等待輸入的命令上拖了半個(gè)小時(shí)的場(chǎng)景別問(wèn)我怎么知道的。3. 實(shí)操記錄從零搭一個(gè)能修缺陷的Agent3.1 環(huán)境準(zhǔn)備與框架選型實(shí)際操作前先說(shuō)環(huán)境。我建議的起步配置是Python 3.11以上寫(xiě)Agent骨架本身用Python最順手一個(gè)支持工具調(diào)用的強(qiáng)模型目標(biāo)是修復(fù)的代碼倉(cāng)庫(kù)帶測(cè)試套件再加Docker或venv做沙箱??蚣苓@塊我經(jīng)歷過(guò)三個(gè)階段最早直接用function calling手寫(xiě)后來(lái)用LangChain現(xiàn)在留在自研輕量框架加LangChain組件混搭。這里先給結(jié)論如果你的目標(biāo)是給一個(gè)特定倉(cāng)庫(kù)做自動(dòng)修bug沒(méi)有必要上大型編排器一個(gè)函數(shù)調(diào)用循環(huán)足夠了。起步階段需要的東西不多核心三個(gè)文件一個(gè)工具定義文件、一個(gè)修復(fù)循環(huán)主文件、一個(gè)反饋解析器目錄。工具定義文件負(fù)責(zé)給模型描述你能調(diào)用什么修復(fù)循環(huán)主文件控制整個(gè)流程反饋解析器目錄放各個(gè)測(cè)試框架的解析邏輯。3.2 核心代碼實(shí)現(xiàn)修復(fù)循環(huán)逐行拆解我把最核心的實(shí)現(xiàn)拆開(kāi)講。第一步是工具定義以跑測(cè)試為例用function calling風(fēng)格定義TOOLS [ { type: function, function: { name: run_test, description: 運(yùn)行指定測(cè)試用例并返回 pytest 輸出, parameters: { type: object, properties: { test_path: {type: string, description: 測(cè)試文件或測(cè)試用例路徑} }, required: [test_path] } } }, { type: function, function: { name: read_file, description: 讀取倉(cāng)庫(kù)內(nèi)指定文件的指定行范圍, parameters: { type: object, properties: { path: {type: string}, start_line: {type: integer}, end_line: {type: integer} }, required: [path] } } }, { type: function, function: { name: apply_patch, description: 以 unified diff 格式應(yīng)用代碼修改, parameters: { type: object, properties: { diff: {type: string} }, required: [diff] } } } ]主循環(huán)是核心部分實(shí)際代碼里要注意每個(gè)函數(shù)調(diào)用的結(jié)果必須完整存進(jìn)消息歷史模型才能基于真實(shí)結(jié)果繼續(xù)推理。很多人寫(xiě)Agent時(shí)犯一個(gè)錯(cuò)誤只把工具調(diào)用的結(jié)果字符串塞進(jìn)日志但忘了告訴模型這個(gè)結(jié)果是來(lái)自哪次調(diào)用、對(duì)應(yīng)哪個(gè)動(dòng)作。我建議每個(gè)工具調(diào)用結(jié)果前加一個(gè)結(jié)構(gòu)化標(biāo)記比如命令: pytest tests/test_user.py exit_code: 1 輸出: ...這樣模型能準(zhǔn)確理解反饋和動(dòng)作的對(duì)應(yīng)關(guān)系。補(bǔ)丁應(yīng)用和驗(yàn)證環(huán)節(jié)同樣關(guān)鍵。模型輸出的patch可能格式不對(duì)需要專門(mén)的解析器把unified diff解析成實(shí)際的文件修改。我踩過(guò)的坑是模型會(huì)在patch里寫(xiě)假的行號(hào)標(biāo)記但實(shí)際diff內(nèi)容對(duì)不上文件行數(shù)。這時(shí)不應(yīng)該強(qiáng)套apply而應(yīng)該直接把patch原樣返回給模型讓它重新生成。理解和容忍模型輸出的這種不穩(wěn)定性是寫(xiě)Agent的基本功。3.3 接入真實(shí)反饋日志、測(cè)試、堆棧的一手處理接入真實(shí)反饋是AutoDebug Agent的重頭戲。以最常見(jiàn)的pytest場(chǎng)景為例測(cè)試運(yùn)行后用subprocess拿到的輸出是這樣的import subprocess, json, re def run_tests(test_path): proc subprocess.run( [pytest, test_path, -p, no:cacheprovider, --tbshort], capture_outputTrue, textTrue, timeout600 ) return parse_pytest_output(proc.stdout proc.stderr)parse_pytest_output函數(shù)要提取以下字段失敗用例列表、每個(gè)失敗用例的斷言消息、截取的堆棧、異常類型比如AssertionError、IndexError。這個(gè)結(jié)構(gòu)化結(jié)果會(huì)直接作為新反饋進(jìn)入修復(fù)循環(huán)。我強(qiáng)烈建議把原始輸出也留一份在日志里方便人工排查時(shí)對(duì)照。接入線上運(yùn)行時(shí)錯(cuò)誤的思路也類似把錯(cuò)誤日志、堆棧、關(guān)聯(lián)的上下文信息一起打包。關(guān)鍵點(diǎn)是讓反饋帶上時(shí)間和空間上下文而不是丟一個(gè)孤零零的異常消息。比如2025-01-15T02:30:00Z 服務(wù)order-svc 請(qǐng)求req_88ab2f1 出現(xiàn)KeyError: status比KeyError: status給模型的信號(hào)多得多。反饋處理管線做成一個(gè)獨(dú)立模塊后還可以做一件事給每種反饋類型打標(biāo)簽。比如按編譯錯(cuò)誤單元測(cè)試失敗集成測(cè)試失敗運(yùn)行時(shí)崩潰靜態(tài)分析告警分類。這個(gè)標(biāo)簽會(huì)作為上下文的一部分傳給模型讓它在診斷時(shí)知道當(dāng)前面對(duì)的是什么性質(zhì)的缺陷。3.4 評(píng)價(jià)指標(biāo)與參數(shù)調(diào)整AutoDebug Agent跑起來(lái)之后你得知道它干得好不好。我用的評(píng)價(jià)指標(biāo)有五項(xiàng)修復(fù)成功率驗(yàn)證通過(guò)并完成回歸的patch數(shù)除以嘗試修復(fù)的問(wèn)題總數(shù)平均修復(fù)輪數(shù)每次成功修復(fù)平均跑了多少輪回歸率通過(guò)了目標(biāo)測(cè)試、但讓其他測(cè)試掛掉的patch比例單次修復(fù)耗時(shí)從輸入issue到輸出patch的平均分鐘數(shù)單次修復(fù)成本token消耗量直接關(guān)系成本這幾個(gè)指標(biāo)相互關(guān)聯(lián)。比如壓低了平均修復(fù)輪數(shù)token成本自然下降但也可能提高回歸率追求高修復(fù)成功率就要允許更多輪迭代。我的默認(rèn)參數(shù)是MAX_ATTEMPTS5temperature0.3top_p0.9。temperature太低容易機(jī)械重復(fù)太高容易發(fā)散。還有一個(gè)我觀察到的細(xì)節(jié)模型的診斷質(zhì)量比直接生成patch質(zhì)量更重要。與其讓模型直接給修復(fù)代碼不如先強(qiáng)制它用自然語(yǔ)言描述根因、列出證據(jù)、寫(xiě)出驗(yàn)證計(jì)劃再進(jìn)入代碼生成。這一步相當(dāng)于給模型一個(gè)思考工作區(qū)診斷質(zhì)量上去了后面的patch質(zhì)量會(huì)明顯提升。這也是AutoDebug Agent里Agent部分的核心價(jià)值——它不是一個(gè)單次生成的prompt工具而是有完整推理鏈的執(zhí)行者。4. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄4.1 反饋信號(hào)太弱Agent反復(fù)瞎改這是我遇到最多的失敗模式。Agent第一輪修復(fù)失敗后第二輪給出的patch跟第一輪幾乎一樣說(shuō)明它沒(méi)有得到足以修正判斷的新信息。根因是反饋太稀疏比如日志只寫(xiě)了測(cè)試失敗沒(méi)有具體斷言。排查思路是先看給Agent的反饋里到底有沒(méi)有差異信息。如果Agent已經(jīng)定位到某個(gè)函數(shù)但不知道函數(shù)內(nèi)部實(shí)際執(zhí)行到哪一步可以在反饋里加入traceback的中間層。另一個(gè)有效手段是讓Agent自己加調(diào)試輸出——比如讓它往代碼里插臨時(shí)的print跑一次測(cè)試后再刪掉。這個(gè)方法在實(shí)踐中非常有用相當(dāng)于把調(diào)試這個(gè)動(dòng)作也交給了Agent。但要注意臨時(shí)調(diào)試輸出必須在最終patch里清除干凈。我有一條規(guī)則最終diff里不允許出現(xiàn)print、debugger關(guān)鍵字否則自動(dòng)拒絕。這條規(guī)則把不少看起來(lái)修好了但其實(shí)是靠打印撐著的垃圾補(bǔ)丁擋在了門(mén)外。4.2 上下文塞滿了日志模型開(kāi)始失憶長(zhǎng)日志、大堆棧、多輪工具調(diào)用結(jié)果都會(huì)把上下文塞滿。模型失憶的癥狀是明明前面已經(jīng)定位到文件了后面生成patch時(shí)卻引用了錯(cuò)誤的行號(hào)或者開(kāi)始重復(fù)前面已經(jīng)試過(guò)的失敗方案。應(yīng)對(duì)策略有兩個(gè)方向。第一是壓縮日志超出閾值后讓模型先做一個(gè)日志摘要把幾KB的原始輸出壓縮成關(guān)鍵的幾百字再進(jìn)入下一輪。這個(gè)先總結(jié)再推理的兩階段法效果很好。第二是重構(gòu)上下文結(jié)構(gòu)不要無(wú)限追加對(duì)話歷史而是維護(hù)三個(gè)獨(dú)立槽位——問(wèn)題描述、當(dāng)前診斷結(jié)論、最近一輪反饋。每輪只把這三個(gè)槽位刷新給模型而不是把所有歷史消息全部丟進(jìn)去。這樣上下文長(zhǎng)度可控也符合人調(diào)試時(shí)的認(rèn)知方式。4.3 誤修復(fù)測(cè)試過(guò)了但坑更深了這是AutoDebug Agent最危險(xiǎn)的問(wèn)題——目標(biāo)測(cè)試通過(guò)了但Agent的修改破壞了別的行為或者把一個(gè)表面的斷言修成了更隱蔽的錯(cuò)誤。我遇到過(guò)一個(gè)典型案例一個(gè)函數(shù)原本應(yīng)返回列表Agent改成返回None恰好有個(gè)測(cè)試斷言結(jié)果為空時(shí)返回None于是過(guò)了單測(cè)但整個(gè)模塊的調(diào)用方全炸了。這類問(wèn)題的核心是驗(yàn)證范圍不夠。我的強(qiáng)制方案是目標(biāo)測(cè)試通過(guò)后必須再做兩步。第一步跑當(dāng)前文件所在的整個(gè)測(cè)試文件不只是失敗的那一條第二步有條件的話跑一次完整測(cè)試套件。另外提交前會(huì)要求Agent給出patch的安全自述解釋為什么這個(gè)改動(dòng)是安全的、改動(dòng)影響哪些模塊。這個(gè)自述會(huì)作為人工審查的參考。效果好但會(huì)增加一兩分鐘成本值得。4.4 安全和連接問(wèn)題Agent會(huì)話、超時(shí)那些坑實(shí)操中還會(huì)遇到一類跟Agent本身運(yùn)行環(huán)境有關(guān)的問(wèn)題。比如某些Agent運(yùn)行時(shí)在建立會(huì)話時(shí)會(huì)返回空標(biāo)識(shí)和無(wú)效服務(wù)名的錯(cuò)誤常見(jiàn)原因是服務(wù)端版本與客戶端不匹配、會(huì)話過(guò)期或者網(wǎng)絡(luò)鏈路不穩(wěn)定。這類錯(cuò)誤往往不是Agent邏輯的問(wèn)題而是基礎(chǔ)設(shè)施。我建議做好兩件事一是所有工具調(diào)用都帶超時(shí)和重試二是注意會(huì)話的持久化和恢復(fù)。Agent在中間斷了上下文丟失就只能從頭再來(lái)。給修復(fù)循環(huán)加一個(gè)checkpoint機(jī)制每輪結(jié)束后把上下文快照存下來(lái)重連時(shí)從最近一個(gè)快照恢復(fù)能省大量時(shí)間。沙箱環(huán)境還有一個(gè)容易被忽視的安全點(diǎn)不要給Agent無(wú)限的文件系統(tǒng)權(quán)限。我發(fā)生過(guò)一次Agent好心修改了配置文件的事故。從那以后我在apply_patch工具里強(qiáng)制加了路徑白名單檢查凡目標(biāo)路徑不在倉(cāng)庫(kù)目錄內(nèi)的一律拒絕。這是成本極低的微調(diào)但能擋住很多低級(jí)事故。5. 工具選型與前沿參考站在現(xiàn)有框架和產(chǎn)品上做5.1 主流Agent框架怎么選LangChain、Dify、CrewAI做AutoDebug Agent之前我先研究了一圈現(xiàn)有框架。個(gè)人選型觀如下LangChain生態(tài)最全適合有工程能力、想深度定制的團(tuán)隊(duì)。它的工具調(diào)用、記憶模塊都比較成熟但抽象層偏厚調(diào)試起來(lái)麻煩。尤其當(dāng)你需要精確控制每輪上下文的時(shí)候反而會(huì)被框架束縛。Dify適合快速原型和業(yè)務(wù)側(cè)落地可視化編排讓你不用寫(xiě)太多代碼就能搭一個(gè)Agent工作流。但它的抽象不太適合精細(xì)控制代碼修復(fù)這種高交互、多循環(huán)的任務(wù)。CrewAI擅長(zhǎng)老多Agent協(xié)作比如讓診斷Agent和修復(fù)Agent分工。我試驗(yàn)過(guò)把診斷和修復(fù)拆成兩個(gè)角色效果有一點(diǎn)但開(kāi)銷翻倍收益不大后來(lái)還是合并成一個(gè)完整循環(huán)。我的選擇是用原生function calling寫(xiě)核心循環(huán)必要時(shí)用LangChain的消息模型來(lái)管理歷史但不是整個(gè)流程都套框架。這種半自研的好處是核心邏輯完全可控壞處是需要自己維護(hù)一些邊緣邏輯??紤]到要寫(xiě)的是生產(chǎn)可用的工具可控性比省事重要。5.2 向Codex CLI與Claude Skills學(xué)什么產(chǎn)品化的編碼Agent給AutoDebug Agent提供了很好的設(shè)計(jì)參考。Codex CLI這類工具給我的啟發(fā)是命令行優(yōu)先的交互形態(tài)。它把Agent做成了終端里的一條命令開(kāi)發(fā)者在代碼目錄里就能啟動(dòng)拿到上下文后直接開(kāi)始診斷和修改。AutoDebug Agent也應(yīng)該保持這種最小侵入——不要求把整個(gè)開(kāi)發(fā)流程搬到某個(gè)IDE或平臺(tái)而是作為一條命令、一個(gè)API接入現(xiàn)有工作流。我在實(shí)現(xiàn)時(shí)也選擇了類似的形態(tài)在倉(cāng)庫(kù)根目錄執(zhí)行一條命令A(yù)gent自行讀取git狀態(tài)、定位最近變更、跑測(cè)試、開(kāi)始修復(fù)循環(huán)。Claude Skills的思路更值得研究把技能看作可復(fù)用的、經(jīng)過(guò)驗(yàn)證的能力單元。放到AutoDebug Agent里就是我可以把收集pytest反饋、檢查git歷史、運(yùn)行靜態(tài)分析封裝成獨(dú)立的技能模塊并給每個(gè)技能寫(xiě)清楚適用條件和輸出格式。這樣Agent在遇到特定場(chǎng)景時(shí)能精準(zhǔn)調(diào)用而不是每次都在原始信息里重新摸索。技能化的另一個(gè)好處是可組合、可分享團(tuán)隊(duì)里積累的調(diào)試技能可以沉淀下來(lái)復(fù)用。5.3 輕量自研 vs 大型編排器我的建議如果要給一個(gè)明確的建議我的答案是一開(kāi)始不要先買來(lái)一堆框架先用最原始的function calling把修復(fù)循環(huán)跑通再根據(jù)痛點(diǎn)決定要不要引入更重的抽象。原因很現(xiàn)實(shí)Agent的核心是基于反饋?zhàn)鐾评矶皇蔷幣帕硕嗌賯€(gè)節(jié)點(diǎn)。你拖出10個(gè)節(jié)點(diǎn)但如果每個(gè)節(jié)點(diǎn)喂給模型的信息都是一坨沒(méi)處理的原始日志效果還不如一條精心設(shè)計(jì)的循環(huán)??蚣苣軒湍愎芾磉吘壡闆r但替代不了對(duì)反饋信號(hào)的處理。我自己現(xiàn)在保留了一個(gè)約300行的核心循環(huán)加上一堆針對(duì)不同測(cè)試框架的反饋解析器。它比任何框架都穩(wěn)定因?yàn)樵谀莻€(gè)循環(huán)里我知道每一步在干什么模型看到的每一條反饋我都親手驗(yàn)證過(guò)格式。如果后續(xù)要擴(kuò)展到多倉(cāng)庫(kù)、多Agent協(xié)作再考慮把循環(huán)包裝成服務(wù)接入更完善的編排層不遲。我個(gè)人在實(shí)際項(xiàng)目里最深刻的體會(huì)是AutoDebug Agent這個(gè)東西真正的瓶頸不是模型而是反饋信號(hào)的質(zhì)量和循環(huán)設(shè)計(jì)的穩(wěn)健性。你給Agent喂什么它就修什么你讓它在什么邊界內(nèi)活動(dòng)它就在什么邊界內(nèi)靠譜。我給團(tuán)隊(duì)交付這個(gè)工具的時(shí)候特意把無(wú)法復(fù)現(xiàn)就停下來(lái)問(wèn)人和通過(guò)測(cè)試后必須跑全量回歸寫(xiě)成兩條不可繞過(guò)的規(guī)則。踩過(guò)幾次坑之后這兩條規(guī)則救過(guò)我太多次。如果你也想搞一個(gè)自己的AutoDebug Agent建議從最小的修復(fù)循環(huán)開(kāi)始先把反饋管好技能化封裝跟上再慢慢把邊界往外擴(kuò)。等到你的Agent能穩(wěn)穩(wěn)地修完一批又一批歷史issue并且在修完的同時(shí)沒(méi)有引入新的坑你會(huì)覺(jué)得這幾十個(gè)小時(shí)的折騰值了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
四虎视频在线观看| 久久嫩草国产成人一区| 亚洲男人天堂2012| 99操| 国产精品一区二区久久精品| 天堂九九九九九九九九九| 粉嫩AV输入| 男人在线天堂| 一区二区三区精品黑丝白丝酒店对鸡 | 麻豆乱码久久精| 91欧美色| 欧美刺激色黄片免费看| 春色综合免费| 久草视频分类在线| 91高清日| 殴美大黄片| 国产偷人妻精品一区二区在线| 女人久久久| 志村玲子视频一区二区| 色悠久| 熟女乱伦二区| 亚洲Av诱惑| 图片区小说区| 96超碰网| 欧美性爱97超碰| 日日骚一区二区三区| 日韩性爱免费视频在线网站| 99∨VTV| 一本一道久久综合久久| 九九在线视频| 日本阿v天堂在线观看| 欧美国产日韩清纯唯美| 97欧美精品| 超碰av人人人| 影音先锋日本一区二区| 又黄又粗又硬又长又大| 中文字幕日韩电影人妻| 久草精品一区| 亚洲av影音先锋| 精品九九九九九九九九九| 男人的天堂午夜av| 91天美传媒在线观看| 色五天伊人| 大香蕉伊在线久草麻豆天堂故事| 日韩人成网站在线播放| 日韩AV噜噜噜一区二区三区四区| 麻豆AV短剧| 黄色大片免费在线| 国产精品色| 91|九色|国产熟女| a片久久久久久久久久久久| 九九九午夜| 高清无码久操视频| 久久久性少妇| 欧美久久九九| 九月丁香| 亚洲av综合色| 春色91| 啪啪视频mP4| 大香蕉92| av天天在线观看| 欧美天天综合网版| 日韩综合97P| 婷婷激情五月综合| 26uuu国产亚洲综合| 欧美国产操逼| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 大香蕉专区| 伊人久久亚洲色欲综合网站 | 天堂性色| 亚洲综合一| 超碰人妻在线| 玖玖玖玖精品国产剧情| A级在线视频| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 男人的天堂色偷偷青青草视频婷婷网| 黑人综合网| 日韩欧美中文字| 98超碰欧美| 欧美日韩第一页| 欧美色色色| 欧美精品成人亚洲| 黑人性欧美| 国产传媒午夜理伦精品| 亚洲情色在线| av天堂电影网| 蜜桃精品一区二区三区ww| 欧美精品,四区。五区| 亚洲丝袜99| 97频视在线| 99热销国产这里有精品| 久久伊人亚洲AV无码网站| 少妇干B| 色色激情| 久操九九九九| 人妻素股| 国产精品露脸在线观看| 综合一区中亚洲国产成人综合精品 | 精品久久視頻在线| yazhouzaixian| 日韩免费在线观看不卡| 日韩在线观看字幕精品| 久久久久久久久久久久久久久性生活视频 | 欧美五区| 91亚洲人| 日韩精品一区二区三区色欲| 国产乱码精品久久久久久| 91国产丝袜白虎| 亚洲AV成人无码一二三久久| AV天堂丝袜| 国产超碰欧美| 亚洲成人一区二区精品| 神马午夜久久久| 加勒比海人人操超碰在线| 777超碰| 欧美强奸乱能| 日日夜夜噜| 极品销魂美女一区二区| 无码一区二区三区四区五区六区七区八区九区十区视频 | 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 男人的天堂一区三区| 中文字幕啊啊啊在线观看视频| 做爱福利视频一区二区| 乱伦熟女专区| 亚洲综合九| 亚洲狠| 色婷婷色99国产综合精品| 四虎视频在线观看| 精品一区二区成人| KK色在线影院| 欧美精品999| 精品久久久久成人码免| 二色av| 亚洲好色人妻| 亚洲图片欧洲图片aⅴ| 久操视频免费在线观看| 亚洲中文国际强奸字幕| 91亚洲在线| 五月天偷拍| 亚洲欧美不卡线| 淮穴色AV| 老熟女乱伦一区| 99.色网| 91精品国产91久久青草| 96AV久久久| 亚洲婷婷综合网| 亚洲中字幕日本一区二区三区 | 夫妻AV网站| 曰韩av中文字幕专区| 91热热色| 亚洲男人bt天堂| 男女无套 免费网站| www.97在线| 男人在线天堂| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 一牛影视久久久一区二区三区| 中国特猛少妇色xxx| 在线黄页看毛片| 12一15性XXXX粉嫩国产| 乱老熟女一区二区三区| 人摸人人操人| 天天看特黄的免费网站| 精品久久久高清无码| 艳美熟妇先锋一二三区| 色999人与兽| 欧美天天综合网| 欧美在线伊人色| 久久久久网站-538在线视频-欧美永久乱码| 欧美 精品国产制服第一页| 91性高| 国产18精品亚洲精品| 97久久久久| 日欧美色| 毛片中心9视频99| 美女久久久| 亚洲自拍一区夜夜操| 激情看片网站| 国产高清无码一区三区二区| 噜噜噜噜天天狠狠| 男人的天堂久久狠| 婷婷激情一区二区三区俺也去| 人妻aa| 国产曰批免费观看久久久| 精品人妻一区二区三区四区不卡在| 97一本大道亚洲一区| 夜夜操二区| 操一区| 91艹B视频| 9色国产精品一区粉嫩| 91精品操美女| 久久综合av| 九九热在线精品视频| 精品一区二区啪啪啪| 久久久婷| 亚洲成人免费电影| 一区在线国产播放| 激情视屏国产乱伦强奸| 精品成人动漫一区二区| 国产毛片久久久久久久| 成人自拍三级在线观看| 91啦人妻| 欧美大香蕉同搞| 又大又长又粗又爽又黄| 特级特黄一级毛片免费| 乱伦图一区| 综合av社区| 国产无码精品成人| 91影库| 中文字幕国产| 亚州操逼图| 中文字幕精品一区二区精| 日欧操屄| 狠狠综合| 激情文学 国产一二三aV| 国产精品乱人伊人网| 91丝袜美腿网站| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 国产日韩在线播放av| 不卡av免费在线网址| 蜜臀一区二区三区在线 | 婷婷五月天成人网| 欧美日韩资源在线| 好爽免费视频,| 欧美综合 站| 97超色| 男生通女生屁股| 精品人妻av区天天看片| 精品无码欧美三级| 激情五月天色色网| 日韩熟女精品无码专区一区二区| 97爱爱影院| 最新9久久久9免费视频| 综合少妇网| 日本媚薬中文字幕在线| 以及麻豆国产入口在线观看免费| 日韩成人性爱AV| 亚洲天堂无码| 国产精品女同| 中文字幕一区二区三区蜜桃视频| 精品天堂| 日韩av在线免费网站| 久久婷五月天| 日本蜜桃| 国产精品九九九| 乱论91| 丁香五月成人| 校园春色中文字幕AV| 欧美综合1性辶| 国产亚洲日韩在线三区黑人| 开心激情站| 美欧老女人97| 熟女人妻精品一区二区视频 | 伊人国产视频| 不卡二三区人妻少妇| 色婷婷在线视频精品导航| 99色骚| 熟妇色99| 国产动漫操逼视频| 情色五月天就去干| 综合在线导航一区| 91成人在线| 精精品人妻一区二区三区| 17c在线成人免费A片观看| 日本色色色| 97久久久精品| 玖玖爱在线视频免费观看| 欧美啪啪女女| 先锋色眉乱伦资源| 四虎午夜影院| 中文字幕精品区先锋资源| 五月天色电影| 黄色小说亚洲| 欧美呦呦性爱| 欧美另类自拍| 中文字幕一区二区日韩网| 久久久久9999| Aa东京男人的天堂| 日韩AV无码中文一区二区| 久久九九一区二区三区成人| 国产视频三区四区| 五十路一区无码| 色色99| 中文字幕免费在线观看| 日韩,欧美,中文在线| 91真人天天在线| 国产亚洲精品一区二区三区| 大香蕉十区| 日韩成年人性爱视频| 人人操av| 免费家庭乱伦视频| 亚洲av热热色| 国产精品点击进入在线影院| 日韩中文字幕2020| 加勒比久久综合网高清| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 国产人伦精品一区二区三区| 影音先锋视频在线| 成人a v在线播放免费| 日本顶级天天操狠狠操夜夜操中文字幕| 国产强奸无码乱伦| 自拍丝袜美腿人妻| 中文字幕乱码人妻二区三区| 国产精品久久久久久久免牛肉蒲团| 少妇高潮流水av免费| 丝袜天堂| 久久亚洲AV成人精品无码| 91九九九吃| 亚洲成人美女无吗| 风韵犹存大大大大香蕉 | 免费av高清无码| 久久超碰免费的| 中文色综合| 午夜天堂精品久久| 美女极品一区二区三区| 国产精品一区二区麻豆| 精品妇女一区二区三区| 无遮挡又黄又刺激的视频| 亚洲 图片 欧美 色图| 影音先锋新男人| 亚洲清纯唯美| 色欧美天天| 日韩一区二区精彩视频| 欧洲亚洲综合| 久偷拍| 国产AV高清AV无码| 97综合网| 天美av在线| 欧美超碰9798| 乱伦日本色图AⅤ| 蜜桃久久一区二区| 一本色道久久综合熟妇| 亚洲色人妻综合| 黄色一区二区秘书性感| 亚州男人天堂| 精品少妇人妻| 国产女同性恋视频| 亚洲熟妇自偷自拍另欧美| 视频一区二区免费在线| 无码外流操逼视频| 麻豆色约约| 日本精品五区| 国产女人和拘做爰视频 | 91男女啊啊啊| 国产精品女久久久久av爽| 欧美性爱一区二区三区| 日本精品性生活久久久| 中亚精品极乱| 黄色小视频日本txt| 男人天堂东京热| 蜜臀th| 尤物av网站| 亚洲欧美中文日韩视频中国语| 国产精品不卡一区二区三区av| 2003天天干夜夜操| 97AV在线免费观看| 熟女自慰久久久| 麻豆人妻精品一区二区| 日韩无码专区| 国产亚洲精品美女久久久m| 欧美不卡在线一区二区| 夫妻天天操岛国视频| 91久热| 99热8| 大香蕉国产中文自拍| 久久久无码国精品无码三区三区| 成人日本视频人妻在线| 日美免费黄片| 日韩性爱电影一区| 东京热男人的天堂精品| 国产欧美精选自拍一区| 可以在线观看的黄色网址| 日本操逼aaaaa| www.亚洲黄色| 国产亚洲日韩欧| 欧差乱伦二三| 亚洲无无码αⅴ每日更新| 水多多映视AV| 国产中文字幕在线点播| 综合伊人激情| 中文字幕一二区二三区人妻专区| 日本成人A片网站| 特级特黄一级毛片免费| 日本无码1| 天天躁日日躁xxxxx| 综合国产影视三级| 国产人妖视频一区在线观看| 日韩欧美综合激情| 日韩欧美亚洲一区二区三区影院| 自拍鲍鱼一区在线高清观看免费| 亚洲色诱惑| 久久女婷| 日本午夜福利视频| 精品无码一二三四区| 色哟哟1区2区| 天天综合欧美黑人| 热99这里有精品综合久久| 97久久网| 人妻 中文 日韩| A片 AV一级在线播放观看免费| 色综合网1| 99久久99久久综合| 美女裸体麻豆天美蜜桃91| 超碰综合色| 日本不卡免费二区| 黄页av| 国产9 9在线 | 亚洲| 亚洲字幕一区二区| AV九九| 91国产大片| 欧美日韩国产色五月综合在线| 丰满人妻一区二区三区四区| 午夜福利一区二区影院| 粉嫩不卡一区二区性爱| 麻豆久久视频在线地址| 精国久久一区二区三区98| 欲色综合| 欧美第五页| 久久久久久少妇| 日韩无码专区| 天天日B夜夜干B时时操B| 国产精品不卡av免费在线观看| 91爱欧美| 国内成人圈中文字幕无码视频| 好好的日:com久久九九| 精品人妻一区二区三区-国产| av天堂5| 91小视频| 亚洲免费人妻在| 国产精品999zyz| 91艹B视频| 欧美日韩操操操| 做爱A级亚欧| 夜夜天天噜狠狠爱2021| 精品毛片久久久精品毛片| 国产精品欧美日韩久久| 国产精品熟女九色九色蜜臀| av绯色| 欧美精品999| 欧美亚洲丝袜人妻制服99| 精品国产乱码久久久久久久久1 | 操逼1区| 亚洲成?V人片在线观看福利| 色色色色网站| 91久久国产综合久久| 免费超碰97久久| 久久久久久久国产视频| 97一区二区三区视频| 亚洲黄日韩无码专区| 欧美日本不卡| 亚洲天堂久久久久久粉红视频| 亚洲se91| 最新的亚洲无吗| 91N综合网在线| 久久九九97| 日韩人妻有码免费视频| 久久激情网| 吉川爱美亚洲二区在线| 精品一级| a级理论午夜日本| 精品久久久av| 日韩99999| 国产精品嫩草影院免费| 亚洲欧美一区二区三区在钱蜜桃 | 91丝袜美女| 欧美色图99| 日本熟女免费視颖| 嗯阿好爽好紧| A级在线视频| 久操婷婷| 狠狠爱大香蕉| 九九在线视频| 国产人妻久久精品一区二区三区| 国产精品免费视频人成| 91视频综合在线| 嗯啊抽插大香蕉网页| 亚州久久9| 欧美传媒| 天天超级碰碰碰| 中文精品一区二去| 97免费视频在线观看视频| 日韩性爱视频在线免费观看| 日韩精品99久久久久久中文字幕 | 美骚妇av高清在线| 亚洲国产ⅴ高清在线观看| 久久色激情一区二区三区| 极品国产内射| 欧美久久婷婷| 欧美成人一区二区三区在线播放| 91超碰碰在线| 丁香六月婷婷久久综合| 91GD.COM| 亚洲成成熟女人综合一区二区| 久久性视频| 日韩簧片免费看| 欧洲综合色| 亚洲男人的天堂亚洲| 热99这里有精品综合久久 | 97色操| 中文高清一区二区的| 久久久久久久强迫| 久久久久国产精品人妻aⅴ天堂| 色婷婷五月综合激情中文字幕| 国产成人精品网站| 成人老鸭窝人人在线视频| 中日韩熟女| 亚洲欧洲激情卡通另类文学四射小说网站 | 高凊专区人人操| 欧美性爱日韩性爱| 久久东京热久久| 999熟女精品| 日本在线不卡123| aaaa少妇高潮大片| 呦呦影院| 99人妻| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 午夜精品久久久久| 99热这里只有精品8| 国产一区在线观看无码AV| 啊v在线观看视频| 香蕉色网| 久久久精品久久| 超碰九九| 亚州色图片在线色| 中文字幕乱妇免费视频| 伊人网综合在线视频| 欧美v日韩v亚洲v最新在线| 亚洲精品国产熟女久久久| 2019天天操天天爽天天拍| 97视频900| 日本肉体xxxx裸交| 亚洲欧美国产其他二区| 久干9操| a v网站在线播放| 在线欧美69V免费观看视频| 欧美一区二区男人天堂| 国产精品噜噜噜日日日| 久久久久久久9| 91网站18禁| 精品人妻一区二区免费看| 青青操视频在线| 久久9精品网站| 亚洲熟妇综合久久久久久| 欧美日韩97在线| 久草老司机| 日本韩国五十路六十路七十路老熟女作爱视频网站 | www…国产操逼| 色综合五月天| 亚洲另类久操网| 91色五月俺来也| 男人精品天堂一区| 久操免费观看| 国产成人自拍视频视频| 成人性爱美曰韩| 婷婷中文字幕| 久久久久久中文版| 成人片视频| 快灬快灬 一下爽蜜桃在线观看| 97在线看| 爱做久久久久久| 第二页中文字幕| 中文字幕性感少妇av| 亚洲丝袜二区| x97av| 欧美一级A一级a爱片久久| 秋霞一集毛片观看| 色999五月色| 精品小视频在线| 夜夜骑日日| 操我啊啊啊啊啊| 国产夫妻性生活视频| 国产精品探花色| 防屏蔽在线视频| 青青草华人在线欧美在线| 天天干天天舔| av在线人气 | 大粗鳼巴久久久久| 一区二区三区四区免费视频| 婷婷精品国产一区二区三区日韩| 亚洲图片欧美色图| 在现视频女上位好爽| 日韩精品三级| 偷拍伦理视频| 少妇久久久久久久| 青青草吊丝| 亚洲伊人久久综合97| 青草av在线| 麻豆蜜桃视频在线观看| 亚洲国产综合视频| 97蜜桃综合| 99操| 中文字幕熟女人妻丝袜| 欧美成va视频网站| 欧美熟妇精品黑人巨大91| 国产免费一区在线观看| 999精品乱码| 天天综合网国产| 亚洲欧洲日本精品中文a∨| 日日干日日操五月天伦理视频| 在线97视频| 日本不卡二三区| 久久一区二区三区入口| 日日摸天天爽夜夜欢| 青草青青久久久久久国产| 中文字幕在线观| 夜夜狼人妻| 综合 欧美 亚洲 日本| 欧美韩日精品99综合| 蜜臀久久99精品久久久老,,| 黄色片A级一区二区三区| 亚洲天堂日本| 爱爱动态120秒| 国产精品亚洲无码| 先锋女优在线观看视频| 久久精品毛片免费不卡| 91欧美www| 亚洲性猛交| 日韩情色视频| 欧美色日本| 日韩人妻操B| 岛国大片国产| 绯色AV粉色AV蜜臀AV| 国产精品久久久鸭无码的功能| 超碰2017| 青青草中文字幕| 免费观看一区| 99亚洲人人| 九九成人精品| 天天干天天日天天射黄色| 亚洲成A∨人影院在线欢看| 98人妻精品一区二区色欲| 毛片99-全集电影手机免费观看完整-B029AV | 四虎影视永久在线观看精品免费网站| 日日干日日操五月天伦理视频| 丁香六月啪啪| 99热精品在线观看| 有码人妻系列| 人妻乱仑一区二区三区| 在线观看免费视频国产| 亚洲性爱成人| 日韩簧片免费看| 久九9精品| 久久国色天香香蕉| 大香蕉伊利av| 97硬碰| 国产夜夜艹| 最新av在线| 人妻少妇精品久久久| 裸体1区| 日韩干B| 东京热男人天堂| 老熟女乱伦片| 欧美午夜一区二区三区| 欧洲色| 一区中文字幕二区日韩| 人人澡人人弄| 亚洲图片欧美偷拍| 乱伦熟女专区| 精品久久99| 九九九久千久久激情蜜桃在线看| 殴洲老熟女| 九九九偷拍| 人妻啊啊人妻啊啊| 亚洲成人色情五月天丁香花| 啊啊啊轻点在线观看| 久久久新亚洲AV| 91快色色色色色| 国产欧美美女免费观看视频| 精品96久久| 天天综合网在线观看| 美國A片| 精品乱子一区二区三区99| 熟女高潮精品一区二区| 国产操逼视频在线观看| 国产剧情一区在线观看| 91网站18+| 欧美综合娱乐久久| 精品超碰色| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 97在线观看免费视频l| 997色在线| 欧美另类综合久久| 久插综合| 欧美性爱综合,免费| 久久久久久九九九九-美女久久久久久久-成人AV| 男人把坤坤插入女人的下体| 国产91亚洲精品一区二区三区| 开心五月深爱五月| 夜夜高潮夜夜爽夜夜爱爱一区| 欧美日本中字另类在线| 久久久久久久久久久久黄色| 大香蕉综合网| 日韩女优中文字幕| 日本操逼视频在线| 大香蕉十区| 色欲三区| 日本天天干天天日一区| 欧美人妻久久精品二区三区| 久久精品女同亚洲女同13| 人人操人人叉人人插人人| 亚洲高清男人天堂| 丝袜美腿诱惑亚洲欧美视频在线观看 | 蜜臀99久久精品| 免费av在线播放二区| 超碰欧美COM| 欧美日韩在线小说 | 偷拍综合亚洲| 国产人伦精品一区二区三区| 9久久精品| 性爱Av免费| av影片在线观看不卡| 91色人| 久久国99999| 日韩人体偷拍| 成人av免费观看| 欧洲精品久久| 精品久久久久黄少妇| 99久久九九| 日韩少妇一区二区三区| 日本黄色大片一级视频免费麻豆| 超碰在线一区二区三区| 校园春色美腿丝袜 | 国产h小视频在线观看免费| 亚洲图片视频小说| 一二视频神马久久传媒| 九九九九免费高| 精品一久久久| 日韩三级在线观看mp4| 丁香五月天婷婷姐| 亚洲有码 欧美精品| 婷婷激情四射| 激情六月天| 啪啪91| 欧美综合第一页| 美女上床网站| 天天日美女的B| 欧美在线色| 亚洲性少妇| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 最近2019中文字幕国语免费版 | 国产久久男人天堂| 99爱爱| 校园春色欧美| 啊啊啊啊啊舒服| 欧美骚少妇| 日韩BBN| 日韩无码第3页| 性色综合网| 99re免费| 久久久精品91八戒| 欧美色视频在线| 黄色免费网页无码| 极品尤物在线观看| 黄污污污污| 毛片视频白嫩| 亚洲91网站| 亚洲激情深爱文学小说网站| 亚洲色图 91| 1区2区3区视频| 国产精品白丝在线播放| 操迟操逼在巾线Fre看| 国产激情av女片自拍| 日本99热| 97人亚洲综合字幕| 日本精品九九九| 97资源亚洲| 手机午夜电影神马久久| 一级特级aaaa毛片免费观看| 婷婷在线视频| 丝袜天堂| 97色欧洲| 国产精品高清2021在线| 青娱乐久久艹| 嗯嗯啊操我| 啊啊啊啊操死我了| 欧美色图20P| 精品人妻1区| 国产成人久久久精品免费AV| 久久精品免费| 国产熟女自拍| 亚洲无码视频免费在线观看网址!| 中文字幕国产| 中亚av| 亚洲日韩熟女人妻高清在线| 亚洲成成熟女人综合一区二区| 久久水蜜臀亚洲AV无码精品| 久久精品女同亚洲女同13| 天天综合网网欲色| hd成人一区二区在线| 国产久久久9999| 欧美九一精品久久久熟妇| 女性91网站| 亚洲欧美日韩精品久久久一区二区 | 青青草视频爽一爽| 亚洲色欧| 国产欧美精选自拍一区| 嗯嗯嗯好爽| 亚洲图片偷拍欧美| 久久中文字幕一区不卡| 五月丁香啪啪啪| 男人的天堂久久狠| 无码高清操逼网址| 啊啊啊操一区| 亚洲精品九九九九九九| 青娱乐欧美激情一区二区| 精品超碰中文在线| 久久综合五月天| 玖玖综合.com| 无码一区免费在线不卡| 亚洲欧美国产中文字幕| 一线黄色免费性爱片| 欧美久久人体| 欧美乱色| 日韩欧美成人午夜福利| 丝袜美腿诱惑亚洲欧美视频在线观看 | 无码视频黄色网战| 亚洲天天影视综合网| 黄色大片视频在线免费看| 99热国产| 97人妻人人躁人人玩人人| 九月丁香婷婷色| 美女淫穴| 亚洲97成人在线观看| 欧美黑人猛交春色影视大全| 色吊丝 日日骚 清纯唯美| 1024人妻熟女一区二区三区| 素人无码中文字幕| 一区二区三区高清天码| 97久久精品国产| 秋霞操逼片| wwe 天天干.com| 91免费看一区二区三区| 啊啊啊啊啊在线观看网址 | 艾草av| 日韩精品字幕| 亚洲欧美性生活| 极品欧美一区二区三区| 校园春色综合色| 日本性交操一区二区不卡系列| 色香阁在线| 亚洲无码com| 欧美午夜色妇色鬼| 国产一区二区在线播放量| 国产男女无套97| 在线观看免费视频国产| 欧洲大香蕉| 欧美亚洲中文字幕| JuliaAnnXXX888| 欧美男人一区| 日韩国产精品人妻无码久久久| 欧美最婬乱婬爆婬性视频| 亚洲在线网站| 校园春色中文字幕AV| 日韩欧美俄罗斯A片| 熟妇女伦乱视频视频| 五月丁香综合激情| 一二三区操逼国产91| 色色99| 黄片无码在线制服| 春色综合网| 久久亚洲不卡一区二区三区| 亚洲精品无码久久AV| 亚洲精品97p| 综合网,亚洲,欧美| 高清一区AV无码| 高清无码国产亚洲| 福利视频网站| 久久久久78| 97香蕉碰碰人妻国产欧美| 天美传媒AV在线| 久久久不卡区一区二区三区久久久| 免费簧片在线观看| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 97久久精品亚洲中六字幕| 伊人久久综合精品欧美| 男人的天堂视频精品乱在线| 国产白领连续中出在线观看| 波多野结衣先锋影音| 91热热色| 白丝少妇一区二区| 一起草av| 国产精品无码久久久久2025| 99少妇| 久久综合超碰| 夜夜操二区| 艹精品| 亚洲在线欧美| 91n.欧美| 啊啊啊不要啊啊受不了了视频在线 | 免费看日产一区二区三区| 永久电影三级在线观看| 亚洲国产福利视频| 中文字幕版| 日本综合色图| 可能人人看人人摸| 91中出| 婷婷性网| 国产99999久久精品| 麻豆国产原创AV色哟哟| 色吧综合网| 亚洲成?V人片在线观看福利| 人人妻碰人人免费| 九九九九精| 正宗无毛一线天嫩逼| 黑人精品久久97| 久久亚洲天天做| 欧美不卡在线美女| 婷婷导航| 大香蕉综合| 最近2019中文字幕国语免费版| 亚洲国产精品V?在线播放| 91亚洲欧美激情| 人人操超碰在线| Julia Annxxxxx| 亚洲和欧美裸体美女双飞视频| 青娱乐亚洲热| 欧美1727免费观看视频| 亚洲色综合| 欧美视频边做饭边橾| 岛国视频一二三区| 久久久久久人妻一区精品色欧美| 国产一区二区二区按摩精品啪视频| 中出20p| 91精品国| 97在线播放 | 8050无码八戒| 日韩三级天堂在线观看| 久久精品国产亚洲AV无码做| 欧美日韩国产另类综合| 亚洲国产精品成人综合| 三男一女不戴套的A片| 日韩福利电影网| 日韩成人无码| 无码精品久久久久久亚洲| 欧美大片91| 亚洲中文字幕熟女| 无码一区免费在线不卡| 色欲久久久久综合网| 日韩av在线精品观看| 中文字幕在线免费观看2| 国产综合色精品在线观看| 人妻一区二区三区四区视频| 国产精品白领在线观看| 人人操人人干xxx| 亚洲图片色图欧美另类 | 91亚洲欧美综合高清在线| 亚洲第一男人天堂| 亚洲人妻AV| 欧美—性—交—色| 亚洲美女精品九九视频| 国产精品福利视频| 色网站导航大全| 国内精品久久人妻性色av| 日韩精品碰碰| 日本在线视频导航| 五月丁香六月| 一区二区三区日韩欧美| 亚洲 另类 丝袜 自拍 动漫| 日韩人人精品| 另类欧美色| 成人午夜高潮av猛片| 中日亚韩免费视频| 日本在线不卡一二区| 日本熟妇熟色97一本在线观看| av在线人气| 国产乱子伦一区二区三区免看| 日本高清视频在线观看黄已三辽| 日韩有码专区| 精品成人无码| 色综合久| 天天看人人操屄犊摸阴| 精品女同一区| 日本阿v天堂在线观看| 中国zzijzzijzzwww精品| 韩国一级做A片免费的| 亚洲天堂性爱| 黄色一区三区| 嗯嗯嗯啊啊啊在线免费观看| 亚洲美女 晚间男人天堂| 亚洲综合伊人无码久久| 天堂69亚洲精品中文字| 欧美日韩第一页| 欧美老妇女内射网址| 1204人成网站色www| 亚洲伊人久久综合97| 国产亚洲日本精品在线| 97超碰69| 国产丝袜一区二区三区| 欧美性爱精品七区| 色婷五月| 欧洲精品人妻| 中文字幕三四区| 黄片在线免费在线观看| 91夜夜蜜桃臀1区2区3区| 操熟女91| 少妇高潮对白在线观看| 色狠狠综合噜一二三区| julia国产在线| 韩日性爱av| 天天综和| 日本一二区不卡| 国模吧 一区二区三区| 亚洲少妇色图自慰直播| 91超碰在线| 狠狠狠狠狠狠| 欧美久久人体| 亚洲国产精品无码AV在线| 天堂日本亚洲欧美| 日本色日夜干| 丁香五月影院| 欧美爱国产综合、| 国产AV激情无码久久无码 | 粉嫩久久久久| 国产极品粉嫩馒头一线天av| 丁香五月天啪啪| 后入福利| 黄色一级视| 啊啊啊久久久视频| 岛国黄| 91天天爱| 国产高清精品一区二区三区毛片 | 亚洲色性| 免费观看啪视频| 夫妻AV网站| 亚洲一本色道中文无码aV天美| 国产十八禁视频| 国产a片操逼| 黑丝日韩av丝袜av| 成人一道本免费视频| 国产精品国产自产拍高清AV| 亚洲国产熟妇综合色专区| 丁香五月婷婷五月| 深夜国产福利| 亚洲男人天堂2019| 精…码一二三区| www.狠狠干.coom| 精品午夜福利| 天堂av2019| 不卡av免费在线网址| 亚洲人在线| 不卡中文字幕aⅴ在线| 国产农村妇女精品1区二区| 亚洲AV麻豆Aⅴ无码电影一| 亚洲另类色图片| 国产美女自拍AV| 欧美激情色婷婷花野真衣一区二区 | 国产在线76页| 天天看天天日| 亚洲精品 超碰| 性色生活片久久毛片婬片免费放女人一级毛片 | 中文字幕精品久久久久人妻红杏ⅰ| 日本成人A片网站| 欧美91久久久久| 少妇滛荡视频| 偷拍 亚洲 欧美| 欧美亚洲20p| 精品亚洲国产成人av网站| 久久久99999久网站| 久久久av爱| 欧美性爱五月天| 黑人在线91| 一牛影视久久久一区二区三区| 亚洲欧洲av影音| 91天射| 日本色婷婷| 熟女精品一区二区三区| 热久日综合| 久久久久国产一区二| 岛国片国产成人亚洲播放| 岛国激情视频软件| 999狠狠综合| 亚洲高清无毛一区二区| 97免费视频在线观看视频| 亚洲1区| 国产第12页| 我爱操| 亚洲情色一区三区| 久久精品国产免费观看99| 日本精品五区| 久久一区二区加油站| 小泽玛利亚一二三| 欧美性爱日韩性爱| www亚洲欧美| 亚洲性少妇| 加勒比无码一区二区三区| 欧美综合娱乐久久| 色逼综合| 爱妻综合网| 91在线综合网| av婷婷色婷婷色六月| 中文乱码字字幕在线第5页| 香蕉大久久久| 四虎 精品 WWW| 亚洲AV无码国产精品久久久久 | 久久a久久| 91精品人妻电影| 91丨人妻丨国产丨丝袜| 欧美熟女逼久久久久久| 毛片17S| 丁香六月啪啪| 亚洲国产一级精品毛一级精品看免费视频 | 青草草免费网站av| 九九九九九精品| 97超色| 激情终合网| 嗯啊啊啊轻点视频| 99久久久久| 粉嫩av在线一区二区| 亚洲欧洲中文日韩女优乱码| 四季av一区二区凹凸精品小说| 另类图片天天影视| 乱操9999| 亚爽爽爽爽爽爽爽爽| 日韩97视频!在线| 日日干日日| a在线视频免费观看| 亚洲精品一卡二卡三卡福利视频网站| 亚洲性猛交| 欧美性爱精品一区二区| 久久久久久久伊人精品| 亚洲婷婷丁香在线| 少妇三p| 国产午夜福利合集| 啊啊啊啊好大好硬啊啊啊啊啊 | 91亚洲人| 国产9熟妇视频网站| 天操天操夜操夜月操月年年操操| 亚洲色香| 欧美日本天堂| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 亚洲图片欧美日韩| 加勒比无码一区二区三区| 婷婷激情四射| 狼人久草| 国产欧美一区激情交| 欧美在线播放aaaa| 人人人干干人人干| 麻豆2区1区天美| 婷婷五月天丁香花| 色婷婷久久| 99亚洲天堂| 色色无码| 国产精品交换一区二区| caorenqi shipin| 久久午夜伦| 九九视品黄色| 国产天天骚| 欧亚久久偷拍视频| 欧美亚洲se91| 亚洲九九爱| 超碰4A| 加勒比海人人操超碰在线| 色图综合| 26uuu久久| 色天使亚洲综合在线观看| 中文字幕亚洲永久精品| 亚洲砖码砖专无区2023| av资源在线播放天堂| 98一区二区精品| 日本丝袜美腿人妻九九|