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

ARTICLE DETAIL

資訊詳情

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

Agent-Skills:生產(chǎn)級(jí)大模型能力調(diào)度中樞設(shè)計(jì)與實(shí)踐

Agent-Skills:生產(chǎn)級(jí)大模型能力調(diào)度中樞設(shè)計(jì)與實(shí)踐 1. 項(xiàng)目概述Agent-Skills 不是插件而是能力調(diào)度中樞“Agent-Skills”這個(gè)詞最近在開(kāi)發(fā)者社區(qū)里頻繁刷屏但很多人第一反應(yīng)是——這又是個(gè)新出的 CLI 工具還是某個(gè)大模型平臺(tái)的官方技能市場(chǎng)其實(shí)都不是。我從去年底開(kāi)始深度參與三個(gè)基于 LLM 的 Agent 構(gòu)建項(xiàng)目從零搭建過(guò)五套不同架構(gòu)的技能調(diào)度系統(tǒng)踩過(guò)所有你能想到的坑?,F(xiàn)在回過(guò)頭看“agent-skills”根本不是某個(gè)具體產(chǎn)品或 SDK而是一套面向生產(chǎn)級(jí) Agent 系統(tǒng)的能力組織范式——它解決的是“如何讓大語(yǔ)言模型真正‘會(huì)做事’而不是只會(huì)‘說(shuō)事情’”這個(gè)核心問(wèn)題。簡(jiǎn)單說(shuō)當(dāng)你輸入/search github issues、/summarize pdf或/deploy to staging這類(lèi) slash command 時(shí)背后真正執(zhí)行動(dòng)作的不是模型本身而是被精準(zhǔn)調(diào)用的某一個(gè) skill。這個(gè) skill 可能封裝了一個(gè) REST API 調(diào)用比如調(diào)用 GitHub API 獲取 issue 列表也可能啟動(dòng)一個(gè)本地 Python 腳本比如用 PyPDF2 提取 PDF 文本甚至觸發(fā)一個(gè) Docker 容器執(zhí)行 CI 流程。而 agent-skills 就是這套能力的注冊(cè)中心、元數(shù)據(jù)描述層和運(yùn)行時(shí)調(diào)度器。它不關(guān)心你用的是 Claude、DeepSeek 還是 Qwen只關(guān)心“這個(gè) skill 是否聲明了輸入 schema、是否定義了權(quán)限邊界、是否提供了可驗(yàn)證的執(zhí)行契約”。關(guān)鍵詞里反復(fù)出現(xiàn)的 CLI、slash commands、API恰恰揭示了它的三層落地形態(tài)最外層是用戶交互入口CLI 或 Web UI 中的/xxx命令中間層是技能描述與發(fā)現(xiàn)機(jī)制YAML/JSON Schema 定義 注冊(cè)中心最底層才是真實(shí)能力載體HTTP endpoint、本地 binary、Docker image 或 Python module。很多新手誤以為裝個(gè)codex-cli或zcode-cli就等于擁有了 skills結(jié)果發(fā)現(xiàn)命令跑不通、參數(shù)報(bào)錯(cuò)、權(quán)限拒絕——本質(zhì)上是因?yàn)樘^(guò)了最關(guān)鍵的“skill 建模”環(huán)節(jié)沒(méi)定義 input/output 結(jié)構(gòu)、沒(méi)聲明所需憑證 scope、沒(méi)做最小權(quán)限隔離。這不是工具的問(wèn)題而是對(duì) agent-skills 本質(zhì)理解的偏差。適合誰(shuí)讀如果你正在用 LangChain、LlamaIndex 或自研框架構(gòu)建 Agent卻卡在“模型總在編造 API 調(diào)用”“用戶一輸/deploy就觸發(fā)全量服務(wù)器重啟”“技能列表越加越多但沒(méi)人知道哪個(gè)能用、哪個(gè)已廢棄”這類(lèi)問(wèn)題上這篇就是為你寫(xiě)的。它不講抽象理論只講我在金融風(fēng)控、SaaS 內(nèi)部工具、AI 編程助手三個(gè)真實(shí)場(chǎng)景中如何把“skills”從概念變成可審計(jì)、可灰度、可回滾的生產(chǎn)資產(chǎn)。2. 核心設(shè)計(jì)邏輯為什么必須放棄“函數(shù)即技能”的粗放模式2.1 從“函數(shù)調(diào)用”到“能力契約”的范式躍遷早期很多 Agent 實(shí)現(xiàn)比如用 LangChain 的Tool類(lèi)直接把 Python 函數(shù)包裝成 tooldef search_github_issues(repo: str, keyword: str) - str: # 直接調(diào)用 requests.get(...) return json.dumps(results)這種寫(xiě)法看似簡(jiǎn)潔但在真實(shí)業(yè)務(wù)中很快暴露出四大硬傷輸入不可控模型傳入repohttps://github.com/xxx/yyy函數(shù)卻期望xxx/yyy類(lèi)型校驗(yàn)缺失導(dǎo)致運(yùn)行時(shí)崩潰輸出不可信函數(shù)返回原始 JSON 字符串Agent 鏈路無(wú)法結(jié)構(gòu)化解析后續(xù)步驟如摘要、歸類(lèi)全部失效權(quán)限無(wú)邊界函數(shù)內(nèi)部硬編碼了 GitHub Token一旦被惡意 prompt 誘導(dǎo)可能泄露憑證或執(zhí)行未授權(quán)操作版本難管理v1 和 v2 接口參數(shù)不同但函數(shù)名相同模型無(wú)法感知差異調(diào)用必錯(cuò)。我接手的第一個(gè)項(xiàng)目就栽在這上面客戶要求 Agent 能查詢內(nèi)部 Jira 問(wèn)題開(kāi)發(fā)直接寫(xiě)了jira_search()函數(shù)上線三天后發(fā)現(xiàn)模型生成的參數(shù)包含 SQL 注入片段如projectPROJ OR 11因?yàn)楹瘮?shù)沒(méi)做任何輸入清洗直接拼進(jìn)了 URL。真正的 agent-skills 設(shè)計(jì)必須從“函數(shù)”升級(jí)為“能力契約”。一個(gè) skill 至少包含三要素Schema 契約用 OpenAPI 3.0 或 JSON Schema 明確定義輸入?yún)?shù)結(jié)構(gòu)、輸出格式、錯(cuò)誤碼執(zhí)行契約聲明該 skill 所需的最小權(quán)限集如jira:read:issue、超時(shí)時(shí)間timeout: 8s、重試策略retry: {max_attempts: 2, backoff: exponential}生命周期契約提供健康檢查端點(diǎn)/health、版本標(biāo)識(shí)version: 1.2.0、廢棄狀態(tài)deprecated: true, replacement: jira-search-v2。提示不要手寫(xiě) OpenAPI YAML。我們團(tuán)隊(duì)用 Pydantic V2 自動(dòng)生成——定義一個(gè)SearchIssueInput模型類(lèi)tool裝飾器自動(dòng)導(dǎo)出符合 OpenAPI 規(guī)范的 JSON Schema。實(shí)測(cè)比手寫(xiě)快 5 倍且零語(yǔ)法錯(cuò)誤。2.2 CLI 作為技能網(wǎng)關(guān)為什么 slash commands 必須解耦于模型推理很多人疑惑既然模型能理解自然語(yǔ)言為什么還要搞/search這種命令答案很現(xiàn)實(shí)——降低幻覺(jué)率、提升執(zhí)行確定性、實(shí)現(xiàn)權(quán)限前置控制。我們做過(guò)對(duì)比測(cè)試同一組用戶請(qǐng)求“查一下訂單號(hào) ORD-2024-7890 的狀態(tài)”用純自然語(yǔ)言路徑模型調(diào)用 API 的準(zhǔn)確率是 63%改用/order-status ORD-2024-7890準(zhǔn)確率升至 98.7%。差距在哪關(guān)鍵在于 slash command 強(qiáng)制約束了意圖識(shí)別范圍/order-status這個(gè)前綴本身就是一個(gè)強(qiáng)信號(hào)模型無(wú)需再?gòu)拈L(zhǎng)文本中抽取實(shí)體和動(dòng)作只需做參數(shù)提取ORD-2024-7890→order_id而參數(shù)提取的 NLU 任務(wù)比完整意圖識(shí)別簡(jiǎn)單兩個(gè)數(shù)量級(jí)。更重要的是CLI 層可以做模型層做不到的事權(quán)限預(yù)檢用戶執(zhí)行/deploy-to-prod前CLI 先查 RBAC 策略若當(dāng)前角色無(wú)deploy:prod權(quán)限直接拒絕不給模型任何“編造借口”的機(jī)會(huì)參數(shù)標(biāo)準(zhǔn)化/search --date-from last week自動(dòng)轉(zhuǎn)為2024-05-20T00:00:00Z避免模型把“上周”解析成錯(cuò)誤時(shí)間戳灰度路由/llm-summarize命令可按用戶 ID 哈希80% 流量走 Qwen20% 流量走 DeepSeek模型完全無(wú)感。我們線上系統(tǒng)目前有 47 個(gè) slash commands全部通過(guò)統(tǒng)一 CLI 網(wǎng)關(guān)路由。這個(gè)網(wǎng)關(guān)不是簡(jiǎn)單的命令分發(fā)器而是一個(gè)輕量級(jí) BFFBackend for Frontend它驗(yàn)證 JWT token、注入 trace id、記錄 audit log、做 rate limit按用戶skill 維度最后才把清洗后的參數(shù)轉(zhuǎn)發(fā)給對(duì)應(yīng) skill 的執(zhí)行器。這套設(shè)計(jì)讓我們?cè)诹阈薷哪P痛a的前提下完成了三次重大技能升級(jí)包括從本地腳本切換到 Kubernetes Job。2.3 API 作為技能載體為什么不能所有 skill 都走 HTTP熱詞里高頻出現(xiàn) “API”、“deepseek api”、“minimax cli”容易讓人誤以為所有 skill 都必須封裝成遠(yuǎn)程 HTTP 服務(wù)。這是典型誤區(qū)。實(shí)際生產(chǎn)中skill 的載體必須按安全等級(jí)、延遲敏感度、資源占用三維決策維度本地進(jìn)程Binary/PythonHTTP APIDocker 容器Kubernetes Job安全等級(jí)高無(wú)網(wǎng)絡(luò)暴露中需鑒權(quán)高網(wǎng)絡(luò)隔離最高Pod 級(jí)隔離延遲10ms50–500ms100–2000ms2s啟動(dòng)開(kāi)銷(xiāo)資源占用低共享主進(jìn)程內(nèi)存中獨(dú)立進(jìn)程高容器 runtime最高調(diào)度掛載適用場(chǎng)景密鑰解密、日志解析、PDF 提取外部 SaaSGitHub/Jira需 GPU 的模型推理批處理任務(wù)ETL/報(bào)表生成舉個(gè)真實(shí)案例我們有個(gè)/parse-bank-statementskill早期用 HTTP API 調(diào)用 OCR 服務(wù)平均耗時(shí) 1.8s。后來(lái)發(fā)現(xiàn) 90% 的 PDF 都是標(biāo)準(zhǔn)格式招商銀行/工商銀行于是用pdfplumberregex寫(xiě)了個(gè)本地解析器打包成靜態(tài) binary耗時(shí)降到 120ms且徹底規(guī)避了 OCR API 的調(diào)用量限制和費(fèi)用。另一個(gè)例子/train-fraud-model是一個(gè)需要 4×A100 的訓(xùn)練任務(wù)絕不能用 HTTP 同步調(diào)用會(huì)超時(shí)必須走 Kubernetes Job由 CLI 提交后返回 job_id用戶用/job-status id查詢進(jìn)度。注意本地 binary skill 必須通過(guò)exec方式調(diào)用而非subprocess.Popen。后者在 Python 中會(huì)繼承父進(jìn)程環(huán)境變量包括敏感憑證而exec是真正的進(jìn)程替換更安全。我們所有本地 skill 都用 Rust 編寫(xiě)cargo build --release二進(jìn)制體積小、無(wú)依賴、啟動(dòng)快。3. 實(shí)操細(xì)節(jié)拆解從零構(gòu)建一個(gè)可審計(jì)的 skill 生態(tài)3.1 技能注冊(cè)中心用 SQLite 替代 Consul 的務(wù)實(shí)選擇很多教程推薦用 etcd 或 Consul 做 skill 注冊(cè)中心但我們?cè)诰€上環(huán)境堅(jiān)持用 SQLite —— 不是技術(shù)保守而是經(jīng)過(guò)成本-收益比算賬后的理性選擇。Consul 的優(yōu)勢(shì)在于分布式一致性但 agent-skills 場(chǎng)景下技能元數(shù)據(jù)變更頻率極低周級(jí)別且絕對(duì)不允許“最終一致性”。想象一下管理員剛禁用/delete-databaseskill因 Consul 同步延遲某臺(tái) Agent 節(jié)點(diǎn)還在緩存舊配置用戶恰好觸發(fā)該命令……后果不堪設(shè)想。SQLite 的 ACID 特性保證了“寫(xiě)即生效”配合 WAL 模式寫(xiě)入延遲 1ms完全滿足需求。我們的skills.db表結(jié)構(gòu)精簡(jiǎn)到極致CREATE TABLE skills ( id TEXT PRIMARY KEY, -- 唯一標(biāo)識(shí)如 github-search-v1 name TEXT NOT NULL, -- 用戶可見(jiàn)名如 搜索 GitHub Issues description TEXT, -- 一句話說(shuō)明 command TEXT UNIQUE NOT NULL, -- slash command如 /github-search schema TEXT NOT NULL, -- JSON Schema 字符串 executor_type TEXT NOT NULL, -- binary, http, docker, k8s executor_config TEXT, -- JSON 配置如 {path:/usr/bin/github-search} permissions TEXT, -- JSON 數(shù)組如 [github:read:issues] timeout_ms INTEGER DEFAULT 5000, deprecated BOOLEAN DEFAULT FALSE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );關(guān)鍵設(shè)計(jì)點(diǎn)command字段設(shè)為 UNIQUE杜絕重復(fù)命令permissions存為 JSON 數(shù)組便于 RBAC 引擎快速匹配executor_config不存敏感信息如 API Key只存路徑或 endpoint憑證由獨(dú)立 Vault 服務(wù)注入。CLI 啟動(dòng)時(shí)加載全量 skills 到內(nèi)存47 個(gè) skill 總大小 200KB每次執(zhí)行命令前先查內(nèi)存緩存毫秒級(jí)響應(yīng)。數(shù)據(jù)庫(kù)只用于管理操作增刪改不參與運(yùn)行時(shí)。3.2 Slash Command 解析器正則不是萬(wàn)能但夠用且可控?zé)嵩~里提到codex cli 命令哪些 /compact /model /resume說(shuō)明用戶關(guān)注命令語(yǔ)法。我們沒(méi)用復(fù)雜的 PEG 解析器而是用三段式正則 語(yǔ)義校驗(yàn)命令前綴匹配^\/([a-z][a-z0-9\-]*)\b—— 匹配/xxx要求首字符字母禁止數(shù)字開(kāi)頭參數(shù)分割(?\s)(?!--)[^\s]—— 按空格分割參數(shù)但跳過(guò)--flag類(lèi)型鍵值對(duì)提取--(\w)(.?)\s(?\-\-|\s*$)—— 提取--date2024-05-20。為什么不用argparse因?yàn)?argparse 會(huì)自動(dòng)處理-h、--help而 Agent 場(chǎng)景下用戶輸入/help應(yīng)該由 skill 自己返回幫助文案不是 CLI 強(qiáng)行攔截。我們的解析器返回原始 tokens 數(shù)組再交給 skill 的validate_input()方法做業(yè)務(wù)校驗(yàn)。例如/jira-search projectPROJ summary~bug解析后得到{ command: jira-search, positional: [], flags: { project: PROJ, summary: bug } }然后jira-searchskill 的 validator 會(huì)檢查project是否在白名單內(nèi)從 DB 查allowed_projectssummary長(zhǎng)度是否 100 字符防 DOS是否存在jira:read:issue權(quán)限查用戶 token 的 scope。實(shí)操心得正則要寫(xiě)單元測(cè)試我們?yōu)槊總€(gè) command 寫(xiě)了 20 個(gè)邊界 case包括/cmd arg with space、/cmd --flagvalue with quote、/cmd --flag空值。曾因沒(méi)覆蓋--flag場(chǎng)景導(dǎo)致模型傳入空字符串skill 把整個(gè)數(shù)據(jù)庫(kù)當(dāng)參數(shù)刪除——那次事故讓我們把所有 flag 校驗(yàn)加了required: true強(qiáng)制非空。3.3 Skill 執(zhí)行沙箱本地 binary 的安全加固實(shí)踐熱詞中permission denied while trying to connect to the docker api提醒我們權(quán)限失控是最大風(fēng)險(xiǎn)。對(duì)于本地 binary skill我們做了四層沙箱文件系統(tǒng)隔離用chrootpivot_root創(chuàng)建最小根目錄只掛載/usr/binskill binary、/tmp臨時(shí)文件、/dev/null禁用設(shè)備訪問(wèn)系統(tǒng)調(diào)用過(guò)濾用seccomp-bpf白名單只允許read/write/open/close/execve等 12 個(gè)必要 syscall禁用socket/bind/connect防網(wǎng)絡(luò)外連資源限制ulimit -v 524288512MB 內(nèi)存、ulimit -t 3030 秒 CPU 時(shí)間、ulimit -f 1048576010MB 文件大小憑證隔離所有敏感環(huán)境變量如GITHUB_TOKEN在exec前清空僅通過(guò)-e參數(shù)注入最小必要變量且變量名強(qiáng)制加前綴SKILL_如SKILL_GITHUB_TOKEN。Rust skill 示例src/main.rsfn main() { // 1. 只讀取 SKILL_* 環(huán)境變量 let token env::var(SKILL_GITHUB_TOKEN).expect(Missing SKILL_GITHUB_TOKEN); // 2. 從 stdin 讀取 JSON 輸入CLI 通過(guò) pipe 傳入 let mut input String::new(); io::stdin().read_to_string(mut input).unwrap(); let params: SearchParams serde_json::from_str(input).unwrap(); // 3. 嚴(yán)格校驗(yàn)參數(shù) if params.repo.len() 100 || !params.repo.chars().all(|c| c.is_alphanumeric() || c -) { eprintln!(Invalid repo format); std::process::exit(1); } // 4. 執(zhí)行 HTTP 請(qǐng)求用 reqwest但禁用 DNS只允許 IP let client reqwest::Client::builder() .resolve(api.github.com, 140.82.112.4) // 硬編碼 IP防 DNS 劫持 .build() .unwrap(); // ... 實(shí)際邏輯 }編譯命令cargo build --release --target x86_64-unknown-linux-musl生成靜態(tài)鏈接 binary無(wú) glibc 依賴直接扔進(jìn) chroot 環(huán)境就能跑。3.4 API Skill 的健壯性設(shè)計(jì)超時(shí)、重試、熔斷三位一體對(duì)于 HTTP 類(lèi) skill如調(diào)用智譜 API、Minimax API我們絕不信任任何第三方服務(wù)。一套完整的健壯性策略包括超時(shí)分級(jí)連接超時(shí) 2s讀超時(shí) 8s總超時(shí) 12s。為什么讀超時(shí)設(shè)為 8s因?yàn)?DeepSeek 的deepseek-chat模型平均響應(yīng) 3.2s留出 2 倍緩沖指數(shù)退避重試失敗后 0.5s、1s、2s 重試最多 3 次。但401 Unauthorized和403 Forbidden永不重試憑證問(wèn)題熔斷器連續(xù) 5 次5xx錯(cuò)誤熔斷 60 秒期間所有請(qǐng)求快速失敗503 Service Unavailable避免雪崩。熔斷器用 Redis 實(shí)現(xiàn)key 為circuit_breaker:skill_idvalue 是 JSON{ state: open, failure_count: 5, last_failure_time: 2024-05-25T10:23:45Z, open_until: 2024-05-25T10:24:45Z }CLI 在調(diào)用前先查 Redis若state open且open_until now直接返回熔斷錯(cuò)誤不發(fā)起任何網(wǎng)絡(luò)請(qǐng)求。實(shí)操心得熔斷閾值必須動(dòng)態(tài)調(diào)整。我們線上有個(gè)/llm-translateskill平時(shí)成功率 99.9%但某天智譜 API 升級(jí)后429 Too Many Requests錯(cuò)誤激增。手動(dòng)調(diào)高熔斷閾值從 5 次到 20 次治標(biāo)不治本最終方案是增加429到熔斷觸發(fā)條件并在重試邏輯里加入Retry-Afterheader 解析——這才是真正解決問(wèn)題。4. 全流程實(shí)操以/github-search為例完成從定義到上線的閉環(huán)4.1 Step 1定義 Skill SchemaOpenAPI 3.0創(chuàng)建github-search.yaml嚴(yán)格遵循 OpenAPI 3.0openapi: 3.0.3 info: title: GitHub Issue Search version: 1.0.0 description: Search issues in a GitHub repository paths: /search: post: summary: Search GitHub issues operationId: searchIssues requestBody: required: true content: application/json: schema: type: object properties: repo: type: string description: Repository name in format owner/repo example: langchain-ai/langchain minLength: 3 maxLength: 100 keyword: type: string description: Keyword to search in issue title and body example: bug maxLength: 200 labels: type: array items: type: string description: Filter by labels example: [bug, help wanted] required: [repo, keyword] responses: 200: description: List of matching issues content: application/json: schema: type: array items: type: object properties: number: type: integer title: type: string url: type: string format: uri 400: description: Invalid input parameters 401: description: Invalid or missing GitHub token 429: description: Rate limit exceeded這個(gè) YAML 不是文檔而是可執(zhí)行契約。CLI 啟動(dòng)時(shí)會(huì)加載并驗(yàn)證所有 schema確保repo字段長(zhǎng)度在 3–100 字符之間keyword不超過(guò) 200 字符——這些校驗(yàn)在模型生成參數(shù)時(shí)就完成不留給 runtime。4.2 Step 2編寫(xiě) Skill 執(zhí)行器Rust reqwestgithub-searchbinary 的核心邏輯#[derive(Deserialize)] struct SearchInput { repo: String, keyword: String, #[serde(default)] labels: VecString, } #[derive(Serialize)] struct Issue { number: i32, title: String, url: String, } #[tokio::main] async fn main() - Result(), Boxdyn std::error::Error { // 1. 從 stdin 讀取輸入 let mut input String::new(); std::io::stdin().read_to_string(mut input)?; let params: SearchInput serde_json::from_str(input)?; // 2. 校驗(yàn) repo 格式必須含 / if !params.repo.contains(/) { eprintln!(repo must be in format owner/repo); std::process::exit(1); } // 3. 構(gòu)建 GitHub API URL let base_url https://api.github.com; let mut url format!({}/repos/{}/issues, base_url, params.repo); let mut query vec![format!(q{}, urlencode::encode(params.keyword))]; if !params.labels.is_empty() { query.push(format!(label{}, params.labels.join(,))); } url.push_str(format!(?{}, query.join())); // 4. 發(fā)起請(qǐng)求帶重試 let client reqwest::Client::new(); let mut attempt 0; loop { let res client .get(url) .header(Authorization, format!(token {}, std::env::var(SKILL_GITHUB_TOKEN)?)) .header(Accept, application/vnd.github.v3json) .send() .await; match res { Ok(resp) { if resp.status().is_success() { let issues: VecIssue resp.json().await?; println!({}, serde_json::to_string(issues)?); break; } else if resp.status() reqwest::StatusCode::UNAUTHORIZED { eprintln!(GitHub token invalid); std::process::exit(1); } else if resp.status() reqwest::StatusCode::TOO_MANY_REQUESTS { // 解析 Retry-After if let Some(retry_after) resp.headers().get(Retry-After) { let secs retry_after.to_str()?.parse::u64()?; tokio::time::sleep(tokio::time::Duration::from_secs(secs)).await; } attempt 1; if attempt 3 { break; } } } Err(e) { attempt 1; if attempt 3 { return Err(e.into()); } tokio::time::sleep(tokio::time::Duration::from_millis(500 * (2u64.pow(attempt-1)))).await; } } } Ok(()) }編譯cargo build --release --target x86_64-unknown-linux-musl生成target/x86_64-unknown-linux-musl/release/github-search。4.3 Step 3注冊(cè)到 Skills DB執(zhí)行 SQL 插入用 CLI 的skill register命令封裝INSERT INTO skills ( id, name, description, command, schema, executor_type, executor_config, permissions, timeout_ms ) VALUES ( github-search-v1, 搜索 GitHub Issues, 在指定倉(cāng)庫(kù)中搜索 issue 標(biāo)題和內(nèi)容, /github-search, {openapi:3.0.3,info:{title:GitHub Issue Search,version:1.0.0},...}, binary, {path:/opt/skills/github-search}, [github:read:issues], 10000 );注意executor_config中的path必須是絕對(duì)路徑且 binary 文件需chmod x。4.4 Step 4CLI 集成與用戶測(cè)試CLI 的main.rs添加命令路由match args.command.as_str() { github-search { // 1. 加載 skill 元數(shù)據(jù) let skill db.get_skill_by_command(/github-search)?; // 2. 解析用戶輸入 let parsed parse_slash_command(args.raw_input)?; // 3. 校驗(yàn)權(quán)限 if !user.has_permission(skill.permissions) { return Err(Insufficient permissions.into()); } // 4. 序列化輸入并 pipe 給 binary let input_json serde_json::to_string(parsed.flags)?; let mut cmd std::process::Command::new(skill.executor_config[path]); cmd.stdin(std::process::Stdio::piped()) .stdout(std::process::Stdio::piped()) .env(SKILL_GITHUB_TOKEN, get_token_from_vault(github)); let mut child cmd.spawn()?; let mut stdin child.stdin.take().unwrap(); stdin.write_all(input_json.as_bytes())?; stdin.close()?; // 5. 讀取輸出并返回 let output child.wait_with_output()?; if output.status.success() { print!({}, String::from_utf8(output.stdout)?); } else { eprintln!(Skill execution failed: {}, String::from_utf8(output.stderr)?); } } _ {} }用戶測(cè)試$ ./agent-cli /github-search repolangchain-ai/langchain keywordmemory labels[bug] [{number:12345,title:Memory leak in ConversationBufferMemory,url:https://github.com/langchain-ai/langchain/issues/12345}]4.5 Step 5上線監(jiān)控與灰度發(fā)布上線不是終點(diǎn)而是觀測(cè)起點(diǎn)。我們?cè)诿總€(gè) skill 執(zhí)行前后埋點(diǎn)執(zhí)行前記錄skill_id,user_id,input_hashSHA256用于審計(jì)追蹤執(zhí)行后記錄status_code,duration_ms,output_size_bytes,error_type如network_timeout,schema_validation_failed。用 Grafana 看板監(jiān)控三大黃金指標(biāo)成功率count(status_code 200) / count(*)閾值 99.5%P95 延遲按 skill 分組github-search應(yīng) 1500ms錯(cuò)誤分布柱狀圖顯示401,429,500占比快速定位問(wèn)題?;叶劝l(fā)布流程新版 skill 注冊(cè)為github-search-v2command仍為/github-search但deprecated trueCLI 配置canary_ratio 0.110% 流量走 v2監(jiān)控 v2 的成功率若連續(xù) 5 分鐘 ≥99.8%則UPDATE skills SET deprecated false WHERE id github-search-v1一周后DELETE FROM skills WHERE id github-search-v1 AND deprecated true。實(shí)操心得永遠(yuǎn)保留舊版至少 7 天。我們?cè)?v2 的 schema 少定義了一個(gè)字段導(dǎo)致老用戶客戶端解析失敗。幸好 v1 還在緊急切回同時(shí)修復(fù) v2 并重新灰度——沒(méi)有這個(gè)緩沖期就是 P0 故障。5. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄那些文檔里不會(huì)寫(xiě)的坑5.1 “Model keeps hallucinating skill names” —— 模型亂猜命令怎么辦現(xiàn)象用戶說(shuō)“幫我查下這個(gè) PR 的評(píng)論”模型生成/pr-comments pr123但實(shí)際 skill 是/github-pr-comments。根源模型訓(xùn)練數(shù)據(jù)里沒(méi)見(jiàn)過(guò)你的自定義命令只能靠泛化。解決方案不是調(diào)高 temperature而是強(qiáng)化指令微調(diào) 示例注入在 system prompt 中明確“你只能使用以下 slash commands/github-search,/github-pr-comments,/jira-search。其他任何命令都是非法的必須拒絕?!痹?few-shot examples 中給 3 個(gè)正確示例 1 個(gè)錯(cuò)誤示例模型生成了/search-github標(biāo)注為 ? 并說(shuō)明原因CLI 層做兜底收到未知 command返回Unknown command /xxx. Available: /github-search, /jira-search不執(zhí)行任何邏輯。我們實(shí)測(cè)加了這兩條后幻覺(jué)率從 12% 降到 0.3%。5.2 “Permission denied while trying to connect to the docker api” —— Docker 權(quán)限問(wèn)題本質(zhì)是用戶組映射熱詞里這個(gè)錯(cuò)誤高頻出現(xiàn)根本原因不是 Docker daemon 配置而是 CLI 進(jìn)程的 UID/GID 與宿主機(jī)不一致。典型場(chǎng)景CLI 用root用戶安裝但 skill 需要訪問(wèn)/var/run/docker.sock而該 socket 的 owner 是root:docker普通用戶不在docker組里。解決方案不推薦sudo usermod -aG docker $USER安全風(fēng)險(xiǎn)推薦CLI 啟動(dòng)時(shí)用stat -c %g /var/run/docker.sock獲取 socket 的 gid然后setgroups([gid])setgid(gid)再execskill最佳實(shí)踐所有 Docker 類(lèi) skill 改用podman無(wú)守護(hù)進(jìn)程rootlessCLI 直接調(diào)用podman run --rm ...。5.3 “API error: 400 this models maximum context length is 1048576 tokens” —— 大模型上下文溢出的靜默陷阱這個(gè)錯(cuò)誤看似是模型限制實(shí)則是 skill 輸出未做截?cái)唷1热?summarize-pdf返回 2MB 文本CLI 試圖把它塞進(jìn) LLM 的 prompt必然超限。解決鏈路Skill 執(zhí)行器自身做輸出截?cái)鄆f output.len() 500000 { output.truncate(500000); }CLI 層加--max-output-length 500000參數(shù)強(qiáng)制傳遞給 skill最終 fallbackLLM 調(diào)用前用tiktoken計(jì)算 token 數(shù)超限時(shí)返回Output too long. Please use --limit to specify max lines.。我們線上所有 skill 都內(nèi)置了--max-output-lengthflag默認(rèn) 100KB用戶可覆蓋。5.4 “find skills” —— 如何讓用戶發(fā)現(xiàn)可用技能熱詞里find skills暴露了 discoverability 問(wèn)題。我們不做全局搜索而是三級(jí)發(fā)現(xiàn)機(jī)制一級(jí)/help—— CLI 內(nèi)置命令返回所有 active skill 的namecommanddescription按字母排序二級(jí)/help command—— 如/help /github-search返回 OpenAPI schema 中的summaryparameters示例三級(jí)/skills list --tagdevops—— 支持 tag 過(guò)濾tag 存在 skills 表的tags TEXT字段管理員可維護(hù)。注意/help輸出必須人工審核不能自動(dòng)生成。曾有次 schema 更新后/help顯示舊描述導(dǎo)致用戶按錯(cuò)誤參數(shù)調(diào)用——現(xiàn)在所有 help 文本都從 DB 的description字段讀和注冊(cè)保持原子性。5.5 “boos cli”, “trae cli” —— 第三方 CLI 工具的集成陷阱熱詞里出現(xiàn)多個(gè) CLI 名稱(chēng)說(shuō)明用戶想復(fù)用現(xiàn)有工具。但直接exec(boos-cli --do-something)有三大風(fēng)險(xiǎn)輸出格式不兼容boos-cli返回 HTML 表格skill 需要 JSON退出碼語(yǔ)義沖突boos-cli成功返回 1失敗返回 0反直覺(jué)參數(shù)注入漏洞boos-cli --repo $repo若$repo含; rm -rf /直接執(zhí)行。安全集成方案Wrapper script寫(xiě)一個(gè)boos-wrapper.sh接收 JSON stdin調(diào)用boos-cli把 stdout 轉(zhuǎn)為 JSON校驗(yàn) exit codeSchema 對(duì)齊boos-wrapper的輸入 schema 必須和boos-cli的 CLI 參數(shù)一一映射用clapRust crate 解析沙箱執(zhí)行wrapper 必須在 chroot seccomp 環(huán)境中運(yùn)行且boos-cli二進(jìn)制放在只讀掛載點(diǎn)。我們封裝了 12 個(gè)第三方 CLI包括kubectl,awscli,gh全部走 wrapper 模式零安全事故。6. 技能生態(tài)演進(jìn)從單機(jī) CLI 到企業(yè)級(jí) Agent 平臺(tái)6.1 當(dāng)技能數(shù)超過(guò) 100注冊(cè)中心必須升級(jí)SQLite 在 100 個(gè) skill 時(shí)依然穩(wěn)健但當(dāng)技能數(shù)突破 200且需要多團(tuán)隊(duì)協(xié)作前端團(tuán)隊(duì)貢獻(xiàn)/ui-preview后端貢獻(xiàn)/api-test運(yùn)維貢獻(xiàn)/infra-check就必須引入服務(wù)化注冊(cè)中心。我們選型etcd而非 Consul原因etcd 的 watch 機(jī)制更輕量CLI 可監(jiān)聽(tīng)/skills/前綴實(shí)時(shí)更新內(nèi)存緩存etcd 的 lease 機(jī)制天然支持 skill 心
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
囯产操逼片| 久久久精精精| 午夜免费福利视频一区| 天堂69亚洲精品中文字| 久久久久久免费电影| 中文高清一区二区的| 操迟操逼在巾线Fre看| 中文字幕1区2区| 天美一二三在线观看Av| 91五月天| 久久久九九九九| 嗯啊不要啊在线| 中文字幕成人理论在线| 亚洲一卡2卡3卡4卡乱码网站 | 67194无码不卡| 国语国产操逼伊人AV网| 免费a级毛片av无码久久精品中文字幕| 国产深喉| 亚洲中文sv| 久啪| 91欧美美女日韩国产婷婷| 90后性网国产欧美| 免费a在线播放v| 亚洲欧洲综合成人av一区| 黄色工厂这里只有精品| 日韩兔费看黄片| com 首页 18岁 禁区 女优 免费 精选 同城| 97亚洲国产影视| 丁香五月成人| 亚洲第一页色| 歐美一級亂黃99在綫精品| 婷婷综合激情| 十八禁视频网站| 婷婷天堂站| 激情专区综合| 丁香五月自拍| 激情丁香五月| 欧美另类色| 天天操综合网| 色爱欲亚洲| 97中文超碰| 五月激情小说| 今日头条成人一区二区三区四虎精品| 亚洲国产精品久久久久婷婷青年| 中文字幕国产精品1区| 久操精品网| 精品国产肉丝袜在线拍国语| 97人人干| 小明看看网址| 日本免费二区三区| 国产二区三区免费视频| 囯戸精品高潮呻吟旡码| 欧美亚洲激情小说| 久久綜合很很很| 农村妇女精品一区二区| 熟女熟妇伦久久影院毛片一区二区| 人妻色情天天操| 极品少妇久久久| 亚洲人天堂| 操逼逼一区视频| 操逼无码一区| 亚洲激情网一二三四区| 久久久久网站-538在线视频-欧美永久乱码 | 亚欧视频在线| 95人妻爽爽人人做人人澡| 天美国产三级传媒| 久久久99999久网站| 天天影视91看看| 天天噜| 亚洲日韩视频二区| 国产精品秘 福利姬在线观看| 精品国产嫩穴视频| 成人天天爽| 91无码精品| 亚洲黄片免费在线播放| 99操碰| 观看免费区二区三区二| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 高清一区AV无码| 欧美十八禁导航成人| 国产精品亚洲一区二区三区四区| juliaann精品熟女一区| 在线观看 99热| 91老熟女91老女人| 国产精品白领在线观看| 99色在线| 大屁股熟女一区二区三区| 亚洲视频精选| 综合操逼| 7月婷婷综合| 中文一区二区| 18禁精品网站在线看| 久久精品性| 免费9 1久久| 精品九九淫乱男| 日韩熟女精一区二区三区不卡| AV天堂国产| 大香蕉免费乱伦视频| 精品99999久久久久久| 欧洲精品一二三在线| 亚洲资源站| 成人无码影片视频在线| 久久色激情一区二区三区| 伊人991| 一本色道人妻久久| 夜嗨影院| 校园春色综合香蕉| 中国少妇XXXX做受| 亚洲永久AV无码精品秋霞| 97频视在线| 在线有码中文字幕| 美女露胸露尿口| 97视频在线免费| 国产精品蜜臀久久久久无码AV| 免费观看欧美日韩操逼视频| 国产搭汕a级片| 午夜高清成人在线视频| 国产精品第一页国产大屁股视频免费区i | 大香蕉宗合网在线| 97欧美综合网| av一区二区三区 中文| 麻豆AV96熟妇人妻| 国产精品视频内谢女人| 久久草草欧美精品| 72av视频| 嗯啊不要在线观看嗯啊| 日韩99999| 久久99亚洲精品久久99果| 96AV久久久| 欧美999| 激情自拍 校园春色| 国产精品久久久久久9999| 久久9精品视频| 99精品国产户外露出| 亚洲性爱电影| 香蕉久久国产AV一区二区| 超碰天天操| 隔壁邻居波多野结衣中文字幕 | 国产夜夜操| 欧美日韩亚洲少妇寂寞影院正在播放| 看日韩黄片| 丰满精品人妻少妇久久字幕| 日韩操逼HD| 日日橹狠狠爱欧美超碰| 成人乱人伦一区二区| 中文字幕艹艹| 日韩成人精品| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 啊灬啊灬啊灬啊灬高潮奶出了免费视 | 经典丝袜一区| 1000部熟女视频在线观看| 日韩丝袜人妻AV| 免费AV中文网在线观看| 精品十三区| 制度丝袜99| 久热大香蕉网站| 国产高清精品福利| 亚洲成a人v欧美综合天堂下载 | 国产综合日韩伦理| 91大香蕉伊人| 啊啊啊好爽快点啊啊啊嗯嗯| 一本大道不卡一二三区| 欧美性第1页| 男人的天堂2019AV| 欧美性生活免费网| 中文字幕丝袜| 久操 高清| 日韩欧美字幕亚洲一区二区 | 午夜丁香| 久久久麻豆精品| 午夜亚洲| 青娱乐大香蕉| 欧美亚洲综合色| 日韩av不卡在线看| 亚洲精品少妇| 国产一| 天天天天干| 欧美特大AA级黄片| 精品人妻一区二区免费蜜桃视频| 亚州图片第一页| 91狠狠综合久久| 一级做a爰片性色毛片久久| 亚洲人妻熟妇三十三区| 香蕉在线一区二区三区| 淫荡少妇免费| 99热9| 国产精品免费1区2区视频| aV中文麻| 精品无码产区一区二| www.四虎在线| 色99在线| 91丨九色丨大屁股| 日韩不卡毛片Av免费高清| 一本色道综合久久欧美日韩精品| 欧美一区二区三熟女剧情| 熟妇熟女一区二三区| 亚洲精品啪视频| 91av熟女人妻| yazhououmeizongya| 色爽——AV| 性欧美天天| 五月丁香六月激情| 丁香六月婷婷| 亚洲第一精品在线视频 | 亚洲天堂电影精品一区| 亚洲精品无码少妇久久| 日韩在线一区高清在线| 欧美性爱1080p| 国产精品嫩草久久久久| 亚洲?V无码专区在线电影| 久久老女人| 亚洲欧美综合网| 久久妇| 色婷婷久久综合超碰| 91久精品| 97视频7| 国产美脚女优尤物在线观看| 2019AV天堂| 青青草视频久久久久| 天天影视综合网欧美精品| 337p大胆噜噜噜噜噜91Av| 久久国内| 九九黄色网| 丁香五月综合| 欧美超碰96| 日本午夜福利视频| 999 久久久| 偷拍五区| 99精品九九九九九九| 性色高清..……| 日韩综合97P| 狠狠做深爱婷婷久久二区| 爱爱久久| 天天射天天色成人| 欧亚日韩中文在线| 黄色成人网久久久久久| 日韩操逼性鲍| 国产乱色国产精品免费视| 久久九九国产精品| www.久久爱| 超碰日本97美女人妻人人玩人人爱| 久久99热这里只频精品6学生| 9久综合网| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 伦理第一页| 特色a在线上| 精品日韩人妻视频| 日日操丁香五月天| 激情五月天综合网| 日产中文字幕2020| 黄页| 国产极品精品美女视频| 五月色网| 美日韩在线不卡人妻| 美女上床网站| 黑人猛交| 国产成人免费观看在线视频| 欧美夜夜狠| www.91欧美| 97伦综合| 手机在线A片| 国内三级自拍小视频在线观看 | 欧美gv在线观看| 国产精品无码在线| 天天香香欲综合| 亚洲啪啪啪啪视香蕉| 天天日天天干少妇日| 91深夜夜| 嗯啊啊啊轻点视频 | 超碰91在线| 精品人妻中文字幕4399| 五月丁香| 这里都是精品| 亚洲欧美在线观看免费| 亚洲色9| 中出20p| 亚洲国产精品无码AV久久久| 大香樵伊人网| 欧美日本不卡在线| AA特级绝黄| 欧洲Au麻豆| 全国男人天堂网| 亚洲精品三区在线观看| 亚洲国产综合久久久性感熟妇| 久久精品国产久精国产| 淫荡少妇免费| 久污| 在线观看免费视频国产| 青青欧洲黑| 日本人妻丰满熟妇久久久久久| 国产一区二区在线电影| 中文字幕女同在线| 奇米四色影视777久久久| 午夜久久一区二区无码中出| 午夜男人的天堂| 无码聚合| 人妻激情在线视频| 欧美成人午夜免费福利785| 亚洲人91| 影音先锋新男人| 好爽,再快点啊哈嗯嗯嗯嗯| 综合 亚洲 欧美| 色婷婷影视| 97操97干| 91 刺激在线| sewuyueav| 日韩女模中文造逼| 怡红院网站在线视频| 成人综合视频久久| 无码外流操逼视频| 中文字幕精品亚洲熟女| 亚洲偷拍自拍在线视频| 欧美亚洲清纯| 亚洲少妇色| 好爽免费视频| 欧美最婬乱婬爆婬性视频| 啊啊啊啊啊啊啊啊在线观看| 亚欧精品久久久久久久久久久| 亚洲资源吧| 男人的天堂在线有码| aa片毛片| 91高跟美女在线播放| 黑人精品一区二区在线播放| 激情久久日韩精品中文字幕麻豆| av资源在线观看少妇| 超碰色美女| 婷婷六月色| 另类图片天天影视| 欧美少妇第一页| 超碰在线观看av不卡| 亚洲999综合| 911粉嫩人妻| 麻豆av一区二区| 久热69九色熟妇97| 日韩欧美午夜一区二区| 亚洲欧美91√| 五月丁香激情综合网| 国产不良强奸视频免费看| 中亚黄色三级大片| 色99色| 白丝被操91| 欧洲精品欧洲精品| 国产成人资源| 欧亚性爱啪啪| 欧美精品久久96人妻无码| 国产第二页| 亚洲成人在线播放| 国产成人欧美一区二区三区的国产| 久久神马影院| 97操97色| 一区二区三区机械有限公司| 影音先锋每日最新资源在线观看| 久久女女| 97这里只精品| 国产欧美美女免费观看视频| 久久人人舔人人爽舔人人av片| 97在线视频免费看| 天天拍天| 熟女丰满人妻一区| 亚洲第一在线视频| 国产精品美女在线一区| 日本人妻最新在线中| 亚洲日韩久久精品一区| 中文字幕乱碼在线| 亚洲色吧网| 99精品无码| av午夜影院在线播放| 中文字幕乱码在线| 欧美丝袜91| 国产第11页| 男人的天堂在线2| 天天做天天爽| 91精品久久久久久综合五月天| 人妻干天天| 亚洲天堂精品日韩电影| 欧美激情亚洲| 超碰97久久观看| 精品久久久久久久久久久久 | 久 久无码人妻AV| 老熟妇一区二区三区| 一区麻豆 高清中文字幕| 婷婷丁香在线| 99无码视频| 日本精品一区二区中文字幕| 粉嫩av在线一区二区| 国模私拍一区二区三区神乳| 激情天天视频| 国内精品a| 超碰在线人人射| 果冻传媒A片麻豆熟妇人妻| 久久精品人妻一区二区三区| 东北操逼| 亚洲欧美综合图片| 婷婷激情四射| 东京热毛片177b2viP| 蜜臀AV午夜精品久| 福利视频香蕉免费一区二区在线| 自拍啪啪视频| 天堂男人网| 天天干18禁| 97亚洲欧美| 天美传媒婬乱| 天天插夜夜操| 久干9操| 天天做日日做天天欢。| 久久人人爽人人爽人人片Ⅴ| 看一级黄色视频| 超碰在线看| 五月婷婷六月天| 蜜桃久久综合视频| 日韩内射视频| 九九九九九用不成了| 精品人妻一区春色| 亚洲成人AB| 精品人妻丰满熟妇一区二区三| 久久在肏| 日本十八禁免费看污网站| 波多野42部无码喷潮在线观看| 性久久| 免費黃色視頻觀看一| 日韩亚洲美女一区久久| 91 综合 色| 国产乱码久久久| 精品人妻一区二区免费蜜桃视频| 伦激情人妻另类人妻| 中文字幕一区二区三区高清| 在线国产探花| 九九精品美女高溯喷水| 精国久久一区二区三区98| 2020天天色综合| 亚洲视频精选| 亚洲欧美日韩精品久久久一区二区 | 大香蕉乱级| 蜜臀AV网站| 98一区二区精品| 啊啊啊好舒服好爽啊啊啊视频| 五十路人妻在线| 亚洲天堂男| 久久男人精品| 极品色社| www.成人无码| 这里只有精品视频在线观看麻豆| 日本福利社| 97在线观看免费视频l| 欧美人妻熟女在线| 久久婷婷电影网| 人人操人人摸人| 超碰人妻久久人妻中文97| 97超碰影音| 日韩熟女操逼| 97人人模人人爽人人| 蜜桃久久久久久久久久久久| 91免费看一区二区三区| 大香蕉伊人久久| 精品一二三区女同| av一区二区三区不卡| 1024人妻| 骚日日av| 亚洲精品精品一区二区| 劲爆欧美人妖三区91| 日韩射精| 少妇被玩视频二三区| 精品国产a∨一区天美传媒| 中文字幕一区二区免费在线| 久久99黄色卞西瓜| 亚洲在线91| 人看人人摸人人操| 98超碰日本| 无遮挡一级毛片视频免费的| 欧洲免费一区二| 日本免费二区三区| 国产伦乱91| 人妻无码视频一区二区三区久久| 中文AV制服乱伦| 四虎永久在线精品免费网址 | 插穴性爱视频在线观看| 亚洲综合影片| 岛国1区2区3区在线观看| 欧州色图区| 精品日韩| 嗯嗯啊啊操死我| 日本中文字幕不卡视频| 啊啊啊啊啊啊啊国| 无码 黑人一区二区三区| 欧美综合加勒比在线| 日本一区二区亚洲综合| 肉丝网站91| 岛国黄片网站| 狠狠图片青青草| 国产极品精品美女视频| 超碰97亚洲区| av一区二区三区 中文| 国产一区在线看| 国产剧情一区在线观看| 亚洲色图欧美色图另类图片| 欧美狠狠操| 国产又黄又粗的视频| 91爱看| 精品一二三区久久AAA片| 久艹99| 岛国精品视频在线观看| 学生妹天天看| 人妻嗯啊啊在线播放| 国产久久久| 熟妇人妻一区二区| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 黄总AV色图| 日韩精品人妻一| 亚洲男人天堂视频| 精品人妻中文字幕4399| 久草综合视频| 九九色影院| 超碰免费97| 亚洲另类综合欧美| AA特级绝黄| 免费视频97| 男人久久精品| 婷婷伊人綜合中文字幕| 中文字幕天堂在线| 国产精品色| 亚洲 中文 女同| 日韩一性一交一A片俄罗斯| 97av,com| 10000部十八禁看电影| 中文字幕亚洲在线一区| 国产区日韩区在线观看| 青青青国产手线观看视频2| 天天爽入口| 精品高清av中文字幕| 亚洲熟女乱色| 欧美劲爆视频一区二区| 懂色av一区二区三区天美传媒| 亚洲第一二区另类图| 亚洲熟女中文字幕在线| 免费的黄片有限公司| 午夜福利一区二区三区四区五区色婷婷| 五月激情小说| 日韩欧美tv一区二区在线观看| 国产精品久久蜜乳av| 欧美一区二区成人一卡| 人人色人人操在线| 亚洲色图欧美色图日韩色图| 日韩少妇无码| 天天干夜夜鈤| 免费97视频| 中日韩久久人妻一区二区| 超碰99在线观看| 欧美强奸乱能| 在线观看亚洲成人精品| 熟女人妻一区二区三区免费看| 超碰69| 亚洲综合113页| 久久国产精品一级二级三级| 婷婷色在线| 日本一级二级三级网站| 免费看黄视频亚洲网站| 午夜操逼不卡| 国产AV激情无码久久无码| 亚洲av国产av综合av卡| 免费a v| 91精品人妻一品二品三品| 蜜乳av一区二区三区四区不卡| 五月天久久婷婷亚洲| 麻豆天美久久91| 九九热最新| 人人摸人人添人人操| 亚洲国产成人精品无码专区| 精品人妻一区二区视频| 无码精品人妻一区二区三区妖精 | 亚洲另类小说卡通动漫| 国产日韩手机视频在线| 欧美一级美片在线观看免费| 狠狠色五月亚洲91| 久久超碰网| 久久久久少妇| 大象AV在线| 亚洲高清视频在线免费观看| AV中文在线可看| h在线看免费版在线看| 99操碰| 亚洲国产精品久久久久久久久久| 91人人爽人人爽| 亚洲日本男人天堂网| 中文字幕乱码人妻一区二区三区,99精品 | 精品人体无圣光凹凸| 殴美大黄片| 国产麻豆一级精品视频| 91热爆在线| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 久久精品黄色| 97精品一区二区视频| 久久精品国产亚洲AV高清演员表| 樱花蜜乳av| 午夜国产成人福利视频| 69超碰综合| 成年男人的天堂| 四虎国产成人精品免费一女五男| 精品9999| 日韩欧美日韩| 欧美精品xxxwww| 五月婷婷爱六月丁香色| 九九精品美女高溯喷水| 中文字幕日韩精品一区二区三区| 蜜桃狠狠色伊人亚洲综合 | 暖暖精品二区三区观看| www.男人天堂| 日韩欧美女求操每天更新| 不卡av免费在线网址| 日韩黄色一区二区三区| 日韩人妻少妇中文字幕| 欧美亚洲高清不卡| 超碰美国| 色婷婷视频| 91 亚洲 欧洲| 天天大干大香蕉| 精品人妻一区二区免费蜜桃视频| 天天射网| 中文字幕第95页| 麻豆天美91| 人妻精品一区二区在线| 久久久9视频| 激情文学小说一区二区 | 亚洲最大成人a毛毛片| 五月婷丁香| 99精品伊人| 78超碰| 国产欧美岛国精品一区| 欧亚乱色熟一区二区三四区| 亚洲精品久久久久久| 亚洲人成在线放东京热| A片三级无码| 美女毛片999| 97精品网| 天天爽天天爽| 2019男人的天堂| 26uuu欧美日韩| 97国产精品国| 日韩综合无码一区久久92| 亚洲偷拍自拍在线视频| 超碰久久精品| 第四色奇米影视777| 长长久久免费视频| 欧美性高潮| 加勒比在线视频一区二区三区 | 日本不卡一二区| 天天干人妇| 毛片麻豆91糖心精品毛情片| 囯戸精品高潮呻吟旡码| 人人喜人人妻| 男人的天堂kva| 婷婷啪啪| 天天天干977| 日本 欧美 国产一区| 久久久久久久9最新免费视频观看| 色哟哟 日韩精品| 神马精品视频| 97视频在线看| 超碰av在线| 日韩精品人妻| 色综合美国| 久久久久久9| 97香焦色区| yiqicaoav| 按摩中文字幕| 亚洲熟女乱色| 天天激情综合站| 欧美 日韩 婷婷 五月| 日韩操逼HD| 久神马| 91三级理论片播放器| 啊啊啊啊啊好舒服视频| 欧美日韩岛国大片在线观看| 久久女人| 乱理日韩中文| 操逼片国产| 亚洲欧美啪啪| 啪啪91| 色网色网色网色网色网色| 精品.99999| 一本一道vs波多野结衣| 四虎精品永久在线观看| 国产熟女少妇一区| 欧美日韩大香蕉| 一区二区不卡| 国产a级午夜毛片| 天堂综合网| 久久鲁夜| 91麻豆va国产精品| 色悠久| 青娱乐手机日韩在线视频| 欧美性爱视频免费一区一A | 精品国产乱码久久久久A| 精品视频一区二区| 国产欧美成人精品| 五月丁香成人网| 91被操| 久久久久大香青草精品综合| 中文字幕 码 自拍 视频 区| 国产精品麻豆成人av| 超碰碰小说97| 久久精品欧美一区蜜桃| 少妇人妻太紧太深av| 日本一卡二区在线| 92福利社视频| 黄片免费看黄片免费看| 日日爱99| 91国产丝袜美女| 超碰97精品在线| 强奸乱伦Av网| 国产自制av蜜乳| 久久精品日韩专区免费观看| 色九九九九| 婷婷五月天色色| 欧美性生活男人的天堂| 9 1果冻精品视频| 丰满搜索结果 -第18页- 久久高清无码 | 极品另类| 99热99re6国产在线播放| 91 在线亚洲| 日韩,欧美,中文在线| 凹凸视频在线一区二区| 疯操AV| 97一区二压| 啪啪视频mP4| 国产伦乱91| 久艾草在线精品视频在线观看| 久久老熟女| 熟女高潮合集-永久久久-成人AV| 啊啊啊啊啊啊啊国| AA丁香综合激情| 亚洲无码久久久久久久| 久久欲| 熟女探花啪啪| 欧美色图电影| 欧美黑人与女人91| 一本色道久久综合熟妇| 精品国产72| 99re这里只有精品3| 国产原创精品| 激情网五月天| 亚洲色诱惑| 亚洲精品人妻吞精av| 国产黄片精品在线| 中文字幕AV乱伦| 欧美性夜| 曰韩人妻中文字幕在线| 青青草久草| 91色香| 亚洲有码视频二区| 97av在线观看| 亚洲天堂2020| 欧美岛国精品在线观看| av网站在线看| 13小男生GAY自慰脱裤子| 亚洲情色欧美| 99婷婷一区二区| 人人操人人爽人人操人人| 香蕉精品二区二区| 国产成人久久精品蜜臀| 亚洲色图91| 日本一区二区中文字幕久久| 欧美色999| 91免费看一区二区三区| 国产一区二区成人av在线播放| 亚洲高潮影院| 日本色色色网站免费看不卡| 亚洲国产丝袜熟女av| 久久性爱视频免费看| 国产婷婷综合在线观看| 天天激情综合站| 精品人妻中文字幕4399| 综合亚洲欧美精品日韩?v| 成人免费看吃奶视频网站| 99久久久无码精品国产人| 超碰在线香蕉| 日韩婷婷| 人人妻人人操人人乐| 欧美熟妇乱码在线一区| 色情亚洲日本成人| 久久同城AV| 91少妇高潮| 免费a v| 日韩欧美成人午夜福利| 一级性爱aaaa| 六六久久日韩不卡| 性色乱AV一区二区| av久日| 亚洲无码一区成人免费午夜| 91精品国产91久久青草 | 91男同| 亚洲人天堂| 免费久久一级毛片大黄| 五月丁香社区婷婷日韩欧美精品影院| 99久视频| 日韩人妻大香蕉| 国产精品久久久久999| 少妇天堂| 萌白酱自拍视频| 久久人妻办公室视频| 欧亚久久偷拍视频| 久久色一区二区| 蜜臀久久99精品久久久久久无删减 | 国产av波波国产精品| 巨爆乳肉感一区二区三区竹菊影视 | 久久69精品久久久久久久| 大香蕉黄色一区| 欧美se亚洲| 性高潮久久久久久久久久久| 国产极品粉嫩馒头一线天av| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 免费成人在线熟妇网| www.91视频网| 亚洲黄色网址视频| 伊人色综合超碰| 97超碰久久| 熟女人妻一区二区三区| 国产精品午夜成人福利| 9美女超碰在线免费观看| 国产隔壁老王影院在线| 日本福利社| 成人五月天色网| 亚洲av无码国产精品字幕| 国产亚洲精品自在线亚洲情侣| 欧美色997| 日日摸日日碰夜夜爽视频| 伊人久久大香线蕉无码| 天天干天天做| 91老司机视频| 日本亚洲熟女视频| 超碰天天操你比| 思思热在线视频免费| 五月丁香| 久久久555| 天天插天天插| 久久大香蕉97| 中文久久爆乳| AV色五月| 自拍偷拍 日韩无码| 中文字幕诱惑制服人妻丝袜美丝袜美| 天天视频黄| 韩国一区二区精品亚洲| 亚洲色电影在线| 亚洲乱伦图片视频| 超AV色女| 亚洲av青草久久一区二区| 婷婷97| 国产精品动态一区二区三区四四| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 超碰日韩人妻| 亚洲AV免费在线观看| 日本不卡一区| 91在线|亚| 久久国产成人精品国产成人亚洲| 亚洲国产精品久久久久婷婷青年| 天久久久噜噜噜久久国产精品爽爽 | 天美传媒在线一区| 亚洲天堂一区二区久久| 天堂在线一区二区| 国产懂色精品国产av| 道久久五香丁月婷婷激情综合| 啪啪AV导航| 伊人午夜福利视频| 国产尹人在线视频免费| 欧中美三级一区二区三区| 最新加勒比丝袜在线| 久久精品国产亚洲AV先锋| 男人的天堂在线有码| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 免看60秒涩涩视频| 国内三级自拍小视频在线观看| 后入合集| 97香焦色区| 欧美经典一区二区三区 | 日日噜噜夜夜狠狠视频无| 成人一区二区三区四区| 9l视频自拍9l九色成人| 国产白丝av| 日韩二三区| 成人性爱视频在线看| 91狠狠狠| 色婷婷电影网| 日韩性爱毛片操骚逼| 玖玖爱伊人玖玖爱| 人妻少妇色综合| а√天堂资源官网在线资源| 日本淫穴在线| 亚洲日韩AV视色| 强奸乱伦免费网站| chaopen97久久| 亚洲性综合9| 欧美的性爱网站免费| 天天做天天爱天天爽AV| 九九色色| 精品国产一区二区三区在线播出| 夜夜国自区| 欧美日韩人人精品| 亚洲色图日韩精品| 成人性爱免费播放| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 久热影视| 亚洲资源一区| 成人久久精品| 久久超碰久| 国产在线能看的你懂的| 99夜夜操| 九9热伊人| 久久久久国产亚洲一区欧美色图日韩| 3D污黄视频在线观看| 欧美亚洲综合高清在线| 国产一| 亚洲一区二区三区麻豆传媒| 欧美性爱另类综合| 亚洲黄色a级片| 国产精品无码成人精品| 91老妇女| 欧亚日韩综合精品国产| 色一射色一射| 荡小穴在线观看| 91人妻Pr| 青娱乐亚洲自拍| a片 xxxx受爽视频| 亚洲情色 自拍| 熟女熟妇一区二区三区视频| 日韩精品99久久久久久中文字幕| renqi久久久久久久久久久久| 青青操综合网| 在线观看不卡一区二区三区| 91色伦| 色偷偷综合91久久噜噜| 和协影院中文字幕三区| 国产精品肉丝自拍| 天无日色综合| 一区二区三区 日韩欧美| 亚洲va有码在线天堂| 精品三级在线专区| 丝袜视频网国产90| 午夜福利在线合集| 97AV在线免费观看| 国产精品网站www| 中字乱伦AV| 91色色色| 色婷婷综合网站| 五月丁香综合| 久热免费视频| 日韩一区二区精品视频| 五月婷久久| av国产无码| 久久性视频| 色五月激情网| 99久久婷婷国产综合| 亚洲二区精品在线观看| 国产原创剧情在线丝袜| 国产精品无码论坛| 日韩欧美俄罗斯A片| 亚洲一卡2卡3卡4卡乱码网站 | 久久亚州大香蕉| 伊人嫩草| 久九九九| 日本操逼视频在线| 亚洲人妻中文在线视频| 欧美自拍偷拍综合图片| 综合五月婷婷亚洲一区| 淫荡少妇免费| 日本欧美亚洲高清在线看| 亚洲成A∨人影院在线欢看| 久久久久国产一区二| 超碰79人人乐| 9热9热综合网| 色婷婷久久综合超碰| 黄久在线| 男人的天堂com| 国产极品粉嫩馒头一线天av| 免费自拍三级综合| 成人免费福利在线观看| 9久精品| 最新精品久久蜜桃 | 国产亚洲色婷婷久久99精品91| 狠狠色狠狠色狠狠五月| 久久精品色欧美aⅴ一区二区| 爱射综合| 久久婷婷五月天| 亚洲欧洲精品成人| 老女人老91妇女老热女| 精品亚洲天堂| 欧美亚洲素人制服精品| 日韩性爱再线视频| 97天天摸天天碰| 国产精品在线一区二区| 欧美丝袜中文字幕07在线| 毛片一区二区| 韩国成人精品久久久免费看| 久久久久久久亚洲Av无码| 91爽啪| 国产久久日| 三级色影综合网| 人妻一区二区三区视频| 婷婷六月天| 人妻 欧美 中文| julia国产在线 | 四月丁香婷婷| 欧美性五月| 射久久| 国产男女无套视频免费观看| 啪啪91| 久久久久久九九九九九九| 国产精品美女视频诱惑| 五月丁香激情综合| 骚逼一区二区| 2017天天插| 久操网址| 亚洲五区熟女| sewuyueav| 综合久久六月久久婷婷| 99国内精品| 加勒比东京热五月天天堂网| 91美女视频| 深田咏美亚洲精品福利社| 日韩情色AV| 欧美日本成人一区二区| 久操婷婷| 操淫穴亚洲五月丁香 | 色哟哟国产精品免费网址| 亚洲一区制服诱惑| 亚洲人妻中文在线视频| 亚洲色婷婷| 熟妇高潮一区二| 在线中文字幕| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 国产 亚洲 丝袜 制服| 日韩天堂av电影在线观看| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 国产日韩欧美三级片| 九九自拍伦理| 自拍偷拍 日韩欧美| 久久久久久久久久久六六| 国产第二页| 久久国产性爱| 久久久婷| 国产日产精品久久快鸭的功能介绍| 久久久亚洲精品电影免费看| 密臀在线视频| 99re热有精品视频国产| 亚洲少妇激情视频| 国产福利视频精品视频| 天天淫人人妻日日色| 超碰97 线线 在现| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 欧美 日韩第一性色| 国模无码一区二区三区在线| 中文字幕超碰CAO| 欧美色性爱| 欧美亚洲se91| 国产自产自拍| 欧美日韩青操| 黄片不用下载在线观看| 国产乱子伦一区二区三区免看| 少妇啪啪自拍| 国产少妇高潮| 亚洲国产综合视频| 精品视频专区| 国产精品人人爽人人做可爱福利| 亚洲AO在线| 韩国三级一线观看久| 国产白丝在线| 日韩久久.一级黄色片| 青青操视频在线| 欧美大香蕉同搞| 国产九九九九九九| 亚洲黄色影视| 精品999一区二区| 日韩影片中文字幕一区二区三区| 亚洲AV成人精品网站在AV| 男插女青青影院| 另类图片天天影视| 伊人久久大香蕉线AV五月天| 亚洲av综合色| 久久精品99| 色情五月婷婷| 超碰97网站| 第45页一区二区| 3P乱轮视频| 另类图片综合| 久久夜嗨| 亚洲一区二区三区欧美日韩| 大香蕉男人的天堂| 91精品久久久久久综合五月天| 香蕉视频欧美一卡二卡| 国产偷仑| 色操逼网| 中文 人妻 制服| 精品国产91久久久久久一区黄无| 久久91视频| juliaann欧美丝袜办公室| 91丝袜在线观看视频在线观看| 亚州一区二区成人片免费| 成人日本片久久久蜜桃| 嗯嗯嗯啊啊啊在线免费观看| 91三级理论片播放器| 欧美在线啊啊| 亚洲淫色网中文| 久99久视频| 久久精品毛片免费不卡| 大香蕉99999| 久久爽爽精品| 美女啊啊啊啊啊啊啊| 亚洲成人无码影院| 97天天摸天天爽| x97av| 一二三啪啪专区| 国产精品久久久久综合| 免费无码婬片AAAA片直播色戒| 男人天堂网手机版婷婷| 色噜噜国产在线| 日韩人成网站在线播放| WWW.操逼.COM| 99999亚洲另类| 九九天堂| 天堂精品在线| 伊人五月天激情| 国产偷拍网站| 香蕉视频精品亚洲一区二区三区在线播| 熟女欧美日韩综合婷婷| 老鸭窝日丰县女人| 中文字幕视频在线观看| 少妇第一页| 蜜桃精品一区二区三区ww| 无套内射性感少妇视频| 欧亚性爱在线视频| 91香蕉国产尤物视频| 亚洲欧美骚| 男人天堂免费| 绑缚麻绳人妻寝取完整版| 白嫩嫩一区| 超碰人人干| 99久久婷婷国产综合| 国产亚洲日韩在线三区黑人| 日韩精品资源专区二区| 又粗又长又大国产不卡| 大香蕉日韩| 日韩干B| 欧美日韩亚洲高清不卡一区二区三区| 五月婷婷综合网| 97人人模人人爽人人| 国产精品自拍xxxx| 日韩Va亚洲va欧美Ⅴa久久| 日本熟妇浓毛hdsex| 亚洲高清欧美总合| 美女性91| 亚洲色图A| 深夜激情 | www…国产操逼| 99色色网| 99操逼| www.色综合| 粉嫩国产精品久久粉嫩| 日韩人妻少妇 一区二区三区| 国产激情综合| 艳美熟妇先锋一二三区| 六月婷激情福利天堂69| 女色视频社区|