亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

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 建?!杯h(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)?。比?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
返回資訊列表
久久久久亚洲一区女同性恋中文字幕| 欧美成人一级免费电影| 密臀在线免费观看| 欧美一级A片在线看视频性色| 九九九九精品九九九九| 丝袜无码a片| 天天懆天天日| 欧美 综合 亚洲| 欧美亚洲日本激情在线| 免费观看成人www精品视频| 水澄无码AV| 日韩欧美午夜一区二区| 91美女在线| 99综合自拍| 探花激情视频| 亚洲高清色综合| 色哟哟-国产专区| 国产福利影视| 国产精品呦一区二区三区| 一区二区三区一亚洲中文字幕、综合区灬 | 欧美亚洲中文字幕| 亚洲老熟妇xxx| 免费一级黄色录像影片| 岛国爱情动作片在国产AV无码专区亚洲AV漫画| 久久久久久久久久精| 啊啊啊好爽快点啊啊啊嗯嗯| 91 亚洲 欧美 日韩 国产 综合| 日本一级真人黄色性爱视频| 91美女视频| 亚洲人妻久久久| 久久久男人的天堂| 中文字幕伊人| 熟妇高潮二区三区| 成人一二三区| 亚洲少妇视频| 九九久久久| 91热热色| 自拍欧美| 亚洲欧美骚| 亚洲色性| 久久99精品国产| 欧美疯狂做爰xxxx| 看免费的黄片| 777超碰| 九九热精彩视频| 亚洲精品99| 午夜福利久久久噜久噜久久综合| 亚洲欧美在线观看无码| 国产亚洲精品A在线观看下载| 日韩 成人 有码| 99久久99久久综合| 亚洲色色色| 婷婷爱五月| 99久久免费看精品国产一区| 91伊人大香蕉| 久久精品国产97欧美精品亚洲| 日韩欧美麻豆| 国产成人手机视频激情| 爱爱动态120秒| 少妇久久久久久久久| 国产日产欧产美韩系列麻豆免费| 搡老女人老91妇女老熟女| 欧美伊人久久综合网| 成片免费播放| 国产精品人妻无码久久久老鸭窝| 国产精品一区二区a| 久久人人舔人人爽舔人人av片| 干婷婷综合网| 欧美性天天影院| 日韩中文字幕宗合在线| 久久久精品91八戒| 狠狠中文字幕| 日本男人天堂| 中文字幕av乱伦| 欲香欲色天天天综合和网| 校园春色亚洲色图| 视频二区美腿丝袜制服人妻欧美| 婷婷探花久久精品一区| 98人妻精品一区二区色欲| 91粉嫩萝控精品福利网站_精品影音先锋国| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 爱妻综合网| 久久产精品一区二区三区电影| 91快色色色色色| 综合久久少妇中文字幕| 国产51色综合久久免费| 一本大道久| 欧美日韩另类在线| 婷婷九月国产| 综合色播| 欧美色www亚洲国产阿娇要播| 色九月婷婷| 99re视频这里只有精品| 91在线美女| 国产精品视频内谢女人| 亚洲欧美天堂在线| 粉嫩绯色AV一区二区在线| 啪啪自拍九九综合| 91久久精品国产| 久久亚州精品成人Av无| 啊啊啊啊,啊啊好多水| 另类小色呦| 亚洲深夜福利| 好舒服视频| 欧美婷婷五月天| 91精品国产综合久久久蜜臀酒店| 亚洲综合影片| 久久午夜伦| 人妻啪| 久久久久久999| 欧美在线色图| 熟女啪啪视频| 无码99| 午夜福利av电影在线| 极品美女嘿咻| 国产乱码久久久久久| 91久久久久久| 日韩精品在线观看网站| 亚洲经典啪啪| 麻豆国产精品午夜视频| av一区二区三区不卡| 国产精品一区二区后入| 日韩国产十八禁| 日韩有码一区三区| 欧美日韩国产色图在线| 天天搞在线综合网| 国产一级特黄大片处女| 免费观看性欧美一级| 久久精品一区二区三区四区五区| 伊人四虎综合| 中国少妇啪啪视频| 91日产桃蜜| 亚洲丝袜二区在线| 国产91 丝袜在线播放| 狠久久| 97在线观看视频| 99在线啪| 亚洲综合在线第一页| 久久中文字幕人妻熟av女蜜柚| 一区二区三区成人| 日本中文字幕熟妇| 精品无av| 69国产对白刺激| 五月婷婷激情综合| 国产精品久久久久中文字幕| 久久av成人无码免费| 中国国国产一级特黄毛片| 三男一女不戴套的A片| 97天天日| 中文字幕乱在线伦视频中文字幕乱码在线 | 日本熟女不卡视频| 青青久久手机线视频| 亚州AV无码国产精品| 色五月第四色| 天堂九九九九九九九九九| 97天天| 天天射天天| 国产又黄又粗的视频| 色伊人91| 无码一区二区三区四区五区六区七区八区九区十区视频 | 亚洲熟妇A V黑人| 中文AV制服乱伦| 蜜臀AV网站| 啊啊啊 在线观看| 人妻无码一区二区三区久久99| 国产97av| 亚洲图片欧美| 精品97久久| 欧美乱伦专区| 婷婷五月天激情网| 伊人嫩草| 黄色在线网站| 亚洲欧洲第二视频在线观看色图| 丝袜足交视频| 伊人网av| 97美日韩视频| 在线观看一卡二卡| 欧美日韩制服| 婷婷久久综合久| 熟妇国产免费一区| 密乳AV免费观看| 熟女啪啪视频| 成人一道本免费视频| 志村玲子视频一区二区| 亚洲熟女人妻中文字幕一区二区| 五月天婷婷小说| 肥佬影院91| 超碰地址久久| 亚洲天堂 视频你懂的| 乱伦3P视频| 伊蕉97蜜桃97狠狠综合干| 国产精品视频内谢女人| av情色影音| 久久久久97| 操操操操操操| 欧美 日韩 亚洲 春色| 中文字幕av乱伦| 九九九九免费高| 岛国A V在线免费看| 五月天婷婷欧美三区| 91精品导航| 久久精品国产精品亚洲艾通辽熟妇 | 无套内射性感少妇视频| 网友自拍第1页| 久久丁香五月天| 乱伦Av网| 后入式福利| 天天影视综合网欧美精品| 久热热| 台湾大香蕉99热| 日本操逼二区| 私人尤物在线精品不卡| 九九国产| 蜜桃不卡一区二区| 久久曰曰| 精品一区二区成人动漫| 精品无码久久久久久久杏吧| 久久6热精品99视频| 国产精品久久9| 国产黄色 A 片免费看| 日产成人久久| 97人人爱人人做人人乐| 91精品人妻电影| 91丝袜在线观看视频在线观看| 天堂а√在线最新版在线| 熟女91网| 久久久专区| 91美女视频直播| 日韩影片中文字幕一区二区三区| 亚洲欧美经典一区二区| 国产精品欧美日韩久久| 九九综合久久中文字幕| 日韩av免费一级电影| 91亚州| 凹凸 69堂 在线播放| 中文字幕av丝袜| 91殴美大片| 天堂日本亚洲欧美| 日韩二三区| 亚洲综合另类欧美久久久| 精品少妇后入一区二区三区四区人妻巨乳 | 亚洲熟女乱色一区二区三区久久久| 麻豆人妻精品一区二区| 日韩成人网址| 九色 人妻 大香蕉| 97综合在线观看| 国产精品经典一卡久久久| 天天看综合网| 碰碰97| 国产白丝av| 亚洲加勒比| 草莓精品视频在线免费观看| 国产一在线观看| 免费强奸av| 狠狠操综合| 熟妇熟女一区二三区| 欧美 传媒 麻豆 日韩 偷拍| 噜噜噜亚洲精| 亚洲91大片| 91丝袜美女国产| 97超碰国产精品| 成人在线视频一区| 久久老熟女| 国产精品人妻无码久久久老鸭窝 | 国产精品人妻无码久久久老鸭窝| 蜜乳av一区二区| 久久香蕉网| 中国和日本人色哪个不下载能放| 国产三级中文字幕粉嫩| 亚洲男人综合| 亚洲精品男人的天堂| 久久超碰、| 欧美日韩亚洲少妇寂寞影院正在播放| 最新日本中文字幕| 婷婷久热| 天欧美在线| 日韩在线地址一| 超碰免费在线| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 超碰在线974| 99re这里只有精品2| 天天狠操| 蜜桃视频一区二区三区| 国产无码久久高清| 盗摄 精品 另类 一区| 伊人久大| 久久久久九九九九九| 国产9 9在线 | 亚洲| 青青爽| 97精品网| 污电影在线观看| 久久精品黄色| 久久激情四射婷婷丁香五月天| 欧美AAAA黄片| 免费网色网站| 蜜乳av首页| 亚洲不卡一| 日本3级一区二区免费| 97chaopenrihan| 国产美女mm131爽爽爽爽| 欧美日韩亚洲五月天婷婷| 国产精品久久久久久久久久梁医生| 91n美女视频| 精品无码欧美三级| 另类 综合 日韩 欧美 亚洲| 日韩av一级黄片| 天天综合91入口| 国产AV人人夜夜澡人人爽麻豆| 日B操| 欧美色图片欧美色图| 成人日韩欧美| 操逼不卡中文字幕| 亚洲另类天堂| 精品大全99999| 亚洲天堂性爱| 久久99亚洲精品久久99果| AV中亚| 玖玖超碰熟| 精品一区96| 国产不卡免费在线视频| 欧美日本成人一区二区| 日本天天干天天日一区| 第45页一区二区| 国产一区二区视频在线播放| 国产乱伦亚洲色图高清无码| 丰满人妻-区二区三区免费看| 亚洲美女精品| 婷婷六月天| 操逼视频亚洲| 久草视频在线视频在线视频在线观看 | 午夜天堂精品久久| 高清不卡 中文 人妻| 亚洲AV无码天美传媒一区| av在线一区二区三区| 乱伦熟女论坛| 日韩有码 一区二区三区| 91天堂| 91丝袜人妻| 欧美偷| 久久一二三四五六七八九区| 久久噜噜噜精品国产亚洲综合| 亚洲自拍另类丝袜综合| 日韩影片中文字幕一区二区三区| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 国产在线视视频有精品| 强奸乱伦av电影| 国产精品欧美日韩久久| 亚洲第一在线视频| 亚洲va综合va国产va中文| 久久香蕉网| 97操操| 亚洲色综合| 九九综合久久| 精产国品一区二三产品| 欧美 亚洲 综合 制服 另类| 亚洲综合色图欧美| 1000部熟女视频在线观看| 东北少妇高潮zzzz| 一区二区三区四区免费视频| 国产午夜无码片在线观看影视| 亚洲精品啪视频| 五月综合婷婷久久网站| 强奸少妇AV导航网| 91路www| 极品国产内射| 久久久久亚洲Aⅴ无码| 大香蕉免费乱伦视频| 婷婷丁香六月| 乱伦一区二区三区‘| 亚洲欧美激情小说| 丁香六月婷婷综合| AV一二区| 久久久四区| 日本操逼视频导航| 亚洲人在线| 超碰久超碰久| 男女一级A片大黄,一进一出| 人妻在线中出视频| 亚洲四虎熟女精品| 欧美制服网站美腿丝袜| 欧美亚洲特P| 国产精品一二三在线看| 久久中日麻豆| 51国产午夜精品视频| 国产精品麻豆成人AV艾秋| 美女黄码视频午夜| 综合操逼| 国产91专区| 99精品久久久久久久婷婷| 日欧美色| 中文字幕中文字幕一区二区| 97色视频在线| 日韩熟女乱伦中出| 人人澡人人弄| 中国乱伦一区二区| 日韩八十路老熟女| 久久久久婷婷| 久久人妻熟女一区二区 | 成人线上超碰| 操人妻逼91| 日本成人A片免费看| 欧美色人| 欧美熟妇精品黑人巨大一二三区| 国产精品福利资源在线尤物| 欧美亚洲美少妇一区二区| 国产女s强制榨精视频| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 亚洲91色在线| 日韩无码a片| 精产品久久| 国产一区二区a毛片| 国产特级毛片AAAAAA高潮流水 | 欧美日韩操逼动图| 五月丁香| 今日头条成人一区二区三区四虎精品| 久久久精品久久| 日韩欧视频| 久久精品国产精品一区| 人人摸人人摸人人干| 91操碰| 97激情97激情| 正宗无毛一线天嫩逼| 国产精品人妻免费精品| 日本人人操人人操| 中日韩久久人妻一区二区| 日本不卡一区二区三区| 五月丁香激情四射| 久操不卡视频| 蜜臀人妻少妇久久在线观看| 黑人性欧美| 国产操逼视频在线观看| 亚洲成人av色网| 久久一本大香蕉| 综合网欧美| 大伊香蕉在线视频免费| 岛国人妻少妇av在线观看| 综合色区偷拍| 国产精品久久久久av| 超碰99热中文字幕| 超碰91在线| 在线观看黄色电话| 天美传媒在线一区| 九九综合九九综合| 女同在线视频一区| 国产又粗又长的视频| 新久久AV| 夜夜福利| 女欧美一区二三区| 久操B网| 亚洲美女精品九九视频| 日欧操屄视频| 黑白配性爱AV成| 日韩黄色av中文字幕| 蜜臀av一区二区三区免费观看| 国产盗摄美女如厕大神作品在线观看| 午夜在线播放| renqi久久久久久久久久久久| 囯产精品强| 91影库| 91欧美长吊| 91综合网| 婷婷激情一区二区三区俺也去| 日韩9区| www.狠狠| 蜜臀久久99精品久久久久久| 色香蕉影院| 亚洲色图欧美色18直播在线| www.久久爱| 久久久精品,3| 人妻熟女一区在| 蜜臀久久99精品久久久久久婷婷| 超碰在线99| 亚洲黄色电影| 91久久国产综合久久| 亚洲全色网| 久久国产精品91| 免费a v| 日本精品88888888| 亚洲精品国产无码高清| 国产日韩欧美| 五月天婷婷基地| 欧综合网| 老熟女熟妇| 久思思热视频在线观看| 欧美第一页| 欧美日综合| 欧美中文字幕精品人妻| 黄网站黄视频网站进入口| 大香蕉黄色一级片免费看| 二三四区精品| 婷婷久草| 在线播放成人高清免费视频| 天天内射| 97电影院超碰| 日韩三A大片在线观看| 高清肉丝中文无码| 91 亚洲 欧洲| 亚洲视频1区| 后入综合久久| 久久99手机免费视频| 亚洲色色探花| 91亚洲人| 美女干逼2| 激情五月丁香五月| 国产精品第一区第一页| 国产人人干| 婷婷激情啪啪| 天天做日日做天天欢。| 91精片| 97色涩| 激情第四色| 密乳无码| 亚洲色人| 骚熟女AV网| 大香蕉综合| 青青草天天亲夜夜操网| 日韩福利综合一区| 性91| 久久久久深夜无码| 亚洲 欧美 小说| 激情AV| 成人三一级一片aaa| 久久久久少妇| 99热欧美| 97综合久第一页| 吉田爱美AV在线| 五月天激情网站| 亚洲色 国产 欧美 日韩| 蜜臀久久99精品久久久电影| 99视频自拍区| 丝袜狂射91| 欧美色图亚洲特色| 亚洲精品久| 一区二区三区机械有限公司| 亚洲高清无码在线桃色| 三级激情网站| 欧美一级久久久丰满| aV中亚| 成人一二三区| 91久久国产精品| 国产亚热在线久久| 91N综合网在线| 亚洲熟女乱综合一区二区三区| 操人妻丝袜高跟| 天天爱天天韩国日本牛牛牛牛 | 婷婷色网| 蜜臀人妻少妇久久在线观看| 精品久久在线区一区| 97视频新免费| 中文一区在线日| 青青草视频导航官网| 久久综合久久综合人久久夜精品| 狠狠狠一区二区三区| 屌逼麻豆| 国产久久一区二区午夜| 人妻熟女字幕一区二区| 91N欧美| 久久人妻丝袜一区二区三| 国产成人+综合亚洲+天堂| 爱我干综合| 九九色逼| 在线 制服丝袜中出 人妻| 激情99| 色999人与兽| 91女网站| 和协影院中文字幕三区| 中文一区在线日| 天天操天天看| 精品少妇一区二区| 久久区| 试看日韩黄片| 国产一区二区三三视频| 亚洲第2页| 日韩性爱视频免费在线| 久久久爆乳翘臀一线天伦理视频| 最新加勒比丝袜在线| 在线人妻熟女一区二区三区四区五区| 伊人久久国产免费观看视频| 欧洲亚洲人妻无码中字久久三区四区| 九九九九九用不成了| 99re6国产精品99re| 亚洲欧美综合图片| av网站在线看| 欧美人妻精品一区二区| 九九热在线视频| 欧美熟妇乱码在线一区| 色妇91| 欧美天天搞| 久久久精品91八戒| 99re国产中文字幕| 殴美综合色88| 成人开心网在线视频| 97干色| 操操逼操操逼操操逼逼| 天天日天天操心| 亚洲天堂情色| 亚欧美综合网| 乱伦图一区| 欧美亚洲综合色| 超碰久久草| 精…码一二三区| 精品人妻一区二区视频| 啊啊啊好爽快点啊啊啊嗯嗯| 中文字幕女同在线| 97视频在线播放| 成人午夜小视频手机在线看| 任我爽视频在线观看| 欧美色图自拍| 国产操逼视频在线观看| 日韩人妻大香蕉| 97天天在线| 大二网站亚洲| 男人的天堂2010| 日韩精品一区,二区 九九...老司机| 诱惑网综合| 大香网站| 性色av一区二区| 思思久热在线精品66| 国模少妇一区二区三区| 人妻无码久久一区二区三区免费| 啊啊啊好想要| 99色综合| 欧美性第1页| 日韩一性一交一A片俄罗斯| 欧洲免费一区二| 欧美天天干| 亚洲精品日日夜夜52| 熟女一区二区三区| 久久e6只有精品| 欧美日本不卡在线| 三级三久久线久久99久目本WW| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 曰本精品久久久| 97精品久久| 屌色在线97视频| 91情色在线| 久久激情综合| 日产精品久久久一区二区| 一级特级aaaa毛片免费观看| 男人天堂综合| 久久久久久亚洲中文| 艳尻美人妻| 国产一区二区三区白丝| 欧美精品第四五页中文字幕在线观看| www国产无码| 99999精品视频| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 操屄不卡视频| 亚洲久草AV色图| 婷婷激情五月天小说网| 欧美日韩美女精品久草一区二区三区 | 老熟妇一区二区三区…| 中文字幕78| 午夜精品五区| 欧洲一区二区| 日韩欧美视频青青| 91人妻人人澡人人爽人人精品| 青青草九九九九九| 国产亚洲99久久精品熟| 国产青视频| 欧美日本国产日韩激情视频| 欧美,日韩,中文,另类| 婷色五月| 国产在线视频午夜精华在| 色诱avtt| 国产精品久久久久综合| 97视频在线观看免费高清| 欧美日韩丝袜| 香蕉黄色一级视频| 死我十八禁| 国产91美女高潮| 大香蕉免费3| 熟女精品va中文字幕| 欧亚韩国999| 人妻AV 中文字幕的| 国产又黄又粗又猛大片| 成熟熟女国产精品一区二区| 久久激情五月| 亚洲天堂在线怕怕视频| 九九九九九九九| 久久午夜伦| 在线观看高清AV| 青青草在线视频播放器| 一区二区三区日韩欧美| 色一色综合网| JIZZJIZZ亚洲女人被躁| 狠狠操狠狠燥| 日本天堂网| 国产亚洲禁久一区二区 | 天天综合网站| 欧美黄色片在线播放| 在线洲亚线| 久久一二三级一一一| 黄片www.| 日本操逼视频不卡直接放| julia国产在线| 美女主播色欲91抠b在线播放| 色婷亚洲五月在线观看| 久久透逼视频| 欧美色图综合网| 欧美激情亚洲情色| 中文字幕55555| www99热| 人人操,操人人| 激情小说图片亚洲首页| 久久精品无码专区| 熟女熟妇伦久久影院毛片一区二区| 女色视频社区| 在线播放中文字幕| 一级黄色性爱A级片| 性无码专区2020| 96久久久久久久| 精品制服美女中文一区二区三区| 欧美在线啊啊啊| 久久人人妻| 激情色色| www.91色| 国模精品娜娜一二三区| 久草国产在线视频| 欧美探花网| 欧美日韩在线视频网站| 综合欧美亚洲| 欧美 亚洲精品首页| 精品欧美日韩在线观看| 久色99999| 老鸭窝黄色视频网站| 91在线限制级| 人人操人人摸人人骑| 亚洲第一视频 欧美风情 日韩| 超碰免费欧美7| 久久伊人青青草| 青青草视频久久久久| 大香蕉免| 开心六月色| 中文字幕55555| 青青草久久一区网| 亚洲日韩青青草色月| 国产人伦精品一区二区三区| 91啪9色| 区一在线观看| 九九久久国产精品| 欧美久久婷婷| 久久啊啊啊视频| 在线观看视频91| 美女黄码视频午夜| 人妻素股| 亚洲中文字幕av| 精品传媒在线一区| 97aiaiai| 性爱综合一区二区| 欧美色视频在线| 狠狠色噜噜狠狠狠狠狠色综合久久 | 99久国产精品午夜性色福利| 吖在线不卡一区二区国产剧情| 日韩免费三级黄片电影| 国内毛片婷婷六月色| 人人摸人人干人人拍97| 精品超碰国产| 日韩AV电影网站| 超碰97资源大奶| 热久日综合| 麻豆区久久久久亚| 97网色| 思思热在线视频免费| 一区二区三区高清天码| 日本一区二区不卡精品| 亚洲五月丁香花狠狠干一区二区三区| 亚洲天堂另类美腿| 亚州熟妇精品| 操久久久久| 久久久99免费| 亚洲无线码一区国产欧美国| 亚洲日产专区| 蜜桃精品视频一区| 欧美激情精品久久久久久| 亚洲最新Av| 亚洲高清无码AAA久久久精品| www.超碰| 99在线视频播放| 欧美精品庄| 亚洲欧洲综合成人av一区| 亚洲AV成人在线| 国产91精品久久久久久久网曝门| 日本不卡免费二区| 欧美爆乳精品一区二区| 欧美综合区| 日韩 欧美 校园一区| 色色97爱| 亚洲免费成人精品电影| 91ise欧美| 国产不卡的视频| 立川理惠被中出无码| 亚洲操逼视频网站| 欧美A√综合网 | 日韩性爱免费观看视频| 99精彩视频| 亚洲男人天堂2013| 亚洲无992tv| 国产欧美日韩在线不卡第一页| 青青草亚洲一区 | 亚洲操人| 极品AV网站在线观看| 欧美男人天堂| 99精品在线观看| 97亚洲国产| 天堂а√在线最新版在线| 超碰久久中文| 夫妻日逼| 激情五月天丁香| 人妻熟女一区二区| 国产黄色影片在线观看| 黄页18禁| 91人妻人人澡人人爽人人精品| 久操视频资源站公开| 久久天天躁日日躁狠狠躁| 97免费视频在线| 制服乱伦| 美女天天干| 蜜乳AV一区二区三区四| 天美传媒AV国产在线| 中文AV制服乱伦| 欧美大香蕉卡久久| 欧美黄业| 人妻啊啊人妻啊| 91综合无码| 五月天色色网站| 97国产中文| 强奸乱伦αv片| 久久成人网站| 亚欧高清v| 欧美成人精品一区二区男人蜜臀| 午夜福利精品| 中国的操老妇女| 老司机老司机午夜影院| 91色堂| 黄色区免费观看中文字幕| 国产一区二区三区,在线观看观看| 国产福利视频精品视频| 日日夜夜青青草母狗| 国产精品露脸在线观看| 久久大线蕉一区| 天堂俺去俺来也www久久婷婷| 九九亚洲精品| 日韩激情啪啪啪| 日本黄页视频在线观看| 国产激情av女片自拍| 国产午夜福利合集| 日本色色网| 久久超碰97| 天天干天天日天天射黄色大片| 2017av无码免费无线播| 久久天天躁日日躁狠狠躁| 综合久久久久久久综合网| 啊啊啊啊啊好舒服视频| 国内三级自拍小视频在线观看| 熟女少妇视频| 91精品国产综合久久久蜜臀| 欧美中文字幕日韩在线| 99re在线视频| 六月婷婷综合| 国产肏逼网站| 男人的天堂日本东京热| 亚洲色欲天天人妻无码系列专区| 999久久久九九九九| 亚洲、日韩、综合、另类| 国产传媒操逼视频| 97神马久久| 伊人久久国产免费观看视频| 操逼1区| 密臀在线一区尤物| 老熟女熟妇| 久久人人爽人人爽人人片Ⅴ| 日本精品999| 成人十八禁日韩欧美一二三| 激情五月天色色网| 国产成人亚洲精品无码最新在线| 久久超碰av在线| 校园春色制服丝袜中文字亚洲| 日欧操屄| 欧美另类丝袜熟女| 97露脸精品丝袜| 99久久婷婷| 精品中文字幕第一页| 亚洲色婷婷综合久久一区二区三区| 大香蕉 222| 国产成人自拍视频在线| 国产精品高潮久久久无码| 欧美黑人91| 久草视频制服诱惑| 欧美黄色大香蕉一区二区| 精品国产Av无码久久久亚洲| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 色哟哟综合| 欧美亚洲中文字幕| 久久熟女久| 有码免费观看| 国产精品亚洲免费| 欧美亚洲一级在线观看| 97综合| 五月天久久人妻| 亚洲一二三| 99精品丰满人妻无| 日本三级中国三级99人妇网站| 不卡一区二区日本视频 | 热久久国产精品视频大陆精品| 日本狠狠干| 亚洲激情在线一区二区| 国产99精品一区二区三区免费| 97亚洲精品| 男人的天堂VA| 久久精品女同亚洲女同13| 久久久∴| 好看的91视频| 不卡码视频| 超碰久久中文| 97天天爽| 四虎AV在线观看| 国产亚洲国产超碰| 国产小视频91| hd成人一区二区在线| 中文字幕一二区二三区人妻专区| 在线a亚洲视频播放在线| 九热久| 日韩欧视频| 97色欧洲| 亚洲黄色电影| 東南亚性呦成人伦理资源在线视频| 欧美激情黑人| 99国产精品自在自在| 日韩人妻丝袜美腿中文| 97精品97久久| 九九九九一级| 欧美亚洲清纯| 国产精品一区在线播放| 91美女视频直播| 欧美色图另类图片| 欧美色九九| 日本天天干天天操一区| 亚洲久久久| 国产精品日日摸夜夜添骚逼| 日日超碰亚洲| 日本成熟少妇A∨网站| 午夜性生活av免费在线看| 欧美有码激情视频一区二区三区| 国产熟女少妇一区| 亚州操操穴网| 乱码熟妇人妻久久久| 操一区| 国模91| 加勒比色99999| 97超碰美女| 一级性爱视频免费在线| 中文字幕五月婷婷免费| 草草影院日本第一页| 在线中文字幕极品av| 成人片在线播放| 色蜜AV| 欧美情色贴图| 夜夜骑日日| 亚州综合色| 高清国产精品无码| 熟女人妻一区二区三区| 五月天婷婷基地| AND人妻系列| 综合网97| 99re视频这里只有精品| 久久中文字幕不卡人妻| 高清无码 国产精品| 久久综合九九| 五月天伊人| 天操天操夜操夜月操月年年操操| 97超碰欧美精品| {男男暴菊gay无套网站| 中日韩欧美精品无码AⅤ一区二区| 亚洲日本韩国在线| 色九九九| 91模特在线观看| 91精品国产91久久青草| 无码逼| 另类图片五月| A一级色女| 亚洲加勒比久久日本道| 国产操偷| 91美女视屏| 亚欧美综合| 欧美精品成人一区二区在线观看| 操逼不卡中文字幕| 精品久久視頻在线| 加勒比伊人综合| 神马久久久久久| 亚洲九月丁香| 一区二区三区男女操逼黄色小电影| 极品一区二区三区免费| 日本阿v天堂在线观看| 亚洲黄色网址视频| 97爱欧美| 精品国产乱码久久久A| 精品国产一区二区三区在线播出| AV九九| 啊啊啊啊好疼视频| 97无码视频在线播放| www.色婷婷| 91久久国外网| 大屁股人妻女教师撅着屁股| 婷婷五月天成人网| 亚洲女人毛茸茸91| 飘花国产午夜精品不卡| 97九色人妻| 中国91AV| 亚洲色图亚洲无码强奸乱伦| 青青草视频在线观看一区二区| 久久久91| 国产精品三级视频网站| 超碰97首页| 成人免费看吃奶视频网站| 富二代亚洲精品99| 欧美性性性| 最近的最新的中文字幕视频| 超碰碰激情97+久| 亚洲熟女乱色一区二区三区| 蜜臀少妇一区二区| 久久久久久人体| 高清无码国产亚洲| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 影视综合无码少妇| 日本在线一二 | 粉嫩AV一区二区夜夜| 国产 无码 一区二区| 美女AV一区二区| 99re免费视频精品全部| 婷婷情色综合网| 日本精品五区| 91亚州日韩高清| 天天干电影| 激情一区二区三区在线观看| 国产在线激情| 操人91| 天天久久久久久| 日韩黄色成人性爱| 久超碰这里只有精品| 丰满人妻av一区二区三区| 亚洲在钱| 日韩国产中文字幕| 欧美草草高清日韩视频| 午夜精品视频777| 草久在线| 亚洲老熟妇xxx| 亚洲av青草久久一区二区| 特污免视频| 日韩免费中文字幕视频| 亚洲日韩青青草色月| 九月激情婷婷| 性九九九九九九| 操一区| 少妇久久久| 一区二区蜜臀| 日日操丁香五月天| 天天日骚逼熟女| 激情丁香五月| 日本视频在线中文字幕| 亚洲美女30b| 秋霞免费AV| 亚洲男人在线观看天堂| 操九九九九九九| 中文字幕乱码人妻二区三区| 欧美日韩中国x| 久久久激情| 91久久久亚洲| 婷婷五月天无码| 91色色色| 欧美日韩国产成人高清| 一区二区视频你懂的| 中文激情网| 婷婷av在线中文字幕| 99热日| 东京热激情视频一二三区| 自拍偷拍第26| 少妇熟女视频一区二区三区| 96AV精品| 人人看欧美性爱| 欧美92| 久久久久ab| 狠狠干综合| 韩国一级婬片A片无码天美| 青青草五月份天| 色女综合| 欧美精品日韩一区二区| a片久久久久久久久久久久| 久草老司机| 欧美一二三区四五区| 久久精品色欧美aⅴ一区二区| 91精片| 国产精品毛片| 国产婷婷一区| 美女自卫慰黄网站免费| 日韩在线地址一| 男女啊啊啊啊啊| 综合av影片| 日韩97视频!在线| 99热这里只有精品地址| 亚洲精品免费中文字幕| 噜噜噜亚洲精| 97精品97久久| 中文字幕制服欧美久久一区| 久久久久国产无av| 亚洲日韩美国人妻| 国产精品美女久久久久久网站| 日日骚av| 91精品又粗又猛又爽| 成人久久无码www| 中文字幕精品一区二区精品| 午夜福利免费福利视频| 国产精品久久久久久亚洲色欲| 国产97色在线 | 亚洲| 日日嗨AV一区二区夜夜| 久久一区,青青青青草视频在线播放| 中文字幕 国产 精品| 激情抓乳插进去啪啪啪日韩| 亚洲无码com| …亚洲黄色厕厕女女在线播…| 亚洲精品97p| 一区二区三区色综合| 久久超碰免费的| 亚洲欧洲视频小说在线观看| 婷婷久久综合久| 日本色婷婷| 国产无马av| 黄色高清无码无码破解免费暗网| 最新三级网址| 免费自拍三级综合| 中文AV制服乱伦| 亚洲欧美日韩免费观看| 中文字幕后石码四区五区| 久久日韩肥臀| AV和黑人在线播放| 一起草三级AV电影在线观看| 99re欧美| 加勒比aⅴ| 狠狠入| 精品国产乱码久久久久久久久久毛片 | 人妻色情天天操| 韩国嫰模上门援交视频| 偷拍色图| 大香蕉色欲AV| 狠操91,com| 风月影院男女十八禁| 97超碰中文| 国产中午字一暮区| 久超碰这里只有精品| 色综九九九一区| 亚洲综合有码| 91久久婷婷| 91成人无码| 国产深喉视频一区二区| 国产品精品自在在线午夜免费| 欧美综合天天| 摸奶性爱视频网站在线免费播放| 国产久久视频| 国产白领连续中出在线观看| 涩爱AV在线|