99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

從Function Calling到技能編排:Agent工具調(diào)用管理實(shí)戰(zhàn)

從Function Calling到技能編排:Agent工具調(diào)用管理實(shí)戰(zhàn) 去年年底在重構(gòu)一個(gè)內(nèi)部 AI 助手時(shí)我反復(fù)遇到同一個(gè)尷尬模型本身很聰明但它總是用錯(cuò)工具、漏傳參數(shù)甚至在不需要查詢(xún)時(shí)硬去搜索。后來(lái)我把所有工具調(diào)用收攏成一套獨(dú)立管理機(jī)制也就是現(xiàn)在這個(gè)名為 agent-skills 的技能注冊(cè)與調(diào)度體系才真正把會(huì)對(duì)話的模型變成會(huì)辦事的模型。這篇文章不聊空理論只講我實(shí)際怎么設(shè)計(jì)、怎么落地以及中間踩過(guò)的那些坑給準(zhǔn)備做 Agent 技能編排、工具庫(kù)管理、Function Calling 架構(gòu)的同學(xué)一個(gè)可參考的樣本。1. 為什么我會(huì)專(zhuān)門(mén)抽一層技能庫(kù)來(lái)管 Agent 的能力1.1 之前把所有工具寫(xiě)死在代碼里問(wèn)題有多嚴(yán)重最初做 Agent 原型時(shí)我的寫(xiě)法非常直接在系統(tǒng)提示詞里把所有工具描述寫(xiě)進(jìn)去然后代碼里放一堆 if-else 或者 match-case把模型返回的函數(shù)名映射到實(shí)際函數(shù)。這個(gè)方案在只有兩三個(gè)工具時(shí)很好用但一旦超過(guò)十個(gè)麻煩就接踵而至。首先是提示詞越來(lái)越長(zhǎng)每次調(diào)用都要攜帶全部工具描述token 消耗大而且模型對(duì)后邊的工具描述記憶明顯減弱。其次是新增一個(gè)工具要改多處代碼——注冊(cè)、描述、參數(shù)校驗(yàn)、異常處理漏一處就出 Bug。第三是工具之間會(huì)有交叉依賴(lài)比如搜索和抓取網(wǎng)頁(yè)經(jīng)常要組合使用但在硬編碼結(jié)構(gòu)里這種組合邏輯完全沒(méi)法復(fù)用。最后逼我動(dòng)手重構(gòu)的導(dǎo)火索是一次演示翻車(chē)模型明明應(yīng)該調(diào)用查數(shù)據(jù)庫(kù)技能卻因?yàn)槊枋隼镉袀€(gè)模糊詞誤選了搜索文件。那時(shí)候我意識(shí)到不能把工具當(dāng)散兵游勇得把它們變成一個(gè)結(jié)構(gòu)化的技能資產(chǎn)來(lái)治理。1.2 agent-skills 的設(shè)計(jì)目標(biāo)我需要的不是一個(gè)框架而是一套輕量級(jí)的規(guī)范。當(dāng)時(shí)列了幾個(gè)硬性要求每個(gè)技能有獨(dú)立、自描述的結(jié)構(gòu)包含名稱(chēng)、用途、參數(shù)校驗(yàn)規(guī)則、執(zhí)行體。技能注冊(cè)是聲明式的新增技能不需要改動(dòng)調(diào)度主邏輯。模型看到的技能目錄是動(dòng)態(tài)生成的可以根據(jù)對(duì)話上下文裁剪而不是一股腦全塞進(jìn)去。技能之間可以有顯式的依賴(lài)關(guān)系允許一個(gè)技能內(nèi)部調(diào)用另一個(gè)技能。這套規(guī)范我起名叫 agent-skills后面就是按這個(gè)思路一步步實(shí)裝的。它的本質(zhì)是把模型可以調(diào)用什么這件事從代碼中解耦出來(lái)變成可注冊(cè)、可發(fā)現(xiàn)、可度量、可淘汰的資源。1.3 和 Function Calling、插件體系的關(guān)系提一句容易混淆的概念。OpenAI 的 Function Calling 是模型輸出結(jié)構(gòu)化調(diào)用指令的能力LangChain 的 Tool 則是將函數(shù)包裝成模型可用形式的抽象。agent-skills 更接近一個(gè)技能管理層它位于模型和實(shí)際工具函數(shù)之間負(fù)責(zé)技能的登記、索引、描述生成、參數(shù)校驗(yàn)和調(diào)用編排。你可以理解成 Function Calling 是通信協(xié)議Tool 是單個(gè)接口而 agent-skills 是管理這些接口的注冊(cè)中心和調(diào)度器。這樣分層之后換一個(gè)底層模型、換一種 Function Calling 實(shí)現(xiàn)技能定義不用大改上層業(yè)務(wù)代碼也不受影響。2. 技能的標(biāo)準(zhǔn)結(jié)構(gòu)一個(gè)可被模型讀懂和執(zhí)行的單元2.1 核心組成身份、Schema、執(zhí)行體在 agent-skills 里我定義了一個(gè)技能的最小單元它必須有四個(gè)部分name機(jī)器可讀的技能標(biāo)識(shí)用 snake_case比如 web_search。description給模型看的人類(lèi)可讀說(shuō)明必須包含什么時(shí)候用、什么時(shí)候不要用。parameters參數(shù)結(jié)構(gòu)定義使用 Pydantic 模型自動(dòng)生成 JSON Schema。execute異步執(zhí)行函數(shù)負(fù)責(zé)完成具體動(dòng)作并返回結(jié)構(gòu)化結(jié)果。這個(gè)結(jié)構(gòu)參考了 OpenAPI 規(guī)范和 Anthropic 的 tool use 格式但為敏捷開(kāi)發(fā)做了一些簡(jiǎn)化。下面是實(shí)際代碼里 Skill 類(lèi)的核心片段。from typing import Any, Callable, Optional, Type from pydantic import BaseModel, create_model import json class Skill: def __init__( self, name: str, description: str, params_model: Type[BaseModel], execute: Callable[..., Any], category: str general, version: str 1.0.0, ): self.name name self.description description self.params_model params_model self.execute execute self.category category self.version version property def param_schema(self) - dict: # 由 Pydantic 模型直接生成 JSON Schema供模型側(cè)使用 return self.params_model.model_json_schema() async def run(self, **kwargs) - Any: # 入口處統(tǒng)一做參數(shù)校驗(yàn)失敗時(shí)給出可讀錯(cuò)誤信息 validated self.params_model(**kwargs) return await self.execute(**validated.model_dump())這里最容易被忽略的一點(diǎn)是參數(shù)校驗(yàn)不能放到執(zhí)行函數(shù)內(nèi)部做必須在技能入口統(tǒng)一做。因?yàn)槟P头祷氐膮?shù)經(jīng)常有缺漏、類(lèi)型錯(cuò)誤如果每個(gè)技能里各寫(xiě)各的校驗(yàn)很快就會(huì)出現(xiàn)同一個(gè)錯(cuò)誤在不同技能上報(bào)錯(cuò)格式不一致的情況。統(tǒng)一在 run 里做校驗(yàn)后續(xù)做日志審計(jì)、指標(biāo)收集都會(huì)方便很多。2.2 為什么要用 Pydantic 自動(dòng)生成 Schema而不是手寫(xiě) JSON我見(jiàn)過(guò)不少項(xiàng)目直接在代碼里手寫(xiě) JSON Schema比如{ type: object, properties: { query: {type: string, description: 搜索關(guān)鍵詞} }, required: [query] }第一次寫(xiě)沒(méi)問(wèn)題但技能有二十個(gè)以后字段一改手寫(xiě)的 JSON 經(jīng)常忘記同步。模型拿到的 Schema 和實(shí)際執(zhí)行函數(shù)對(duì)不上后果就是調(diào)用時(shí)報(bào)參數(shù)錯(cuò)誤甚至是更隱蔽的漏參。用 Pydantic 之后參數(shù)模型就是唯一事實(shí)來(lái)源。比如我定義搜索技能from pydantic import BaseModel, Field class WebSearchParams(BaseModel): query: str Field(description搜索關(guān)鍵詞盡量精確) max_results: int Field(3, ge1, le10, description返回結(jié)果數(shù)量) region: str Field(zh-CN, description搜索區(qū)域) async def web_search(query: str, max_results: int, region: str) - list[dict]: # 實(shí)際調(diào)用搜索 API ...param_schema會(huì)直接生成{ properties: { query: {description: 搜索關(guān)鍵詞盡量精確, title: Query, type: string}, max_results: {default: 3, description: 返回結(jié)果數(shù)量, maximum: 10, minimum: 1, type: integer}, region: {default: zh-CN, description: 搜索區(qū)域, type: string} }, required: [query], title: WebSearchParams, type: object }這樣寫(xiě)的好處不僅是少改一份文件更重要的是Pydantic 的 Field 約束ge、le、枚舉等會(huì)直接變成模型可讀的約束信息模型生成參數(shù)時(shí)會(huì)更少越界。實(shí)測(cè)下來(lái)參數(shù)非法導(dǎo)致的重試次數(shù)下降了約 40%。2.3 技能描述怎么寫(xiě)模型才聽(tīng)得懂這是整個(gè)技能庫(kù)里最軟但也最關(guān)鍵的部分。我發(fā)現(xiàn)很多團(tuán)隊(duì)把描述寫(xiě)成一句話簡(jiǎn)介比如執(zhí)行搜索模型根本選不準(zhǔn)。我的經(jīng)驗(yàn)是描述里必須寫(xiě)清使用場(chǎng)景和不要使用的場(chǎng)景而且要給出正反例。下面是我常用的一段描述使用場(chǎng)景當(dāng)用戶需要查詢(xún)實(shí)時(shí)信息、獲取最新新聞、查找某個(gè)機(jī)構(gòu)/人物/產(chǎn)品的當(dāng)前情況時(shí)。 不要使用如果用戶只是問(wèn)概念解釋、歷史知識(shí)且不要求最新信息請(qǐng)使用 knowledge_base 技能。這段描述直接把搜索技能和知識(shí)庫(kù)技能區(qū)分開(kāi)了。模型對(duì)什么時(shí)候不要用特別敏感因?yàn)榇罅空`選都發(fā)生在兩個(gè)技能邊界模糊時(shí)。后面我還會(huì)專(zhuān)門(mén)講怎么靠邊界描述來(lái)提升技能選擇的準(zhǔn)確率。3. 注冊(cè)中心與動(dòng)態(tài)發(fā)現(xiàn)讓新建技能像插線板一樣簡(jiǎn)單3.1 基于裝飾器的注冊(cè)機(jī)制有了技能定義下一步是把它們收集到一個(gè)注冊(cè)中心里。我用的方式是在模塊加載時(shí)通過(guò)裝飾器自動(dòng)注冊(cè)。先定義全局注冊(cè)表from typing import Dict from dataclasses import dataclass, field class SkillRegistry: def __init__(self): self._skills: Dict[str, Skill] {} def register(self, skill: Skill) - Skill: if skill.name in self._skills: raise ValueError(fSkill {skill.name} already registered) self._skills[skill.name] skill return skill def get(self, name: str) - Skill: return self._skills[name] def all(self) - list[Skill]: return list(self._skills.values()) registry SkillRegistry() def skill_skill( description: str, category: str general, version: str 1.0.0, ): def wrapper(params_model: Type[BaseModel], execute: Callable): skill Skill( nameexecute.__name__, descriptiondescription, params_modelparams_model, executeexecute, categorycategory, versionversion, ) registry.register(skill) return skill return wrapper具體使用如下skill_skill( description獲取指定城市的當(dāng)前天氣適合用戶詢(xún)問(wèn)天氣、溫度、降雨概率時(shí)。, categoryutility, ) class GetWeatherParams(BaseModel): city: str Field(description城市中文名) async def get_weather(city: str) - dict: ...裝飾器把函數(shù)名作為技能名參數(shù)類(lèi)作為 Schema 定義整個(gè)流程非常輕。新加一個(gè)技能時(shí)只有模塊被 import 進(jìn)來(lái)技能就會(huì)自動(dòng)進(jìn)入注冊(cè)表主調(diào)度邏輯完全不用改。這基本就是插件架構(gòu)的低配版但已經(jīng)能很好地滿足需求。3.2 為什么不用硬編碼列表很多人會(huì)問(wèn)項(xiàng)目不大直接在列表里寫(xiě)清楚不就行了我早期也這么做過(guò)但吃了幾次虧之后決定改用注冊(cè)中心。一次是多人協(xié)作時(shí)同事加了一個(gè)技能但導(dǎo)入了模塊卻忘記在列表里追加結(jié)果模型看不到這個(gè)技能。還有一次是寫(xiě)測(cè)試時(shí)需要隔離技能集合硬編碼列表讓測(cè)試非常別扭。改用注冊(cè)中心后測(cè)試時(shí)可以輕松構(gòu)造一個(gè)臨時(shí) Registry 并注入 mock 技能再也不用擔(dān)心污染公共列表。另外自動(dòng)掃描還有利于做按需加載。大項(xiàng)目里技能可能涉及重依賴(lài)比如 PDF 解析技能要導(dǎo)入一堆庫(kù)。我可以在技能模塊里做懶加載注冊(cè)階段只存描述和 Schema執(zhí)行時(shí)才真正 import 重依賴(lài)庫(kù)。這樣應(yīng)用啟動(dòng)速度和內(nèi)存占用都更可控。3.3 技能間依賴(lài)從重復(fù)實(shí)現(xiàn)到組合調(diào)用技能庫(kù)管理工具多了以后第二個(gè)高頻需求就是技能復(fù)用。比如天氣查詢(xún)和穿衣建議兩個(gè)技能后者應(yīng)該組合前者而不是重新實(shí)現(xiàn)一遍天氣邏輯。我采用的方式是在 Skill 執(zhí)行體里可以直接拿到注冊(cè)表實(shí)例async def dressing_advice(city: str, temp: float) - str: weather_skill registry.get(get_weather) weather await weather_skill.run(citycity) ...這樣調(diào)度核心不關(guān)心技能內(nèi)部怎么組織下游技能只需要知道自己依賴(lài)哪個(gè)技能名。但我會(huì)在技能描述里顯式聲明依賴(lài)比如本技能需要依賴(lài) get_weather 獲取實(shí)時(shí)溫度這樣模型選擇組合型技能時(shí)會(huì)更清楚它背后的成本。不過(guò)這里也要提醒一句技能間調(diào)用會(huì)增加一次模型調(diào)度延遲如果可以盡量在同一個(gè)執(zhí)行函數(shù)內(nèi)并行調(diào)用多個(gè)基礎(chǔ)技能而不是串行依賴(lài)。我后面會(huì)專(zhuān)門(mén)講性能優(yōu)化。4. 讓模型知道用什么技能技能選擇提示詞的組裝策略4.1 全量技能都塞進(jìn) Prompt 是最蠢的做法一開(kāi)始我天真地把所有技能的名字、描述、參數(shù)規(guī)則全部塞進(jìn) system prompt。技能數(shù)量只有五個(gè)的時(shí)候還行到十五個(gè)以后模型的選擇準(zhǔn)確率明顯下降token 消耗也讓人肉疼。后來(lái)我統(tǒng)計(jì)了一次完整對(duì)話的平均 token 消耗系統(tǒng)提示詞里技能描述占了 60% 以上而實(shí)際單輪對(duì)話中模型通常只需要兩三個(gè)技能。也就是說(shuō)絕大部分信息是冗余的反而干擾了模型的注意力。4.2 兩級(jí)索引先選技能再補(bǔ)詳情我的解法是兩級(jí)索引策略。第一級(jí)維護(hù)一個(gè)精簡(jiǎn)的技能目錄每個(gè)技能只保留 name、一句話簡(jiǎn)介、使用場(chǎng)景、參數(shù)約束摘要。這個(gè)目錄盡量控制在模型能一屏看完的規(guī)模目標(biāo)是讓模型快速定位候選技能。第二級(jí)當(dāng)模型在回復(fù)中表示需要調(diào)用技能 X時(shí)調(diào)度器再把技能 X 的完整參數(shù) Schema、詳細(xì)描述、示例注入到下一輪上下文里讓模型嚴(yán)格按 Schema 生成參數(shù)。具體實(shí)現(xiàn)上我在 system prompt 里放這樣的模板可用技能目錄 {skills_catalog} 如果你需要完成某個(gè)操作請(qǐng)先輸出要使用的技能名稱(chēng)以及對(duì)應(yīng)的參數(shù) JSON。def build_skills_catalog(skills: list[Skill]) - str: lines [] for s in skills: lines.append( f- {s.name}: {s.description.split(使用場(chǎng)景)[0].strip()} ) return \n.join(lines) def build_skill_detail(skill: Skill) - str: return ( f技能名稱(chēng): {skill.name}\n f完整描述: {skill.description}\n f參數(shù)Schema: {json.dumps(skill.param_schema, ensure_asciiFalse, indent2)}\n f請(qǐng)嚴(yán)格按照Schema生成參數(shù)。 )調(diào)用流程簡(jiǎn)化為模型閱讀技能目錄判斷需要哪個(gè)技能。模型輸出技能名和參數(shù)摘要也可以直接輸出空參數(shù)。調(diào)度器找到技能詳情拼接到下一輪 prompt。模型輸出最終結(jié)構(gòu)化參數(shù)。調(diào)度器校驗(yàn)并執(zhí)行技能。這個(gè)流程讓模型每次只需要關(guān)注一小段信息準(zhǔn)確率提高非常明顯。代價(jià)是多了一輪交互但很多場(chǎng)景下值得。后續(xù)也可以對(duì)高頻技能做緩存根據(jù)對(duì)話主題直接預(yù)加載幾個(gè)可疑技能減少試探輪次。4.3 上下文裁剪根據(jù)對(duì)話狀態(tài)動(dòng)態(tài)過(guò)濾技能目錄除了兩級(jí)索引動(dòng)態(tài)裁剪也很關(guān)鍵。我的實(shí)現(xiàn)里維護(hù)了一個(gè)context_tags也就是從當(dāng)前對(duì)話中抽取的場(chǎng)景標(biāo)簽比如天氣新聞SQL。然后在構(gòu)建目錄時(shí)根據(jù)標(biāo)簽過(guò)濾掉明顯不相關(guān)的技能。比如用戶問(wèn)今天天氣就沒(méi)必要把數(shù)據(jù)庫(kù)備份這種運(yùn)維技能展示給模型。這個(gè)能力依賴(lài)于對(duì)用戶意圖的初步判斷不一定要很精確只要能把候選集從二十個(gè)降到五六個(gè)模型選擇的準(zhǔn)確度就能上一個(gè)臺(tái)階。我建議用一次快速的輕量分類(lèi)來(lái)打標(biāo)簽而不是讓主 Agent 又做意圖識(shí)別又做技能選擇否則每輪推理成本會(huì)高得離譜。5. 實(shí)測(cè)我把這套技術(shù)寫(xiě)作助手跑起來(lái)之后5.1 場(chǎng)景設(shè)定與技能清單為了驗(yàn)證 agent-skills 不是玩具我做了一個(gè)相對(duì)完整的示例項(xiàng)目一個(gè)技術(shù)寫(xiě)作助手。它需要完成資料搜索、網(wǎng)頁(yè)內(nèi)容摘要、代碼示例獲取、稿件素材整理、保存到 Notion 數(shù)據(jù)庫(kù)這些任務(wù)。當(dāng)時(shí)注冊(cè)的技能包括技能名用途依賴(lài)web_search搜索最新技術(shù)資料無(wú)fetch_webpage抓取網(wǎng)頁(yè)正文并轉(zhuǎn)成純文本無(wú)extract_code從網(wǎng)頁(yè)正文中提取代碼塊fetch_webpagegenerate_summary調(diào)用大模型對(duì)文本生成摘要無(wú)save_to_notion將整理好的內(nèi)容保存到數(shù)據(jù)庫(kù)無(wú)5.2 效果對(duì)比技能選擇準(zhǔn)確率從 68% 提到 94%我準(zhǔn)備了一百條真實(shí)用戶問(wèn)句作為測(cè)試集覆蓋搜索、摘要、保存、組合任務(wù)等類(lèi)型。在沒(méi)做技能庫(kù)管理、所有工具硬編碼、描述也很簡(jiǎn)陋的情況下模型正確選擇技能的比例只有 68%也就是三成的情況下選出了錯(cuò)誤的工具。經(jīng)過(guò)技能結(jié)構(gòu)標(biāo)準(zhǔn)化、兩級(jí)索引、動(dòng)態(tài)裁剪和描述優(yōu)化之后同樣的一百條樣本技能選擇準(zhǔn)確率提升到了 94%。誤選主要發(fā)生在fetch_webpage和extract_code之間的調(diào)用順序上后來(lái)靠強(qiáng)化示例才壓下去。token 消耗方面也有明顯改善。沒(méi)優(yōu)化前每輪對(duì)話平均在系統(tǒng)提示詞上花費(fèi)約 1800 token優(yōu)化后因?yàn)橹蛔⑷肽夸浐捅匾募寄茉斍槠骄档?700 token 左右整體對(duì)話成本下降了約 60%。當(dāng)然這個(gè)數(shù)據(jù)跟具體技能數(shù)量和模型上下文能力有關(guān)系但方向是通用的。5.3 一個(gè)讓我意外的發(fā)現(xiàn)技能執(zhí)行結(jié)果也需要結(jié)構(gòu)化回填做到一半我發(fā)現(xiàn)技能執(zhí)行完返回的數(shù)據(jù)不能原樣丟給模型。直接返回一長(zhǎng)串網(wǎng)頁(yè)全文不僅浪費(fèi) token而且模型難以提取重點(diǎn)。后來(lái)我給技能加了一層format_result讓每個(gè)技能返回結(jié)構(gòu)化且精煉的結(jié)果摘要。比如搜索技能返回的不是完整結(jié)果列表而是每個(gè)結(jié)果的標(biāo)題、URL、時(shí)間、一句話摘要。這個(gè)改動(dòng)讓后續(xù)對(duì)話的上下文變得更干凈模型在引用資料時(shí)也更準(zhǔn)確。我建議給每個(gè)技能準(zhǔn)備一個(gè)result_summary方法或者至少對(duì)返回內(nèi)容做一個(gè) token 上限截?cái)?。這比在主提示詞里寫(xiě)請(qǐng)忽略無(wú)關(guān)內(nèi)容有效得多。6. 最容易翻車(chē)的三個(gè)細(xì)節(jié)與我的完整排查鏈路6.1 現(xiàn)象模型總把參數(shù)類(lèi)型搞錯(cuò)第一次上線時(shí)模型調(diào)用web_search時(shí)把max_results傳成了字符串 5。Pydantic 其實(shí)會(huì)自動(dòng)做類(lèi)型轉(zhuǎn)換但如果是字符串 abc 就會(huì)直接報(bào)錯(cuò)。本來(lái)我以為校驗(yàn)失敗會(huì)讓模型自己重試但發(fā)現(xiàn)模型報(bào)錯(cuò)后經(jīng)常不知道該改成什么。排查鏈路我先在日志里打印每次技能執(zhí)行的validated參數(shù)確認(rèn)錯(cuò)誤來(lái)源是類(lèi)型強(qiáng)制轉(zhuǎn)換失敗。然后檢查 Pydantic 的model_config發(fā)現(xiàn)沒(méi)有禁止字符串強(qiáng)轉(zhuǎn)成數(shù)字。調(diào)整參數(shù)模型增加strictTrue讓多余的類(lèi)型強(qiáng)迫轉(zhuǎn)換直接失敗反而讓模型更容易理解錯(cuò)誤信息。再給校驗(yàn)錯(cuò)誤設(shè)計(jì)了一條清晰的錯(cuò)誤提示包括出錯(cuò)字段、期望類(lèi)型、傳入值要求模型重新生成參數(shù)。這個(gè)鏈路最值得夸的一點(diǎn)是Pydantic 的嚴(yán)格模式一開(kāi)始就要開(kāi)。如果不嚴(yán)格很多隱性類(lèi)型問(wèn)題會(huì)在技能執(zhí)行階段才炸出來(lái)而且定位成本更高。6.2 現(xiàn)象兩個(gè)技能描述太像模型反復(fù)選錯(cuò)有一次模型在查天氣和查空氣質(zhì)量之間反復(fù)橫跳幾乎沒(méi)什么規(guī)律。我把兩個(gè)技能的完整描述拿出來(lái)逐字對(duì)比發(fā)現(xiàn)都寫(xiě)著用于查詢(xún)城市的當(dāng)前環(huán)境信息。這顯然不行。排查鏈路我寫(xiě)了一個(gè)小腳本對(duì)所有技能描述做兩兩相似度計(jì)算用簡(jiǎn)單的關(guān)鍵詞重疊度發(fā)現(xiàn)get_weather和get_air_quality的相似度最高。為每個(gè)技能重寫(xiě)了描述補(bǔ)充明確的邊界場(chǎng)景。比如空氣質(zhì)量技能必須提到AQI、PM2.5、污染天氣技能必須提到溫度、濕度、降雨。在測(cè)試集上加了兩條容易混淆的用例比如今天出門(mén)要不要戴口罩應(yīng)該選空氣質(zhì)量今天會(huì)不會(huì)下雨應(yīng)該選天氣。之后我把技能描述相似度檢查加入了 CI。每次提交代碼時(shí)自動(dòng)跑一遍如果發(fā)現(xiàn)兩個(gè)技能描述相似度過(guò)高就報(bào)警提示人工review。這個(gè)工具對(duì)團(tuán)隊(duì)協(xié)作特別有用。6.3 現(xiàn)象上下文里技能太多模型瞎選有段時(shí)間我的技能數(shù)量增加到二十多個(gè)即便做了目錄精簡(jiǎn)模型還是時(shí)不時(shí)選出一個(gè)跟當(dāng)前話題八竿子打不著的技能。排查鏈路我記錄了模型每次選擇的 log發(fā)現(xiàn)誤選大多發(fā)生在對(duì)話較長(zhǎng)的中后段。進(jìn)一步檢查發(fā)現(xiàn)前置對(duì)話把模型注意力帶偏了尤其是之前提到過(guò)某個(gè)技能模型容易慣性選擇。于是在構(gòu)建新一輪技能目錄時(shí)我顯式把當(dāng)前用戶問(wèn)題放在目錄之前讓模型先明確問(wèn)題再看技能。另外把技能目錄按類(lèi)別折疊默認(rèn)只展示用戶當(dāng)前場(chǎng)景可能相關(guān)的類(lèi)別收起無(wú)關(guān)類(lèi)別。改完以后長(zhǎng)對(duì)話中的誤選率明顯下降。這說(shuō)明技能選擇不是純靠模型理解能力輸入的結(jié)構(gòu)化程度對(duì)結(jié)果影響很大。7. 技能治理版本、評(píng)估與淘汰機(jī)制技能庫(kù)不是一勞永逸的。加了新技能可能擠壓舊技能的選擇空間改了一個(gè)技能的描述可能影響其他技能的邊界。我后來(lái)慢慢把這套東西當(dāng)成一個(gè)需要治理的代碼庫(kù)來(lái)對(duì)待。7.1 每個(gè)技能都要有版本和負(fù)責(zé)人我在 Skill 結(jié)構(gòu)里增加了author和version字段。雖然聽(tīng)起來(lái)不重要但在多人協(xié)作時(shí)版本標(biāo)簽?zāi)茏屓罩纠锏恼{(diào)用記錄對(duì)應(yīng)到一個(gè)明確的代碼版本。線上出問(wèn)題后git blame加version能快速定位是誰(shuí)改過(guò)、什么時(shí)候改的。7.2 建立技能選擇回歸集我強(qiáng)烈建議項(xiàng)目里至少準(zhǔn)備 50 到 100 條標(biāo)注好的意圖 - 技能 - 參數(shù)測(cè)試用例。每次修改技能定義后跑一遍回歸集統(tǒng)計(jì)技能選擇準(zhǔn)確率和參數(shù)生成準(zhǔn)確率。再進(jìn)一步可以給每個(gè)技能單獨(dú)維護(hù)一條技能熱度和技能錯(cuò)誤率。如果一個(gè)技能連續(xù)半個(gè)月沒(méi)被調(diào)用或者調(diào)用后頻頻報(bào)錯(cuò)就該考慮下線或重寫(xiě)描述。我用一張簡(jiǎn)單的表來(lái)跟蹤技能名調(diào)用次數(shù)成功率平均耗時(shí)最后調(diào)用時(shí)間web_search32092%1.2s2025-01-10extract_code2578%3.1s2025-01-08定期看這張表你能發(fā)現(xiàn)很多之前沒(méi)注意的問(wèn)題。比如extract_code調(diào)用次數(shù)少但成功率低說(shuō)明描述可能太窄或者依賴(lài)的fetch_webpage返回內(nèi)容不理想。這種數(shù)據(jù)驅(qū)動(dòng)的迭代比憑感覺(jué)改 prompt 高效得多。7.3 技能描述也要做 A/B 測(cè)試最后分享一個(gè)偏門(mén)但有效的經(jīng)驗(yàn)對(duì)高爭(zhēng)議的技能描述做 A/B 測(cè)試。同一時(shí)間讓一半流量看到描述 A一半看到描述 B統(tǒng)計(jì)技能選擇的準(zhǔn)確率、任務(wù)完成率。我自己測(cè)試過(guò)web_search描述里加不加不要使用約束結(jié)果加了之后誤選率下降了 12%。看似一句話的差別在幾十個(gè)技能并存時(shí)影響會(huì)被放大。如果你沒(méi)有完整 A/B 平臺(tái)至少可以在本地跑一個(gè)小樣本對(duì)比把兩個(gè)描述各跑二十條測(cè)試用例看看哪個(gè)更穩(wěn)。說(shuō)實(shí)話做到這一步agent-skills 已經(jīng)不再是一個(gè)簡(jiǎn)單的工具管理腳本而是一套關(guān)于如何讓模型可靠地使用工具的方法論。它的價(jià)值不在于某個(gè)具體的技能實(shí)現(xiàn)而在于你能把每個(gè)能力變化都變成可測(cè)試、可回滾、可觀測(cè)的過(guò)程。對(duì)我個(gè)人而言這套機(jī)制最直接的好處是我再也不怕業(yè)務(wù)方突然提再加一個(gè)技能的需求了——無(wú)非是寫(xiě)一個(gè)函數(shù)、配一個(gè)描述、跑一遍回歸集的事。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
中文字幕成人| 亚洲欧美国产A片免费观看| 国产婷婷五月中文字幕高清| 先锋资源91| 欧美激情VA永久在线播放| 亚洲VA在线| 欧美 日韩 成人 在线| 婷婷综合久久| 色婷婷综合网站| 白天AV月月| 天堂成人久久| 综合99在线| 草草视频91| 中文aV网| 丁香六月色香蕉视频| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 超碰京东热av男人的天堂| 97碰免费视频在线| 丁香五月成人婷婷| 丁香婷婷视频一区二区| 五月丁香六月婷婷中文版| 人妻Av在线| 丁香五月影院| 亚洲人妻av伦理| 精品久久久999| 人妻VideOssS人妻高清| 亚洲激情97五月天| 亚洲激情97五月天| 噜噜精品| 五月婷婷亚洲色视频| 丁香五月天婷婷中文| 9l视频自拍9l视频自拍九色学生| 高清成人综合| 成人电影在线免费试看| 99热播放| 色性综合| 色五月天综合| 日本在线噜噜| 久久性爱视频网站| 操日视频| 色色色色色色网| 开心五月天激情网| 久久99网站| 丁香六月婷婷五月婷婷| 丁香 久久| www.99情趣网| 五月婷婷日| 天天色,天天日,天天做| 99热这里精品| 久久98热re| 五月婷婷亚洲色视频| 99热这里只要精品免费| 91视频五月丁香| 人人干人人操人人摸| 深爱激情网婷婷| 婷婷五月天伦理| 亚洲激情图文小说| 91人妻视频| 欧美丁香五月天| 日韩AV色色色| 色哟哟www| 99亚洲精品| 少妇人妻人伦A片| 五月开心网| 欧洲激情精品婷婷| 99在线观看视频| 亚洲操精品| 丁香五月天堂网| 久操热线| 青青草婷婷久久| 超碰在线观看成人视| aaaa.黄| 日本大逼91| 一区二区三区四区牛| 激情婷婷网| 很很色丁香久久停停| 免费在线a| 国产精品电影网| 色婷婷亚洲| 久久婷婷五月国产色综合激情| 四色 爱 婷婷 精品 亚洲 五月天| 五月综合在线婷婷图片| 大香蕉中文| 99久久久| 久久ri精品视频| 91亚洲天堂| 99热碰碰热| 国产婷婷婷| 国产精品久久久久久久久久| 婷婷五月中文字幕| 美女主播野战视步页| 综合久久人妻| 99操| 9久久久久| 日韩一66精品| 97色片| 另类天堂| 亚洲av日韩无码| 久久6这里只有精品| 日本性激情色播| 超碰在线超碰| 综合久久五月| 天天天天天操| 日韩人妻无码专区| 自拍偷窥99热| 超碰国产在线观看| 五月丁香婷婷狠狠操| 人妻内射视频| 4399伦理午夜| 五月婷婷丁香俺日污视频| 大香蕉五月丁香| 婷婷五月综合国产精品| 欧洲婷婷五月天| 天天干,夜夜爽| 俺去也婷婷| 9999热精品| 日操| 婷婷色五月丁香六月欧美啪| 国产免费av在线| 五月丁香色五月| 人人97碰| 亚洲狠狠婷婷| 99爱视频在线观看| 六月丁香成人| 五月婷婷丁香在线| 午夜]香婷婷深深爱| 激情宗合哪里能看| 99成人| 99热99操| 色99色| 新激情五月天| 婷婷狠狠五月综合| 91精品久久久久久久久久| 美日韩成人| 五月天激情综合| 玖玖爱伊人网| 有哪些A片网站| 五月天激情小说| 亚洲AV网址| 99热精品在线播放| 超级碰碰一区| 色五月天成人| 色情五月| 色综合天天| 五月天怕怕| 天天插AV丝袜中| 91人人人人人| 五月婷婷丁香av| 婷婷99| 99久久99九九九99九他书对| 国产日比| 五月丁香六月婷婷中合网| 人妻综合网| 色爱99| 丁香婷婷影院| 日本女人久久| 婷婷丁香五月激情| 五月丁香婷中文| 专区无日本视频高清8| 99热永久在线观看| 最近中文字幕2019视频1| 综合亚洲色色| 久久激情中文| 亚洲天堂aaaa| 91久久婷婷| 久久婷婷网站| 九九九九九无码| 欧美性爱五月天| 久月丁香爱婷婷综合| 九月婷婷综合| 九九视频这里只有精彩| 色婷婷丁香综合中文字幕| 久久9热| 色婷婷久久综| 五月婷婷色| 99惹| 婷婷天天五月天| 五月婷婷激情综合网 | 婷婷五月天激情网址| 激情综合网五月婷婷| 丁香五月综合激情久久潮喷| 久久婷婷五月天大香蕉| 九九大香视频| 五月色丁香婷婷中文字幕| 久久五月婷综合| 亚州色色色| 香焦网五月天| 1000部毛片A片免费观看| 五月丁香婷婷久久| 欧美在线看| 五月色色网| 久热AA| 色婷婷小说| 婷婷五月天久久久| 天天色天天操天天射| 色综合色五月| 无毒黄色网址| 久热九九| 丁香五月激情鲁| 淫荡A片| 欧美日韩99| www.天天干.com| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 七七久久婷婷| 婷婷五月天小说| 激情五月天小说视频| a色婷婷| 婷婷丁香成人| 丁香五月色网| 亚洲色情网站| 丁香五月婷婷六月婷| 日韩小视频在线99| 日本欧美成人片AAAA | 中文字幕在线免费观看视频| 操逼棍操逼| 91丨九色丨熟女|新版| 大地资源色婷婷视频在线| 国产偷人妻精品一区| 超碰碰碰碰| 大香蕉丁香五月| 开心五月婷婷激情| 婷婷色五月婷| 亚洲狠狠干| 狠狠色婷婷在线| 色婷婷影音| 免费视频WWW在线观看网站| 天天摸天天透天天舔| 五月丁香激情婷婷综合字幕| 九九热亚洲中文在线观看免费| 久久久久9久无码视频| 99热这里只有精品中文字幕| 久久久99免费视频| 婷婷五月天激情开心网| www.com五月天| 狠狠操.com| 97艹| 超碰人人操人人9| 天天爽天天| 中文字幕激情综合| 色五月涩涩婷婷| 日韩色色视频www| 成人必爱视| AV在线大香蕉| 99 re视频一区| 99久久新视频| 色九九七七| 碰超亚洲| 婷婷五月丁香综合桃花色网| 大香蕉在线观看9| 亚洲字幕AV一区二区三区四区| 亚洲热久久| 色综合久久中文| 丁香狠狠色婷婷久久无码视频| 欧美综合激情五月丁香| 深爱网深爱综合网| 五月天婷婷影院影院| 婷婷色五月噜噜| 99操视频| 国产在线6| 成人色五月天婷婷| 色五月丁香五月五月婷婷| 久色网| www.97碰碰com| 超碰电影在线播放| 狠狠干婷婷| 伊人色综合影院视频| 激情五月天啪啪| 2013AV天堂| 日韩AV中文字幕在线| 日本色超碰| 婷婷激情五月天激情小说 | 丁香婷婷久久综合在线| 色婷婷精品视频| 日本视频欧美观看免费| 九九aV| 婷婷五月激情图片| 都市激情五月婷婷综合| 婷婷四色成人综合色视| 日本婷婷| 97婷婷色| 五月婷婷精品视频| 五月丁香婷婷中文| 深爱激情小说五月婷婷| 五月色色激情网| 日本欧美成人片AAAA| 曰曰久久| 五月丁久久| 97男人天堂| 国产婷婷综合在线免费视频| 色五月婷婷狠狠撸| 99热99热在线| 91日本在线观看| 激情五月天天| 九九久久精品| 五月丁香婷婷开心| 婷婷五月天小说网| www.99色在线| 五月丁香六月色婷| 狠狠干综合网| 五月丁香婷婷色| 丁香婷婷浪潮AV久久综合| 成年视频免费观看| 日韩人妻无码一区二区| 久婷五月| 极品人妻VIDEOSSS人妻| 天天肏天天肏天天肏| 天天性视频| 欧美久久婷婷| 激情小说五月天| 91窝窝| 美日韩成人| 久久在线人妻| 婷婷五月色播放| 99久热视频在线| 91AV婷婷| 少妇激情五月天| 伊人在线视频| 丁香五月人妻| 天天草比天天爽| 99热在线观看| 人妻人人操| 五月亭亭综合五码| 激情综合网激情五月天| 大香蕉五月天婷婷丁香91| 五月丁香激情综合网官网| 超碰97免费在线| 亚洲乱码日产精品BD| 91婷婷五月丁香碰| 夜夜躁爽日| AV九九| 美欧日韩国产成人在战| 丁香五月婷老师| 国产精品18久久久| 99 频99热国里只有精品| 成人在线视频一区| 激情国产综合| 色色色色色色网站| 91碰操| 五月天婷婷色小说| 91精品久久久久久久久久| 大香蕉综合| 高清无码入口| 伊人婷婷五月天av| 九九综合| 五月丁香六月色| 99热6精品| 婷婷天堂伊人| 日韩欧美一级大黄网站| 丁香9月婷婷| 开心五月婷婷在线视频免费观看| 午夜成人片400| 欧美又粗又大一区二区在线观看| 婷婷天堂站| 国产成人AV在线| 婷婷激情在线| 99热久| 9久久精品| 五月丁香好婷婷A片网| 日韩aaaaa| 9久9久9久女女女九九九一九| 丁香六月高清视频| 91色五月在线观看| 久久思思热| 99在线视频女女视频| 69色色视频| 99久热视频在线| 五月色婷婷AV| 人人草碰| WWW久久久| 综合AV在线| 老司机伊人| 99国产小视频2013| 婷婷五月天A V| 思思热99在线| 亚洲AV无码影院| 日本九九视频| 99re在线观看| 国产黄大片在线观看画质优化| 四虎婷婷五月天| 午夜不卡久久精品无码免费| 成人超碰Av| 五月婷婷激情在线| 97久久人人| 9.1综合网| 99这里有精品| 色色色色av色色色色| 久草嫩草在线观看| 欧美色色色色色| 人妻久久久久久久久妻久久久久久久久| 激情五月久久| 亚洲天天综合| 9色在线| 激情五月天婷婷| 激情丁香网| 密视AV综合在线| 超碰在线9| 天天综合网、天天综合色 | WWW久久久| 九九家庭影院| 色很久综合| 五月婷在线| 奸逼视频| 色色色国产| 熟妇人妻中文字幕无码老熟妇| 天天视频亚洲| 亚洲五月天综合色| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 婷婷久久五月| 婷婷伊人綜合| 成人综合网站| 超碰93在线观看| 久久丁香婷婷五月天| 熟女强人妻一区二区三区四区无| 亚洲天堂热| 丁香六月天色婷婷| 超碰操网| 久久sp免费视频| 人人干av| 国产色网站| 亚洲综合干| WWW,五月| 第四色色六月色综合| 啊v视频在线观看| 亚洲婷婷激情888精品久| 五月婷婷天堂| 熟美女麻豆| 免费看欧美成人A片无码| 五月婷婷亚洲| 操逼在线视频| 99激情视频热| 99视频精品| 久久五月天精品视频| www久| 14色综合婷婷| 亚洲精品永久久久久久| 丁香婷婷伊人| 色五月天天| 97人人干人人操| 久人人操| 9久热在线视频| 国产亚洲精品AAAAAAA片| 丁香花五月天激情| 婷婷五月综激情| 五月天社区狠狠| 蜘蛛女免费观看完整版高清电影| 91人人操人人| 大香蕉婷婷丁香| 五月婷婷婷色| 99欧美热| 草榴视频黄色网| 午夜无码熟熟妇丰满人妻| 婷婷色五月激情| 97热九九| 国产免费av网站| 狠狠精品干练久久久无码中文字幕 | 五月婷丁香花| 天天激情5月天亚洲| 丁香五月综合激情性爱| 久久99看免费| 丁香五月婷婷大香蕉| 久久女伦| 超碰人人妻| 99色综合久久| 亚洲av电影在线| 激情四射亚洲| 婷婷色狠狠| 天堂久热| 亚洲精品网址| 九九热自拍| 在线中文亚洲| 日韩不卡DvD| 九色婷婷| 激情5月婷婷狠狠干| 五月天婷婷一起草| 婷婷色五月久久| 婷婷中文字幕版| 久噜久噜| av狠狠操| 99操碰| 99免费热视频在线| 亚洲精品国产A久久久久久| 荡乳尤物3HP1V5| 欧美顶级少妇做爰HD| 国产精品第一国产精品| 91窝窝| 亚洲视频操| 操人91| 五月激情精品视频| 婷婷五月丁香手机在线视频| 97色操| 久久性爱视频网站| 96自拍视频九色在线观看| 麻豆观看夏晴子| 日韩av在线播放综合网| 9有码中文| 噜综合| 夜夜操天天爽| 婷婷伊人中文字幕| 色网五月婷婷| 久久艹99| 五月天夜夜爱夜夜操| 丁香五月六月综合欧美| 中文字幕在线日亚洲9| 桃色五月婷婷| 亚洲操逼片| 六月香五月婷| 91狠狠色色丁香婷婷综合久久| 狠狠干综合| 九九九九九九热| 香蕉久久六月| 综合五月激情| 久久国产色| 色九月综合| 翔田千里 50岁 无码| 伊人六月丁香婷婷| 91视频一起草| 99五丁香月| 色婷婷WWW| 99在线亚洲| 婷婷五月天亚洲| 97爱艹婷婷开心丁香激情综合| 日韩精品一区二区亚洲AV观看| 精品五月丁香| 激情丁香五月天综合| 欧美视频在线观看噜噜| 日本久热| 婷婷丁香综合色AV| AⅤ色区| 9久视频| 男女av免费看| 色婷婷丁香五月观看| 97干视频在线| 无码一级片| 五月天色婷婷小说| 五月丁香六月激情综合| 日本一毛片| 狠狠五月综合在线| 疯狂做受XXXX高潮A片| 日韩人妻在线观看| 五月丁香影院| 亚洲色图在线视频| 激情五月少妇| 久久您您综合网| 婷婷色亚洲| 国产成人AV在线播放| 99色在线观看视频者| 婷婷五月色花丁香社区| 玖玖综合网| 国产肏屄大片| www激情| aV直接看| 五月天久久成人| 天天日天天色| 五月婷五月婷伊人伊人五月婷| 五月婷婷综合网| 五月婷婷婷婷| Av中文在线| 激情五月天无码| www.婷婷| site:wpjngj.com| 久热99| 91九色熟女| 激情五月婷婷综合| 国产激情在线观看| 夜夜谢天天干| 激情av在线| 五月 成人 婷婷| 天天干,天天操,天天射| 超碰猛烈的性猛交| 久久 婷婷 五月天| 婷婷激情综合| 九九av| 久草热在线视频| 120分钟婬片免费看| 97碰碰人人| 日本久久精品| 精品无码久久久久久久久| 电影蜘蛛女| 中文字幕按摩做爰| oVV4WIB3vFi8D| 激情5月婷婷| 久久性爱视频这里只有精品| 1999天天操夜夜操| 人妻AV在线| 六月婷婷六月天天在线免费| 国产美女无遮挡裸体毛片A片| 亚洲性爱AV| 五月叮香啪| 婷婷 伊人 久久| 亚洲熟妇无码乱子AV电影| 夜夜大香蕉婷婷丁香| 91se在线视频| 激情丰满熟妇五月| 99热官网| 天天操天天爱天天玩| 久久久久久99日本| 超碰人人99| 欧韩性爱| 色婷婷色丁香色欲av| 天天插天天射| 只有精品在线观看| αV电影| 色婷婷在线播放| 梁铮版蜘蛛女在线观看| 91精品视频男人的天堂| caop在线视频| www,婷婷五月天,com| 国产小网站| 丁香五月婷婷基地| 黄色激情五月天| 色色婷| 欧美性爱丁香五月| 色综合激情| 亚洲狠狠狠| 97久久超碰| 操B无码视频国语| 五月婷啪啪| 色欲日日躁| 色天堂在线| 亚洲亚洲人成综合网络| 99操免费视频| 婷婷五月精品中文| 狠狠色综合网| 久久婷婷五月天激情四射| 99热在线里有精品| 日本99在线视频| 亚洲网综合在线| 九月激情网| 开心婷婷五月中文字幕组| 久/久精品99看9| 人操91在线| 五月丁香六月婷| 日本久久性| 五月综合色播播丁香婷婷| 色色色色热热| 狠狠人妻色综合| 久久99草五月婷婷| 国外亚洲成AV人片在线观看| www狠狠| 婷婷丁香五月综合激情视频| 亚洲丁香五月深爱五月| 日韩综合网络男女香蕉a片| 91丁香婷婷综合久久欧美| 丁香六月婷婷| 26uuu亚洲| 久久久久久97| 超碰猛烈的性猛交| 婷婷五月天天天| 色婷婷五月天天天干天天操天天爽 | 91丁香五月| 六月色 亚洲| 亚洲字幕AV一区二区三区四区| 99色视频| 久久大香蕉| 五月玖玖| 色色色婷婷五月天| 99色五月| 狠狠人妻色综合| 五月丁香六月天| 丁香六月情| 天天综合网网欲色| 99久久大片| 亚洲婷婷成人五月天| 99热日本| 婷婷丁香激情五月| 激情综合网,婷婷五月天| 影音先锋女人av鲁色资源网小说免费 | 九九综舍久久| 99热天堂| 日韩性视频| 婷婷黄色| 91丨九色丨国产打屁股| 色婷婷综合久久久久| 五月天色综合| 国产人妻操逼| 一區四區歐美日韓| 啪啪激情网站| 久久小片| 99婷婷国产最新视频| 大香蕉婷婷五月| 综合色情网| 婷婷五月天成人网| 九九这里只有精品| 丁香五月婷婷天激情| AV片在线观看| 第四色网婷婷| 69热在线| 婷婷六月激情丁香| 日本色狠狠| 丁香婷婷九月| 婷婷激情五月综合| 色五月丁香五| 99久久.www| 久久多色| 四虎婷婷五月天| 五月天激情无码专区| 久久这里只有精品99| 九久9精品| 99热这里都是精品| 91窝窝| 五月婷婷av| 国产日批视频| 婷婷五月情天| 激情五月天色色网| 亚洲偷| 久久99精品久久久久久青青AR| 97精品在线| 深爱激情九九五月天| 五月天 另类图片| 久久婷婷网| 强壮的公次次弄得我高潮A片日本 | 九九婷婷热| 亚洲视频二区| www.热99热| www.黄色片-久久成人国产精品在线播放-999AV| www久久久| 免费黄网不卡AV| 亚洲天堂啪啪| 99人人操人人摸| 久操无码| 久久免费干| 性日本激情| 99热这里只有精品在线播放 | 丁香五月综合无码趴趴| 梁铮版《蜘蛛女侠》在线| 79色色| 成功精品影院| 日韩精品一品二区三区的使用体验| 熟女乱论网| 久热超碰91| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 大香蕉天堂| 五月天丁香久久综合 | 欧州色色| 成人做爰A片免费看网站找不到了| 综合九九久久| 青娱乐美女福利视频美臀| 欧美婷婷日本| 婷五月天| www.sezonghe| 五月丁香啪啪啪| 影音先锋一区二区三区| 婷婷五月天开心激情网| 国产成人精品一区二区三区视频| 丁香婷婷六月天| 丁香色五月天| 亚洲天堂色| 五月婷婷综合色啪| 丁香久久| 熟女激情网| 婷婷色五月天在线| 在线观看免费观看在线9久| 99re这里只有精品99| www.9797国产| 日本三级网址| 婷婷五月色播放| 999热在线观看视频| 狠狠操天天操天天操| 六月丁香五月天| 国产日韩av片| 欧美激情VA永久在线播放| 色婷婷在线视频观看| 99热精品9| 99在线精品视频| 99热这里只有精品268| 久9视频| 亚洲综合无码| 久久久久久久97| 久操干| 在线视频99| 色色色97| 伊人www22综合色| 玖玖午夜视频| 六月丁香综合| 久久九九爽| 亚洲色啪| 美女天天艹人人爽| 丁香五月综合| 亚洲AAA| 丁香五月狠狠在线观看| 99热色在线精品| 丁香五月色情av| 亚洲成人噜噜| 五月天婷婷激情在线色图| 人人干人人看| 九月激情综合| 九九视频这里只有精品| 五月天婷婷六月激情网| 亚州美女| 操射国产日本| 五月天停停日日| 激情丁香六月| 色婷婷91激情小说| 亚洲精品又粗又大又爽A片| 思思热热久久| 9久9久| 婷婷丁香在线| 婷婷五月天激情综合| 色色色激情网| 婷婷色六月| 96丁香六月婷婷蜜桃综合久久| 丁香五月天激情视频| 天天草婷婷五月| 丝雨一区二区| 天天操加勒比| 九九这里只这里只有精品| 色色色色色色色色色影院| 激情小说视频图片网| 久青操| 婷婷五月影院| 色五月婷婷久久| 粉嫩av蜜桃av蜜臀av| 婷婷丁香五月综合| 日日夜夜天天综合| 99碰碰| 色涩视频久久| 日韩精品999| 五月激情婷婷开心五月| AV在线不卡网站| 五月婷婷久久综合| 五月婷AV| 在线另类| 99久久天堂婷婷| 91色综合| 米奇影视五月天| 久热一本| 大香蕉视频婷婷| www.久久| 99国产在线| 日日日,com| 午夜日日| 亚洲精品V天堂中文字幕| 激情婷婷五月天| 五月丁香六月色情网欧美| 99热69| 大战熟女丰满人妻AV| 开心五月深爱五月| 色五月av伊人| 久天综合| 97丁香视频| 99re6在线视频精品免费| 啪色综合| 操射国产日本| 久热这里这里有精品| 香蕉伊人综合| 99五月香婷婷丁香在线视频| 日日干天天爽| 五月精品| 婷婷丁香五月亚洲| 五月激情视频网| 97碰在线| 丁香五月123| 五月美女婷婷风骚| 综合网色| 99啪啪| 国产精品色婷婷久久久精品| 日本va视频| 色五月无码| www九九| 99九九视频| 日本三级第一页| 99热在线观看| 婷婷久久综合| 婷婷视频网| 噜噜在线| 久久人妻乱| 欧美草久久五月天91| 少妇婷婷五月天| 亭亭丁香久久五月| 亚洲小视频免费播放| 综合激情五月婷婷| 99热久97| 91日综合欧美| 久久婷婷五月综合色天| 九九热视频精品999| 四LLL少妇BBBB槡BBBB| www久久99| 亚洲五月婷婷| 色播五月网| 大香蕉520| 欧美一级色| 色色五月天激情| 99久久久久久| 内射综合网| www.色综合.com| 亚洲碰碰碰| 婷婷激情六月综合| 日本在线视频播放91| 亚洲色图五月丁香| 99精品在线观看视频| 狠狠爱婷婷| 五月色婷婷影院| 婷婷伊人综合中文字幕| 五月色色色| 九九黄色网| 天天影院色| 激情小说五月天| 在线观看国产高清视频免费网站 | 激情性爱五月天| 一起草AV| 五月婷婷播| 婷婷日日天天| 日韩爱操视频| 日本99色| 99色性爰网络| 少妇高潮呻吟A片免费看软件| 99国产精品久久久久久久久久久| 亚洲乱码日产精品BD| 日本不卡高字幕在线2019| 99热 日韩| 国产色99| 久操婷婷| 狠狠操狠狠狠| 婷婷五月丁香在线视频| 成人综合视频在线| 久久这里有精品| 国产精品久久久久久久久久| 精品久久久中文字幕大豆网推荐理由| 五月停停大香蕉| 色婷亚洲五月丁香| 91婷婷| 九九婷婷五月天影视| 婷婷五月天激情文学| 99A级片| 精品一二三区久久AAA片| 9热在线| 9久国产| 六月丁香五月激情亚洲AV| 色婷五月天网站| 开心激情婷婷| 丁香五月性爱| 五月色婷婷夜色| 香蕉久久国产AV一区二区| 91视屏在线观看com.wwwvv| 美女丁香五婷婷| 亚洲日日日| 婷婷丁香色女人| 无码人妻激情| 天天狠狠色| 色综合久久88色综合天天99| 日本不卡高字幕在线2019| 丁香花婷婷五月天| 久久久妻人人人| 色爱五月天| 婷婷五月在线观看| 丁香五月 激情文学| 99视频色在线观看| 一级黄色尤物综合视频手机在线观看| 五月婷色| 日韩成人电泉AV| 色色色色热热| 成人va在线播放| 99re在线播放| 婷婷五月色影视先锋| 五月色丁香婷婷中文字幕| 日本婷婷在线| 久久丁香综合香蕉| 丁香婷婷色五月| AV性爱在线| 日本啪啪视频HD| www99精品| 情久久综合五月天| 国产做爰视频免费播放| 超级碰碰91| 2025年最新亚洲在线欧美| 丁香六月婷婷综合| 91精品婷婷国产综合| 伊人五月网| 欧美精品18| 91网站黄| 激情欧美丁香五月| 亚洲成人AV电影在线| 久久这里精彩免费在线观看| 久久精品人妻| 97成人在线视频| 色插综合网| 天天爽天天日| 91成人看片| 五月天婷婷激情在线色图| 国产看真人毛片爱做A片| 另类专区在线观看| 97五月久久丁香婷婷| 国产综合A片| 26uuuu精品一区二区| 亚洲中文字幕av| 成人av在线电影| www.9797国产| 色九九丁香九月色九九色| 66精品成人免费网站在线观看| 无码人妻精品一区二区蜜桃色欲| 九九無碼| 久热九九| 久久五月丁香婷婷| AV操逼网| 另类图片激情五月| 99国产精品久久久久久久久久久| 婷婷五月天大香蕉在线视频观看| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 99久久99久久综合| 国产韩日亚洲美州欧亚综合在线| 丁香大香蕉| av网址在线| 五月丁香久久综合| 91色在线/日韩| 婷婷伊人久久| 97在线视频人妻九色| 熟女网站久久| 欧美在线看| 久久人人超| 久久停停超碰| 激情五月天在线视频| 99久热| 97人人干人人操| 热久久77777| 年轻的妺妺伦理HD中文| 天天干夜夜b| 国产av天天插天天操天天爽| 久久这里有精品在线观看| 婷婷D区| 婷婷五月噜噜| 九月婷婷在线观看| 久操97| 综合久| 国产免费一区二区在线A片视频| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 五月丁香婷婷激情在线| 超碰只有精品在线| 亚洲性色XXXXX| 久久天堂女人| 国产婷婷综合在线免费视频| 色五月婷婷av| 色色热| 深爱五月最新网址| 玖玖99精品视频| 伊人久久婷婷| 色噜噜狠狠色综合日日免费| 99re欧美精品| 野战毛片三一3| 狠狠色狠狠| 九九在线视频| 综合深爱五月| 夜夜爱影院| 亭亭玉月丁香| 色性日本| 色九亚洲| 日本人妻A片成人免费看片| 开心激情站婷婷五月天| 综合色色综合| 桃色五月天| 国产资源91在线| 99热在线精品播放| 风流少妇A片一区二区蜜桃| 开心五月天激情网站| 99久久www| 国产精品天天狠天天看| 色综合激情| 狠狠综合网| 色欲五月丁香| 97久久久久| 丁香久久五月天视频在线观看| 五月丁香最新| 五月丁香综合| 五月天开心婷婷激情网站| 天天久久66xxx| 99久久久精品| 欧美色五月| 婷婷免费视频| 欧日韩AV| 丁香五月天激情四射网| 亚洲人妻av| 综合网啪| 婷婷五月综合在线视频| 日本婷久久| 亚洲精品一二三| 五月天大香蕉| 婷婷久久亚洲| 99热无码精品| 婷婷五月天久久综合88| 最近中文字幕2019视频1| 丁香五月激情啪| 久热精品视频| 蜘蛛女免费观看完整版高清电影| 91亚洲天堂| 大战熟女丰满人妻AV| 亚洲成人影视在线观看| 九九视频这里有精品| 丁香综合伊人| 久久色五月| 丁香五月天社区婷婷| JAPANRCEP老熟妇乱子伦视频| 99九九在线精品热动漫| 99热成人在线观看| 婷婷舔| 97在线视频观看| 久久9热| 欧美三级大片AA在线看| 亚洲妇女熟BBW| 成人丁香五月天| 五月丁香色婷婷久久| 激情五月综合网最新| oumeisesewang| www久久99| 91狠狠色色丁香婷婷综合久久| 97男人天堂| 草草女人亚洲| 成人视频网| 99热免费| 九九久久网| www.婷婷亚洲基地| 99只有精品| 五月丁香淫淫婷婷婷| 五月婷丁香亚洲| 俺五月| 99re在线观看视频| site:hcxsz888.com| 色99日韩| www98日本小时间到了| 啪啪操操| 五月婷婷丁香六月 | 久99热| 青青草原99热| 色欲五月婷婷| 五月色天五月色| 五月婷婷五月天天| 丁香五月深爱五月婷婷| 六月丁香射婷婷欧美色图片 | 色亭亭五月天丁香综合AV - 百度 - 百度| 毛片新网地| 五月色俺婷婷| 久久这里只有欧美| 日本 @ va 免费| 噜噜久| 九九婷婷五月天| 五月天婷婷综合免费| 欧美图片丁香五月天| 婷婷综合网性| 日韩一级A片黄色| 91色逼| 99爱爱| 99在线观看视频免费| 激情啪啪五月天| 色丁香在线视频| 五月天激情久色| 五月丁香婷婷俺| 五月天色丁香| www.五月婷婷.com| 国产亚洲在线| 丁香五月天视频| 成人午夜天| 五月婷婷综合在线视频| 色色色色色综合| 日韩人妻在线观看| 噜噜噜噜噜在线| 丁香五月婷婷姐| 天天看夜夜看| 天天操天天曰| 五月丁香婷草| 成功精品影院| 一本色综合色| 另类丁香综合| 五月丁香另类图片| 婷婷激情综合无月| 久8色色| 色色五月天丁香婷婷| 色综合五月| 激情综合网激情五月婷婷| 五月丁香六月婷婷综合| 在线成人网址| 天天干天天日天天插 | 色色色综合色| 五月婷高清视频| 99这里只有精品|v| 丁香五月性| 国产黄色在线| 天堂综合久久| 99在线视频免费| 丁香五月激情在线| 99色在线观看| 五月婷久久久久综合| 色综合丁香婷婷| 色天天综合色| 六月色婷婷| 丁香五月激情综合| 密视AV综合在线| 99re最新地址视频| 五月天激情啪啪| 五月婷婷六月丁香| 亚洲人操亚洲人| 99色网站| 精品三区影院| 开心五月婷婷激情| 五月天另类小说久久小说网| 91viP在线看| 六月久久狠狠| 天天爽天天| 亚洲激情五月| 亚洲综合丁香五月| 99碰网站| 婷婷丁香色五月天| 色播综合| 色五婷婷开心缴| 99啪视频在线观看| 亚洲国产99| 日本三级色| 丁香婷婷偷拍| 亚洲综合色色| 97sese婷婷| 亚洲开心激情网| 秋霞性爱AV| 日韩AV在线电影| 五月丁香拍拍激情综合| 91超级碰在线视频| 久久久久久9热不雅视频| 六月亚洲婷婷6月中文字幕| 99国产精品久久久久久久久久久 | 久草婷婷在线| 性色欲情 网站| 激情九九六月激情免费视频| 一级片操逼视频| 亚洲精品网站色视频| 神马欧美精| 亲子乱AV-区二区三区| 五月色 亚洲| 五月天播播| 色久女| 五月天桃色深爱网| a性生活久久无| 色色色综合视频| 超碰成人免费| 一区二区免费看| 思思热AV| 日日夜夜亚洲一区| 99aese| 99国产精品久久久久久久久久久 | 五月天婷婷综合色| 色婷丁香五月| 丁香色婷婷| 色噜噜狠狠色综合成人网| 色播播五月| 九月婷婷激情久久| 久久丁香久久| 丁香五月狠狠在线观看| 久草五月天电影网| 五月综合色| 婷婷97狠狠干| 97综合在线| 丁香婷婷综合精品六月初| 91精品91久久久中77777| 大香蕉伊人99| 97在线综合| 久久婷婷内射| 欧美日韩成人一区二区| 97亚洲婷婷| 五月丁香婷草| 91丨九色丨熟女| 色婷婷97| 任你爽视频| 99综合网| 婷五月天在线草| 亚洲亚洲人成综合网络| 五月综合777| 五月丁香婷婷伊人| 婷婷五月激情视频| 婷婷综合在线视频| 成人色图情色成人网 www.5b5b5bcom 五月天| 五月天堂色色|