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

ARTICLE DETAIL

資訊詳情

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

用Agent給AI芯片軟件棧繪制可導(dǎo)航的全棧地圖

用Agent給AI芯片軟件棧繪制可導(dǎo)航的全棧地圖 做AI芯片的朋友基本都有同感硬件一旦點(diǎn)亮真正的長跑才開始。一塊芯片從流片回來到能跑出像樣的性能中間隔著一整套軟件?!?qū)動(dòng)、運(yùn)行時(shí)、編譯器、算子庫、框架適配、性能工具每一層都是人堆出來的。最難受的不是哪一層難寫而是整個(gè)棧太龐大、太分散團(tuán)隊(duì)里沒有一個(gè)人能講清楚“全貌”。這篇文章是系列的第2篇主題就是用Agent給一塊AI芯片畫一張“全棧軟件地圖”把所有零散的技術(shù)文檔、源碼倉庫、編譯腳本、依賴關(guān)系變成一張可導(dǎo)航、可檢索、可持續(xù)更新的結(jié)構(gòu)化圖譜。我最近用這個(gè)思路整理了一個(gè)項(xiàng)目里的AI加速卡軟件棧效果比預(yù)期好不少。這篇文章就把完整的方法、工作流、代碼示例和我踩過的坑都寫出來。適合正在做AI芯片軟件棧、維護(hù)異構(gòu)計(jì)算平臺(tái)或者想用Agent做技術(shù)知識(shí)庫建設(shè)的人參考。1. 先搞清楚AI芯片的全棧軟件到底分幾層1.1 六層軟件棧每一層都不能缺做芯片軟件的地圖第一步不是急著寫代碼而是先定義分層標(biāo)準(zhǔn)。我實(shí)際梳理下來AI芯片的軟件??梢苑€(wěn)定地劃分成六層幾乎適配所有面向深度學(xué)習(xí)加速的處理器L0 硬件抽象層寄存器映射、DMA通道、片上緩存、SRAM分區(qū)、多核間中斷這層直接對(duì)著硬件文檔寫。L1 固件與驅(qū)動(dòng)層Boot ROM、固件升級(jí)、內(nèi)核態(tài)驅(qū)動(dòng)KMD、用戶態(tài)驅(qū)動(dòng)UMD、設(shè)備初始化、中斷處理。L2 運(yùn)行時(shí)與資源管理層context管理、內(nèi)存池分配、stream/隊(duì)列調(diào)度、同步原語、資源隔離。L3 編譯與算子層基于LLVM/MLIR的編譯器、Triton/TVM這類編譯調(diào)度框架、手寫算子庫和cuDNN類似物。L4 框架適配層PyTorch的后端擴(kuò)展、ONNX Runtime執(zhí)行器、TensorFlow插件、量化推理引擎、GGML這類輕量推理框架的適配。L5 工具鏈與生態(tài)層性能分析器profiler、調(diào)試器、模型轉(zhuǎn)換工具、鏡像燒錄工具、CI測(cè)試框架。這張表不是我拍腦袋定的而是參考了當(dāng)前主流AI芯片軟件棧的共同結(jié)構(gòu)。無論芯片走GPGPU路線還是ASIC路線最終都會(huì)收斂到這六層只是每層的厚度和實(shí)現(xiàn)方式不同。有了分層標(biāo)準(zhǔn)整張地圖就有了骨架。Agent后續(xù)的所有工作本質(zhì)上就是把這六層填上具體的模塊名、文件路徑和依賴關(guān)系所以這個(gè)標(biāo)準(zhǔn)必須在一開始就定清楚否則后續(xù)各個(gè)環(huán)節(jié)都會(huì)亂。1.2 沒有地圖的時(shí)候團(tuán)隊(duì)是怎么受苦的我見過太多團(tuán)隊(duì)在這種軟件棧里掙扎核心痛點(diǎn)其實(shí)就三個(gè)。第一新人上手周期極長。一個(gè)新同事分到編譯器組想看一個(gè)算子schedule是怎么注冊(cè)進(jìn)后端的他得自己從Git倉庫里翻出來然后順著代碼一層層往上看至少要一兩個(gè)月才能真正搞清楚周邊模塊的關(guān)系。沒有人能給他一張帶依賴關(guān)系的全圖。第二問題定位靠人肉搜索。線上跑模型推理變慢了大概率是算子走錯(cuò)了路徑但究竟是驅(qū)動(dòng)層沒選對(duì)內(nèi)存池還是runtime沒有走異步復(fù)制還是算子庫的kernel只實(shí)現(xiàn)了naive版本這個(gè)排查過程在傳統(tǒng)模式下只能靠老員工的經(jīng)驗(yàn)。團(tuán)隊(duì)里沒有一個(gè)系統(tǒng)能告訴你“從算子入口到硬件寄存器”的完整調(diào)用鏈。第三跨模塊協(xié)作靠開會(huì)。編譯器組改了一個(gè)接口簽名runtime組和算子庫組都得跟著改但到底誰受影響、影響面多大經(jīng)常是發(fā)完郵件才知道。這就是典型的依賴關(guān)系不透明。地圖解決的就是這個(gè)問題它是“導(dǎo)航依賴關(guān)系知識(shí)索引”三合一的載體。不是畫一張靜態(tài)框圖給人看看而是要讓每個(gè)模塊、每條依賴都能被檢索、被追問、被自動(dòng)更新。2. 為什么這件事適合交給Agent去做2.1 傳統(tǒng)梳理方式慢在哪早幾年沒有Agent的概念我們做過一次類似的軟件棧梳理用的是笨辦法幾個(gè)核心工程師開會(huì)分區(qū)塊然后各自去翻文檔和源碼再用draw.io畫框圖。一個(gè)六層軟件棧拆成幾十個(gè)模塊光信息收集就花了三周畫圖又花了一周等到代碼更新了一批接口這張圖已經(jīng)過時(shí)了。也試過更自動(dòng)化的手段寫爬蟲抓文檔、用腳本掃include頭文件、把Makefile里的target關(guān)系抽出來。這套方案確實(shí)快但有兩個(gè)致命問題一是只能發(fā)現(xiàn)文件層面的機(jī)械聯(lián)系無法理解模塊的“職責(zé)語義”比如一個(gè)路徑叫dma_manager的目錄腳本根本不知道它是驅(qū)動(dòng)層的還是runtime層的二是因?yàn)槿鄙倮斫饽芰ψ罱K產(chǎn)出的不是“地圖”而死“文件關(guān)系網(wǎng)”密到?jīng)]法看。2.2 Agent做這件事的核心優(yōu)勢(shì)Agent和腳本最大的差別在于意圖理解與任務(wù)拆解。同樣是掃描源碼腳本只能按關(guān)鍵詞匹配Agent可以根據(jù)上下文判斷一個(gè)倉庫目錄在不同SDK版本中的角色變化同樣是解析文檔腳本只能做全文檢索Agent可以跨文檔地去歸納同一個(gè)硬件特性在不同手冊(cè)中的描寫差異。我實(shí)際用下來Agent的優(yōu)勢(shì)體現(xiàn)在四個(gè)具體方面任務(wù)拆解把“生成一張全棧軟件地圖”這個(gè)大目標(biāo)拆成“資料采集、分層歸類、依賴建模、地圖渲染、校驗(yàn)修正”五個(gè)子任務(wù)每個(gè)子任務(wù)可以被不同的Agent或同一Agent分階段執(zhí)行形成清晰的作業(yè)流。上下文關(guān)聯(lián)普通搜索只能告訴你“這個(gè)文檔里有DMAReset這個(gè)詞”Agent能把驅(qū)動(dòng)代碼里的DMAReset、TRM手冊(cè)里的寄存器描述、runtime里調(diào)用DMAReset的代碼段串成一條“為什么這里要reset、依賴什么條件”的完整鏈路。迭代修正Agent可以保留長期記憶和短期記憶。第一輪把某個(gè)模塊分錯(cuò)了類你糾正之后它會(huì)把修正寫入記憶下一輪遇到類似模塊就不會(huì)再犯。這一點(diǎn)是純腳本完全做不到的。工具調(diào)用Agent不只是“會(huì)說話”它還能調(diào)Shell命令、跑Python腳本、查詢數(shù)據(jù)庫、寫文件。也就是說它既能思考軟件棧的分層邏輯也能實(shí)際操作代碼倉庫去驗(yàn)證某個(gè)依賴關(guān)系是否存在。2.3 Agent不是魔法核心在于“框架技能”的編排有人聽到“用Agent做地圖”還以為是一個(gè)對(duì)話框吃進(jìn)全部資料然后吐出一張圖。實(shí)操中遠(yuǎn)遠(yuǎn)不是這樣。真正穩(wěn)定可靠的做法是搭一個(gè)Agent框架里面編排好幾類角色一個(gè)負(fù)責(zé)全局拆解的規(guī)劃Agent一個(gè)或多個(gè)負(fù)責(zé)具體掃描和歸納的執(zhí)行Agent再來一個(gè)專門做校驗(yàn)的Agent。這就是現(xiàn)在大家常說的“Agent框架與編排”再加上“Agent記憶”能力和“Agent skill”能力才形成一個(gè)完整體系。以我這次使用的輕量編排方式為例主Agent負(fù)責(zé)任務(wù)規(guī)劃子Agent分別負(fù)責(zé)“文檔閱讀與歸納”和“代碼靜態(tài)掃描”校驗(yàn)Agent的任務(wù)是發(fā)現(xiàn)前后矛盾。主Agent不會(huì)直接去讀全部原始資料而是分配任務(wù)、匯總結(jié)果、檢查一致性。這樣做的最大好處是上下文可控每個(gè)子Agent的輸入都是我按需喂進(jìn)去的資料切片不會(huì)因?yàn)槟硞€(gè)會(huì)話塞入過多樣例而溢出。再強(qiáng)調(diào)一點(diǎn)Agent的能力邊界取決于你給它的工具和知識(shí)范圍。如果只給一個(gè)純語言模型不加任何檢索工具和代碼執(zhí)行工具它生成的地圖大概率是錯(cuò)的。所以這篇文章后面所有流程都默認(rèn)你給Agent配了文件讀取、代碼檢索、Python執(zhí)行這三樣基礎(chǔ)工具。3. Agent工作流設(shè)計(jì)從資料到地圖的五步走3.1 第一步資料采集與清洗所有地圖都建立真實(shí)資料之上。資料的完整度直接決定地圖質(zhì)量這里不能省。我按以下清單采集素材芯片技術(shù)參考手冊(cè)地址映射、寄存器描述、中斷、啟動(dòng)流程軟件倉庫源碼驅(qū)動(dòng)、runtime、編譯器、算子庫、工具鏈分倉庫拉取官方文檔和開發(fā)者指南安裝文檔、API參考、架構(gòu)說明Release notes和版本更新記錄指向接口的變化和歷史演進(jìn)構(gòu)建腳本和CI配置CMakeLists.txt、Makefile、Dockerfile、YAML流水線已有Wiki、注釋文檔、測(cè)試用例測(cè)試用例特別重要它往往揭示了模塊之間真實(shí)的調(diào)用方式采集后不能直接扔給Agent先做清洗。我常用的策略是先按路徑后綴和文件類型做一輪粗過濾把二進(jìn)制、第三方緩存、node_modules這類無關(guān)文件剔掉再把剩余文件按“驅(qū)動(dòng)類源碼、運(yùn)行時(shí)類源碼、編譯類源碼、工具類源碼、文檔類資料”分桶。這個(gè)粗分類不需要Agent參與用一段Python腳本就能完成速度極快。3.2 第二步分層結(jié)構(gòu)抽取清洗完的資料開始進(jìn)入Agent的主場(chǎng)。我把這批資料按桶輸入給執(zhí)行Agent每個(gè)桶對(duì)應(yīng)一批任務(wù)每個(gè)任務(wù)的Prompt必須含以下要素當(dāng)前芯片的軟件棧分層定義把六層標(biāo)準(zhǔn)的描述粘貼進(jìn)去待分析的文件路徑清單和文件樹輸出格式要求嚴(yán)格的JSON Schema每條判斷要求給出“依據(jù)證據(jù)”比如“為什么把dma_manager歸到驅(qū)動(dòng)層因?yàn)榇a中有mmap回調(diào)函數(shù)注冊(cè)在file_operations結(jié)構(gòu)體里”我用的Prompt模板大致是這樣你將分析AI芯片軟件棧源碼片段?,F(xiàn)有分層標(biāo)準(zhǔn)如下 L0 硬件抽象層L1 驅(qū)動(dòng)層L2 運(yùn)行時(shí)層L3 編譯算子層L4 框架適配層L5 工具層。 請(qǐng)閱讀以下路徑列表和核心文件片段完成 1. 把每個(gè)路徑判到合適的層輸出confidence分?jǐn)?shù)0-1 2. 對(duì)每個(gè)路徑寫一句話職責(zé)描述 3. 標(biāo)注關(guān)鍵對(duì)外接口名函數(shù)、結(jié)構(gòu)體、服務(wù)名 輸出嚴(yán)格JSON不要附加解釋。執(zhí)行Agent返回的結(jié)構(gòu)大致是這樣的{ layer: L2, module_name: dma_manager, path: runtime/src/dma/dma_manager.cpp, responsibility: 管理DMA傳輸?shù)年?duì)列調(diào)度和內(nèi)存描述符, confidence: 0.93, evidence: file_operations中存在ioctl入口依賴L1的buffer_alloc, exported_interfaces: [dma_copy, dma_wait, dma_pool_create] }毫秒級(jí)的關(guān)鍵在這里一定要讓Agent給證據(jù)并打分不要只看它的結(jié)論。后續(xù)的校驗(yàn)Agent和人工抽查全靠這個(gè)證據(jù)字段來快速判斷對(duì)錯(cuò)。3.3 第三步依賴關(guān)系建模分層做完之后地圖的骨架已經(jīng)有了接下來要填入“邊”——也就是模塊之間的依賴關(guān)系。這里的工程復(fù)雜度遠(yuǎn)高于分層。我拆成三類依賴分別抽取編譯期依賴從CMakeLists.txt、Makefile、頭文件include、link target中提取這是最機(jī)械但也最準(zhǔn)確的一類。運(yùn)行期依賴從調(diào)用鏈、驅(qū)動(dòng)注冊(cè)回調(diào)、runtime派發(fā)策略中提取Agent需要看代碼邏輯才能判斷。數(shù)據(jù)流依賴從上層框架到算子庫的tensor傳遞路徑、設(shè)備內(nèi)存分配路徑中提取這類依賴更像架構(gòu)層面的依賴。Agent在處理這三類依賴時(shí)我建議分開跑不要讓一個(gè)任務(wù)同時(shí)處理三類信息。先讓“靜態(tài)掃描Agent”去讀構(gòu)建腳本產(chǎn)出編譯期依賴清單再讓“源碼理解Agent”去閱讀關(guān)鍵調(diào)用路徑產(chǎn)出運(yùn)行期依賴最后由主Agent合并去重。合并時(shí)有一個(gè)容易忽視的問題循環(huán)依賴。實(shí)際軟件棧里經(jīng)常有A依賴B、B又依賴A的情況如果地圖把這種邊全部畫出來圖會(huì)非常丑陋。我的經(jīng)驗(yàn)是在模塊粒度上允許標(biāo)注雙向依賴但在分析結(jié)果里要標(biāo)明“這是構(gòu)建層面的循環(huán)還是邏輯層面的循環(huán)”前者通常是設(shè)計(jì)失誤后者往往只是接口分層不純粹。3.4 第四步地圖生成與導(dǎo)航索引依賴模型建好后接下來就是渲染和落地。這一步我建議輸出三種形態(tài)覆蓋不同使用場(chǎng)景。第一種是Markdown結(jié)構(gòu)化地圖適合放進(jìn)Git倉庫、文檔站是人肉眼快速掃全貌的首選。每一層是一個(gè)H2小節(jié)每個(gè)模塊是表格的一行包含路徑、職責(zé)、關(guān)鍵接口、依賴模塊。第二種是知識(shí)圖譜結(jié)構(gòu)用圖數(shù)據(jù)庫或者JSON格式存節(jié)點(diǎn)和邊。節(jié)點(diǎn)是模塊邊是依賴關(guān)系。后續(xù)的問答導(dǎo)航就是在這個(gè)結(jié)構(gòu)上做檢索。第三種是矢量化的檢索索引把每個(gè)模塊的職責(zé)描述、接口名、文檔片段向量化存入向量庫。Agent在回答“某個(gè)功能的代碼入口在哪”時(shí)先在這層做一個(gè)語義檢索召回再去做深度推理。三種形態(tài)互不替代。Markdown給人看知識(shí)圖譜給系統(tǒng)讀向量索引給Agent當(dāng)記憶用。3.5 第五步校驗(yàn)修正閉環(huán)地圖生成后必須過校驗(yàn)關(guān)。我實(shí)際用了三道校驗(yàn)缺一個(gè)都覺得不放心。第一道是構(gòu)建級(jí)校驗(yàn)把地圖中標(biāo)出的編譯依賴和真實(shí)CMake構(gòu)建產(chǎn)物做比對(duì)。如果我告訴你這個(gè)模塊鏈接了這個(gè)庫但實(shí)際Makefile里根本沒有這個(gè)target那這條依賴就要被標(biāo)紅。這個(gè)步驟可以用腳本自動(dòng)跑。第二道是測(cè)試級(jí)校驗(yàn)抽取地圖上的關(guān)鍵接口到源碼里搜索這些接口的有向調(diào)用關(guān)系看是否與地圖描述的路徑一致。比如地圖說“conv算子入口調(diào)用runtime算子調(diào)度器”那代碼里從算子入口函數(shù)到調(diào)度器函數(shù)之間必須存在一條可達(dá)的調(diào)用鏈。Agent可以執(zhí)行靜態(tài)分析工具去驗(yàn)證這條鏈。第三道是人工抽查。不要怕抽查這是Agent工作流里不能少的一環(huán)。我的比例是前幾輪至少抽查20%的模塊重點(diǎn)抽查跨層依賴和置信度低的節(jié)點(diǎn)。后續(xù)穩(wěn)定了可以降到5%。抽查不是走個(gè)形式發(fā)現(xiàn)錯(cuò)誤要當(dāng)場(chǎng)反饋給主Agent做修正并把糾錯(cuò)過程寫進(jìn)記憶。4. 實(shí)操案例跑通一張最小可用的芯片軟件棧地圖4.1 輸入準(zhǔn)備拿什么素材起步理論講再多不如跑一次。我在這里用一個(gè)“類GPU架構(gòu)的AI加速卡”來做演示不綁定具體硬件型號(hào)規(guī)避芯片廠商的特殊接口細(xì)節(jié)但流程完全通用。啟動(dòng)一個(gè)最小項(xiàng)目目錄結(jié)構(gòu)長這樣chip_sw_map/ ├── inputs/ │ ├── trm/ # 芯片技術(shù)參考手冊(cè)原始資料 │ ├── src/ │ │ ├── kernel_driver/ # 內(nèi)核態(tài)驅(qū)動(dòng)源碼 │ │ ├── user_driver/ # 用戶態(tài)驅(qū)動(dòng)源碼 │ │ ├── runtime/ # 運(yùn)行時(shí)源碼 │ │ ├── compiler/ # 編譯器源碼 │ │ ├── ops/ # 算子庫源碼 │ │ └── tools/ # 工具鏈源碼 │ └── releases/ # Release notes和版本說明 ├── scripts/ │ ├── bucket_split.py # 資料分桶腳本 │ ├── static_scan.py # 靜態(tài)掃描腳本 │ └── verify_build.py # 構(gòu)建依賴校驗(yàn)?zāi)_本 └── output/ ├── sw_map.md # 地圖Markdown ├── sw_map_graph.json # 依賴圖JSON └── nav_index/ # 向量索引目錄第一次跑不需要收集全部源碼關(guān)鍵是跑通鏈路。我的建議是每個(gè)層挑2到3個(gè)代表模塊總共十五六個(gè)模塊就足夠了。跑通之后再逐步擴(kuò)到全量。4.2 Agent編排與工具組合這次我用的是一個(gè)多Agent的輕量編排方案一個(gè)主Agent加兩個(gè)子Agent再加一個(gè)獨(dú)立的校驗(yàn)Agent。我畫一下配合關(guān)系你就明白為什么這樣拆。主Agent負(fù)責(zé)任務(wù)拆解、進(jìn)度監(jiān)控、匯總結(jié)果和終稿輸出。它不直接處理原始文件這是刻意為之。兩個(gè)子Agent中一個(gè)叫“掃描Agent”只做一件事根據(jù)配置讀取文件樹和源碼片段產(chǎn)出標(biāo)準(zhǔn)化的模塊描述、層級(jí)判斷和依賴證據(jù)另一個(gè)叫“文檔Agent”負(fù)責(zé)閱讀TRM和Release notes輸出硬件特性、接口版本、歷史變更日志的歸納。校驗(yàn)Agent單獨(dú)拉出來專門處理主Agent匯總后的不一致比如“掃描Agent把dma_manager歸到了L2但文檔Agent在TRM里讀到DMA初始化由L1驅(qū)動(dòng)負(fù)責(zé)”這種沖突就必須由校驗(yàn)Agent裁決并返回修改建議。工具方面我給掃描Agent掛了三個(gè)工具文件系統(tǒng)讀取、命令行執(zhí)行用于跑grep、find、clang-query這類靜態(tài)檢索命令、Python代碼執(zhí)行用于跑我自己的分析腳本。文檔Agent掛了兩個(gè)工具PDF/文本解析器和向量檢索器。校驗(yàn)Agent掛的是構(gòu)建腳本分析和關(guān)鍵詞檢索工具。4.3 關(guān)鍵實(shí)現(xiàn)分層掃描腳本示例我先貼一段多層掃描的核心腳本。這段代碼解決的是“從路徑樹到候選模塊”的粗篩把機(jī)械工作交給規(guī)則把判斷工作交給Agent。import os import json from pathlib import Path LAYER_RULES { L0: [register, mmu, sram, cache_ctrl, dma_raw], L1: [kernel_driver, kmd, umd, firmware, boot, irq], L2: [runtime, stream, context, memory_pool, sync], L3: [compiler, mlir, tvm, triton, kernel, ops_lib], L4: [pytorch, onnx, tensorflow, adaptor, bridge], L5: [profiler, debugger, converter, flash_tool, ci] } def apply_rules(path: str) - str: 基于路徑關(guān)鍵詞的粗篩只做第一輪候選不做最終決策 p path.lower() for layer, keywords in LAYER_RULES.items(): for kw in keywords: if kw in p: return layer return None def scan_tree(root: str) - dict: 掃描目錄輸出候選模塊清單 candidates [] for dirpath, dirnames, filenames in os.walk(root): # 跳過構(gòu)建產(chǎn)物和第三方依賴 dirnames[:] [d for d in dirnames if d not in (build, third_party, .git)] for f in filenames: full Path(dirpath) / f rel str(full.relative_to(root)) ext f.rsplit(., 1)[-1].lower() if ext not in (cpp, c, h, hpp, py, cmake, cc): continue candidate { path: rel, layer_guess: apply_rules(rel), size_bytes: full.stat().st_size, critical_keywords: [] } # 再抽取文件頭部注釋或文件名里的關(guān)鍵行為詞 for kw in [dma, conv, gemm, scheduler, allocator, kernel]: if kw in rel: candidate[critical_keywords].append(kw) candidates.append(candidate) return candidates if __name__ __main__: root_path inputs/src output scan_tree(root_path) with open(output/candidates.json, w, encodingutf-8) as f: json.dump(output, f, ensure_asciiFalse, indent2) print(fscan done, {len(output)} files)這個(gè)腳本的輸出不是最終地圖而是給掃描Agent的“考試范圍”。機(jī)械規(guī)則先過濾一次Agent再去精讀每個(gè)候選文件的核心內(nèi)容最終給出有依據(jù)的層級(jí)判斷。跑出來的 candidates.json 就是子Agent的輸入之一。接著掃描Agent對(duì)每個(gè)候選模塊做深度描述。我給它設(shè)計(jì)的核心Prompt骨架是這樣的以下是某個(gè)AI芯片軟件棧的候選模塊清單片段。 請(qǐng)對(duì)每個(gè)候選模塊做判斷 1. 當(dāng)前模塊的核心職責(zé)是什么用一句話說清楚。 2. 它屬于哪一層只允許L0-L5 3. 它的關(guān)鍵依賴模塊有哪些從它import、include、調(diào)用關(guān)系里識(shí)別 4. 它的對(duì)外接口有哪些 5. 你的置信度打分是多少如果低于0.6請(qǐng)說明不確定的點(diǎn)。 輸出JSON列表。4.4 輸出效果從Markdown地圖到問答式導(dǎo)航跑完一輪我拿到一份十幾MB源碼對(duì)應(yīng)的結(jié)構(gòu)化地圖。Markdown版本長這樣## L2 運(yùn)行時(shí)與資源管理層 | 模塊 | 路徑 | 職責(zé) | 關(guān)鍵接口 | 依賴 | |---|---|---|---|---| | dma_manager | runtime/src/dma_driver/* | DMA隊(duì)列調(diào)度與內(nèi)存描述符管理 | dma_copy, dma_wait | L1 buffer_alloc, L3 ops_allocator | | memory_pool | runtime/src/mem/pool.cpp | 設(shè)備內(nèi)存池管理與復(fù)用 | pool_create, pool_alloc | L1 kmd_bind, L2 sync_primitive | | stream_engine | runtime/src/stream/scheduler.cpp | 計(jì)算流調(diào)度和異步執(zhí)行 | stream_submit, stream_sync | L2 memory_pool, L3 kernel_launch |這份Markdown文檔是可以直接進(jìn)團(tuán)隊(duì)Wiki的。但我更常用的是把focus放在問答式導(dǎo)航上。比如團(tuán)隊(duì)里有人問“算子庫里的conv實(shí)現(xiàn)入口在哪它走運(yùn)行時(shí)哪條路徑才能到硬件”傳統(tǒng)工作流是先翻算子庫再找runtime的派發(fā)邏輯再對(duì)驅(qū)動(dòng)接口三個(gè)人工跳轉(zhuǎn)快的也要半小時(shí)。現(xiàn)在用Agent配合剛才的地圖來做它的回答鏈路是先從向量索引召回conv相關(guān)模塊描述再從graph JSON里找出依賴邊然后順著圖從算子層走到驅(qū)動(dòng)層最后在Markdown地圖上定位文檔章節(jié)。實(shí)測(cè)下來這一類問題從提問到得到帶路徑的答案大約在一分鐘以內(nèi)而且路徑必經(jīng)的證據(jù)點(diǎn)都會(huì)列出來。這套東西一旦配好團(tuán)隊(duì)里任何人問軟件棧位置類問題都不用再去翻代碼。5. 踩坑實(shí)錄Agent畫地圖時(shí)的七個(gè)高頻問題5.1 幻覺層級(jí)張冠李戴第一個(gè)坑幾乎必踩Agent光看文件名很容易把驅(qū)動(dòng)層里的內(nèi)存管理模塊誤判到運(yùn)行時(shí)層。我遇到過一個(gè)很典型的例子某文件叫g(shù)pu_mem.c它其實(shí)是內(nèi)核態(tài)驅(qū)動(dòng)里處理顯存映射的模塊Agent卻把它放到了L2運(yùn)行時(shí)理由是“有mem字樣的都是內(nèi)存池”。這就是典型的只看表面不看實(shí)現(xiàn)。解法強(qiáng)制要求Agent引用證據(jù)并給證據(jù)設(shè)置一個(gè)硬門檻。凡是證據(jù)字段為空、或者置信度低于0.7的節(jié)點(diǎn)必須進(jìn)入人工復(fù)核名單。寧可讓Agent說“不確定”也不能讓它硬填。5.2 版本與分支混亂芯片SDK幾乎總是同時(shí)維護(hù)多個(gè)版本分支。有的模塊在v1.0版本里有某接口到v2.0已經(jīng)改成另一套機(jī)制了。如果Agent不分版本地混合閱讀地圖上就會(huì)出現(xiàn)“同一個(gè)接口被兩個(gè)模塊以不同簽名依賴”的詭異情況。我的做法是在采集階段就按版本分支分桶。一次地圖編制只針對(duì)一個(gè)主版本其他版本單獨(dú)建分支維護(hù)。如果需要在同一張圖上體現(xiàn)演進(jìn)關(guān)系我會(huì)把“引入版本號(hào)”作為邊的一個(gè)屬性來標(biāo)注而不是混在一起。5.3 依賴關(guān)系爆炸與環(huán)形依賴第一次構(gòu)建依賴圖邊數(shù)比節(jié)點(diǎn)多了十倍不止圖上密密麻麻全是線條視覺上已經(jīng)廢了。更麻煩的是環(huán)形依賴編譯層說運(yùn)行時(shí)反依賴它運(yùn)行時(shí)又說編譯層調(diào)了它的接口Agent在處理這種環(huán)的時(shí)候很容易死循環(huán)。我的處理策略第一把圖粒度控制在模塊級(jí)不要把函數(shù)級(jí)調(diào)用全部鋪開函數(shù)級(jí)信息保留在模塊描述文本里而不是畫成圖里的邊第二對(duì)環(huán)做專門檢測(cè)如果A和B是環(huán)地圖里只保留一條主邊另一條寫成備注“循環(huán)依賴已折疊”。5.4 上下文窗口溢出把整個(gè)軟件倉庫塞進(jìn)上下文是新手最容易犯的錯(cuò)誤。一次我試著把編譯器目錄全量喂給Agent做分析結(jié)果還沒跑到一半上下文窗口就爆了Agent開始胡言亂語輸出質(zhì)量急劇下降。解決方式有兩個(gè)。一個(gè)是在目錄顆粒度預(yù)先用無上下文成本的文件名規(guī)則做粗篩減少進(jìn)入Agent的候選范圍。另一個(gè)是把分析做成“流水線”先按層分桶再按模塊切片每個(gè)模塊單獨(dú)分析再把結(jié)果匯總給主Agent。Agent不需要同時(shí)看完全部源碼它只需要在匯總階段面對(duì)所有模塊的描述文本而這個(gè)描述量級(jí)已經(jīng)很小了。5.5 輸出格式不穩(wěn)定同一個(gè)Agent跑兩輪第一輪輸出JSON第二輪開始在你要求的JSON前面加一大段開場(chǎng)白然后還嵌套了一層多余的數(shù)組。如果直接拿這個(gè)輸出做下游解析必然報(bào)錯(cuò)。解法是強(qiáng)制結(jié)構(gòu)化輸出?,F(xiàn)在的通用模型大多支持“response format”這類參數(shù)把它設(shè)置為json_object之后再結(jié)合prompt里的schema約束基本能保證格式穩(wěn)定。如果還是偶爾抽風(fēng)就加一個(gè)“解析失敗重試一次”的兜底邏輯。5.6 保密資料混入芯片軟件棧里有相當(dāng)部分的代碼和文檔是有l(wèi)icense或者訪問范圍限制的。如果Agent在采集階段把所有文件都抓到一個(gè)開放目錄里生成索引就會(huì)產(chǎn)生合規(guī)風(fēng)險(xiǎn)。我的建議是給輸入目錄增加白名單和分級(jí)機(jī)制。公開文檔直接進(jìn)地圖內(nèi)部受限SDK的模塊只在地圖上保留“模塊名職責(zé)一句話內(nèi)部Wiki鏈接”不要把敏感源碼切片寫入向量庫。地圖可以導(dǎo)航到它但詳細(xì)內(nèi)容必須在有權(quán)限的系統(tǒng)中打開。5.7 過度依賴Agent缺少人工校驗(yàn)最危險(xiǎn)的問題不是Agent犯錯(cuò)而是團(tuán)隊(duì)對(duì)Agent的輸出逐步喪失警惕。跑幾輪之后地圖看起來越來越像那么回事抽查比例就被悄悄降低了。直到有一次一個(gè)同事照著地圖去追驅(qū)動(dòng)初始化路徑發(fā)現(xiàn)關(guān)鍵函數(shù)名和實(shí)際代碼根本對(duì)不上才暴露了問題。我的經(jīng)驗(yàn)是在Agent工作流里寫死一個(gè)人工門禁。地圖發(fā)布到Wiki之前必須由至少一名熟悉該層軟件架構(gòu)的工程師簽字。越是看起來“完美”的地圖越要留一雙眼睛去挑毛病。6. 這張地圖不只是“畫著看”的6.1 從地圖到導(dǎo)航問題定位速度快了一個(gè)量級(jí)地圖做出來之后最直接的價(jià)值體現(xiàn)就是日常問題定位。我舉一個(gè)剛遇到的事件模型推理時(shí)經(jīng)常出現(xiàn)偶發(fā)性卡頓傳統(tǒng)排查要同時(shí)懷疑內(nèi)存池碎片、DMA隊(duì)列沖突、算子調(diào)度瓶頸三個(gè)方向通常要一個(gè)下午?,F(xiàn)在基于軟件棧地圖的排查方式完全不同先把“卡頓”現(xiàn)象輸入AgentAgent根據(jù)地圖檢索出與推理路徑相關(guān)的模塊再結(jié)合profiler的輸出圈定最可疑的兩條調(diào)用鏈。短短十幾分鐘就發(fā)現(xiàn)是DMA manager在處理大塊連續(xù)內(nèi)存時(shí)的排隊(duì)策略和內(nèi)存池的碎片回收機(jī)制產(chǎn)生了交互阻塞。如果沒有地圖你根本不知道這兩個(gè)模塊之間存在這么隱蔽的運(yùn)行時(shí)依賴。地圖的價(jià)值在定位問題時(shí)不一定是“直接給出答案”而是把排查范圍精確縮小一個(gè)數(shù)量級(jí)這個(gè)收益在大型軟件棧里是非??捎^的。6.2 從地圖到自動(dòng)編譯鏈地圖里的依賴關(guān)系補(bǔ)齊之后其實(shí)已經(jīng)變相拿到了“構(gòu)建時(shí)的模塊依賴清單”。更進(jìn)一步可以用它來自動(dòng)生成某個(gè)子模塊的編譯配置模板。比如你只想單獨(dú)編譯算子庫里的算子但不知道它依賴哪些運(yùn)行時(shí)頭文件和驅(qū)動(dòng)接口地圖上就有現(xiàn)成的答案。我試驗(yàn)過把地圖JSON對(duì)接給后端系統(tǒng)讓它自動(dòng)生成一個(gè)裁剪過的CMakeLists專門用來做算子單元測(cè)試。跑通之后感覺前途很大但門檻也不小前提是地圖里的依賴關(guān)系必須保持高準(zhǔn)確率否則生成的配置會(huì)漏掉隱性依賴。所以這個(gè)方向建議在核心層模塊上先試點(diǎn)不要一上來就全鋪開。6.3 沉淀成團(tuán)隊(duì)知識(shí)庫地圖最大的后勁在于它是一個(gè)可以持續(xù)更新的知識(shí)底座。我的做法是在CI里加一個(gè)定時(shí)任務(wù)每次代碼大更新或者Release發(fā)布后觸發(fā)一次增量地圖更新新模塊添加、舊模塊改路徑、接口變更都會(huì)在diff里高亮。更新完自動(dòng)生成一個(gè)“地圖變更報(bào)告”發(fā)到團(tuán)隊(duì)群聊里。這樣做的好處是地圖不是一次性項(xiàng)目而是變成了團(tuán)隊(duì)知識(shí)體系里活的一部分。新人來了不用問“這個(gè)模塊是干嘛的”地圖上寫得清清楚楚老員工離職也不用擔(dān)心“某個(gè)模塊的信息就斷檔了”因?yàn)榈貓D已經(jīng)把這些信息以結(jié)構(gòu)化的方式留在了團(tuán)隊(duì)里。我自己實(shí)際操作下來的體會(huì)是地圖本身畫得再精美如果不進(jìn)入日常研發(fā)流程遲早會(huì)過時(shí)過時(shí)就會(huì)失去信任。真正讓這套方案跑出價(jià)值的不是“一次性畫完圖”而是把“定期更新地圖”納入團(tuán)隊(duì)的習(xí)慣。Agent在其中解決的最大問題不是替代人的判斷而是把重復(fù)、瑣碎、跨文檔的信息整理工作接管過去讓工程師把精力花在真正需要經(jīng)驗(yàn)的地方。所以如果你也打算做類似的事情建議從小到大起步先拿十幾個(gè)模塊跑通流程再逐步擴(kuò)展到全量。等地圖開始回答第一個(gè)實(shí)際問題的那個(gè)瞬間你就知道這件事做對(duì)了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
9/A片| 99色综合| nuu12国产麻豆精品| 五月丁香综合| 3d成人精品一区二区| 精品丰满熟妇人妻一区| 人妻在线大香蕉| 曰韩av中文字幕专区| 性猛交| 99精品伊人| 五月婷丁香| 乱伦av麻豆| 久夜视频| 殴美色网| 久久9精品网站| 日韩无码嘿咻黑热久| 久久精品高清AV| 欧美综合1性辶| 精国久久一区二区三区98| 天天干天天拍| 大香蕉人妻| 国产av美女被艹的乱叫| 性久久| 肏逼视频日本| 日韩 国产 欧美自拍| 校园激情狠狠四射| 天天肏夜夜肏| 好爽要喷了| 丝袜美腿校园春色| 久久久∴| 视频二区熟女人妻| 东北操逼| 日韩无码第3页| 蜜桃一区二区三区| 久久久国产精品亚洲精品| 在线 亚洲 网爆 自拍| 美女诱惑爱爱| 2001天天操| 天天日天天色| 思思热在线| 水澄无码AV| 啊啊啊好爽快点啊啊啊嗯嗯| 日本久久99| 超碰97欧美在线| 亚洲情色电影网| 久久熟女人| 综合国产97| 国模一区二区三区| 少妇诱惑视频| 91天美传媒在线观看| 97干天天| 亚洲天堂久| 日韩欧洲操屄视频| 国产成人拍国产亚洲精品| 欧美人与动性人交a| 欧美不在线| 撸无码不卡免费视频| 久热99999| 天天做天天爱| 欧美一区二区一级岛国大片| 国内自拍 日韩激情 99| 免費人妻夜夜爽天天爽爽一区| 久久国产99精品72福利| 淫乱图区 | 97超碰无码网| x97av| 亚洲中字慕不卡| 欧美午夜熟妇黑人精品91| 日本不卡一二区| 啊啊啊免费| 中文字幕日韩专区精品系列| 亚洲午夜免费狠狠干| 欧美日韩夜夜| 传媒免费一区二区三区| 91日韩网站| 久久狠狠色噜噜狠狠狠狠97| 欧美成人一级免费电影| 亚洲诱惑| 欧美翘臀视频网站一区二区三区| 久久久久久国产成人| 青青草啪啪网| 高清视频一区| 综合自拍| 超碰97亚洲区| www.色吧5.com| 日韩在线观看中文字幕视频| 久久成年精品| 国产91精品在线免费| 偷拍亚洲熟女视频播放| 东京热男人的天堂网| 在线视频一区二区传媒| 亚洲AV永久无码精品成人调教| 欧美懂色综合网| 国产精品ⅴ无码大片在线看.| 天天看,天天做| 大香蕉AV丝袜| 亚洲风情综合网| 亚洲色婷婷久久91| 色色操| 男人的天堂久久狠| 91c色| 国产精品经典一卡久久久| 老熟妇一区二区三区啪啪| 伦理第一页| 久久99午夜精品一区人妻| 亚洲 图片 综合91| 日夜精品| 在线99热| 狠狠入| 思思热免费视频观看| 日韩钢筋无码高清啾啾啾| 高清国产av无码| 北条麻妃性愛视频| 亚洲资源站| 日韩欧美字幕亚洲一区二区| 99精品伊人| 偷拍精品一区二区三区| 久青草影院| 岛国不卡超碰护士AV在线播放| 国产精品久久久久久久久久久久| 亚洲欧美一区二区三区一猛片| 伊人影院在线理论播放| 99热伊人| 国产麻豆福利av在线播放| 熟妇视频一区二区三区在线观看| 99re99| 色婷婷网| 亚洲图片欧美色| 人妻熟女av国产网站| 亚洲色欲一区二区三区| 国产精品熟女一区二区三区| 九九热九九| 久久久久久中文| 国模不卡| 好吊色青靑草| 亚洲情色五月天| 操东北女人| 99热亚洲天堂| 国产又粗又大硬免费色网视频| 九九香蕉网| 日韩中文9| 乱欲视频| 九九九只有精品| 欧美性爱伊人| 精品免费视频国产一区| 久久99999| 亚洲欧洲综合av在线| 97日视频| 日韩成人性爱AV| 国产又长又大又粗的视频| 老司机射| 蜜臀在线视频| 精品人妻视频一区二区三区蜜桃视频| 欧美亚洲| 日本一级真人黄色性爱视频| 欧美变态激情网| 操高情无码| 后入人妻无码| 人人污日韩一区二区| 囯戸精品高潮呻吟旡码| 老熟女综合网| 大香蕉十区| 嫩呦国产一区二区三区AV| 精品一区二区三区四区外站| 性做久久久久久免费观看软件| 啊啊啊慢点| 男人的天堂.com| www..com操老师| 青青草在线视频播放器| 欧美专区在线| 97欧美性爱| 女生久久网| 久久超碰、| 俺去俺来也在线www| 后入精品| 大香蕉在线视频重口味毛片在线| 国模无码一区二区三区在线| 免费黄色片。| 亚州综合色| 久久內射| 精品女人999| 久久久久久久国产视频| 丰满人妻被猛烈进入中| 97超碰这里只有精品| 婬女免费一二三区A片| 777超碰| 青青草成人视频在线观看二区| 99热91| 99re公开精品免费视频| 熟妇综合一区二区三区| 欧美啪啪天堂| 日本新免费二区三区| 欧美日韩99| 伊人久久在线视频观看| 天天草天天日| 97视频播放| 欧美 日韩 婷婷 五月| 99热超碰| 丁香五月天婷婷姐| 激情五月婷婷| 超碰在线国产| 中文字幕在线高清男人的天堂| 麻豆天美传媒毛片| 精品无码产区一区二| 亚洲五区熟女| 人妻美腿丝袜制服诱惑综合天堂-| 欧美黄片视频在线观看免费| 51一区二区三区| 久久透逼视频| 午夜a成v人电影| 97亚洲综合| 啊啊啊免费视频| 在线电影亚洲色图| 天天综合麻豆视频| 国产久久男人天堂| 九一国产精品| 97视频免费在线| 超碰欧美在线欧美| 国产精品不卡一区二区三区| 色五月天AV| 91 国产丝袜在线放观看| 99操视频| 欧美精品99久久久| 最新加勒比丝袜在线| 91人妻素女| 欧美日韩性爱视屏免费看了| 亚洲操人| 18一区二区三区| 97视频网站在线观看| 人妻少妇色综合| 91丝袜美女国产| 精品成人av一区二区三区在线| 视频分类 国内精品| 熟妇xxxxx性春色| 日日操丁香五月天| 激情99| 日韩AV一区二区三区四四| 婷婷伊人綜合中文字幕小说| 老女人爆菊| 91天射| 加勒比综合a∨| 青青草综合在线| 亚洲黄色AV电影| 天天综合-91入口| 人人贴人人摸| 日韩AV电影网站| 久久有碼| 深夜视频| 成人无码电影在线观看网| 丁香九月 婷婷| 亚洲AV秘 精品久久老牛影视| 欧美性爱一级操| 婷婷五月天影院| 五月婷婷综合在线| 国产蜜臀精品一区免费尤物| 99RE在线视频精品,这里只有精品| 亚洲欧美精品久| 麻豆区久久久久亚| 亚洲一二三四区| A 在线网址| 5月婷婷6月六月丁香| 日本精品一区三区| 日韩色女精品| 精品高潮| 在线啊v一区| 美日韩一卡二卡三卡免费人妻精品| 大香伊人在线一区| julia国产在线| 日韩人妻一区二区| 午夜精品探花| 91国产丝袜足交精品视频| 成人开心网在线视频| 精品免费一区| 国产粉嫩出水在线播放| 国产美女精品| 亚洲无码视频免费在线观看网址! J?P?NESEHD熟女熟妇伦 | 丰满熟女人妻一区二区三五十一路| 亚洲欧美碰碰| 十八禁的黄污污免费网站| 麻豆 欧美 日韩| 99国产精品免费| 粉嫩久久久久| 中文字幕精品免费一区二区| 91美女中出| 粉嫩久久久极品| 人人操我人人干| 丁香六月婷婷久久综合| 亚洲人综合| 在线播放成人高清免费视频| 精品久久在线区一区| 中出20p| 久久黄片国产一区二区| 久无码| 精品少妇一区二区| 亚洲熟女中文字幕在线| 天美传媒精品久久视频| 播播亚洲小说亚洲| 欧美色图自拍| 国产高清无码一区二区三区四区皇冠| 超碰午夜| 无码精品蜜桃一区二区三区ww| 自拍盗摄一区| 中国一级特黄大片护士| 中文字幕乱码人妻一区二区三区,99精品| 99精品无码| 国产精品探花在线| 懂色影视久久| 在线国产探花| 天天影视综合色| 午夜欧美女人操逼| 四虎在线免费视频| 国产在线精品偷| 久久 亚洲 日韩 人妻| 国产一级内射高清视频| 99精品在线| 91人人操| 久久e6只有精品| 国产剧情在线| 中文字幕一区二区三区蜜臀| 国产毛片片精品天天看视频| 九九热超碰97亚洲最新香蕉 | 久久精品老司| 啪啪资源网| av草草在线电影| 亚洲第一在线视频| 自拍啪啪视频| 在线 制服丝袜中出 人妻| 2020中文字幕在线| 久久超碰爱| 国产精品国产亚洲区艳妇糸列| 伊人国产视频| 99热这里只有精品9| 久久久久久999| 欧美九九爱| 国产九九九九九九| 五月天婷婷色色| 国产女人9999| 99热免费| 久操视频这里只有精品| 国产女人高潮视频| 亚洲黄色网址视频| 欧美日韩久久精品爱爱| 亚洲熟女乱综合一区二区三区| 国产一区二区三区导航| 丰满人妻-区二区三区免费看| 97欧美精品综合| 欧美激情中文字幕另类小说| 高清国产精品福利网站| 欧美日韩美女精品久草一区二区三区| 这里只有精品视频| 亚洲欧洲综合av在线| 视频在线97| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 欧美激情性久久久久久| 日日骚网站| 超碰97色色| 激情五月丁香五月| 九九干| 天美传媒AV在线播放| 日日夜夜青青草母狗| 欧美激情综合| 欧美人妻精品一区二区| 国产精品高潮久久久无码| 五月开心久久AV官网| 天天操夜夜操| 91人妻Pr| 免费簧片在线观看| 日韩性爱视频在线免费观看 | 边做饭边操逼逼| 国产免费一区| 91久久伊人婷婷青青草| 国内91熟女人妻丝袜天天精品视频在线| 91精品久久久久五月天精品| 91色交| 亚洲欧美啪啪| 亚洲色香| 精品久久九| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 国产精品白丝AV| 欧美在线啊啊啊| 久久,精品一二三| 艹比视频国产精品| 立川理惠加勒比无码| 加勒比综合88| 91久久久久| 超碰97久久国| 热热色色综合| 亚州综合图片| 午夜精品久久久久久久99热影院 | 综合网 欧美| 竹菊一区二区三区AV线| 97视频免费在线| 偷拍五区| 欧美性五月| 校园春色宗合网| 很很很很操| 九九九九九九九九九五码| 老熟女熟妇| 四虎免费看黄| 热热色综合网| 男人的天堂免费| 欧美78P| 亚洲色图综合| 亚洲欧洲无码bt精品合集| 亚洲av性爱电影| 无码国产精品96久久久久孕妇| 97爱亚洲| 91伊人久| 成人午夜小视频手机在线看| 天堂8在线新版官网| 99操视频| 日本九九久久99播| 性爱AV天堂| 中文字幕一区二区三四五区日日骚| 久久久久网站-538在线视频-欧美永久乱码| 久久久久久91香蕉国产| 亚洲黄a三级三级三级看三级| 884t在线| 伊人久日| 国产深喉视频一区二区| 天天看天天日天天操| 人人操人人插 - 百度 - 百度| 日韩激情无码影院| 日韩欧美亚洲一区二区三区影院| 久久久com| 日韩中文字幕熟妇人妻| 日日黄色三级网站| 国产美女高潮视频| 三男一女不戴套的A片| 天天操夜夜操狠很操| 国产精品久久久久中文字幕| 丁香激情网| 老熟女熟妇| 超碰97久| 欧美五十路熟| 欧美日综合| 久久极品伊人| 国产2.3.4区| 欧美巨大性舒爽顶到了| 亚洲日韩精品在线播放| 一区二区三区无卡视频在线观看| 9.1小视频| 一级岛国大片| 天堂av2019| 久艹99| 日韩在线观看AV| 亚洲97成人在线观看| 一本一道vs波多野结衣| 裸模AV女优| 91老司机精品| 国产 无码 一区二区| 欧美日韩99精品麻豆传媒| 欧美精品三区| 岛国A V在线免费看| 99精品久久久久久久婷婷蜜桃| 精品99999久久久久久| 呦女网站| 人人操人人插 - 百度 - 百度| 欧美日韩精品一区二区三区高清| 97香焦色区| 精品无码少妇| 人妻少妇av在线观看| 欧美第38页| 校园春色亚洲| 99免费在线视频| 久久是精品| 国产成人精品必看| 成人A片男人的天堂| 丝袜亚洲综合| 色综合一区二区三巨| 91天天美女| 成人av福利在线观看| 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | 日本精品无码三级网站| 欧美日韩人人早| aV中亚| 天天影视色香色欲| 夜夜嗨TV| 在线国产一区二区av| 亚洲欧洲无码一区夜| 国产强奸无码乱伦| 亚洲丝袜天堂| 一二三四视频中文字幕在线看| 久久天天摸| 天天看天天日| 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | 国产精品岛国片在线观看| 欧美国产有色电影| 日本操BAV| 超碰偷拍| 长长久久曰曰夜夜成人网| 九九九九九九综合| 97天堂| 夜夜欧美 | 禁片 高清 在线观看视频网站| 中欧人妻丝袜中文字幕| 91久久久久久久久久久| 五月天我淫我色av| 久久精品人妻一区二区| 国产av美女被艹的乱叫| 少妇激情一区二区三区视频| 久久麻豆一区二区| 天天激情综合站| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 综合夜夜| 午夜毛片高清免费不卡| 熟妇的味道HD中文字幕| 91碰碰| 亚洲五月天激情| 久久噜噜噜精品国产亚洲综合| 国产亚洲精品自在线亚洲情侣 | 精品国产www久久| 久草草一二三四区久久| 免费精品福利在线观看| 一区在线精品中文字幕| 欧美影音在线| 久久‘黄片视频| 欧洲精品二区| 强上我不卡卡| 久久老子无码午夜伦不卡| 超碰9 7女人| 人妻精品综合中文字幕在线 | 韩国一级婬片A片AAAAA| 曰韩中文人妻视频| 精品久操| 欧美亚洲国产自久久| 99色热国产视频精品| 无套后入双马尾| 中文字幕人妻色偷偷久久皮| 大香蕉丝袜一级片| 人人 操人人 操人人| 亚洲se91| 国产精品69久久久久孕妇欧美 | 91天天爽| 国产青青美女玩逼视频| 精品 码产区一区二-1080P高清在线www-B029AV| 天天亚洲| 97超碰免费生活| 蜜臀久久久久久999| 综合操逼| 成人五月香网在线| 天天天天天干夜夜夜夜夜操| 国产又色又粗又黄又爽| 78超碰| 国产精品久久久久999| 日韩伦理视频| 七久久久| 成人 日韩欧美一区| 日韩在线一区高清在线| 欧美黄色手机在线观看| 久久久四区| 国产深喉| 欧美性后入| 色嘟嘟人妻天堂网| 欧美综合区| 人人操人人摸人人骑| 午夜传煤十二区精品| 欧美 亚洲 综合 制服 另类| 精品十三区| 影音综合网| 91爽啪| 九九热免费视频| 国产超碰| 国产成人网站在线观看| 伦理片秋霞免费影院| 2019天天干天天操| ..日韩av毛片精品久久久| 欧美福利视频啊啊啊啊| 久久中文字幕不卡人妻| 粉嫩av平台| 成人小说另类在线| 亚洲av综合伊人久久| 免费AV中文网在线观看| 国产粉嫩蜜臀av一区二区三区| 男人天堂最新手机版在线青青草| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场| 69精品在线| 亚洲AV小说| 天综合网| 青青色综合| 日本 免费 一区二区三区 久久香蕉| 亚洲综合小视频小说在线观看| 亚洲第一页欧美| 老汉网| 蜜臀一二三| 伊人久大| 99热啪啪| 久久人妻视频网| 日本一二三高清| 1204av韩国| 久久久96精品| 91精品国产91熟女| 黄片www视频免费| 91色婷婷综合久久中文字幕二区| 无码精品久久久久久亚洲| 三级日韩一区二区三区| 欧美性爱1080p| 国产在线精品偷| 日本特黄f c2| 国精综合一二三区影视| 91精品国产91久久久久久久久久久久| 欧美大的香蕉有线电视视频| 在线毛片片免费观看| 污污汅18禁网站在线永久免费观看| 可以在线观看AV的网站| 2010男人的天堂| 中文字幕日韩人妻视频一区二区三区交换夫妻| 人妻无码一区二区三区久久99| 肥佬影院91| 中文字幕美女91| 999国产精品999| 久久一二区四| 91麻豆一二三区| 国产精品久久久亚洲第一牛牛_在线观看| 男人的天堂网页| 国产精品国产自产高清AV| 99久久九九| 黄资源| 97天天插| 日本操逼视频不卡直接放| 丁香九月激情啪| 综合网欧| 花花AV导航| 亚欧日韩成人| 五月婷婷影院| 日日日日做夜夜夜夜做无码97| 国产精品乱码久久久久| 在线看片国产精品每日更新| 色噜噜人妻av 中文字幕| 麻豆a'v电影| 久艾草在线精品视频在线观看| 久99视频| 色情婷婷久久五月天| 另类亚洲一区二区三区| 黄色性爱网网| 九九国产热| 嗯……啊…嗯嗯…啊…好舒服| 夜夜福利| 亚洲A曰本VA欧美VA视频| 五月丁香婷婷色| 豆1无夜无码| 青草草免费网站av| 密臀AV在线| 男女啪啪啪18禁网站| 99热| 91老司机精品| 视频分类 国内精品| 亚洲性感丝袜诱惑在线观看| 91少妇| 中文字幕五区| 91狠狠综合久久| 爱媛媛久久国产福利| 天天舔天天日天天射| 女人天堂av在线播放| 国产少妇肉丝在线观看| 国产精品一区二区麻豆| 性色av网站| 91亚州欧美| 人人人摸人人| 青青草精品| 中文字幕,人妻,日韩| 一区麻豆 高清中文字幕| 黄片免费日韩| 97中文字幕色| 日韩国产欧美伦理在线| 亚洲国产剧情少妇激情| 91人妻人人澡人人爽人人精品| 91爱综合| 97久久超碰日韩精品| 亚洲色吧网| 97色碰| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 亚洲毛片基地专区| 91蜜臀在线久久久久| 热99这里有精品综合久久| 亚洲精品天天影视综合网 | 亚洲综合夜色| 久久久精品国产亚洲AV无码| 97超级久久| 口爆综合网| 亚洲春色一区二区三区| 大香蕉碰| 亚洲AV成人无码一二三久久| 69久久久久久久久久久久久| 天天躁日日躁XXXXYY| 欧美十八禁在线看| 97久久久久| 欧美一区二区日韩传媒搭讪精品| 国产美女口爆吞精视频| 少妇人妻激情四射| 国产这里只有精品| 亚洲āv网址在线观看| 96国产污污污丝袜| 91粉嫩萝控精品福利网站_精品影音先锋国 | 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 把腿张开老子CAO烂你| 91中出在线| 夜夜高潮夜夜爽| 日韩中文字幕精品一区在线| 少妇人妻在线| 大香蕉综合| 欧美性爱一级操| 成人久久久| 97超碰免费人人性爱| 精品国产91av一区二区三区| 97超级久久| 亚洲少妇在线影音| 成人婷婷丁香| 精品人妻av在线播放| 可乐操在线| 校园春色综合| 欧美视频一区二区在线| 九九九九国产| 欧美综合传媒| 欧美日韩222| 秋霞蝌科网日本一区| 免费人成毛片乱码| 97色操| 97在线观视频免费观看| 天天综合AV| 免费a在线播放v| WWW操逼| 怡红院成人视频| 后入式视频国产自| 亚洲欧美爆| 久久久久久欧美精品se一二三四| 国产极品美女高潮无套在线观看 | 人妻熟女av国产网站| a片 xxxx受爽视频| 色色97爱| 亚洲色天堂九9| 歐美性天天| 色性荡荡荡荡视频| 激情开心五月天| 欧美99热| 国产精品免费视频不卡| 素人一区二区三区日韩| 欧美毛片在线网| 欧美成人性爱视频免费观看| 啪啪综合网| 色图四区| 日韩本不卡视频在线观看| 色偷偷超碰亚洲| 天天综合网入口~91| 激情婷婷丁香| 青草视频在线看看看看看看看看看| 精品亚洲黄色片 国产精品导航一区二区| 天天草天天日| 国产强奸无码乱伦| 国内伊人久久久久久网站视频| 日韩性色| 99re98| 97久久国产| 夜夜躁狠狠躁日日躁av| 亚洲不雅视频1区二区| 9丨久久九九九| 亚洲人妻精品一区二区| 亚洲色交| 美女91AV| 91在线欧美| 国产精品爆乳懂色蜜乳| 日本欧美中文字幕| 婷婷色色五月天福利| 天天看天天干| 91肉丝| 日韩免费三级黄片电影| 日韩一级久久毛片| 日韩99精品视频综合区 | 久操凹凸视频| 人人看黄色视频| 国产一区二区在线播放量| av天堂精品久久| 中文字幕在线高清男人的天堂| 乱色视频中文字幕| 免费中文在线| 日韩三级一区| 国产精品交换一区二区| 91亚洲人电影| 神马久久久久久久久久| 91精品国久久久久久无码| 综合天天。| 精品免费成人久久| 日韩小电影| Sekablack无码一区| 日韩字幕一区| 亚洲五码一区二区三区| 高清无码在线播放网站| 一级A啪啪啪啪| 色妹子A V| 亚洲偷拍欧美激情| 91性情| 免费人成在线观看网站品爱网| 国产午夜激片Av毛片不卡| 欧美黄片视频在线观看免费| 澳门人妻久久| 日日日色色色色色| 亚洲人妻久久| 日韩色| 久操高青| 国产女乱淫真高清免费视频| 五月香婷婷| 啊啊啊啊啊在线视频| 超碰色美女| 91爱| 最近2019中文字幕国语免费版| 亚洲天堂电影精品一区| 久久久久久9999| 少妇淫妇久久久久久久| 国产精品无套内谢| 99九九久久| 97国产精品一区| 污污汅18禁网站在线永久免费观看| 夜夜操二区| 东京成人一区| 精品国产乱码久久久久久网站入口| 先锋影音av先锋一区| 久久丁香五月天| 日日夜夜噜| 国产精品高潮久久久无码| 欧美丰满熟妇XXXX性ppX人交| 国产高清不卡视频| 啊啊啊啊好爽好舒服一区二区易域| 91东北熟女| 亚洲黑丝在线| 精品1区2区3区| 丁香六月东京热| 大香蕉男女超碰精品在线| 国模精品娜娜一二三区| 午夜操操操| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 99热18这里只有精品| 国产精品不卡高清在线观看| 十八禁视频网站| 欧美激情久久久久| 狠狠色噜噜狠狠狠狠2018| 日韩精品99999| 天天操天天干美女网址导航| 巨爆乳一区二区爆乳区| 久久九九一区二区三区成人| 亚洲天堂资源网| 狠狠爱综合| 99热线麻豆| α√在线| 日本五区不卡| 成人性爱美曰韩| 色悠久久久av| 亚洲乱码国产乱码精网站| 亚洲。日韩。欧美| 亚洲色图91| 欧美少妇熟女| 超碰色综合| 亚洲男人天堂网久久| 97亚洲精品| 很黄很污的免费网站| 日韩三级伦理中文字幕| 亚洲欧美精品福利在线| 国产激情在线| 97热视频在线观看| 亚洲高清无码在线桃色| 亚拍在线| 精品国产肉丝袜在线拍国语| 欧美97网| 天天欧美色| 91制服丝袜| 国产免费永久精品无码| 天美传媒麻豆一区二区三区国产精| www色婷婷| www.91视频网| 久久激情视频| 久久人妻| 天美欧美国产| a v网站在线播放| 我爱操| 久久欧美性爱视频| 欧美综合天堂| 亚洲精品一区二区三区新线路| 一起草欧美| 欧美综合色综合| 日韩欧美中文| 99久草| 黄色十八禁网站| 欧美性爱www免费版| 亚洲午夜精品久久久中文影院| 亚洲天堂人妻熟妇视频| 欧美se综合| 99热精品青草在线| 久操网线| 九九九久久久| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 人妻熟女字幕一区二区| www熟女乱伦com| 另类专区加勒比| 七久久久| 国产高清无码一区二区三区四区皇冠| 青青在线视频日韩欧美| 啊操爽品善一区二区三区| 国产精品一二三在线看| 久久亚洲一区女同性恋中文字幕| 强上我不卡卡| 国产福利在线视频网站| 人人操人人精品影片| 五月婷婷六月丁香| 99久久久无码精品国产人| 99re这里只有精品2| 超碰激情808| 日本三级中国三级99人妇网站| 天天操天天射天天日| 黄色工厂这里只有精品| 蜜臀久久久| 欧美综合站| 一区二区三区激情在线观看| 在线午夜成人无码视频| 亚洲性综合11| 久久久性爱视频| 青青草中文-久久青草精品一区二区三 | 涩五月婷婷| 国产人伦a片信息免费片| 不卡在线观看视频| 激情久久日韩精品中文字幕麻豆| 宗合情欲网| 美女黄色一级A视频| 在线观看亚洲成人精品| 黄骗免费网站| 麻豆一区二区AV天美| 夜夜操av亚洲一区二区| 91一区二区| AV综合中文字幕干| 国产高清成人mv在线观看| 超碰午夜| 校园春色 欧美| 91男人天堂网| 精品96久久| 天天色播| 国产女人成人精品视频| 91午夜无码| 伊人网免费视频| 日韩性爱一级片| 亚洲图片欧美色| 极品肉射| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 欧美色图亚洲激情| 欧美男人的天堂| 综合大香蕉美。| 中文字幕av片| 丝袜视频网国产90| 欧亚日韩综合精品国产| 色网在线| 熟啊v色欧美热| 天天干天天日天天射黄色大片| 久久亚洲影院一区二区| 亚洲熟妇丝袜在线观看| AV天堂丝袜| 夜夜夜久久| 久都青青视频| 亚洲综合99999| 伊人一区二区三区| h在线看免费版在线看| 天天综合网日韩7799| 免费啪啪av| 国内亚洲精彩视频在线| www久久国产精品| 国产精品自拍视频 | 色呦呦呦在线观看视频| 欧美黄色大片在线观看 | 俞拍久久国应视频| 亚洲天堂资源网| 3PAV乱伦视频| 国产探花日韩援交| 国产aⅴ无码片毛片一级网站| 精品人妻av在线播放| 日韩性爱视频在线免费观看| 久久久亚洲Av| 无码聚合| 高跟丝袜AV专区国产| 国产福利第一视频| 好吊妞转入那个网| 99啪啪视频| 欧美高清在线| 天天插网| 日韩中文字幕精品一区在线| 综合欧美日韩在线观看| 色综合色色| 亚洲 中文 女同| 麻豆天美国美国产AV| 欧美午夜色妇色鬼| 中文一区二区| 老司机午夜精品福利视频一区二区| 淫穴高潮色图| 天天激清| 色情乱伦AV| 毛片视频白嫩| 精品中文日韩字幕视频| 国产精品无码av| 丁香六月激情| 午夜欧美女人操逼| 射 色综合| 免费观看有码高清视频| 91男同| 一区二区三区国产在线播放| 成人性爱视频在线看| 热久久这里只有精品| 青青草视频久久久久| 怡红院亚洲怡春院av| 98超碰欧美| 日韩无码三级影院| 亚洲成A∨人影院在线欢看| 校园春色综合| 九九av| 亚洲欧洲无码一区夜| 日韩青久久| 国产传媒日韩欧美| 偷窥自拍A片| 91新在线欧美| 亚洲小说视频| 一级@啪啪视频| www.狠狠干.coom | 日韩欧美麻豆 | 丁香六月激情| 欧美午夜视频| 日韩欧美午夜一区二区| 精品久久視頻在线| 99re6国产精品99re| 啊啊啊好多水| yellow网站免费观看日韩高清无码| 久久女人一区二区三区| 亚洲人精品午夜不卡| 香蕉黄色一级视频| 久久天天摸| 久久9999| 中日亚韩免费视频| 男人的天堂在线2| 青青五月天| 91动漫操逼视频| 媚薬在线视频麻豆| 97操| 亚洲少妇喷视频看| 青草伊人久久| 欧美不卡二区| 九九九九欧美| 久久无码一区二区二三区性色| 亚洲人在线| 成·人免费午夜在线观看| 激情综合五月| 人人摸人人舔一区二区| 久久69精品久久久久久久| 人妻在线中出视频| 久久久久久久九九九九| 五月丁香综合激情| 少妇九九九九| 国产精品一区二区校花| 一道本东京热加勒比一区二区三区| 精品69网| 97任你吞精| 老鸭窝在线视频播放| 久久精品久久九九精品| 91亚州欧美| 超碰免费97| 99999久久久久9国产精品| 亚洲欧美日韩免费观看| 久久综合日韩亚洲欧美| av黄图片在线观看| 青青草在线成人视频| 日韩偷拍一区二区三区 | 一本一道久久综合久久| 欧美十八禁网站| 秋霞鲁丝午夜无码一区二区三| 久久人人爽爽人人爽人人片αV| 欧美97视频| 欧美顶级黄片AAAAA在线免费看| 九九九只有精品| av资源在线观看少妇| 天天肏夜夜肏| 翘臀vidoes| 国产精品一区二区a| 免费成人在线熟妇网| 啪一啪免费视频| 人妻熟女一区二区三区视频| 中文字幕在线观看丝袜| 看全色黄大色大片免费视频| 亚洲乱色视频一区、二区在线| 日本操逼二区| 婷婷国产精品一区二区| 日本特黄f c2| 人人操 欧美| 国产久久男人天堂| 精品-91人妻子系列| 女人久久久| 超碰97最新人妻| 色99在线| 国产女大学生AV| 99热精品青草在线| 在线观看精品国产免费| 三级色影综合网| 亚洲伊人久久精品影院| 国产67194| 精品国产Av无码久久久亚洲| 久久草视频污视频| 亚洲色色色| 国产兽交视频在线播放| 97在线公开视频| 美女淫穴| 亚洲精品丝袜-不卡成人免费……| 女生久久网| 中文字幕AV片| 亚洲综合另类欧美久久久| 91社操逼| 日韩啪啪视频| 综合激情一一91| 67914亚洲精品| 亚洲欧洲综合av在线| 亚洲丝袜在线观看| 亚洲欧美日产国产91毛片| 熟女人妻久久中文字幕一二区| 亚洲精品xxx| 国产精品伦理| 在线观看视频91| 色婷婷五月天| 精品黑人一区二区| 无码动漫av中文字幕| 久久久涩| 视频在线中文字幕| 婷婷三区| 丁香婷婷色五月| 91足交| 久操91视频| 精品无码秘 人妻一区二区| 天天色怡春院| 大香蕉综合| 蜜桃视频精品一区二区| 一区二区视频在线播放| 亚洲免费成人在线高清无码视频 | www欧美91| 51一区二区三区| 欧美熟女丝袜| 超碰1024久久| 在线国产一区二区av| 大黄片做爱的大的| www久久国产精品| 熟女熟妇一区二区三四区| 亚洲自拍欧美色综合| 欧美色图亚洲激情| 日韩一区二区三区四区五区 | 国产一进一出视频网站| 超碰97中文| 日本操逼无码| 成人国产二区三区在线,男女精品。| 日本久久久久久久久久| 九九九九97| 青青草国产亚洲精品久久| 亚洲综合97中文网| AV九九| 精品国产乱码久久久久久久久1 | 国产在线精品偷| 青青操狠狠撩| 国产午夜无码片在线观看影视| 国产成人综合在线播放| 成年人一级黄色毛片大全在线观看| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 色姑娘综合网| 日韩免费av片高清无码|