欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

Agent Skill 實戰(zhàn):從零開發(fā)可復(fù)用技能,理清與 MCP、Tool 的區(qū)別

Agent Skill 實戰(zhàn):從零開發(fā)可復(fù)用技能,理清與 MCP、Tool 的區(qū)別 從 2025 年初開始“Agent Skill”這個詞在 AI 大模型開發(fā)圈子里的出現(xiàn)頻率越來越高。但打開網(wǎng)上的教程你會發(fā)現(xiàn)一個很尷尬的現(xiàn)象講 Agent 概念的文章鋪天蓋地一旦深入到 Skill 怎么設(shè)計、怎么寫、怎么調(diào)試內(nèi)容就斷崖式減少。更讓人頭疼的是Skill、Agent、Tool、MCP 這四個概念經(jīng)常被混在一起講讀完反而更迷糊。這篇文章不想復(fù)述概念而是想解決三個具體問題第一把 Skill 和 Agent、Tool、MCP 的關(guān)系徹底講清楚尤其是“Skill 和 MCP 有什么區(qū)別”這個高頻疑問第二用一套最小但完整的 Python 代碼演示如何從零開發(fā)一個 Skill并讓 Agent 在對話中自動選擇和使用它第三把開發(fā)過程中真正容易踩的坑和工程化建議整理成清單方便你直接用到項目里。核心判斷先放在前面Skill 不是 Agent 的另一個名字也不是 MCP 的替代品。Skill 解決的是“能力封裝與復(fù)用”的問題MCP 解決的是“能力接入與互通”的問題Agent 才是那個負(fù)責(zé)“決策與調(diào)度”的主體。理解了這個分層你再看任何 Agent 框架都會順暢很多。1. 這篇文章真正要解決的問題先說說為什么 Agent Skill 值得單獨寫一篇長文。很多人已經(jīng)會調(diào)用大模型 API寫一個聊天程序并不難把用戶問題拼進 Prompt調(diào)用 Chat Completion 接口拿到結(jié)果返回給前端。這算 AI 應(yīng)用但還稱不上 Agent 應(yīng)用。Agent 和普通聊天的本質(zhì)區(qū)別在于 Agent 有自主規(guī)劃、工具調(diào)用和任務(wù)執(zhí)行的能力。而 Skill 就是“工具調(diào)用能力”的一種高級封裝形態(tài)。如果你只會在代碼里寫死調(diào)用某一個函數(shù)那 Agent 的“自主性”是不存在的只有把能力抽象成 Skill讓模型根據(jù)用戶意圖去匹配和調(diào)用Agent 才算真正“活”起來。從行業(yè)趨勢看AI 大模型應(yīng)用開發(fā)正在經(jīng)歷一個明顯的轉(zhuǎn)折基礎(chǔ)模型的能力差距在縮小真正拉開產(chǎn)品體驗差距的是模型外圍的工程能力——知識庫怎么組織、工具怎么接入、技能怎么沉淀、流程怎么編排。Skill 恰好是這條鏈路里承上啟下的關(guān)鍵一環(huán)。所以這篇文章的讀者畫像很明確已經(jīng)會調(diào)用大模型 API但想進一步做 Agent 應(yīng)用開發(fā)的開發(fā)者用過 Dify、FastGPT、Coze 等平臺但不滿足于拖拽配置想理解底層運行機制的人團隊里需要多人協(xié)作開發(fā) Agent 功能想統(tǒng)一管理“能力塊”的技術(shù)負(fù)責(zé)人正在糾結(jié) MCP 和 Skill 怎么選不知道它們適用邊界的初學(xué)者。如果你屬于其中任何一類這篇文章會給你一條從概念到落地的完整路徑。我們會先建立認(rèn)知框架再寫代碼再講排錯最后給工程化建議。2. Agent Skill 核心概念它到底是什么2.1 從 Tool 到 Skill 的演進邏輯要理解 Skill得先理解它從哪來。在最早的 Agent 實現(xiàn)里開發(fā)者會把“工具”以函數(shù)形式注冊給模型。比如一個天氣查詢函數(shù)get_weather(city: string) - string模型在對話中檢測到用戶想查天氣就生成一個函數(shù)調(diào)用請求由代碼執(zhí)行后把結(jié)果返回給模型。這是 Function Calling 的標(biāo)準(zhǔn)流程也是現(xiàn)在所有 Agent 框架的底座。這種方式在小規(guī)模場景下沒有問題但一旦工具多起來問題就出現(xiàn)了每個工具都只是“一個函數(shù)”缺少使用說明和邊界描述模型經(jīng)常用錯一個完整任務(wù)往往需要多個函數(shù)配合比如“先查天氣再根據(jù)天氣推薦穿搭”這種組合邏輯沒有地方放工具的 Prompt 說明散落在系統(tǒng)提示詞里維護成本越來越高。Skill 的出現(xiàn)就是為了解決這些問題。它把“一組相關(guān)的指令、說明、代碼和資源”打包成一個獨立的、可復(fù)用的單元。你可以把 Skill 理解成一個自帶說明書的能力模塊模型看到 Skill 的描述后知道什么時候該用它、怎么用、有哪些注意事項。用生活場景類比Tool 是工具箱里的一把螺絲刀Skill 是一本“如何拆裝一臺電腦”的圖文教程里面既有工具清單也有操作步驟還有常見問題的處理方法。Agent 拿到任務(wù)后不是自己去翻工具箱而是先看教程再按教程里的指引執(zhí)行。2.2 Skill 與 Agent 的區(qū)別這是很多人最容易混淆的一組概念。Agent 是決策主體它負(fù)責(zé)接收任務(wù)、拆解計劃、調(diào)用能力、判斷結(jié)果是否達(dá)標(biāo)、決定下一步動作。Agent 是一個“運行中的智能體”它有狀態(tài)、有上下文、有循環(huán)邏輯。Skill 是能力單元它是被 Agent 調(diào)用的“技能包”。Skill 本身沒有決策能力它只負(fù)責(zé)把一件事做好。比如“把 Markdown 轉(zhuǎn)成 PDF”“調(diào)用數(shù)據(jù)庫查詢用戶訂單”“對一段文本做情感分析”這些都可以是獨立的 Skill。打個比方Agent 是一個廚師Skill 是廚師掌握的做菜技能。廚師Agent決定今天做什么菜、先做哪道、火候怎么控制技能Skill負(fù)責(zé)具體的操作流程比如“紅燒肉怎么做”“清蒸魚怎么處理”。技能本身不會想問題但它知道怎么把事情執(zhí)行到位。在實際代碼里這種區(qū)別體現(xiàn)為Agent 是一個循環(huán)loop里面有規(guī)劃、調(diào)用、觀察、反思Skill 是一組注冊好的能力描述和實現(xiàn)函數(shù)Agent 在循環(huán)里根據(jù)用戶需求去匹配它們。2.3 Skill 與 MCP 的區(qū)別“agent skill 和 mcp有什么區(qū)別”是近期的熱門搜索詞說明很多人在這兩個概念上卡住了。簡單直接地說MCPModel Context Protocol是一種標(biāo)準(zhǔn)協(xié)議它解決的是“模型怎么連接到外部工具和數(shù)據(jù)源”的問題。你可以把它理解為 USB-C 接口標(biāo)準(zhǔn)——不管是什么設(shè)備只要遵守這個接口規(guī)范就能互相連接。MCP Server 負(fù)責(zé)把工具暴露給客戶端MCP Client 負(fù)責(zé)跟 Server 通信。Skill 是一種能力封裝它解決的是“這個能力怎么被正確地使用”的問題。Skill 里可以包含提示詞、使用說明、示例、代碼邏輯甚至也可以是 MCP Server 的配置。兩者不是競爭關(guān)系而是不同層次的東西。一個 Skill 內(nèi)部完全可以依賴 MCP 去調(diào)用遠(yuǎn)程工具。MCP 管“連接”Skill 管“封裝”。用表格對比更清晰對比維度Agent SkillMCP本質(zhì)能力封裝單元標(biāo)準(zhǔn)化連接協(xié)議解決問題如何讓模型正確使用復(fù)雜能力如何讓模型接入外部工具和數(shù)據(jù)主要內(nèi)容提示詞、說明、代碼、資源工具定義、傳輸協(xié)議、服務(wù)端/客戶端能否獨立運行需要被 Agent 加載后調(diào)用服務(wù)端可獨立運行客戶端負(fù)責(zé)接入典型場景把領(lǐng)域知識工具邏輯打包成技能統(tǒng)一的工具接入網(wǎng)關(guān)結(jié)論很明確做 Agent 應(yīng)用時Skill 和 MCP 不是二選一而是協(xié)同使用。先用 MCP 把工具接進來再用 Skill 告訴模型怎么用好這些工具。2.4 Skill 與 Plugin、Workflow 的關(guān)系還有一個容易混淆的點是 Skill、Plugin、Workflow 的邊界。Plugin 更偏向“應(yīng)用擴展”通常包含完整的用戶界面和交互邏輯比如瀏覽器插件、IDE 插件。在 Agent 語境下Plugin 往往被用作“可插拔功能包”的統(tǒng)稱Skill 可以理解為 Plugin 的一種更聚焦、更面向模型的設(shè)計形態(tài)。Workflow 則是“固定流程編排”它強調(diào)步驟和順序比如“先查庫存再下訂單最后發(fā)通知”。Workflow 通常是確定性的每一步做什么是預(yù)先定義好的。Skill 則更靈活它更像一個“可以被模型按需調(diào)用的能力包”模型會根據(jù)當(dāng)前上下文決定是否使用、如何使用。一句話總結(jié)Workflow 是寫好的劇本Skill 是演員掌握的技能。劇本規(guī)定了每一幕怎么演技能讓演員在即興發(fā)揮時也能不砸場。3. 為什么需要 Agent Skill工程化視角的三個理由3.1 提示詞膨脹問題做 Agent 應(yīng)用的人遲早會遇到這個問題系統(tǒng)提示詞越寫越長。一開始只有角色設(shè)定后來加上工具說明再后來加上各種注意事項、格式要求、示例最后 Prompt 達(dá)到幾千 token每次請求的延遲和成本都在漲。Skill 提供了一種拆分思路把不同能力的說明從系統(tǒng)提示詞中拆出去只在 Agent 需要時按需加載描述真正執(zhí)行時才把完整內(nèi)容注入上下文。這樣系統(tǒng)提示詞保持精簡模型每次只需要關(guān)注當(dāng)前任務(wù)相關(guān)的 Skill 內(nèi)容既省錢又更精準(zhǔn)。從這里能看出 Skill 的另一個價值它讓“上下文管理”從黑盒變成了結(jié)構(gòu)化操作。哪些 Skill 被加載了、加載了哪些內(nèi)容、占了多少 token都是可統(tǒng)計、可優(yōu)化的。3.2 能力復(fù)用與團隊協(xié)作在一個團隊里不同業(yè)務(wù)線可能需要相似的能力。比如“文本總結(jié)”這個能力客服機器人要用內(nèi)容審核要用數(shù)據(jù)分析助手也要用。如果沒有 Skill 機制每個項目各寫各的 Prompt 和調(diào)用邏輯很快就會出現(xiàn)三種效果不一致的實現(xiàn)還互相不知道。Skill 把能力沉淀成一個獨立模塊后團隊可以像管理代碼庫一樣管理技能庫。新增一個業(yè)務(wù)場景時先查一下技能庫有沒有現(xiàn)成的 Skill有就直接引用沒有就開發(fā)一個并提交入庫。這種模式大大降低了重復(fù)開發(fā)成本。3.3 讓 Agent 的“技能”可測試、可回滾這是 Skill 最容易被忽視的工程價值。如果你把能力邏輯寫死在 Agent 主流程里想測一個新方案只能改主流程代碼影響面大、回歸成本高。但 Skill 是獨立單元你可以單獨給它構(gòu)造輸入輸出做單元測試可以在生產(chǎn)和測試環(huán)境加載不同版本的 Skill出問題后可以快速回滾到上一個版本而不影響 Agent 主體。這就把 Agent 開發(fā)從“調(diào) Prompt 玄學(xué)”推向更接近傳統(tǒng)軟件工程的狀態(tài)模塊化、可測試、可版本化。4. 環(huán)境準(zhǔn)備與前置條件4.1 技術(shù)棧選擇本文的示例代碼使用 Python 3這是目前 AI 大模型應(yīng)用開發(fā)最主流的語言相關(guān)生態(tài)最成熟。版本方面以實際項目為準(zhǔn)建議 Python 3.10 以上本文代碼沒有依賴任何特定框架只使用標(biāo)準(zhǔn)庫和 requests 庫方便你理解底層原理。如果你平時用 Java、Node.js文章后面的設(shè)計思路同樣適用只是代碼示例需要用對應(yīng)語言改寫。4.2 大模型 API 準(zhǔn)備示例中的“文本總結(jié) Skill”需要調(diào)用大模型 API。你可以選擇任意兼容 OpenAI 接口格式的服務(wù)包括國內(nèi)主流大模型廠商的 API或者本地部署的模型服務(wù)。關(guān)鍵點只有一個API 地址和密鑰通過環(huán)境變量配置不要寫死在代碼里。本文為了聚焦知識點統(tǒng)一使用 OpenAI 風(fēng)格的接口調(diào)用方式。你只需要替換 base_url 和 api_key 即可。如果本地部署了模型也可以把 base_url 指向本地服務(wù)。4.3 項目目錄結(jié)構(gòu)我們用一個最小但完整的目錄來承載示例agent-skill-demo/ ├── requirements.txt ├── skills/ │ ├── json_formatter/ │ │ ├── SKILL.md │ │ └── skill.py │ └── text_summarizer/ │ ├── SKILL.md │ └── skill.py ├── agent.py └── skill_loader.py這個結(jié)構(gòu)體現(xiàn)的是 Skill 的核心設(shè)計思想每個 Skill 一個目錄目錄內(nèi)包含說明文件SKILL.md和實現(xiàn)代碼skill.py。Agent 運行前通過 loader 掃描 skills 目錄解析每個 SKILL.md把技能描述注冊給模型當(dāng)模型決定調(diào)用某個 Skill 時loader 再執(zhí)行對應(yīng)的 skill.py。5. 核心流程拆解從零開發(fā)一個 Skill 的完整過程開發(fā)一個 Skill 通常分四步定義邊界、編寫描述、實現(xiàn)邏輯、注冊加載。每一步都有設(shè)計問題需要注意。5.1 第一步定義 Skill 的邊界這是最容易被忽略卻最重要的一步。一個 Skill 應(yīng)該只做一件事并且邊界清晰。不好的例子做一個“數(shù)據(jù)處理 Skill”里面既做 JSON 格式化又做文本總結(jié)還做數(shù)據(jù)可視化。這個 Skill 的描述沒法寫清楚模型也不知道什么時候該用它。好的例子把“JSON 格式化”單獨做成一個 Skill描述里寫清楚“當(dāng)用戶提供一段 JSON 字符串并希望進行格式化、校驗或壓縮時使用此 Skill”。邊界清晰模型才能準(zhǔn)確匹配。定義邊界的判斷標(biāo)準(zhǔn)很簡單你能否用一句話說清楚這個 Skill 在什么條件下被觸發(fā)如果說不清楚說明邊界有問題。5.2 第二步編寫技能描述文件Skill 的描述文件是整個機制的“說明書”。它的質(zhì)量直接決定模型能不能正確使用這個 Skill。一份好的描述文件至少包含以下內(nèi)容技能名稱簡短、準(zhǔn)確觸發(fā)條件什么情況下模型應(yīng)該使用這個技能使用說明如何調(diào)用輸入?yún)?shù)是什么輸出是什么注意事項什么情況下不要使用有什么限制示例給一個輸入輸出示例幫助模型理解。記住一個原則描述文件是寫給模型看的不是寫給開發(fā)者看的。你是在教一個聰明但沒有經(jīng)驗的實習(xí)生怎么使用工具而不是在寫給自己看的代碼注釋。5.3 第三步實現(xiàn)執(zhí)行邏輯Skill 的執(zhí)行邏輯就是普通 Python 函數(shù)接收輸入返回結(jié)果。關(guān)鍵設(shè)計點是輸入輸出要結(jié)構(gòu)化方便 Agent 主循環(huán)解析。推薦統(tǒng)一采用字典結(jié)構(gòu)至少包含 status、result 兩個字段方便判斷成功或失敗。5.4 第四步注冊與加載Agent 啟動時會掃描 skills 目錄讀取所有 SKILL.md把其中的描述信息轉(zhuǎn)換成模型可識別的工具定義格式OpenAI 風(fēng)格的 functions 或 tools。這一步相當(dāng)于把“技能說明書”裝進模型的工具列表里。模型在對話中看到這些技能描述后會根據(jù)用戶意圖生成調(diào)用請求Agent 執(zhí)行對應(yīng)函數(shù)再把結(jié)果返回給模型繼續(xù)推理。6. 完整示例代碼實戰(zhàn)6.1 示例一JSON 格式化 Skill先實現(xiàn)一個最簡單但完整的 Skill。文件路徑skills/json_formatter/SKILL.md# JSON Formatter ## 觸發(fā)條件 當(dāng)用戶要求對 JSON 字符串進行格式化、壓縮、校驗或解析時使用。 ## 使用說明 輸入?yún)?shù) - action: 必填取值 format格式化或 compress壓縮 - json_str: 必填待處理的 JSON 字符串 輸出 - 格式化或壓縮后的 JSON 字符串 - 如果 JSON 解析失敗返回錯誤信息 ## 注意事項 不要在用戶沒有明確要求 JSON 處理時使用此技能。文件路徑skills/json_formatter/skill.pyimport json def run(params: dict) - dict: action params.get(action) json_str params.get(json_str, ) if not action or not json_str: return {status: error, result: 缺少 action 或 json_str 參數(shù)} try: data json.loads(json_str) except json.JSONDecodeError as e: return {status: error, result: fJSON 解析失敗: {e}} if action format: result json.dumps(data, ensure_asciiFalse, indent2) elif action compress: result json.dumps(data, ensure_asciiFalse, separators(,, :)) else: return {status: error, result: f不支持的 action: {action}} return {status: success, result: result}這段代碼的邏輯很簡單先解析 JSON 驗證合法性再根據(jù) action 決定是格式化還是壓縮。注意這里的返回結(jié)構(gòu)是統(tǒng)一的字典格式Agent 主循環(huán)拿到 status 為 success 或 error 后可以決定把結(jié)果交給模型還是觸發(fā)錯誤處理。6.2 示例二調(diào)用大模型的文本總結(jié) Skill第二個示例演示 Skill 內(nèi)部如何調(diào)用大模型這是實際開發(fā)中最常見的形態(tài)。文件路徑skills/text_summarizer/SKILL.md# Text Summarizer ## 觸發(fā)條件 當(dāng)用戶要求對一段較長的文本進行摘要、總結(jié)、提煉要點時使用。 ## 使用說明 輸入?yún)?shù) - text: 必填需要總結(jié)的文本內(nèi)容 - max_length: 可選總結(jié)的最大字?jǐn)?shù)默認(rèn) 200 輸出 - 對原文的總結(jié)內(nèi)容 ## 注意事項 - 文本過長時優(yōu)先截取核心部分再調(diào)用模型 - 不要對代碼、JSON 等結(jié)構(gòu)化內(nèi)容使用此技能文件路徑skills/text_summarizer/skill.pyimport os import requests def run(params: dict) - dict: text params.get(text, ) max_length params.get(max_length, 200) if not text: return {status: error, result: 缺少 text 參數(shù)} api_key os.getenv(LLM_API_KEY) base_url os.getenv(LLM_BASE_URL, https://api.openai.com/v1) model os.getenv(LLM_MODEL, gpt-4o-mini) prompt f請對下面的文本進行總結(jié)不超過 {max_length} 字\n\n{text} try: resp requests.post( f{base_url}/chat/completions, headers{Authorization: fBearer {api_key}}, json{ model: model, messages: [{role: user, content: prompt}], temperature: 0.3, }, timeout60, ) resp.raise_for_status() summary resp.json()[choices][0][message][content] return {status: success, result: summary} except Exception as e: return {status: error, result: f調(diào)用模型失敗: {e}}這個 Skill 演示了一個關(guān)鍵設(shè)計Skill 內(nèi)部也可以調(diào)用模型但 Skill 本身不負(fù)責(zé)“決定做什么”只負(fù)責(zé)“把總結(jié)這件事做好”。模型 API 地址、密鑰、模型名全部通過環(huán)境變量讀取這是生產(chǎn)環(huán)境的最低要求。6.3 示例三Skill 加載器與 Agent 主循環(huán)前面兩個 Skill 是獨立的現(xiàn)在需要把它們接入 Agent。先寫一個加載器。文件路徑skill_loader.pyimport importlib.util import os from pathlib import Path SKILLS_DIR Path(__file__).parent / skills def _read_skill_md(skill_dir: Path) - str: md_path skill_dir / SKILL.md if not md_path.exists(): return return md_path.read_text(encodingutf-8) def load_skills(): skills [] if not SKILLS_DIR.exists(): return skills for skill_dir in SKILLS_DIR.iterdir(): if not skill_dir.is_dir(): continue description _read_skill_md(skill_dir) if not description: continue # 將 SKILL.md 轉(zhuǎn)成模型工具描述 tool_def { type: function, function: { name: skill_dir.name, description: description[:1024], parameters: { type: object, properties: { action: {type: string}, json_str: {type: string}, text: {type: string}, max_length: {type: integer}, } }, }, } skills.append({name: skill_dir.name, tool_def: tool_def, path: skill_dir}) return skills def execute_skill(skill_name: str, params: dict) - dict: skill_dir SKILLS_DIR / skill_name py_path skill_dir / skill.py if not py_path.exists(): return {status: error, result: fSkill {skill_name} 不存在} spec importlib.util.spec_from_file_location(skill_name, py_path) module importlib.util.module_from_spec(spec) spec.loader.exec_module(module) return module.run(params)這里為了方便演示把參數(shù) schema 寫死成了所有 Skill 的并集。實際項目中推薦讓每個 SKILL.md 里的 YAML front-matter 聲明自己的參數(shù) schemaloader 動態(tài)解析這里不做過度展開。接著寫 Agent 主循環(huán)。文件路徑agent.pyimport json import os import requests from skill_loader import load_skills, execute_skill def call_llm(messages, tools): api_key os.getenv(LLM_API_KEY) base_url os.getenv(LLM_BASE_URL, https://api.openai.com/v1) model os.getenv(LLM_MODEL, gpt-4o-mini) payload { model: model, messages: messages, tools: tools, tool_choice: auto, temperature: 0.3, } resp requests.post( f{base_url}/chat/completions, headers{Authorization: fBearer {api_key}}, jsonpayload, timeout120, ) resp.raise_for_status() return resp.json() def run_agent(user_input: str): skills load_skills() tool_defs [s[tool_def] for s in skills] messages [ {role: system, content: 你是一個智能助手可以根據(jù)用戶需求調(diào)用可用技能完成任務(wù)。}, {role: user, content: user_input}, ] # 第一次調(diào)用讓模型決定是否調(diào)用工具 response call_llm(messages, tool_defs) message response[choices][0][message] messages.append(message) # 如果模型請求調(diào)用工具就執(zhí)行 if message.get(tool_calls): for tool_call in message[tool_calls]: fn_name tool_call[function][name] fn_args json.loads(tool_call[function][arguments]) print(f[Agent] 調(diào)用 Skill: {fn_name}, 參數(shù): {fn_args}) result execute_skill(fn_name, fn_args) messages.append({ role: tool, tool_call_id: tool_call[id], content: json.dumps(result, ensure_asciiFalse), }) # 把工具結(jié)果交給模型生成最終回復(fù) final_response call_llm(messages, tool_defs) return final_response[choices][0][message][content] # 如果模型認(rèn)為不需要調(diào)用工具直接返回 return message.get(content, ) if __name__ __main__: test_input input(請輸入你的問題) answer run_agent(test_input) print(f\n[Assistant] {answer})這個主循環(huán)演示了 Agent 最核心的機制先讓模型看用戶輸入和技能列表決定是否需要調(diào)用 Skill如果需要執(zhí)行代碼拿到結(jié)果再把結(jié)果回傳給模型生成最終回復(fù)。這就是 ReAct 模式中最基礎(chǔ)的“思考-行動-觀察”循環(huán)只不過這里把“行動”抽象成了 Skill 調(diào)用。文件路徑requirements.txtrequests安裝依賴并配置環(huán)境變量后就可以運行了pip install -r requirements.txt export LLM_API_KEY你的API密鑰 export LLM_BASE_URLhttps://你的模型服務(wù)地址/v1 export LLM_MODEL你的模型名稱 python agent.py7. 運行結(jié)果與效果驗證7.1 運行方式啟動后在命令行輸入一段需要調(diào)用 Skill 的話。比如請輸入你的問題請幫我格式化下面這段JSON{name:agent,version:1.0,skills:[json_formatter,text_summarizer]}7.2 預(yù)期輸出如果一切正常你會看到類似下面的輸出[Agent] 調(diào)用 Skill: json_formatter, 參數(shù): {action: format, json_str: {name:agent,version:1.0,skills:[json_formatter,text_summarizer]}} [Assistant] 格式化后的 JSON 如下 { name: agent, version: 1.0, skills: [ json_formatter, text_summarizer ] }再試一個需要總結(jié)文本的問題請輸入你的問題幫我總結(jié)一下這段話Agent Skill 是一種將提示詞、工具調(diào)用邏輯和領(lǐng)域知識封裝成可復(fù)用能力單元的技術(shù)方案它讓開發(fā)團隊能夠像管理代碼庫一樣管理 AI Agent 的能力模塊……此時 Agent 應(yīng)該調(diào)用text_summarizer并返回一段摘要。7.3 驗證成功的關(guān)鍵指標(biāo)判斷一個 Skill 接入是否成功可以從三個層面驗證第一模型是否正確選擇了 Skill。用戶輸入“格式化 JSON”模型應(yīng)該調(diào)用json_formatter而不是直接回答或調(diào)用其他 Skill。如果選擇錯了優(yōu)先排查 SKILL.md 的觸發(fā)條件寫得是否清楚。第二Skill 執(zhí)行結(jié)果是否正確。在execute_skill返回后可以直接打印 result 檢查。這一步排除模型問題專門驗證代碼邏輯。第三最終回復(fù)是否基于工具結(jié)果。理想的 Agent 回復(fù)應(yīng)該引用工具執(zhí)行后的內(nèi)容而不是模型憑空編造。如果模型忽略了工具結(jié)果檢查 messages 里 tool 消息的格式是否正確。如果運行失敗第一步先看終端里的報錯是發(fā)生在“模型調(diào)用”階段還是“Skill 執(zhí)行”階段。模型調(diào)用失敗通常是 API 地址、密鑰或網(wǎng)絡(luò)問題Skill 執(zhí)行失敗通常是代碼異?;騾?shù)格式不匹配。8. 常見問題與排查思路下面整理了 Agent Skill 開發(fā)中最高頻的幾類問題按排查優(yōu)先級排列。問題現(xiàn)象可能原因排查方式解決方案模型沒有調(diào)用任何 Skill技能描述不清晰模型不知道何時使用檢查 SKILL.md 的觸發(fā)條件是否具體重寫描述明確觸發(fā)場景和輸入輸出模型調(diào)用了錯誤的 Skill多個 Skill 邊界重疊檢查各 Skill 描述是否存在歧義收緊邊界增加反例說明“何時不要使用”工具參數(shù)解析失敗模型生成的參數(shù)與 Schema 不匹配打印 tool_call 的原始 arguments在 Schema 中增加必填字段類型約束調(diào)用大模型 API 超時網(wǎng)絡(luò)問題或模型響應(yīng)過慢先單獨測試直接調(diào)用模型接口增加超時重試或換用更快的小模型Skill 返回內(nèi)容被模型忽略tool 消息格式不正確檢查 messages 中 tool 消息的 tool_call_id 是否匹配確保 tool_call_id 與模型返回的 id 一致多個 Skill 加載后 token 超限工具描述過長統(tǒng)計每個 SKILL.md 的長度精簡描述只保留觸發(fā)條件和使用說明生產(chǎn)環(huán)境 Skill 更新后行為異常版本未隔離檢查部署流程是否用了緩存為 Skill 增加版本號支持灰度發(fā)布這里重點說兩個問題。第一個是“模型不調(diào)用 Skill”。大多數(shù)情況下不是代碼問題而是描述文件寫得不夠清楚。模型就像一個沒有經(jīng)驗的實習(xí)生你寫的說明書越模糊它越不敢動手。優(yōu)化方法是給描述增加“觸發(fā)條件”和“不要使用”兩個小節(jié)用正反例把邊界框住。第二個是“參數(shù)解析失敗”。模型返回的 tool_calls 中arguments 是一個 JSON 字符串但模型偶爾會生成缺失字段或類型不符的內(nèi)容。穩(wěn)妥的做法是在解析時做容錯比如用 try-except 包裹 json.loads解析失敗時返回錯誤信息讓模型重新生成。9. 最佳實踐與工程建議9.1 Skill 命名與描述規(guī)范命名要遵循“動詞 名詞”的結(jié)構(gòu)例如json_formatter、text_summarizer、order_query。命名本身要能直接反映技能功能避免使用utils、helper、misc這類模糊詞匯。描述文件建議使用固定模板至少包含觸發(fā)條件、使用說明、注意事項、示例四部分。團隊內(nèi)部可以維護一份 SKILL.md 模板新成員照著填就行。示例部分容易被忽略但對模型理解非常關(guān)鍵一定要寫。9.2 上下文長度控制Skill 描述最終會注入模型上下文描述越長token 消耗越大。一個 1024 字符的 SKILL.md 大約消耗 300 到 500 token如果加載 20 個 Skill光是工具定義就可能達(dá)到上萬 token。優(yōu)化思路有三個方向一是精簡描述只保留必要信息二是按按需加載先給模型展示精簡版描述觸發(fā)后再加載完整版三是分組分類不同場景只加載對應(yīng)分組的 Skill。后兩種方案工程復(fù)雜度更高但效果明顯。9.3 安全邊界Skill 是代碼意味著它有執(zhí)行任意操作的能力。在真實項目中必須非常謹(jǐn)慎涉及數(shù)據(jù)庫操作、文件刪除、系統(tǒng)命令的 Skill必須顯式聲明權(quán)限級別生產(chǎn)環(huán)境禁止 Skill 直接執(zhí)行未經(jīng)確認(rèn)的寫操作Skill 的輸入?yún)?shù)來自模型生成的 JSON本質(zhì)上是不可信的外部輸入要做參數(shù)校驗和長度限制所有涉及敏感操作的 Skill建議加入人工確認(rèn)或二次授權(quán)機制。權(quán)限設(shè)計遵循最小原則能只讀就不要給寫權(quán)限能只操作單個資源就不要給全量權(quán)限。9.4 版本管理與發(fā)布把 Skill 當(dāng)代碼來管理。每個 Skill 目錄內(nèi)建議維護一個版本號發(fā)布流程可以這樣設(shè)計開發(fā)環(huán)境直接修改源碼聯(lián)調(diào)測試測試環(huán)境加載指定版本號的 Skill 副本跑回歸用例生產(chǎn)環(huán)境發(fā)布新版本后觀察監(jiān)控指標(biāo)出現(xiàn)問題立即回滾舊版本。如果團隊 Skill 數(shù)量超過幾十個建議引入專門的技能倉庫用統(tǒng)一的 CLI 工具管理 Skill 的創(chuàng)建、測試、發(fā)布和版本記錄。9.5 日志與可觀測性Agent 應(yīng)用的黑盒屬性很強必須記錄足夠多的日志才能定位問題。每次 Skill 調(diào)用至少記錄以下信息用戶輸入摘要模型決定調(diào)用的 Skill 名稱和參數(shù)Skill 執(zhí)行結(jié)果和耗時最終回復(fù)的生成情況。記錄格式建議采用結(jié)構(gòu)化 JSON方便后續(xù)分析和監(jiān)控。線上問題排查時這些日志能幫你快速還原“模型當(dāng)時看到了什么、做了什么、結(jié)果是什么”的完整鏈路。10. 總結(jié)與后續(xù)學(xué)習(xí)方向Agent Skill 是 AI 大模型應(yīng)用開發(fā)中從“能調(diào)用模型”走向“能構(gòu)建 Agent 產(chǎn)品”的關(guān)鍵一環(huán)。從材料來看當(dāng)前大模型應(yīng)用開發(fā)的核心競爭點正在從模型本身轉(zhuǎn)向外圍工程能力Skill 作為能力封裝的標(biāo)準(zhǔn)化單元會越來越重要。現(xiàn)在回顧一下這篇文章真正講清楚的幾個點Skill 和 Agent 的分層關(guān)系——Agent 負(fù)責(zé)決策Skill 負(fù)責(zé)執(zhí)行Skill 和 MCP 的協(xié)同關(guān)系——MCP 管連接Skill 管封裝Skill 的目錄結(jié)構(gòu)和描述文件設(shè)計一個完整的可運行的 Python 示例以及生產(chǎn)環(huán)境中的安全、版本和可觀測性要求。下一步建議你按這個順序繼續(xù)深入第一把本文的示例代碼跑通然后自己新增一個 Skill。不要復(fù)制粘貼就完事試著改一改 SKILL.md 的描述觀察模型行為的變化。第二嘗試用 Dify、FastGPT 或 Coze 這類平臺實現(xiàn)同樣的流程。平臺上的“技能”或“插件”配置底層邏輯和本文講的基本一致用平臺實現(xiàn)一遍能幫你把抽象概念具體化。第三深入研究 Agent 主循環(huán)的更多模式。本文只演示了最簡單的單輪工具調(diào)用實際產(chǎn)品往往需要多輪工具調(diào)用、反思重試、人機協(xié)同這些都是在基礎(chǔ)循環(huán)上疊加的復(fù)雜度。第四如果你在考慮 MCP可以先從一個官方或社區(qū)現(xiàn)成的 MCP Server 入手理解 MCP 的消息格式和生命周期再把 MCP 接入到自己的 Skill 體系里。畢竟 Skill 是封裝MCP 是通道兩者結(jié)合才是生產(chǎn)級方案。AI 大模型領(lǐng)域變化很快但“把復(fù)雜任務(wù)拆解成能力單元再用智能體編排它們”的思路短期內(nèi)不會過時。你現(xiàn)在花時間把 Skill 的底層機制搞清楚以后無論哪個新框架出來都能快速上手。建議收藏本文遇到概念混淆或工程問題的時候翻出來對照會比重新搜索一堆碎片資料高效得多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
996精品热视频| 日本色色网站| 色呦呦美女| 婷婷丁香69精华| 色婷婷香蕉在线| 丁香六月婷婷| 五月丁香狠狠| 就爱啪啪婷婷| 99热99在线| 久久久久视剧HD| 久久婷婷视频| 96精品久久久久久久久| 婷婷狠狠干| 性视频久久| 婷婷五月丁香五月天| 日本人人干| 亚洲国产精品VA在线看黑人| 丁香五月大香蕉| 天天做天天爱| 五月丁香婷婷爱| 亚洲综合丁香五月| 亚洲色小说在线综合| 超碰女人天堂| 婷婷五月天AV| 亚洲激情亚洲激情| 伊人久久激情图区五月| 人妻射精AV| 丁香婷婷色色| 亚洲AV综合在线观看| 91亚洲免费片| 九九人人精品| 99热在线精品播放| 超碰在线人人| 亚洲视频在线观看99| www99在线观看视频| 欧美月久久| 精品久久久中文字幕大豆网推荐理由| 久久人人添人人爽添人人片αV | 九九碰九九爱97超碰| 欧美综合激情丁香五月六月婷| 丁香婷婷久久老熟女综合网| 婷婷五月花丁香| 99热精国产这里只有精品| 天天综合久久| 婷婷伊人久久综合| www.色五月| 丁香婷婷情色五月天| 五月婷婷乱| 五月丁香激情五月天| 丁香六月婷婷五月婷婷| 久久爱婷婷| 天天爽天天透天天爱| 高清无码 一区 二区 三区| 久久伊人五月天| 99碰网站| 免费AV黄在线播放| 丁香五月婷婷色播艳门照| 激情五月婷婷综合视频| 99色视频在线| 色综合久久888| 可以直接看的av| 婷婷开心激情| 亚洲成人在线在线| 九九十99视频| 色色婷五月天| 激情五月丁香亭亭| 丁香五月色| 国产又粗又大又爽又黄| 91日精品| 亚洲视频在线观看99| 婷婷丁香五月天色播网站| 蜜桃婷婷丁香五月天狠狠久久综合| www.av视频xx999.com| 激情深爱五月婷婷| 精品亚洲VA网站| 五月婷婷色播| 午夜少妇在线观看视频| 日韩五月婷婷| 涩综合在线 | 天天色天天搡| 亚洲免费婷婷| 亚洲网站在线鸭子av| VA日本视频| 天天综合.com| 久久99精品九九久久久婷婷| 亚洲网站观看视频| 激情小说五月天| www,婷婷五月天777me,com| www五月天com| 91 欧美| 五月丁香六月激情网站| 第四色激情网| 热99在线| 九九综合九色欧美狠狠| 婷婷五月天激情综合婷婷五月天激情综合| 综合五月天| 九九热这里只有精品6| 裸体做A爰片毛片A片免费| 夜色.cnm| 激情五月丁香色婷婷| 久久一热| αv中文字幕在线观| 丁乡久久| 五月综合无码| 99@久久@99精品视频| 国产婷婷综合在线免费视频| 亚洲色情网站| 婷婷五月天VI| 插插网爽妇五月丁香| 五月婷婷丁香婷婷| 国产乱轮一区二区三区| 中国AV性爱观看| 成人av在线网址| 国产欧美熟妇另类久久久| 久久九九玖玖| 国产激情在线| 日本专区久久| 久久久噜噜噜久久人妻| 超碰京东热av男人的天堂| 日韩九九视频| 九九热只有精品| 五六月婷婷久久| 99久在线| 亚洲综合视频在线| 色五月婷婷综合| 色婷婷av综合网| 婷五月丁香| 日韩欧美颜射| 五月天激情黄色小说在线观看| 九九色热| 91丨九色丨熟女丰满| 99只有这里是精品| 99热每日| 欧美xx激情视频在线观看| 亚洲亚洲人成综合网络| sewuyue第四色| 五月天成人综合| 亚洲婷婷激情综合激情999精品| 日日夜夜天天爽| 九九av| 五月丁香另类图片| 婷婷五月天福利| 九色91视频| 色播播婷婷| 国产一级黄色影片,| 色五月激情五月丁香五月婷婷啪啪综合| 久久久久9| 天堂久久婷婷| 性色五月天| 色婷婷狠狠爱| 人妻丰满精品一区二区A片| 亚洲色五月| 少妇日麻屄| 婷色五月天| 九九爱精品网站| 开心五月色婷| 在线99精品| 五月六月婷| 日韩啪图| 婷婷久久综合| 亚洲三A| 99在线er热| 99色在线| 国内精品玖玖| 久综合| 日本片日本片祼观看网站在线看中文版网页在线看| 99操碰| 超碰在线人妻| 精品无码人妻一区| 国产婷婷五月| 九月婷婷| 婷婷五月天日日日干干干| 51精品国自产在线| 六月丁香五月婷婷| anquye伊人| 国产精自产拍久久久久久蜜| 五月第四色| 国产精品色婷婷久久久精品| 欧美色色色| 激情黄色五月天| 精品9久| 色丁香五月婷婷| 夜夜资源站| www.色婷婷.com| 99视频精品8| 亚洲国产另类av| 欧美乱码国产一级A片| 久久99久久99精品免视看婷| 七月丁香婷婷 色色| 久久久人妻系列| 神马欧美精| 国产成人综合网| 久播影院免费观看电视剧大全最新网| 久热九九| 奇米四色五月天| 99ri国产在线| 五月丁香六月综合基地| 婷婷丁香色五月亚洲| 中国丰满熟女A片免费观| 色综合女人99| www.狠狠操| 激情六月婷| 97色婷| 婷婷在线五月综合| 久久小视频| 婷婷九月丁香| 婷婷干五月综合在线播放| 肏屄色播伊人97婷婷| 婷婷99| 九九热精品视频| 思思视频精品| 婷婷五月激情四月综合| 国产亚洲99久久| 五月天色色色| 色色色色色色网站| 五月天成人在线视频网站| 日韩好吊操| 操比激情五月| 五月激情综合网婷婷| 亚洲另类婷婷综合| 激情爱爱网站超大免费| 91精品久久久久、久五月天| 日韩色五月| 很很操很很操| 九九精品片一| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 婷婷五月综合网| 妻久久久久| 色婷婷五月在线| 玖玖婷婷五月天毛片| 亚洲婷婷五月天| 日本超碰在线| 综合激情婷婷| 99精品国产热久久91色欲| 婷婷天天婷婷天天澡| 欧美性爱特黄一级aaaassss| 五月丁香好婷婷A片网| 五月天激情综合网俺也去| 欧美日韩五月婷婷| 日本女人久久| 亚洲永久免费| 亚洲网站在线鸭子av| 欧美 日韩 成人 在线| 亚洲性爱AV| 国产成人AV不卡| 婷婷丁香六月| 91中文狠狠综合| 精品影院| 亚洲永远av在线播放| 激情五月天久久| 国产精品久久久久久久久久免费 | 大香蕉99| 色色色热| 久久人妻少妇嫩草AV| 激情色色色| 六月丁香激情网| 亚洲久热| www.色五月| 色噜噜狠狠色综无码久久合欧美| 97碰碰免费.视频| 男女啪啪做爰高潮无遮挡| 成人美女网| 疯狂做受XXXX高潮A片| 亚洲天堂99| 精品无码久久久久久久久| 色优久久| 欧美三9久九观看| 婷婷色五月综合| 碰超亚洲| 激情六月丁香| 亚洲激情免费久久| 久久小片| 操一区| 亚洲综合激情五月久久| 成人αV视频免费观看| www.色色色com| 青青色com久久| 人妻视频在线| 翔田千里aV中文字幕| 丁香亚洲婷婷五月| 五月激情小说| 丁香五月在线观看| 亚洲超碰中文字幕| 婷婷五月天最新综合你懂的| 天天操天天草天天草天天| 五月天久久网站| 婷婷五月天综合网| 久久人妻熟女一区二区| 久久婷婷久久| 色综色五月天婷婷| 99色在线视频| 国产色色色色色| 天天射天天干天插色综合| 婷婷色五月噜噜| 热99这里只有精品视频| 91婷婷丁香| 99热在线观看| 二色av| 婷婷激情六月天视频| 日韩99视频| 少妇性按摩无码中文A片| 99日热在线视频| 五月天婷婷爱| 草做免费在线观看| 开心深爱激情网| 亚洲av电影在线| 婷婷丁香九月| 狠狠五月激情丁香六月| 成人精品视频99在线观看免费| 成人AV片播放| 狠狠狠狠狠狠狠狠草| 五月婷婷五月天在线| 九色PORNY9l原创自拍| 超碰在线个人观看| 深爱五月中文字幕| 九色PORNY9l原创自拍| 九月丁香久久网| 五月天丁香网| 亚洲成人av在线| 欧美A级网站| 99爱在线精品视频免费观看| 午夜天天精品视频| 五月丁香激情五月天| www天天色天天射| 天天干天天做| 久久国产性爱A V| 99在线热视频| 亚洲一区二区无遮挡A片| 97色色色色色色色色色色色色色| 亚洲综合成人网| 91久久久久久久久久| 久热这里只有精品66| 激情文学久久| 久草大| 五月婷婷激情| 1024成人在线观看| 婷婷亚洲综合| 天堂综合久久| 婷婷激情人妻| 色五月色图| 99热无码| 五月婷久草| 热这里| 风流少妇A片一区二区蜜桃| 99热在线观看精品| 五月丁香激情啪啪| 狠狠色婷婷7777久| 99热这里只有精品4| 97人凄人人操人人爽| 五月天婷婷乱论小说| 级人人91| www激情婷婷com| 天天草女人| 丁香成人综合| ztEJj| 婷婷涩五月天综合| 青青久久五月| 五月丁香六月婷婷激情视频在线观看免费 | 久久香蕉网| 欧美性爱五月天| 99在线视频资源| 六月久久婷婷| 伊人五月天在线| 97操操操| 免费观看18视频网站| 一区二区三区四区五区| 9色91视频| 五月丁香六月色婷婷| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 激情综合网婷婷久久| 日本婷婷| 99久久婷婷五月天| 天啪色| 婷婷婷婷婷婷婷婷| 激情久久久久| 校花娇喘呻吟校长陈若雪视频| 色婷婷色情| 亚州男人天堂婷婷五月| 婷婷成人五月天| 另类专区在线| 成人亚洲精品久久久久| 久久性爱视频网站| 成人电影一区| 五月天天丁香婷婷| 亚洲碰碰碰| 婷婷综合久久| 97超喷视频在线观看| 99热97| www,色婷婷| 婷婷精品在线| 亚洲mm色| 2015超碰| 色狠狠色噜噜AV天堂五区| 久久久久99精品成人片| 色情婷婷。| 激情五月天影院| 丁香5月啪啪| 激情五月九九九| 久婷久婷| 天天操夜夜爽| 可以免费观看的av网址| 婷婷WWW久久| 91热久久| 婷婷丁香18| 涩综合在线 | 五月丁香激情综合啪啪| 婷婷五月天激情综合| 婷婷丁香五月社区亚洲| AV人人操| 婷婷八月丁香激情综合| 丁香五月婷婷呀| 天天肏天天肏| 99精品偷自拍| 婷婷五月丁香色综合| 婷婷久久综合| 五月丁香在线| 激情综合色五月丁香六月亚洲| 丁香五月在线自慰| AV网址大全在| 99噜噜噜在线播放| 激情五月天婷婷五月天| 99这里都是精品6| 六月丁香婷婷视频综合在线观看| 三级99热| 琪琪色网在线| 欧美激情综合| 五月婷婷中文| 欧美天堂久久| 天天摸天天舔天天天天爽| 久久er+| 日韩久久色| 97成人丁香| 综合久久99| 五月丁香久| 久8色色| 99精品热视频只有精品10| 91精品丝袜久久久久久久久粉嫩| 亚洲乱码日产精品BD| 综合网色| 久热99| 天天天天干| 激情综合六月| 超碰狠狠色| 久久婷婷六月天| 人人97碰| 91人操| 婷婷色色丁香| 高清 码 免费看片短视频| 97人碰人操| 99精品在线观看| www色婷婷| 五月婷婷九| 可以看的AV网站| 久久成人天| 亚洲中文无码成人| 色 丁香婷婷| 天天人人综合| 激情五月婷婷欧美极品| 亚洲丁香五月天在线视频| 中文字幕 码精品视频网站| 91精产一区三区免费观看| 99热的无码| 先锋男人99资源| 色八月婷婷| 99色在线视频观看| 日本本土色网第一区| www.婷婷| 亚洲熟妇AV综合网五月丁香伊人| 五月色情婷婷开心五月色情| 婷婷六月激情丁香| 噜噜久| 色色色.COM| 激情五月天伊人av| 影音先锋91| 丝袜激情网| www.91婷婷| 丁香五月天网站| 色综合色综合网| 天天做夜夜爽| 日日噜噜夜夜狠狠久久丁香五月| 久久免费干| 日本色色影院| 日本99热| 五月丁香婷婷啪啪综合网| 亚洲色无码| 26uuu欧美日本| 天天狠狠夜夜狠狠2023| 99无码超碰| 五月综合色| 亚洲乱码日产精品BD| 热热色色五月天婷婷| 婷婷丁香六月天激情四射网| 亚洲色图五月丁香| 精品无码av丁香五月激情| 韩国婷婷丁香五月| www.五月丁香| 激情又色又爽又黄的A片| 婷婷亚洲在线| 国产在线黄色| 天天情色五月天| 婷婷五月丁香六月综合网| 人妻久久婷婷| 五月婷婷啪啪啪啪| 色月九九| 狠狠操在线视频| 五月丁香六月激情视频| 国产激情视频在线观看| 一婬一伦一区二区三区| 婷婷丁香午夜综合影视| 天天日天天干天天操| 91色婷婷综合久久中文字幕二区| 欧美成人AAA片一区国产精品| 激情综合另类| 天天色·欧美| 少妇人妻人伦A片| 天天射影院| 99热超| 色色com| 婷婷丁香五月天综合在线日韩| 五月天久久网站| 这里只有精品99视频| 日本熟女二区| 99热这里是精品| 久激情| 婷婷五月丁香高清无码| 五月天操逼网| 久久久久九九九九视屏小说88| 国产亚洲在线观看| 人人摸人人| 无码人妻精品一区二区蜜桃色欲| 激情六月丁香| 亚洲色婷婷| 大伊香蕉精品视频在线| 色五月婷婷中文字幕| 天堂草在线观| 成人无码精品1区2区3区免费看| 欧洲亚洲午夜| 天天久| 风流少妇A片一区二区蜜桃| 中文字幕精品在线观看| 色色色色色色色色网站| 九月婷婷在线视频| 丁香婷婷偷拍| 亚洲色色色| 五月婷婷激情久久| WWW.桔色成人.COM| 人人叉久| 丁香桃色网| 久久婷婷五月综合色欧美| 91制片厂久久久国产电影| 九月丁香婷婷网| 免費亭亭成人| 欧美在线视频99| 99自拍网| 五月婷色| 婷婷丁香五月天哟啪| www.91九色| www.AV在线| 色婷婷基地| 操大屄五月天视频| 欧洲第一久色| 91呦呦呦| 久久视频这里有精品99| 丁香香蕉婷婷| 婷婷色片| 综合色情网| 久9免费视频| 五月天久久91| 伊人大香蕉综合在线| 五月天色裸体视频| 丁香六月成人网| 思思久久99| 亚洲色色五月| 庭庭久久内射| 美女天天艹人人爽| 亚洲乱码日产精品BD在线观看 | 国产亚洲在线观看| 狠狠色综合777| 国产精品久久久久久久久久| 啪啪啪五月天| 日韩欧美性爱| 人人摸人人| 婷婷少妇激情| www激情| 五月永久激情| 久久久日韩特色特黄AAAA| 色婷婷色五月天| 99在线播放| 丁香五月色五月| 超碰97人人操| 国产精品VIDEOSSEX久久发布| 激情丁香五月激情婷婷| 日韩小视频在线99| 96精品久久久久久久久| 这里只有精品热| 国产AV熟妇人震精品一品二区| 97韩国久久电影院| 日熟女| 五月丁香色| 五月丁香直播| 久久久五月天网站| 色婷婷香蕉| 99热精国产这里只有精品| 久久精彩视频99| 久久婷丁香五月| 五月丁香色色综合| 久久五月天丁香| 五月婷婷影院| 国产精品国产VA片国产| 九九色欲网| 国产全是老熟女太爽了| 婷婷五月色激情欧美激情| 玖玖综合色| 婷婷色情 | 五月丁香六月婷婷成人电影| 国产欧美婷婷五月| 色日本综合| 激情五月综合| 九九干视频| 五月婷免费视频久久久| 久久婷综合网| 婷婷99视频在线| 久久久久激情| 亚洲丁香五月在线观看| 婷婷月五天在线在线看| 午夜福利成人AV91| 被强行糟蹋的女人A片| 欧美激情综合色综合啪啪五月| 欧美日韓成人亚洲精品另类| 婷婷激情四射网| 色色色激情网| 激情丁香婷婷| 97在线/亚洲| 激情五月婷婷中文字幕| 中文字幕不卡+婷婷五月| 天天干夜夜b| 色欲丁香| 婷婷五月丁香综合桃花色网| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 色婷婷激情| 日日操日日爽| 日日干日日s| 啪啪激情网| 91丨九色丨国产在线| 国产亚洲成AV人片在线观黄桃| 五月婷婷三级| 五月天激情小说| 午夜婷婷六月天| 欧美精品久久久久久视频观看| 久久婷婷色情7777网站| 色一情一乱一乱一区9| 丁香婷婷五月份| 久久久中文| 色情综合网| 超碰高清在线| 伊人玖玖婷婷| 天天干天天拍| www.五月丁香| 婷婷丁香五月婷婷| 噜噜在线| 日本五月天网站| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 五月色综合网欧美网| 免费啪啪亚州视频| 久久久久亚洲AV无码网影音先锋| 97人人爱人人操| 色综合色综合色综合| 六月婷婷色色网| 久久婷婷丁香花综合网| 亚洲狠狠色丁香婷婷综合久久| AA片在线观看视频在线播放| 欧美电影在线观看| 日本婷婷激情四射中文字幕在线观看| 国产成人精品一区二三区熟女在线| 五月丁香综合激情| 操碰97| 国产做A爰片毛片A片美国| 婷婷99狠狠| 丁香五月综合| 日韩中文字幕| 久久久精品免费啪啪国| 婷婷五月天性爱视频| 亚洲色频| 97色欧美| 99操99| 五月天天丁香婷婷在线中| WWW色五月天| 99热综合| 免费观看全黄做爰的视频| 国产69精品久久久久999小说| 99ER热精品视频| 色婷婷综合久久| 大香蕉娱乐| 啪啪99| AV激情五月| 亚洲AAA| 操日挥操日日| 久久五月网| 婷婷欧美| 黄色高清无码| 久久婷婷色综合| 亭亭五月丁香综合欧美| 天天射影视综合网| 五月婷婷综合视频| 97啪啪| 五月天婷婷激情六月久久| 亚洲AV无码一区二| 丁香六月婷月91婷月| 精品人妻久久久久久久| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 亚洲操B| 潘金莲AAAAAAAAAA| 欧美三级黄色片久久| 亚洲综合激情五月天婷婷| 99热精国产这里只有精品| 夜夜操狠狠操| 婷婷色色五月| 亚洲人人操| 思思99热在线| 九九99久久| www色色色com| www,超碰| 亚洲女婷婷五月基地综合久久久| 婷婷久月| 日本欧美成人片AAAA| 五月婷婷综合社区| 久色中文| 九月婷婷综合| 成片免费观看大全| 婷婷 激情 五月| 天天爽天天操| www.超碰97| 日韩综合网络男女香蕉a片| 激情黄色小说五月天| 色三级色三级| 日韩有码一区| 国产又黄又爽又激情不遮挡视频在线观看| 丁五月激情视频免费| 日日做A爰片久久毛片A片英语 | 日日夜夜婷婷| 少妇水多A片太爽了| 欧美色色色色色| 六月丁香社区| 九九99九九精品免费| 色播婷婷五月天| 深爱五月激情五月| 999热这里只有美国精品| 99色婷婷| 武则天精品久久| 婷婷成人小说综合| 思思热在线视频精品| 丁香激情网| 丁香五月天资源网| 亚洲黄色操逼| 狠狠擼综合| 激情综合五| 丁香五月中文字幕| 婷婷五月在线观看| 九月av在线| 狠狠五月天激情| 午夜69成人做爰视频| a色色色色色| 五月丁香激情综合网| 婷婷综合影院| 五月丁香网站| 日熟女| 五月天com| 超碰99热在线观看| 日本色狠狠| 九九伦子片| 日日操天天| 婷婷综合玖玖五月| 九九热这里只有精品31| 亚洲偷| 第四色婷婷色五月| 天天干人人奸97| 婷婷丁香五另类网站| 99热这里都是精品| 69午夜成人影片| 激情婷婷丁香| 97色五月天| 亚洲色无码A片一区二区麻豆| 婷婷丁香五月天色播网站| 婷婷五月天av| 五月天婷婷青青| 婷婷五月激情四射手| 中文aV网| 婷婷六久久| 狠狠做深爱婷婷久久综合一区| 丁香六月亚洲| 99爱视频| 伊人五月天综合网| 91超碰人人操| 蜜乳国产网站| 亚洲视频无| 色99热| 如何安全看伊人婷婷| 五月婷婷丁香六月| 九月婷婷丁香| 99热很操老逼| 色情五月丁香| 精品无码色| www.色色色com| 婷婷九月丁香| 99人人干| 国产XXXX搡XXXXX搡麻豆| 特级片神马电影| 国内久久亭亭| 79精品视频在线观看,| 2020久久婷婷五月| 日韩欧美性爱| 激情久久综合| 六月香五月婷| 性爱七区| 婷婷五月天影院| 日日做夜夜爱| 人妻久热| 丁香五月自拍| 欧美碰碰碰| 婷婷伊人| 五月丁香青草综合啪啪| 99热欧美偷拍| 丰满老熟妇BBBBB搡BBB| 洗浴中心操B视频| 婷婷综合五月天| 电影91久久久| 激情五月综合网最新| 色五月天综合| www.9797国产| 精品国产AV色一区二区深夜久久| 性综合网| 六月婷婷私欲| 五月丁香激情四射综合| 国产性爱在线| 91婷婷丁香| 色色综合视频| 久久综合激情五月天| 大香蕉丁香婷婷| 丁香五月在线播放| 亚洲第一综合| 日本婷婷丁香五月| 影视av久久久噜噜噜噜噜三级| 国产精品第一国产精品| 丁香六月啪啪啪| 精品无码视频| 六月亚洲婷婷6月中文字幕| ady狠狠入| 大学生高潮无套内谢视频| 久久99大全| 淫水导航| 另类五月婷婷| A片一曲| 久久婷婷电影| 色色三级视频| 99精品在线播放| 狼人婷婷综合| 91色情播放| 丁香五月综合在线| 99久久婷婷| 综合玖玖偷拍| 婷婷九月丁香中文| 情欲禁地| www色色com| 日本超碰在线| 99热免费| 99久久五月婷婷| 激情五月婷婷综合色播小说| 5月色亭亭视频| 综合色色网| 激情综合色婷婷啪啪六月天| 九九综合九色欧美狠狠| wwwav大香蕉| 极品少妇XXXX精品少妇偷拍| 六月 丁香 视频| 人妻AV在线观看| 色婷婷综合网| 五月丁香婷婷成人网| 思思热在线免费视频| 婷婷六月天精品| 99热这里只有精品10| www.色婷婷| 97人人操在线| 激情综合网五月婷婷| 一本久道综合99| 99热天堂| 色综合丁香婷婷| 青996青| 九九大香蕉黄色影院| 日韩精品无码AV| 久热9热| 天综合日日夜综合7799| 黄色91在线观看| 色原狠狠综合| 五月天另类图片区99| 懂色av蜜臀av粉嫩av永陈冠希| 亚洲a片免费观看| 国产99久9在线+|+传媒| 五月婷天堂视频| 综合精品99| 任你操精品免费| 九九热99视频在线| www.色综合| 婷婷色五月婷婷姐妹| 婷婷 久综合| 五月天婷婷六月| 99热这里有精品24| 4399无码视频二区| www,99热在线观看| 黄页免费一级视频懂色| 97碰碰在线观看视频| 一区二区免费看| 激情AV| 色婷婷国色天香综合| 五月天婷婷伊人| 色五月激情五月天| 久99久精品| 五月天六月色| 久久久一级AAA| 艹色18p| 99大香蕉| 婷婷六月开心网| 丁香六月婷婷综合在线| 综合啪啪| 五月婷婷六月天| 国产精品18久久久| 婷婷丁香视频| 91久操| 丁香五月久久综合| 人人色婷婷| 欧美成人A片AAA片在线播放| 亚洲乱码日产精品BD| 五月丁香婷婷激情爱爱| 中文精品在| 日韩五月天婷婷| ji'qi'luan'ren'lun| 婷婷色丁香五月| 色婷婷五月天| 人妻中文字幕网| 国产VA播放| 五月婷婷六月婷| 九九aV| tingtingcaobi| 色99热| sewuyuejiqingwang| 开心婷婷五月| 色婷婷在线视频| 成人AV网站在线| 婷婷五月丁香五月丁香| 天天干天天干天天干天天干天天干| 五月天激情亚洲| 91fuliwang| 亭亭丁香aV| 五月婷婷五月丁香| 丁香婷婷色五月| 久久码久久无清| 精品婷婷五月天| 无码橾| 天天激情站| 蜜臀丁香黄色婷婷五月天| 成人精品99| 五月天偷拍| 大香伊人婷婷| 亚洲狠狠狠色婷婷综合激情久久久| 亚洲精品99| 99网| 色婷婷网| 婷婷狠狠操| 爆乳熟妇一区二区三区四区| 99人碰碰碰| 久久丁香五月婷| 欧美成人AAA片一区国产精品| xxxx久| 直接看的AV| 日本视频不卡123区| www.五月婷婷久久.com| 五月婷婷av| 玖玖色综合色| Av性爱网| 夜夜操天天干| 久久综合色五月| 五月婷六月婷婷| 色欲一区二区三区精品A片| 色婷婷久久| www.色9| 9久9久| 日韩色五月| 狠狠操狠狠色| 日本五月丁香| 五月色网| 青青.com| 99精品久久久久久久| 五月婷婷激情久久| 色情终和网| 五月色导航| 丁香五月AV| 五月婷婷丁香| 亚洲AV成人精品日韩在线播放| 婷婷五月色惰| 天天在线XXX| 色站9/| 五月婷综合| 嘿嘿视频免费看9| 韩国久久少妇视屏| 操碰色一区就去操| 99色丁香婷婷综合网| 亚洲妇女熟BBW| 99re思思在线视频| 五月婷婷五月天| 五月婷婷激情四季| 色婷婷六月| www久久99com| www.色五月| 79亚洲精品少妇| 九九热视频在线观看| 激情五月激情综合网一级丸片 | 六月色色婷婷| 婷婷婷婷婷婷婷婷婷婷丁香| 亚洲婷婷激情888精品久| av在线婷婷| 天天操夜夜爽歪歪| 激情婷| 天天爱天天秀天天做| 五月丁香激情怕怕| 狠狠草在线观看| 五月婷婷五月丁香综合| 99在线精品免费视频| 天天操天天日天天爽| 九九热9| 天天干夜夜谢| 婷婷五月天奸女| 日本婷婷| 久久机热这里只有| www.1024久久| 日本九九网| 99久久99九九99九九九| 六月婷婷激情| www,五月天激情| 操婷婷基地| 九九综合| 色五月久久成人婷婷| 精品一区久热| 久久丁香五月| 丁香五月婷婷狠狠色| 中文字幕无码人妻少妇免费视频 | 色色丁香五月| 美女五月天| 免费试看小视频 99| YW无码| 玖玖爱资源站| 狠狠色情婷婷| www.激情com| 色五月婷婷老师| 九九色热视频| 五月婷网| 日本人人超碰| 六月婷久久| 综合在线丁香五月| 九月久久婷婷| 中文字幕成人| 日本成人噜噜噜| 日韩免费乱轮网站| 欧美激情-区二区三区| 久久丁香五月婷婷| 五月婷AV| 激情九月婷婷| 婷婷桃色网| 久久婷婷六月综合| 狠狠狠夜夜夜| 五月天无码| 超碰五月婷婷五月天| 激情小说婷婷| 情趣视频66| 丁香六月婷婷综合激情欧美 | 九九99久久| 久久99最新| 丁香 亚洲 久久| 免费无码毛片一区二区A片| 色五月综合| 日日射天天射| 日韩成人网址| 极品九九九九九九| 无码激情AAAAA片-区区| 成人视屏在线观看| 久久这里有精品视频在线免费观看| 婷婷九月丁香| 久草婷婷视频| 内射干少妇亚洲69XXX| 丁香六月激情四射| 婷婷十月激情综合网| 成人精品一区二区三区四区五区| 婷婷大乡焦噜噜| 91婷婷视频| 亚洲乱码精品久久久久.. | www色婷婷久久综合久色| 欧美WW在线网| 久久91久久精品久久| 人妻AV在线| 二色AV| 亚洲五月停停| 淫水导航| 亚洲熟妇AV综合网五月丁香伊人| 婷婷五月丁香综合激情| 综合九九日本| 日韩国产在线精品| 国产精品国产成人国产三级| 热久久91| 丁XX 成人| 天天干 夜夜爽| 色99欧洲色19| 天天拍久久| 五月婷婷这里都是精品| 婷婷五月小说色综合| 色99热| 丁香五月777| 日韩黄色AV无码| 久久久亚洲成人无码A片| 北条麻妃九九九国产精品视频| 激情第四色| www.操.com| 深爱婷婷网| 亚洲欧洲另类| 成人丁香五月天| 欧美日韩999| 色播五月丁香| www.色五月| 五月天啪啪| 这里只有精品2| 99热最新| 丁香五月伊人| 婷婷五月天av| 色情成人五月天| 国产人妻人伦精品一区二区| 9+1视频网址| 国自产拍偷拍精品啪啪一区二区| 丁香激情五月天| 人妻熟人中文字幕一区二区| 国产成人精品一区二三区熟女在线| 五月天精品| 99国产精品久久久久久久久久久| 国产做A爰片毛片A片美国| 夜夜操狠狠操| 国产日产亚系列精品版优势| 三级毛片视频| 99色网站| 丁香五月天啪啪| 日本久久婷婷| 日韩成人AV在线| AV伊人青草丁香六月| 狠狠操.com| 久色姿源| 开心婷婷五月中文字幕组| 激情五月小说婷婷| 淫视馆av三区| 激情五月天天| 五月婷天堂视频| 五月天丁香成人社| 婷婷97| 婷婷丁香久久五月综合| 人人舔天天| 看片视频在线免费日产在线看| 97亚洲婷婷| 99热亚洲| 婷婷丁香六月天| 香蕉伊人综合| 精品五月视频婷婷在线观看| 538久久| 激情文学五月丁香六月婷婷| 婷婷五月,偷窥偷拍网| 亚洲第一第二网站| 亚洲成av人影院| 青青草Avb在线| 爱射综合| 日本va视频| 激情五月婷黄版| 五月天婷婷基地| 猫咪伊人AV| 久综合| 五月丁香婷婷六月天| 天天干狠狠| 99久在线精品99re8热| 一二线视频 另类| 亚洲综合一区二区| 亚洲综合激| 久色资源| 色五月激情网| 免费在线a| 日韩砖区| 精品久久人妻| 五月天婷婷影院| 欧美久人人| 五月婷婷综合激情| 久久人妻精品| 免费视频WWW在线观看网站| 在线看黄色| 五月色 亚洲| 色色狼人综合| 婷婷丁香激情五月天色色色| 色九月婷婷综合| 丁香五月 六月婷婷首页| 婷婷精品在线| 操逼视频网址| 欧美丁香婷婷天天操| 色婷婷丁香| www.99热| 99精品在线观看视频| 五月天夜夜爱夜夜操| 国产亚洲色婷婷久久99精品91| av一区免费看| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 99热精品在线观看| 婷婷五月丁香激情图片 | 91九色欧美| 国产AV影片| 五月丁香久人妻中文| 婷婷久久色| 五月日韩中文字幕| 色情五月天小说| 热99免费在线| 97在线天堂| 婷婷激情区| 九九综合色| 超碰91人人操| 丁香五月Av| 三级黄色大片视频| 狠狠狠婷婷五月综合| 久久网日本| 五月婷婷色白丝| 天天色综合网吨吧| 图片区 小说区 区 亚洲五月| 丁香五月影院| 激情丁香九九五月综合网| www.1024久久| 九九热这里只有精品31| 色激情五月天| 精品在线| 婷婷五月天伊人网| 色婷婷六月天| 色老久久| 婷婷自拍| 夜夜爱网站| 激情淫乱男女| 婷婷丁香色五月| 婷婷五月成人社区| 亚洲激情五月丁香久久久久| 99热成人| 日本本土色网第一区| 99激情视频| 丁香5月激情网| 五月婷婷中文字幕| 97精品综合| 久久三级视频| 五月婷婷AV| www.久久爱| 99久久九九| www.91久久| 色色激情五月天| 日日.c| www.主妇. com| 91蜜桃婷婷狠狠久久综合9色| 做爱夜夜干天天操| 丁香五月婷婷五月| 欧美美女国产日韩一区二区久| 九九综合久久| 人人爱天天摸摸天天爱| 国产亚洲成AV人片在线观黄桃| 五月婷婷综合色啪首页|