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

ARTICLE DETAIL

資訊詳情

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

AI 架構(gòu)圖生成實(shí)戰(zhàn):基于 XML 中間格式的可編輯系統(tǒng)設(shè)計(jì)

AI 架構(gòu)圖生成實(shí)戰(zhàn):基于 XML 中間格式的可編輯系統(tǒng)設(shè)計(jì) 1. 這個(gè)項(xiàng)目到底要解決什么問(wèn)題項(xiàng)目代號(hào)叫 next-draw.io AI 架構(gòu)圖。當(dāng)時(shí)起這個(gè)名字沒(méi)有綁定任何具體商業(yè)產(chǎn)品就是 next下一代加 draw繪圖加 io輸入輸出三個(gè)詞的組合。真正做起來(lái)之后才發(fā)現(xiàn)這名字歪打正著點(diǎn)中了架構(gòu)圖工具最核心的三個(gè)痛點(diǎn)怎么把輸入變成輸出怎么降低畫(huà)圖門(mén)檻怎么讓圖能持續(xù)迭代維護(hù)。這個(gè)項(xiàng)目的目標(biāo)是讓 AI 根據(jù)一段需求描述甚至一段代碼直接生成一份結(jié)構(gòu)化、可繼續(xù)編輯的系統(tǒng)架構(gòu)圖而不是給一張只能看、不能改的靜態(tài)圖片。如果你和我一樣經(jīng)歷過(guò)“開(kāi)會(huì)前兩小時(shí)還在手動(dòng)補(bǔ)箭頭”“新同學(xué)入職讀架構(gòu)文檔讀到懷疑人生”“代碼改了三輪圖還是半年前那版”這些場(chǎng)景那你應(yīng)該知道這類工具缺得有多離譜。1.1 架構(gòu)圖為什么總是畫(huà)不出來(lái)先說(shuō)最扎心的現(xiàn)實(shí)不是大家不會(huì)畫(huà)圖而是畫(huà)圖的成本收益嚴(yán)重失衡。手動(dòng)拖拽一個(gè)框、填一個(gè)名字看起來(lái)只要十秒鐘但一張完整的系統(tǒng)架構(gòu)圖光節(jié)點(diǎn)就有二三十個(gè)連線幾十條還要分組、標(biāo)注、調(diào)色、對(duì)齊。等你終于把框擺好、線連完需求已經(jīng)變了于是你開(kāi)始新一輪拖動(dòng)、縮放、對(duì)齊。這種重復(fù)勞動(dòng)極其消耗耐心所以大部分團(tuán)隊(duì)的架構(gòu)圖要么畫(huà)得很淺要么根本不更新。更深一層的問(wèn)題是架構(gòu)圖應(yīng)該是“持久資產(chǎn)”但實(shí)際上它往往成為“一次性產(chǎn)物”。真正的系統(tǒng)在演進(jìn)接口在變化模塊在拆分合并而圖不會(huì)自己跟著變。于是技術(shù)文檔里的架構(gòu)圖經(jīng)常成為面試官最喜歡問(wèn)的“哪張圖才是對(duì)的”的笑話。這個(gè)項(xiàng)目要解決的就是讓架構(gòu)圖可以像代碼一樣被生成、被版本管理、被自動(dòng)化檢查和更新。換句話說(shuō)把畫(huà)圖從“手工建?!弊兂伞鞍胱詣?dòng)編譯”。1.2 next-draw.io 的核心目標(biāo)我在設(shè)計(jì)目標(biāo)時(shí)給自己列了四條硬性要求少一條都會(huì)讓項(xiàng)目失去價(jià)值首先輸入要低門(mén)檻。用戶可以直接寫(xiě)一句人話比如“用戶端通過(guò)網(wǎng)關(guān)訪問(wèn)后端服務(wù)后端服務(wù)依賴訂單庫(kù)和用戶庫(kù)”也可以粘貼一段代碼目錄甚至給一份接口清單。工具要做的是理解這些信息而不是要求用戶先學(xué)會(huì)某種復(fù)雜的建模語(yǔ)法。其次輸出必須可編輯。AI 畫(huà)完圖人還要改。所以生成結(jié)果不能是位圖不能是一張 PNG而應(yīng)該是帶有節(jié)點(diǎn)、連線、分組、樣式屬性的文本格式方便用戶在已有基礎(chǔ)上繼續(xù)調(diào)整。第三結(jié)果必須能入庫(kù)協(xié)作。架構(gòu)圖要放進(jìn) git 這類版本管理系統(tǒng)里每次改動(dòng)都能清晰對(duì)比哪些模塊新增了哪些依賴被刪掉了。圖片格式做不了這件事只有文本化、結(jié)構(gòu)化格式能勝任。第四要支持迭代修復(fù)。AI 第一次生成的結(jié)果總是會(huì)有點(diǎn)偏差要么漏了一個(gè)模塊要么把邊連錯(cuò)了。工具需要有自檢和重試機(jī)制讓用戶說(shuō)一句“再檢查一下網(wǎng)關(guān)和鑒權(quán)服務(wù)的關(guān)系”就能做局部修正而不是整張推倒重來(lái)。有了這四條后面所有技術(shù)選型都圍繞它們展開(kāi)。你會(huì)發(fā)現(xiàn)大部分設(shè)計(jì)取舍其實(shí)都是被這些目標(biāo)倒逼出來(lái)的。2. 整體設(shè)計(jì)思路先選對(duì)路線再談實(shí)現(xiàn)2.1 三條技術(shù)路線我為什么選 XML 中間格式做 AI 生成架構(gòu)圖輸出格式是第一個(gè)要拍板的決策。我認(rèn)真對(duì)比過(guò)三條路線各有各的坑。第一條路線是讓 AI 直接生成圖片。這個(gè)最直觀模型用一張 PNG 或者 SVG 把圖畫(huà)出來(lái)。但問(wèn)題非常明顯坐標(biāo)、文字準(zhǔn)確度不可控節(jié)點(diǎn)邊界經(jīng)常糊成一團(tuán)而且生成結(jié)果完全不可編程、不可 diff用戶想改一個(gè)字都得重新生成。這就違背了“可編輯”和“可入庫(kù)”兩條核心目標(biāo)。第二條路線是生成文本描述類的 DSL 圖表。這類語(yǔ)法適合簡(jiǎn)單流程圖寫(xiě)起來(lái)也很快但對(duì)企業(yè)級(jí)系統(tǒng)架構(gòu)圖來(lái)說(shuō)表達(dá)能力偏弱。泳道、分組、跨層依賴、復(fù)雜樣式都要靠各種技巧去湊。而且 DSL 本身是一個(gè)大生態(tài)將來(lái)想擴(kuò)展自定義組件成本會(huì)越來(lái)越高。第三條路線是生成結(jié)構(gòu)化的繪圖 XML 中間格式。XML 聽(tīng)起來(lái)老氣但它有不可替代的好處本質(zhì)上描述的是一張數(shù)據(jù)表節(jié)點(diǎn)是行邊是關(guān)系樣式是屬性。解析容易校驗(yàn)容易擴(kuò)展也容易。我把 AI 直接生成最終繪圖格式作為遠(yuǎn)期目標(biāo)但在當(dāng)下階段項(xiàng)目?jī)?nèi)部先定義一套精簡(jiǎn)的 XML 中間結(jié)構(gòu)讓模型把“實(shí)體”“關(guān)系”“分組”“樣式”語(yǔ)義化地表達(dá)出來(lái)后續(xù)再加一層薄薄的轉(zhuǎn)換器把它映射成真正能導(dǎo)入第三方工具做可視化的文件。三條路線的對(duì)比我實(shí)測(cè)下來(lái)是這樣輸出形態(tài)成本可編輯性入庫(kù)存檔復(fù)雜圖支持位圖/矢量圖低差基本重畫(huà)差二進(jìn)制無(wú)法 diff差文字經(jīng)常錯(cuò)文本 DSL中中文本可改中diff 但語(yǔ)義弱中分組交叉很費(fèi)勁XML 中間結(jié)構(gòu)高強(qiáng)節(jié)點(diǎn)屬性全保留強(qiáng)結(jié)構(gòu)化 diff 清晰高能帶分組和自定義屬性如果你見(jiàn)過(guò)網(wǎng)頁(yè) HTML 和最終渲染結(jié)果之間的關(guān)系就很容易理解我的選擇。HTML 不是給你直接看的最終畫(huà)面它是一種中間結(jié)構(gòu)瀏覽器拿到之后做布局、樣式、繪制。XML 架構(gòu)圖也是這樣AI 只負(fù)責(zé)把“網(wǎng)頁(yè)語(yǔ)義”寫(xiě)好布局和繪制交給后面的引擎兩者解耦之后每一邊都能做好自己擅長(zhǎng)的事。2.2 核心工作流拆解整個(gè)項(xiàng)目流程被我拆成五個(gè)步驟順序是固定的缺一步都會(huì)多米諾骨牌式崩塌。第一步輸入處理。把用戶輸入的需求文本、代碼結(jié)構(gòu)、接口清單統(tǒng)一拼接成一條結(jié)構(gòu)化 prompt。這一步看起來(lái)簡(jiǎn)單但實(shí)際上大部分生成質(zhì)量都取決于 prompt 里有沒(méi)有把“什么是節(jié)點(diǎn)、什么是邊、什么是分組”定義清楚。第二步結(jié)構(gòu)生成。把 prompt 發(fā)給大模型要求它返回 XML 中間結(jié)構(gòu)。注意不是讓它返回示意圖而是返回一張有節(jié)點(diǎn)、有邊、有分組的結(jié)構(gòu)化數(shù)據(jù)。模型的角色被限定為“信息抽取器”而不是“畫(huà)家”。第三步解析清洗。大模型輸出不可能次次完美可能帶 markdown 包裹可能在 XML 里混入解釋文字可能節(jié)點(diǎn) id 不唯一。這一步要用腳本把原始輸出提取出來(lái)解析成內(nèi)存對(duì)象并且對(duì)不合法內(nèi)容做修正或丟棄。第四步布局計(jì)算。拿到節(jié)點(diǎn)和邊的信息之后我并不直接用模型建議的坐標(biāo)而是把實(shí)體關(guān)系交給一個(gè)獨(dú)立的分層布局引擎重新計(jì)算每個(gè)節(jié)點(diǎn)的位置。這一步能避免大量“節(jié)點(diǎn)疊在一起”“連線橫穿所有模塊”的慘案。第五步渲染回寫(xiě)。把布局之后的節(jié)點(diǎn)坐標(biāo)、寬高、樣式、分組信息寫(xiě)回到與第三方工具兼容的繪圖 XML 文件。用戶在畫(huà)圖界面打開(kāi)就能看到一張完整圖拖一拖就能繼續(xù)調(diào)整。這個(gè)流程相當(dāng)于把 AI 的能力限制在“理解關(guān)系和生成結(jié)構(gòu)”上而把需要確定性的活交給算法。實(shí)踐證明這樣分工的成功率遠(yuǎn)高于“一步到位”的做法。2.3 模塊劃分與數(shù)據(jù)流項(xiàng)目代碼按職責(zé)劃分成六個(gè)模塊各自只做一件事提示詞管理模塊負(fù)責(zé)拼 prompt內(nèi)部維護(hù)幾個(gè)版本的模板可以針對(duì)文本輸入、代碼輸入、多輪修正輸入分別調(diào)用不同的模板片段。解析模塊負(fù)責(zé)把模型返回的字符串變成 Python 對(duì)象里面有容錯(cuò)邏輯比如自動(dòng)補(bǔ)全缺失的結(jié)束標(biāo)簽、剔除多余的解釋文本。實(shí)體標(biāo)準(zhǔn)化模塊負(fù)責(zé)統(tǒng)一命名和 id。模型有時(shí)候會(huì)把“User Service”和“用戶服務(wù)”當(dāng)成兩個(gè)不同實(shí)體這個(gè)模塊負(fù)責(zé)做大小寫(xiě)歸一、同義詞合并確保同一個(gè)真實(shí)系統(tǒng)只有一個(gè)節(jié)點(diǎn)。布局引擎模塊接收標(biāo)準(zhǔn)化后的實(shí)體關(guān)系輸出坐標(biāo)和尺寸。它的算法不需要多豪華但必須穩(wěn)定不能因?yàn)檩斎腠樞蜃兓妥寛D整體亂跳。渲染寫(xiě)回模塊負(fù)責(zé)把內(nèi)存模型映射成最終 XML 文本包括節(jié)點(diǎn)坐標(biāo)、樣式顏色、分組層級(jí)。最后是自檢回讀模塊生成完畢之后重新解析一遍 XML統(tǒng)計(jì)節(jié)點(diǎn)數(shù)、邊數(shù)、孤立節(jié)點(diǎn)數(shù)量低于閾值就自動(dòng)重新生成一次。這一層守衛(wèi)非常管用它能攔截大量“看似生成了實(shí)際結(jié)構(gòu)是壞的”情況。數(shù)據(jù)流是單向的文本進(jìn)中間結(jié)構(gòu)生成清洗標(biāo)準(zhǔn)化布局渲染最后落盤(pán)。每一步的輸出都是下一步的輸入所有中間格式都必須嚴(yán)格校驗(yàn)這能避免錯(cuò)誤在后端被放大。3. 核心實(shí)現(xiàn)細(xì)節(jié)從提示詞到可編輯圖3.1 一個(gè)穩(wěn)定的提示詞模板先說(shuō)結(jié)論提示詞不要寫(xiě)太多花哨的廢話重點(diǎn)是把“信息格式”講清楚。我踩過(guò)一個(gè)大坑最初讓模型“發(fā)揮創(chuàng)意”結(jié)果十個(gè)結(jié)果十個(gè)結(jié)構(gòu)都不帶重樣的。后來(lái)我把提示詞收斂成固定模板效果立刻穩(wěn)定。我現(xiàn)在用的是類似下面這種結(jié)構(gòu)你是一名系統(tǒng)架構(gòu)信息抽取器。 請(qǐng)把用戶輸入轉(zhuǎn)換為可編輯架構(gòu)圖的中間描述。 中間描述格式要求 diagram group idg1 label接入層/ node idn1 label用戶端 groupg1 typeclient/ node idn2 label網(wǎng)關(guān)服務(wù) groupg1 typeservice/ storage idn3 label用戶數(shù)據(jù)庫(kù) typedatabase/ edge fromn1 ton2 labelHTTPS/ edge fromn2 ton3 labelJDBC/ /diagram 約束 1. node、storage、group 的 id 必須全局唯一。 2. edge 只能引用已經(jīng)存在的 id。 3. type 只能取 client、service、storage、message、external 五種。 4. 不要輸出任何解釋文字只輸出 XML。這個(gè)模板把“游戲規(guī)則”先定死讓模型只做填鴨式抽取??雌饋?lái)沒(méi)什么技術(shù)含量但非常有效。type 限定為五種是有意為之因?yàn)楹蠖说念伾托螤罹褪前催@五種類型去映射的類型越少系統(tǒng)越好維護(hù)。關(guān)于輸入部分我會(huì)在模板后面動(dòng)態(tài)追加用戶原始描述同時(shí)提醒模型“不要給用戶描述里沒(méi)提到的東西編造依賴關(guān)系”。這個(gè)提醒很關(guān)鍵沒(méi)有它模型就會(huì)腦補(bǔ)出一堆現(xiàn)實(shí)中并不存在的中間件圖一多簡(jiǎn)直沒(méi)法看。3.2 解析和清洗模型輸出不是金標(biāo)準(zhǔn)模型返回的文本再干凈也必須經(jīng)過(guò)一道容錯(cuò)清洗。最常見(jiàn)的狀況是它把 XML 放在 markdown 代碼塊里有些還帶 xml 標(biāo)簽有些則直接裸輸出。我的第一步是用正則把代碼塊里的內(nèi)容抽出來(lái)。import re def extract_xml(raw: str) - str: # 先嘗試匹配帶 標(biāo)記的代碼塊 pattern r(?:xml|XML)?\s*(.*?) match re.search(pattern, raw, re.S) if match: return match.group(1).strip() # 沒(méi)有代碼塊時(shí)嘗試直接找 diagram 開(kāi)頭的內(nèi)容 match re.search(rdiagram[\s\S]*/diagram, raw, re.S) if match: return match.group(0) return raw拿到 XML 字符串之后再用標(biāo)準(zhǔn)庫(kù)的 ElementTree 解析成內(nèi)存樹(shù)。解析這一步經(jīng)常掛掉原因也確實(shí)有意思模型會(huì)輸出類似diagram標(biāo)簽沒(méi)閉合、屬性值沒(méi)加引號(hào)、邊引用了不存在的 id。所以解析后必須立刻做一輪結(jié)構(gòu)校驗(yàn)。我通常在解析后打一份“結(jié)構(gòu)摘要”比如打印出總共有幾個(gè)節(jié)點(diǎn)、幾條邊、哪些邊引用了未知 id。這些信息能明確告訴我這次生成的圖是否具備繼續(xù)處理的基礎(chǔ)。如果發(fā)現(xiàn)未知 id就直接把這條邊丟棄因?yàn)椴季忠鏇](méi)法處理懸空引用。清洗還有一個(gè)容易被忽略的點(diǎn)必須對(duì)節(jié)點(diǎn) label 做 XML 轉(zhuǎn)義。如果用戶輸入文本里包含或直接拼進(jìn) XML 會(huì)導(dǎo)致解析失敗。用 Python 的xml.sax.saxutils.escape把特殊字符轉(zhuǎn)掉哪怕生成結(jié)果里看不到區(qū)別文件本身是穩(wěn)定的。3.3 布局方案別依賴大模型給的坐標(biāo)最初我覺(jué)得大模型既然能把關(guān)系和層級(jí)抽出來(lái)那么順帶給它幾個(gè)絕對(duì)坐標(biāo)也是順手的事。實(shí)驗(yàn)做下來(lái)我發(fā)現(xiàn)模型對(duì)坐標(biāo)的直覺(jué)極差經(jīng)常輸出“節(jié)點(diǎn)A在 x80節(jié)點(diǎn)B在 x820但它們還有同一層編號(hào)”這種自相矛盾的數(shù)據(jù)。而且即使坐標(biāo)基本合理只要用戶加一個(gè)節(jié)點(diǎn)整體布局就徹底亂掉。所以我做了個(gè)重要決定模型輸出里關(guān)于坐標(biāo)的信息全部忽略只保留節(jié)點(diǎn)、邊、分組、類型、label。真正的位置計(jì)算完全交給代碼里的分層布局引擎。實(shí)現(xiàn)的思路不復(fù)雜根據(jù)邊關(guān)系建立一個(gè)“依賴層級(jí)”。沒(méi)有入邊的節(jié)點(diǎn)歸為第 0 層下游節(jié)點(diǎn)按層級(jí) max(所有上游節(jié)點(diǎn)層級(jí)) 1計(jì)算。每一層的節(jié)點(diǎn)按順序排列同一層內(nèi)橫向均勻分布。縱向間距固定比如 80px。橫向間距按 label 長(zhǎng)度估算每個(gè)節(jié)點(diǎn)寬度至少 120px防止文字?jǐn)D壓。連線的路由交給繪圖工具自帶的自動(dòng)路由布局引擎只需要保證節(jié)點(diǎn)不互相重疊。寫(xiě)出來(lái)的核心函數(shù)大致是這樣def assign_level(edges, node_ids): depth {nid: 0 for nid in node_ids} indeg {nid: 0 for nid in node_ids} graph {nid: [] for nid in node_ids} for src, dst in edges: graph[src].append(dst) indeg[dst] 1 queue [nid for nid in node_ids if indeg[nid] 0] for nid in queue: for child in graph[nid]: depth[child] max(depth[child], depth[nid] 1) indeg[child] - 1 if indeg[child] 0: queue.append(child) return depth這就是一次拓?fù)渑判虻淖凅w。遇到環(huán)狀依賴時(shí)拓?fù)渑判驎?huì)留下未處理節(jié)點(diǎn)我的處理方式是給這類節(jié)點(diǎn)統(tǒng)一分配一個(gè)“循環(huán)依賴層”避免腳本死循環(huán)。對(duì)于架構(gòu)圖來(lái)說(shuō)環(huán)不應(yīng)該出現(xiàn)在業(yè)務(wù)依賴?yán)锶绻霈F(xiàn)了圖反而會(huì)幫你暴露問(wèn)題。布局算法穩(wěn)定之后用戶體驗(yàn)就非??深A(yù)期。無(wú)論跑多少次同樣的輸入永遠(yuǎn)不會(huì)產(chǎn)生結(jié)構(gòu)漂移不同的圖這對(duì)后續(xù)做 diff 和版本對(duì)比非常重要。3.4 樣式注入與實(shí)體標(biāo)準(zhǔn)化大模型生成節(jié)點(diǎn)樣式屬性時(shí)非常隨性今天給“用戶端”填紅色明天給“用戶端”填藍(lán)色后天可能直接不填。樣式不穩(wěn)定會(huì)讓人對(duì)工具產(chǎn)生極強(qiáng)的不信任感。我的方案是把樣式屬性從模型輸出里剝離完全交給代碼決定。項(xiàng)目里維護(hù)一個(gè)簡(jiǎn)單的類型到樣式的映射表TYPE_STYLE { client: rounded1;whiteSpacewrap;fillColor#E3F2FD;strokeColor#1976D2;, service: rounded0;whiteSpacewrap;fillColor#E8F5E9;strokeColor#2E7D32;, database: shapecylinder3;whiteSpacewrap;fillColor#FFF8E1;strokeColor#F57F17;, message: shapemessage;whiteSpacewrap;fillColor#F3E5F5;strokeColor#7B1FA2;, external: shapecloud;whiteSpacewrap;fillColor#ECEFF1;strokeColor#455A64;, }這樣用戶看到同一類型節(jié)點(diǎn)永遠(yuǎn)是同一套視覺(jué)表達(dá)圖面色彩整潔也便于團(tuán)隊(duì)在評(píng)審時(shí)快速過(guò)濾信息。實(shí)體標(biāo)準(zhǔn)化模塊則是解決“同一個(gè)東西被當(dāng)成三個(gè)節(jié)點(diǎn)”的問(wèn)題。常見(jiàn)情況包括英文字母大小寫(xiě)差異比如users-db和UsersDB中英文混寫(xiě)比如“訂單服務(wù)”和“Order Service”還有縮寫(xiě)差異。我的處理策略先統(tǒng)一成小寫(xiě)去掉特殊符號(hào)再把等價(jià)詞映射列表交給固定函數(shù)遇到匹配就合并同一個(gè) id。這個(gè)模塊不能做太激進(jìn)否則容易把兩個(gè)本來(lái)獨(dú)立的服務(wù)合并掉。所以我的原則是只對(duì)“完全一致但寫(xiě)法不同”做合并對(duì)“看起來(lái)像但不一定相同”保留為獨(dú)立節(jié)點(diǎn)把選擇權(quán)留給用戶。用戶可以在圖上看到結(jié)果發(fā)現(xiàn)不對(duì)勁再手動(dòng)合并比工具自作聰明要安全得多。4. 實(shí)操過(guò)程搭一個(gè)能跑通的最小版本4.1 環(huán)境準(zhǔn)備與文件結(jié)構(gòu)整套最小版本不需要前端頁(yè)面也沒(méi)必要引入復(fù)雜框架。我強(qiáng)烈建議第一步先做成命令行工具跑通核心鏈路之后再考慮 Web 界面和交互。準(zhǔn)備一個(gè)普通 Python 環(huán)境版本 3.10 以上就行不需要額外依賴重型庫(kù)。大模型 API 調(diào)用我用標(biāo)準(zhǔn)庫(kù)里的 urllib 實(shí)現(xiàn)避免引入一堆依賴。文件結(jié)構(gòu)安排如下next-draw-project/ ├─ prompts/ │ └─ diagram_prompt.txt ├─ src/ │ ├─ llm_client.py │ ├─ parser.py │ ├─ layout.py │ ├─ writer.py │ └─ cli.py └─ examples/ └─ demo_input.txt如果你的機(jī)器聯(lián)網(wǎng)不方便也可以用本地模型只要保持輸入輸出格式不變后端是誰(shuí)其實(shí)不關(guān)鍵。架構(gòu)上把 llm_client 做薄就保留了隨時(shí)切換后端的能力。4.2 核心代碼骨架先看調(diào)用大模型的部分。假設(shè)你有一個(gè)兼容通用消息格式的接口代碼大概這樣import json from urllib.request import Request, urlopen def call_llm(prompt: str, endpoint: str, token: str) - str: payload json.dumps({ messages: [{role: user, content: prompt}], temperature: 0.2, max_tokens: 4000, }).encode(utf-8) req Request(endpoint, datapayload, headers{ Content-Type: application/json, Authorization: fBearer {token}, }) with urlopen(req, timeout120) as resp: data json.loads(resp.read().decode(utf-8)) return data[choices][0][message][content]接著是 pompt 讀取和主流程def build_prompt(user_input: str) - str: template open(prompts/diagram_prompt.txt, encodingutf-8).read() return template \n\n用戶輸入\n user_input def main(): user_input open(examples/demo_input.txt, encodingutf-8).read() prompt build_prompt(user_input) raw call_llm(prompt, ENDPOINT, TOKEN) xml_text extract_xml(raw) model parse_middle_xml(xml_text) model normalize_entities(model) xmlish write_editable_diagram(model) with open(output.xml, w, encodingutf-8) as f: f.write(xmlish) summary validate_diagram(xmlish) print(summary)用這樣一個(gè)簡(jiǎn)單的 90 分腳本已經(jīng)能走完“文本進(jìn)XML 出”的完整鏈路。我建議第一次跑的時(shí)候盡量使用短小、邊界清晰的輸入比如“A 服務(wù)調(diào)用 B 服務(wù)B 服務(wù)連接數(shù)據(jù)庫(kù)”先驗(yàn)證鏈路通順再逐步增加復(fù)雜度。4.3 接入文檔和版本庫(kù)命令行版本跑通之后下一步一定是把它接進(jìn)團(tuán)隊(duì)文檔流程。因?yàn)檩敵龅氖羌兾谋?XML所以可以直接扔進(jìn) git。每次有人調(diào)整架構(gòu)描述并重新生成 diff 里能清楚看到哪個(gè)節(jié)點(diǎn)變了、哪條邊斷了。這個(gè)體驗(yàn)是位圖完全給不了的。在此基礎(chǔ)上我在自己的項(xiàng)目里加了一個(gè)小腳本讀取 XML 后輸出一行摘要nodes12, edges15, groups3, unlinked_nodes0這個(gè)摘要可以作為 CI 檢查的一部分比如節(jié)點(diǎn)數(shù)不小于閾值、不存在孤立節(jié)點(diǎn)。一旦有人手工刪改 XML 導(dǎo)致依賴斷裂檢查立刻報(bào)警。架構(gòu)圖和代碼庫(kù)慢慢形成互相約束的關(guān)系圖不再是擺設(shè)。可視化打開(kāi)的問(wèn)題可以先由第三方工具的無(wú)損導(dǎo)入解決。中間結(jié)構(gòu) XML 經(jīng)過(guò)一層映射之后寫(xiě)入繪圖工具兼容格式工具內(nèi)部有自動(dòng)布局能力打開(kāi)時(shí)再執(zhí)行一次“整理布局”就能得到非常干凈的圖。我的經(jīng)驗(yàn)是不要讓項(xiàng)目試圖覆蓋所有畫(huà)布交互那個(gè)工程量不適合個(gè)人項(xiàng)目第一階段去做。5. 常見(jiàn)問(wèn)題與排查手冊(cè)5.1 XML 解析失敗這是我在接入各種大模型后遇到概率最高的錯(cuò)誤。典型表現(xiàn)是腳本報(bào)錯(cuò)syntax error: line 3, column 0看一眼原始輸出發(fā)現(xiàn)模型把解釋文字加在 XML 前面或者少了個(gè)閉合標(biāo)簽。處理優(yōu)先級(jí)按下面這個(gè)表來(lái)現(xiàn)象常見(jiàn)原因處理方式一直解析失敗模型輸出被 markdown 包裹先用正則剝離代碼塊標(biāo)簽缺閉合上下文過(guò)長(zhǎng)導(dǎo)致模型截?cái)嘟档?max_tokens 或拆分輸入屬性沒(méi)加引號(hào)模型語(yǔ)法能力波動(dòng)手動(dòng)用正則修正讓屬性值統(tǒng)一被引號(hào)包裹被當(dāng)標(biāo)簽解釋輸入文本包含特殊字符對(duì) label 做 XML 轉(zhuǎn)義根節(jié)點(diǎn)多了一個(gè)模板要求只輸出一個(gè) diagram截取第一個(gè)完整diagram塊碰到解析失敗不要急著改模板先打印一份原始返回內(nèi)容的前 500 個(gè)字符看看結(jié)構(gòu)。很多時(shí)候問(wèn)題出在輸入文本帶了很多代碼片段導(dǎo)致模型輸出被截?cái)喽皇翘崾驹~寫(xiě)得不夠好。5.2 節(jié)點(diǎn)重疊和布局偏移所有第一次接出來(lái)的圖都會(huì)出現(xiàn)“節(jié)點(diǎn)全部疊在左上角”或者“邊穿過(guò)五六個(gè)節(jié)點(diǎn)”這種狀況。原因很直接你用了模型返回的坐標(biāo)而模型根本不理解布局空間。解決辦法只有一個(gè)不要續(xù)用模型坐標(biāo)改成重啟布局引擎。我每次換輸入都強(qiáng)制刷新坐標(biāo)甚至故意在 prompt 里不提供坐標(biāo)信息就是防止模型“順手”填出幾個(gè)坐標(biāo)把我誤導(dǎo)了。如果布局引擎跑完依然重疊檢查分隔距離是否太小。我在實(shí)現(xiàn)里把橫向間距設(shè)為 40px縱向間距設(shè)為 80px節(jié)點(diǎn)高度固定 40px覆蓋大多數(shù)情況。遇到圖特別大間距可以調(diào)成按節(jié)點(diǎn)數(shù)量比例縮放。5.3 實(shí)體重復(fù)和關(guān)系丟失“用戶服務(wù)USER-SERVICE后端用戶中心”這三個(gè)名字同時(shí)出現(xiàn)在生成的圖里是最讓人崩潰的場(chǎng)景。我第一次碰到以為是模型抽風(fēng)后來(lái)才知道是沒(méi)做標(biāo)準(zhǔn)化。標(biāo)準(zhǔn)化模塊上線之后重復(fù)率下降得很明顯。我試過(guò)最極端的情況輸入一段包含 500 行日志描述的資料模型把同一個(gè)數(shù)據(jù)庫(kù)重復(fù)建了四個(gè)節(jié)點(diǎn)。歸一化處理配合邊引用清理最后保留一個(gè)節(jié)點(diǎn)所有邊都指向那一個(gè) id。關(guān)系丟失的問(wèn)題更多出現(xiàn)在邊長(zhǎng)過(guò)長(zhǎng)的時(shí)候。模型在生成最后幾條邊時(shí)突然忘記了前面定義的節(jié)點(diǎn) id于是引用了一個(gè)不存在的 id。這種邊會(huì)被校驗(yàn)?zāi)K直接丟棄從結(jié)果上看就是“少了一條線”。我的處理方法是讓提示詞在結(jié)尾重復(fù)提醒“所有 id 必須是前面出現(xiàn)過(guò)的 id”同時(shí)關(guān)閉自回歸模型無(wú)關(guān)緊要的想象力效果立竿見(jiàn)影。5.4 生成慢和結(jié)果不穩(wěn)定調(diào)用大模型生成 20 個(gè)節(jié)點(diǎn)的圖一次可能要二十秒以上用戶體驗(yàn)很差。我的優(yōu)化思路不是改模型參數(shù)而是控制輸出范圍。在提示詞模板里加一條“節(jié)點(diǎn)數(shù)量不超過(guò) 25 個(gè)”讓模型在信息抽取階段做取舍。超過(guò)規(guī)模的輸入先讓模型做分層摘要再分塊生成局部圖最后再用布局引擎把幾塊圖合并到一起。這個(gè)方法犧牲了一定的“全自動(dòng)”但穩(wěn)定性和可讀性都回來(lái)了。不穩(wěn)定問(wèn)題還有一個(gè)隱藏推手模型內(nèi)置的隨機(jī)性。雖然我用 temperature0.2但不同時(shí)間運(yùn)行同一輸入仍然可能得到細(xì)微差別。后來(lái)我在注意力機(jī)制之外顯式要求模型“按輸入順序輸出節(jié)點(diǎn)”把單體節(jié)點(diǎn)與它們的邊綁定在相鄰位置。實(shí)測(cè)下結(jié)果幾乎不再跳變。6. 一些實(shí)測(cè)體會(huì)和后續(xù)擴(kuò)展方向6.1 我反復(fù)測(cè)試后的幾個(gè)結(jié)論做了這個(gè)項(xiàng)目之后我對(duì)“AI 生成架構(gòu)圖”這件事有兩個(gè)很明確的判斷。第一大模型擅長(zhǎng)提取關(guān)系不擅長(zhǎng)做空間設(shè)計(jì)。讓它羅列系統(tǒng)有哪些模塊、模塊之間怎么調(diào)用它能做得又快又好但讓它協(xié)調(diào)幾十個(gè)節(jié)點(diǎn)的坐標(biāo)它瞬間退化成隨機(jī)數(shù)生成器。因此架構(gòu)上必須把“關(guān)系提取”和“空間布局”徹底分離誰(shuí)擅長(zhǎng)什么就干什么。第二后處理永遠(yuǎn)比調(diào) prompt 更可靠。你可以把提示詞寫(xiě)到完美但模型是非確定性的下一次輸出可能就任性而解析、校驗(yàn)、標(biāo)準(zhǔn)化這些代碼是確定性的一旦寫(xiě)好就穩(wěn)定。我的成功率從最開(kāi)始三成不到到現(xiàn)在基本九成以上真正的轉(zhuǎn)折點(diǎn)是寫(xiě)了一個(gè)嚴(yán)格的后處理校驗(yàn)鏈而不是花了更多時(shí)間打磨 prompt。多輪迭代也很值得做。第一版生成的結(jié)構(gòu)即使有遺漏第二步讓模型“檢測(cè)當(dāng)前圖和輸入的一致性”大概率能把缺掉的邊補(bǔ)回來(lái)。該環(huán)節(jié)我建議最多做兩輪再多會(huì)給模型引入幻覺(jué)讓它生成不存在的依賴。6.2 接下來(lái)可以做的新功能當(dāng)前版本只是個(gè)骨架我下一步想優(yōu)先做幾個(gè)方向。第一個(gè)方向是把代碼倉(cāng)庫(kù)直接喂進(jìn)去。解析源碼里的類、函數(shù)、服務(wù)注冊(cè)信息自動(dòng)生成服務(wù)依賴圖這比讓用戶寫(xiě)自然語(yǔ)言描述要精確得多。關(guān)鍵難點(diǎn)從文本抽取變成了語(yǔ)法解析但底層工作流完全不用改。第二個(gè)方向是局部編輯的對(duì)話式體驗(yàn)?,F(xiàn)在生成完只能手動(dòng)改 XML不夠友好。如果用戶說(shuō)“把訂單服務(wù)的顏色改掉”“把緩存節(jié)點(diǎn)放到數(shù)據(jù)庫(kù)旁邊”模型能在保留大部分結(jié)構(gòu)不變的前提下做局部 patch這個(gè)工具就真的很像團(tuán)隊(duì)里的架構(gòu)師助理了。第三個(gè)方向是架構(gòu)演進(jìn)對(duì)比。既然圖是文本、能入庫(kù)、能 diff那就能自動(dòng)對(duì)比前后兩版架構(gòu)圖標(biāo)出新增模塊、失效依賴、不穩(wěn)定節(jié)點(diǎn)。這事對(duì)大型系統(tǒng)評(píng)審太有用了我后續(xù)會(huì)優(yōu)先投入。最后再分享一個(gè)我在實(shí)際使用中發(fā)現(xiàn)的小技巧永遠(yuǎn)在生成結(jié)果里保留一個(gè)“未知依賴”虛擬節(jié)點(diǎn)。當(dāng)模型拿到一條沒(méi)有來(lái)源的邊時(shí)不要直接丟棄而是掛到一個(gè)虛擬節(jié)點(diǎn)上提醒用戶這里可能漏了系統(tǒng)。這樣你不會(huì)在批量生成時(shí)因?yàn)閬G邊而悄悄損失語(yǔ)義架構(gòu)評(píng)審時(shí)還能“被迫”解釋清楚。這個(gè)小改動(dòng)值得任何做 AI 繪圖工具的同學(xué)抄走。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天堂涩涩| 中文字幕高清20页视频| 91 天天综合| 欧美在线啊啊啊| 中文激情网| 试看日韩黄片| 热久久无毒不卡| 蜜色网色哟哟| av一区二区三区 中文| WWW操逼| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 国内毛片无码一级毛片| 欧美日本中字另类在线| 久久东京伊人一本到鬼色| 亚洲欧美天| 久久久男人的天堂| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV | 久草视频观看视频在线| 放黄片放3级黄片没穿衣服| 精品无码产区一区二| 偷拍在线观看视频| 动漫av中文| 99国产天美| 超碰人人草| 中文字幕性感少妇av| 黄色视频特级毛片| 色一情一乱一乱一区91Av| av强奸乱轮| 啊啊啊啊啊在线| 大干人妻| 欧美色乱| 91亚洲欧美| 清纯唯美综合亚洲| 96国产精品| 91精产一区二区三区| 蜜臀精品1区2区| 青青青国产| 久久国产精品,久久国产| 日韩三级一区| 精爱久久| 校园春色宗合网| 97视频www| 是还免费视频1727我| 中国黑人三级片网站上区| 亚州色图狠狠干| 99re黄 | a一区二区三区乱码在线| 果冻传媒A片麻豆熟妇人妻| 欧美黑人日韩少妇色情| 91久久国产精品| 97色综合中文网| 欧美天堂在线| 国产AAAAAABBBBB| 国产乱伦亚洲| 色婷婷丁香五月| 97日本超碰综合| 1024亚洲中文字幕久在线看片你懂的 | 国产操逼逼网| 最新国产精品久久精品| 欧美第一页性| 无码精品啪啪啪一区二区三区三州| yazhouzaixian| 91成人亚洲色图| jizz啪啪| 久久98| 综合网久久| 国产97av| 97摸视频| 国产精品白丝AV| 中国一级操逼视频| 久久这里都是精品| 精品女同一区| 乱论91| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 欧美日产国产在线成人第一区| 91成人久久| 91殴美大片| 啊啊啊好大好深| 亚洲国产av中文字幕久久| 99精品网| 久久久四区| 99久久99九九99九九九| 免费视频观看60秒| 久久 国产精品 一区| 97热视频在线观看| 另类专区加勒比| wwe 天天干.com| 精品乱码久久久久| 超碰在线观看av不卡| 成熟熟女国产精品一区二区| 中文字幕日韩专区精品系列| 欧美精品在线观看| 成人无遮挡毛片免费看| asc国产精品| 色乱二区| 国产9l 大屁股| 99综合网| 中文字幕中文字幕一区二区| 99re6国产精品99re| 在线综合色| 亚洲第一视频 欧美风情 日韩| 欧美日韩性爱视屏免费看了| 欧美翘臀视频网站一区二区三区| 日本999精品视频| 夜夜操青青草| 超碰诱惑| 国产精品电| 亚洲不卡AV在线| 天天夜躁日日躁狠狠2002| 日韩大香蕉精品在线视频| 黑人黄片在线免费观看| 岛国A V在线免费看| 风骚少妇视频中文字幕| 国产精品肉丝自拍| 97色婷| 亚洲乱码精品一区二区| 99少妇内射| 九九九九免费高| 国产小炒后入式| www.狠狠| 干b在线性社区| 天美麻花大全视频| 99久久久er直播网址| 超碰久超碰久| 久久久91| 97se亚洲综合自| 乱码人妻一区二区三区| 免费成人在线熟妇网| 麻豆AV一区二区| 五月天婷婷色色| aaaa少妇高潮大片| 欧美亚洲另类在线蜜桃| 国产91久久九九免费精品无码| 黄色区免费观看中文字幕| 欧美精品另类人妖xxxx| 在线观看精品国产免费| 欧美国产伊人久久久久| 草草影院日本第一页| 粉嫩av久久一区二区三区| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 国产美女91| 97日韩欧美亚洲| 99精品无码| 婷婷成人久久久精品| 夜夜爽33333| 天天做天天爱天天爽| 97色婷| 久久久久久久一级黄色打同平台| 一区二区三区精品黑丝白丝酒店对鸡 | 九久久精| 333kkkk·亚洲com久久| 一级AAA片一区二区三区| 啊视频在线| 亚洲国产成人高清在线| 国产精品制服丝袜中文字幕日韩一区二区三区| 人妻天天爽夜夜爽精品2| 五月天婷婷基地| 蜜臀av中字字幕网站| 78久久久| 国产福利合集| 曰韩av中文字幕专区| 久久侵犯人妻爽爽爽| 三级片大波波| 亚洲成人ab| 日本成人免费一区二区三区| 成人免费福利在线观看| 插入综合网| 你草精品在线视频| 女沟厕偷窥piss小便| 蜜桃视频成a人v在线| 97色欧洲| 97硬碰| 超碰97首页| 999综合网| 久久精品国产免费观看99| 中文字幕人妻丝袜| 性欧美第一页| 十八禁的黄污污免费网站| 开心五月激情网| 欧美成人综合| 亚洲国产综合图区中文字幕| 亚洲综合九九| 亚洲九九视频在线观看| 国产精品ⅴ无码大片在线看.| 秋霞免费AV| 亚洲蜜臀视频精品久久| 久久精品区| 国产白领连续中出在线观看| 亚洲欧美激情另类色图| 99re98| 在线观看av区| 欧美色97| 日韩另类色图| 国产精品久久久久久久电影渣男| 五月天社区| 亚洲国产综合视频| 曰本熟女视频| 91精品伊人久久久大香线蕉91| 色娱乐色呦呦夜夜夜夜av| 国产人伦a片信息免费片| 四虎884a| 色香蕉影院| AV乱伦国产| 蜜桃精品视频一区| 能看的av| 日本天天操| 少妇天堂| 91熟女少妇| 伊人亚洲国产一成人久久精品,久久| 天天综合网~91| 成人熟女视频一区二区三区| 久久亚洲av成人无码国产| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 亚洲激情 欧美色图| 2019久久久久久久久福利| 高清不卡 中文 人妻| 五月天婷婷色| 在线啊v一区| 国产精品成久久久久午夜午夜| 狠综合网| 99国产精品免费| 国产精品视频内谢女人| 1024人妻熟女一区二区三区| 天美精品一区二区三区四区在线观看| 伊人久久艹| 日本不卡高清视频| 国产在线综合福利网站| 91青青在线视频| 天堂资源欧美| 久久久久精| 欧美极品女人的天堂| 影音先锋乱| 免费在线黄片视频| 日本丝袜人妻内射| 国产精品久久久久久久黄无码| 精品国产一区探花在线观看| 中文字幕乱妇免费视频| 久久激情视频| 九色黄站| 久久 国产 无码| 亚洲图片偷拍视频区| 国产精品老师| www.婷婷| 素人美腿视频网站| 1区2区3区中文字幕日韩| 黑丝少妇在线观看| 亚洲情色五月天 | 色综合1991| 日韩欧美~中文字| 色欧美色交综合| 男人综合网| 欧美人妻制服| 欧美1区二区三区公司 | 亚洲黄色影视| 中文字幕丝袜美腿| 亚洲极品| 大香网站| 日本三级R| 色臀AV| 九九九九免费视频| 欧美日韩97在线| 大香蕉狠狠爱| 国产一区二区三区久久久精品| 欧美另类精品xxxx| 97色碰| 99精品人人爽| 亚洲欧美高清| 久久草在线综合视频| 殴美牲| 大乔未久88一区| 欧美综合网A| 免费伦费视频在线观看| 欧美亚男人的天堂| 东京热99999| 天天草天天日| 99这里只有精品| 青青草狠狠撸| 一本久道在线综合视频| 久久极品伊人| 九九草| 蜜桃无码AV一区二区| 日日夜夜草草草| 99热在线观看| 992这里有精品| 夜夜嗨一区二区三区三州加勒比 | 日本免费一区二区不卡 | 国产操操日韩三级黄| 久久欧美1卡2卡3| 51一区二区三区| 牛黄色久午久| 日本 情色 1区2区3区| 在线视频免费播放一区| 97频视在线| 久久中文字幕一区不卡| 欧美一区二区男人天堂| 大香蕉伊人色偷偷在线| 51久久夜色精品国产麻豆| 久久成人午夜精品影院 | 伊人网在线视频| 人人操我人人干| 人妻夜夜爽天天爽麻豆三区网站 | 翔田千里爆乳巨臀无码| 国产日韩精品一区二区三区| 人人操人人干xxx| 五月天综合网| 无码视频黄色网战| 日本天天干天天操一区| 日本曲间由美性生活片| 日逼五月天| 国产精品自拍xxxx| 综合久久97| 热久久99999| 国产自偷自拍一区| 韩国三级一线观看久| 97超碰色屌| 久久欧美性爱视频| 国产一区二区三区高清视频| 女性喷水高潮在线观看| 99精品久久久久久久婷婷蜜桃| 国产免费小视频| 伊人色综合超碰| 激情久久久| 亚洲av青草久久一区二区| 青青草黑寡妇男人天堂| 静品嫩模一区二区| 久9热| 国产熟女无套内射| jiujiujiujingpin| juliaann精品熟女一区| 思思在线免费视频| 先锋影音av先锋一区| 国产三级中文字幕粉嫩| 丰满少妇一区二区三区四区观看| 夜夜爽33333| 亚洲精品久| 一本久久久精品| 操婢日韩| 日本操逼视频在线| 亚洲色图欧美色18直播在线| 人妻夜夜爽天天爽麻豆三区网站| 亚洲无码一二三区| 日韩黄片影院| 五十路三级片| 精品国产乱码久久久影院| 国产久久一区二区午夜| 九九综合久久| 天天插天天操| 操逼网站地址| 人妻乱仑一区二区三区| 丰满岳乱妇一区二区三区| 人妻铁牛TV| 岛国1区2区3区在线观看| 91丝袜视频在线观看| 哑洲在线| 男人的天堂VA| 国产亚洲日本| 中出人妻中文字幕91在线| 九九九九精品一区| 亚洲91综合| 操淫穴亚洲五月丁香 | 久久99九九九九6666免费观看软件| 校园春色宗合网| 99re在线精品78| 欧美天堂日韩三级国产传媒| 亚洲综合性网址| 久久女人视频| 热久久国产精品视频大陆精品| 久久久性爱视频| 98超碰日本| 久肏视频字幕| 最新av中文字幕高清| 无码精品久久| 亚洲精品蜜桃久久久| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 久久尹人大香焦视| 欧美懂色综合网| 国产9 9在线 | 亚洲| 亚洲字幕一区二区| 日韩国语字幕| 9ⅰ久久久天天| 丝袜足交视频| 久久一区二区高清免费| av天堂影视中文在字幕在线中文| 五月激情影院| 人人操超碰在线| 欧美真人抽搐一进一出gif| 蜜乳AV色欲AVAV无码| 日韩伦理久 久久 清纯 | 精品久久久中文字幕不| 国产超碰欧美| 国产女人和拘做爰视频| 99色在线观看| WWW美腿丝袜香蕉中文| 一级AV性爱| 神马精品视频| 久久久久亚洲AV无码专区少妇| 乱伦系列一区二区| 色眯眯av| 婷婷午夜成人色中色| 日韩精品9999| 国产黄色在线播放观看| 99re95| 人人搞人人插人人操| 国产精品秘 福利姬在线观看| 91亚洲欧美色图| 亚洲春色一区二区三区| 丝袜狠狠草尤物人妻av91| 天天拍夜夜| 99久久99久久综合| 欧美日韩资源| 天天操天天射青青草| 亚洲 暴爽 AV人人爽日日碰| 久99久视频精选| 久操网视频| 久久最新视频免费观看| 天天干天天燥| 91爱看| 中文字幕一二区二三区人妻专区| 综合网欧美在线| 2017天天插| 亚洲精品日日夜夜52| 少妇三p| 丁香五月偷拍| 超碰97色| 精品欧美日韩在线观看| 国产精品一区午夜福利| 丝袜美腿91| 日韩人妻操B| 日本一区二区三区免费观看| 先锋音影AV| 欧洲熟妇xxXx欧美老妇裸体| 嗯嗯啊好爽| 美女91色黄18| 欧美亚洲综合色| 人人妻人人爽 97人人看碰人免费公开视频| 嫩草伊人久久精品| 超碰调教97| 亚洲色图亚洲无码强奸乱伦| 国产真乱mangent| 久久风骚城市| 1024午夜激情男人的天堂| 亚洲色系另类精品国产| 亚洲国产精品无码AV久久| 久9精品| 久久99九九九九6666免费观看软件| 日本综合久久| 午夜亚洲国产理论秋霞| 日韩欧美加勒比| 情色大香蕉| 久久久久国产| 久久久禁| 白丝在线一区| 久久久久久中文版| 自拍二页| 伦理弟一页| 日本蜜桃| 尹人大香蕉视频在线| 大屁股国产在线视频| 天天干天天干天天| 情趣丝袜无码操逼视频| 偷拍片久久| 嫩草影院永久在线制服丝袜| 超碰天天久久79| 国产和美国毛片| 日韩不卡一二三四| 久久97视频| 丰满人妻一区| 黄页av| 亚洲AV在线资源| 亚洲男人的天堂网| 国产丁香精品露脸视频| 99蜜月精品久久| 啊啊啊啊啊好舒服视频| 91欧美性| 久久手机好看网站| 久久欧洲| 亚洲综合五月天婷婷丁香| 夜夜操一区二区| 韩日欧亚a级| 人人操人人狠狠操| 亚洲综合一| 97天堂| 亚洲色欲天天天堂色欲网女| 久插综合| 打av高清| 五十路熟女人妻一区二区在线观看 | 久久不卡一区二区| 99re视频在线播放青草| 日本在线一二| 国产一区二区三区,在线观看观看| 91综合色| 操操操操操操| 亚洲自拍天堂| 中文字幕一品色图| 色噜噜综合网| 欧美AAAA黄片| 二对二中文字幕。| 日韩欧美亚洲一区二区三区影院| 全国男人天堂网| 国产精品熟女乱伦| 啪啪啪综合网| 欧美精品91| 欧美色性爱| 大干人妻| 亚洲国产综合久久久性感熟妇| 亚洲人妻五月丁香婷婷| 久久一二区四| 91强热人妻| 欧美操逼录像国产黄色国产| 国产精品久久发布| 91影库| 亚洲情色 自拍| 亚洲国男人的天堂| 岛国片在线播放| 欧美日韩国产色五月综合在线| 国产精品自在自拍视频| 九七超碰| 欧美性综合| 99无码视频| 啊啊啊好多水| 性感美女啊啊啊在线| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 色色热| 老司机天天操| 精品无av| 熟妇高潮精品一区二区三区下载| 99热精品在线| 极品尤物自安慰| 久色99999| 一区二区三区网站日日骚| 中国少妇XXXX做受| 亚洲情色视频| 超碰在线综合97| 亚洲天堂性爱| 婷婷爱五月| 78久久| 熟女久久久| 91成人在线| 高清国产av无码| 日韩精品免费高清视频在线| 美女网站91| 九九久精品| 欧美另类色图片| 国内精品久久久久影院亚洲| 尤物黄色在线观看网站| 蜜臀久久99精品久久久久| 精品制服美女中文一区二区三区| 少妇蜜汁| 97超碰国产精品| 欧美,日韩综合久久| 婷婷爽人人婷婷爽视频| 国产精品伦理| 女上位精品在线| 足交视频老司机| 国产性感在线观看| 顶级少妇BT天堂| 麻豆天美国美国产| 色婷五月| 色情综合网| 色天使亚洲综合在线观看| 午夜亚洲WWW湿好大| 夜夜夜爽www精品视频| 久久原创中文| 亚洲 欧美 日本 国内 首页| 99福利社| 91色欧美| 亚洲高清欧美总合| 另类欧美色| 日天天九九天堂666| 熟女熟妇伦久久影院毛片一区二区| 欧美 日韩 另类 亚洲| 一区二区久久天天干狠狠| 中文字幕人妻丝袜| 久久久人妻| 久7色| 嗯啊啊啊轻点视频 | av天堂精品久久| 免费精品人妻一区二区三| 一个人免费视频观看在线WWW| 色网站导航大全| 欧美成年人性爱视频免费观看| www.色吧5.com| 国产精品嫩草久久久久| 蜜乳av一区二区| 人人操人人舒服| 国产精品干干干| 久久精品成人| 尤物网站91| 色黄污美女啪啪啪免费网站| 国产精品一区午夜福利| 久久精品店| 国产成人在线观看综合| 五月天婷婷成人网| 久草色悠悠在线视频| 国产青一二三| 精品一区二区三区蜜桃臀赵总| 国产日韩欧美三级片| 黄色AAAAA欧美| 久久久久九九九| 五月天激情国产综合婷婷婷| 九九热超碰97亚洲最新香蕉| 加勒比伊人影院| 亚洲综合网91| 欧美人与动性人交a| 最新三级网址| 精品国产乱码久久久久久久久1| 日本久操视频| 天天干1区2区在线| 九九九九精品视频| 日本一区二区成人在线| 久久久啊啊| 久久6热精品99视频| 少妇熟女一区二区三区| 国产亚洲精品无码三区| www.99热| 97天天在线| 男人天堂2030| 殴美大黄片| 大香蕉伊利av| 深夜激情| 欧美日韩操操操| 天天日少妇逼AV| 丁香7月婷婷| www国产无码| 91精品国产高清久久久久久,亚洲成人| 99热色这里只有精品| av线电影| 国产精品久久久久久亚洲色欲| 99久久久er直播网址| 亚州色站 日韩电影| 大香久久| 黄色欧美性爱视频| 欧美亚洲宗合色性图| 日韩一卡二卡三卡| 丁香五月久久| 亚州,欧美在线| 岛国大片国产| 日本蜜桃| 91欧美少妇| 免费作爱一级视频| 91成人社区| 欧美在线91| 一区二区你上我| 狠狠爱夜夜| 日操粉逼逼| 亚洲怡春院| se01国产在线视频| 欧美激情片一区二区| 波多野结衣之双飞调教在线播放 | 五十路人妻在线| 国产欧美在线观看免费观看| 激情图片伦理国产一区二区日韩| 亚洲黑人在线| 精品一区二区三区蜜桃臀赵总 | 天堂av最新电影网| 探花激情视频| 日韩毛片9| 国内毛片免费h片在线| 超碰97人人乐| 国产女人成人精品视频| 精品人妻15区| 欧美十八禁导航成人| a人片中文字幕一区二区| 午夜激情成人在线观看| 国产精品视频播放| AV网站高清无码在线观看| 亚洲性猛| 国产精品久久久久久片| 97欧美色| 99ri视频| 偷拍综合网| 欧美在线啊啊啊| 影音先锋日本一区二区| 蜜桃丰满熟妇av无码区不卡| 美女自卫慰黄网站免费| 欧美国产婷婷久久| 日韩av三四区| 精品国产一区二区三区香蕉欧美| 91黑丝操| 99∨VTV| 熟妇女伦乱视频| 中文字幕视频一区视频二区| 欧美在线啊啊| 婷婷丁香一区二区三区| 免费中文在线| 色综合91好| 2017大香蕉国产精品久久| 高跟丝袜AV专区国产| 97久久综合网| 69精品人人人人| 欧美—性—交—色| 日韩三级在线观看mp4| av日韩在线观看电影| 天天综合~91| 老师充足的奶水小说| 强奸乱伦大香蕉网| 600国产精品视频| 成人热久久精品| 欧美精品三区| 中出人妻中文字幕91在线| 欧美性猛交美女自慰91| 伊人久久综合影院| 午夜精品久久久久久久久久久久久| 超碰 av 女人天堂| 高清无码国产亚洲| 操迟操逼在巾线Fre看| 超碰地址久久| 天天躁狠狠躁av| 内射中出日韩在线观看视频| 我要去看2个日本美女.com曹逼| 麻豆激情综合| 天美国产精品| 另类一区| 麻花豆传媒剧国产MV出差| 男人天堂新在线| 久草精品一区| 国产AV天美| 3571色综合一区二区二区| 欧美一区二区日韩三区| 国产激情视频一区区三区| 亚洲天堂久| 9热9热综合网| 无码免费一区二区三区啪啪| 亚洲1区2区三区高清中文字幕| 蜜桃狠狠色伊人亚洲综合网站| A一级色女| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠| 91精品国产麻豆国产自产在| 国产亚洲中文不卡二区| 中文久久| 啊啊啊无码| 人妻熟女一区二区三区视频| 乱子伦一区二区三区国产精品| 天天弄欧美| 日韩九区| 婷色五月| 亚洲第一综合| 激情五月天社区| 中文字幕一区二区韩| 日日噜噜夜夜狠狠视频无| 91操熟女| 亚洲一区日韩精品中文字幕| 日本操逼视频免费| 亚洲国产精品无石码久久 | 91美女国产在线| 久久AV色| 伊人色综合超碰| 欧美亚洲第1页| 厕所偷拍在线| 美女诱惑1区2区| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 91成人精品在线播放| 99re公开精品免费视频| 欧美性爱中文字幕无线码| 成人av在线播放| 日韩性爱毛片操骚逼| 嗯啊抽插大香蕉网页| 日本三级A片网站com| 操迟操逼在巾线Fre看| 美女极品一区二区三区| 国产福利小视频高清在线观看| 在线可观看的黄色网址| 色婷婷九月| 久热婷婷| 久久久久久性爱视频| 综合色色网| 天天插天天插| 日日干夜夜操视频h| 国产夜夜操| 91路www| 欧美色图亚洲色,麻豆| 久久天堂网| 噜噜噜噜天天狠狠| 亚洲色人阁| 亚洲精品一区二区日本| 思思热在线视频免费| 永久免费av无码网站国产app| 超碰成人公开| 97久久视频| 96久久科窝| 麻豆人妻偷人精品无码视频| 久久九九97| 青娱乐淫乱1314| 欧美少妇性爱网站| 天天色粽合合合合合合合| 中文字幕乱碼在线| 色原狠狠天天天| 日比av无码| 国内毛片欧美香蕉精品| 粉嫩av在线一区二区| www.色操逼| 欧美亚洲激情小说| 91九色丰满高潮| 97免费视频在线观看视频| 四虎在线视频| www.伪伪| 国产操逼逼网| 91在线视频免费中出| 毛片麻豆91糖心精品毛情片| 国产精品成人午夜福利| 日韩欧美aⅴ综合网站发布| 色播五月丁香| 妇人噜噜| 大色综合| 九久9精品| 精产国品一区二三产品| 日韩综合97p| 日韩国产乱子伦App| 日本高清电影欧美色图| 欧美人妻一区二区| 一起草日韩| 大香蕉123| 黄页网站成人免费| 国产黄色影片在线观看| 亚洲男人久久综合天堂| 91九九| 国产日韩中文字幕欧美| 尤物黄色在线观看网站| 天天日夜夜| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | av一区二区三区 中文| 综合av影片| 久久9久久| 亚欧国产无码精品在线| 热热色色综合| 日日夜夜精品视频| 免费观看欧美日韩操逼视频| 亚洲天天天| 搡老女人老91妇女老熟女| 午夜一区| 欧美色老汉| 综合国产影视三级| 成人影 天天操 亚洲| 欧美亚洲图片| 综合色图亚洲欧美| 综合熟妇一区二区三区| 熟女视频久久| 伊人宅男大香蕉| 国产人妖视频一区在线观看| 欧美伦乱爱| 亚洲国产av中文字幕久久| 青青操97| 秋霞免费无码视频日韩A片| WWW4虎| 999综合网| 亚 欧 美 综合| 九九热AV| 精品国产少妇高潮视频| 精品少妇999| 97综合日韩| 一区二区三区视频| 顶级少妇BT天堂| 强奸乱伦免费网站| 亚洲免费精品一区| 久久久久久亚洲Av无码| 国产地址二三| 精品三级在线专区| 第45页一区二区| 日韩成人精品| 9ⅰ久久久天天| 日亚韩精品视频二区三| 欧美第五页| 久久黄黄| 成人免费性爱视视| 亚洲限制级| 人人爱人人操人人性| 超碰视97中文| 色精品极品| 精品日韩中文在线| 精品二999| 丁香五月成人| 欧美激情性久久久久久| 亚洲清纯唯美| 国产免费一区二区在线A片视频| 亚洲天堂男人网| 精品国产99| 午夜福利在线合集| 天堂成人网| 日日夜夜青青草母狗| 十八岁啪啪视频免费看| 亚洲欧美国产精品久久久久久久| 色综合91| www.色吧5.com| 婷婷九月国产| 久久国产精品91| 熟妇综合一区二区三区| 亚洲91网站| 99操| 亚洲精品无码成人久久久99| 久久中文字幕女同性恋一区| 亚洲人成色9999精品久久| 男女性感激情网站| 天堂亚洲欧美| 久久m| 男人的天堂2018东京热啪啪啪| 日比av无码| 成人熟女区| 夜夜夜久久| 3p国产欧美99热| 激情综合网激情综合| 中文字幕国产| 密臀AV在线| 婷婷伊人网| 国产高清免费不卡av| 亚州91| 中文字幕人乱码中文字的预防方法| 国产精品一二三区福利| 国产黄片在线免费观看| 中文字幕在线免费观看2| 免费亚洲国产精品久久一区| 久久久999日本大片| 国产超碰| 91丨九色丨国产丨人妻在线 | 97欧美色综合| 性色av一区二区| 亚洲人成网www| 日韩av乱伦| 无码高清专| 欧美日韩午夜精品一区二区三区 | 成人网站 免费观看| 免费a v| 91熟女网| 欧洲亚洲人妻无码高清久久三区四区| 亚洲欧美大香蕉| 成年人一级黄色毛片大全在线观看| 久久这里只有精品9| 97超碰色中文字幕| 99色婷婷中文字幕乱色| 小草精彩毛片| 精品久久視頻在线| 五月天综合网| 天天看天天在线精品| 亚洲第一页第二页激情| 天天综合亚洲综合| 亚州色综合| 蜜桃久久一区| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 日本肉体xxxx裸交| 自拍偷拍2025在线观看| 国产精品亚洲天堂网址| 操逼天美3区| 性爱边摸边日免费AV| 91成人高清在线观看| 国产中文字幕在线点播| 久久久一区二区三区三州| 岛国在线免费视频| а√天堂资源官网在线资源| 大二网站亚洲| 大香蕉黄色一级片免费看| 亚洲欧洲中文日韩女优乱码| jizz啪啪| 国产中文精品一区二区在线观看| 国产精品亚洲天堂网址| 人妻干天天| 欧美另类综合久久| 国产精品亚洲美女久久久久| 日本狂喷奶水在线播放212| 天堂а√在线最新版在线| 18禁中文字幕| 亚洲综合精品国产一区| 久久九九国产精品| 九九99精品视频在线观看| 人妻天天夜夜爽一区二区| 观看视频图片一区二区三区| 极品丝袜无码| 日韩美女久久一区二区三区| 久久久久ab| 吊色| 欧美AB在线| 亚洲本色精品一区二区久久| 亚洲精品白浆高清久久久久久| 97国产高清视频在线观看| 黄色性爱网网| 少妇二级| 亚洲色悠悠久久88| 女人香蕉久久毛毛片精品| 1024精品在线| 大香蕉www.超碰| 女人爽到高潮潮喷18禁网站| 色老汉玖玖爱| 欧美操逼视频二区| 精品丰满熟妇人妻一区| 欧美精品宗合| www久久国产精品| 亚洲中文国际强奸字幕| 五月天激情婷婷| 91精品丝袜久久久久久无码人妻| 一区二区三区色综合| 欲香欲色综合天天伊人| 成全在线观看免费观看| 屌逼传媒| 大香蕉一人在线| 97超碰9| 操我无码| 日本午夜福利视频| 中文字幕精品亚洲熟女| 天天草天天日| 五月综合婷婷久久网站| 91大神电影天堂| 91国产丝袜美女| 亚洲网站一区二区在线| 制服乱伦| 少妇超碰在线| 蜜臀久久久国产| 91久久| 久久99久久99精品免视看婷婷| 亚洲精品美女久久久久久久久| 亚洲情色一区三区| 亚洲在线91| 精品亚洲国产成人AV制服丝袜 | 9999亚洲精品| 色妺妺AⅤ| 3p国产欧美99热| 老女人老91妇女老热女| 三级日本一区二区三区| 99ri在线视频| 国产乱子伦一区二区三区免看| 日本成人免费一区二区三区| 天堂岛av| 国产精品3| 99re公开精品免费视频| 97色色国产视频| 久久午夜色播影院免费高清| 极品美女福利在线观看| 日韩电影天堂视频一区二区| 超碰日韩人妻| www.操| 亚州综合色| 婷婷月色| 久久精品国产亚洲av水密被窝| 国产亚洲日本精品在线| 欧美白嫩女HD| 国产无吗在线播放| 观看视频图片一区二区三区| 日本色色色网站免费看不卡| 欧美在线视频99| 欧美桃色网| 亚洲欧美精品福利在线| 尤物视频新赏网鲜网色诱网| 777AV电影| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 区一二区日韩亚洲乱码av电影| 国产熟女无套内射| 欧美性爱五月天| 国产精品乱码久久久久| 校园春色制服丝袜中文字亚洲| 国产精品另类一区大香蕉| 国产免费永久精品无码| 夜夜无码| 九九热视频在线观看| 久久国产精品一区二区| 99热综合| 屁股久久久久久| 麻豆天美国美国产| 青青草福利视频| 日本不卡卡一区| 四虎午夜影院| 免费看污网址| 家庭乱伦性爱av| 成人开心网在线视频| 五月天色图| 日本影视久久免费| 超碰在线人妻不卡| 1769国内精品视频| 一二三四视频在线社区中文字幕| 天天草天天干天天日| 欧美亚洲特P| 无码9区| 亚洲精品自拍| 强奸熟女一区二区三区 | 天美传媒一二三区永久网站| 青春草莓视频在线观看网址| 亚洲成人综合在线| 国产成人五月天丁香花| 九久久九精品视频| 国产不卡免费在线视频| 99热在线只有精品| 午夜天堂精品久久久久91| 天天看天天日| 日韩久草| 中文字幕精品一区二区精品| 精品一级毛片在线观看| 日韩人妻精品中文字幕| 91热爆在线| 午夜视频久久久久一区| 少妇精品久久久八区九区| 人妻av在线| 18禁无码永久免费无限制| 欧美人妻一区二区| 97精品国产97久久久久久免费| 中国一级操逼视频| 蜜桃网熟妇| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 欧美日韩国产色图在线| 97爱碰| 肉动漫无遮挡h在线观看| 国产白丝精品在线观看| 最近2019中文字幕国语免费版| 伊人五月天| 精品一久久久| 在线a亚洲视频播放在线| av国产无码| 亚洲男人天堂2013| yiqicaoav| 国产成人精品亚洲日本| 日影院久久婷婷夜夜网| 超碰人妻久久| 久久久久国产无av| 国产av热热色| 亚洲无线观看久久| 色综合一区二区三巨| av2014 日韩在线中文字幕| 天天操人人操狠狠插| 亚洲三级网址久久最新| 蜜臀久久99精品久久久| 欧美人妻色| 伊人久久综合影院精品久久久| 亚洲人在线| 天天拍夜夜| 久久久久久久一级黄色打同平台| 色九久| av天天在线观看| 午夜视频久久久| 国产2.3.4区| 欧美 日韩 国产传媒| 亚洲在线网站| 后入式在线免费观看60秒| 日韩在线一区二区| 午夜九九| 中文字幕精品丝袜| 国产家庭乱伦表演| 麻豆人妻偷人精品无码视频| 日韩啪啪网| 久久久精品电影| 亚洲91射| 日本东京热大香蕉a片| 国产久久av| 欧美亚洲中文| 日本亚欧爱爱| 嗯嗯啊啊操死我| 久久一区二区三区入口| 肏逼视频日本| 骚货 中文字幕 av| 91在线限制级| 中文字幕成人| 成人一级性爱| 超碰99re| 国产九九九九九九| 九九热视频这里只有精品| 熟女乱伦二区| 国产熟女完整版中字| 亚洲色人| 51一区二区三区| 9999亚洲精品| 黄色小说亚洲| 国产日韩精品一区二区三区| 国产亚州精品美女久久久免费| 亚洲熟女av中文字幕| 成人五月天色网| 大地资源在线观看中文第二页|