免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

context-mode實(shí)戰(zhàn):從CLI工具到LLM會話的上下文管理設(shè)計(jì)

context-mode實(shí)戰(zhàn):從CLI工具到LLM會話的上下文管理設(shè)計(jì) 我記得很清楚第一次意識到上下文重要性的場景是在寫一個(gè)小型終端助手的時(shí)候。這個(gè)工具需要用戶連續(xù)完成幾步操作先選擇數(shù)據(jù)源再指定處理方式最后輸出報(bào)告。但每次命令跑完它就什么都不記得了用戶下一步如果漏掉某個(gè)參數(shù)只能重新敲一遍。那一刻我意識到?jīng)]有上下文的工具就像一個(gè)每次都重新認(rèn)識你的柜臺服務(wù)員你不得不一遍遍重復(fù)自己的需求。context-mode就是為解決這類問題設(shè)計(jì)的。簡單來說它是一種讓軟件在多次操作或多次會話之間自動保存、讀取并利用歷史上下文信息的運(yùn)行模式。它解決的問題很具體減少重復(fù)輸入、保持操作連續(xù)性、讓程序能根據(jù)之前發(fā)生了什么做出更合理的判斷。如果你是做CLI工具、自動化腳本、編輯器插件或者自己在折騰AI助手相關(guān)的東西這篇文章值得看完——我會從設(shè)計(jì)思路講到代碼實(shí)現(xiàn)再分享實(shí)測中踩過的三個(gè)坑。1. context-mode是什么先從一次尷尬的失憶說起1.1 沒有上下文的世界你每天都在重復(fù)填表先想想你平時(shí)用的命令行工具尤其是那些要傳一堆參數(shù)的工具。比如一個(gè)數(shù)據(jù)遷移腳本你可能要寫成這樣python migrate.py --source /data/old --target /data/new --format csv --encoding utf-8如果跑到一半掛了或者你想換個(gè)格式再跑一次你大概率會把這條命令翻出來改一改或者按一下上箭頭重新編輯。這在單次操作里問題不大但如果是連續(xù)幾十條命令呢比如你要依次做預(yù)處理、清洗、校驗(yàn)、導(dǎo)入、導(dǎo)出每一步都要重復(fù)指定路徑、編碼、分隔符時(shí)間一長忘參數(shù)幾乎是必然的。沒有上下文的世界本質(zhì)上是把本該由程序記住的信息全壓在了用戶身上。這就像你每天去同一個(gè)快遞點(diǎn)取件每次都報(bào)一遍姓名、電話、地址??爝f點(diǎn)的工作人員不是不想記住你而是他的系統(tǒng)沒這個(gè)能力。context-mode要做的就是給程序加上這個(gè)記憶能力。1.2 context-mode的定位讓工具記住剛才發(fā)生了什么那么context-mode具體指什么我傾向于給它一個(gè)精確的定義一種運(yùn)行模式在這種模式下程序會將用戶當(dāng)前的操作、輸入?yún)?shù)、選中項(xiàng)、臨時(shí)狀態(tài)等信息記錄下來并在后續(xù)操作中自動讀取和套用從而形成連續(xù)的操作體驗(yàn)。它和普通的日志、緩存有本質(zhì)區(qū)別。日志是寫給開發(fā)者調(diào)試用的緩存是為了加速重復(fù)讀取而context-mode關(guān)心的是語義上的連續(xù)性。舉個(gè)例子你在一個(gè)文件管理器里選中了一個(gè)文件然后準(zhǔn)備執(zhí)行壓縮操作——壓縮工具預(yù)先把當(dāng)前選中了哪個(gè)文件這個(gè)信息記下來這就是上下文。再比如AI聊天助手它能記得你五分鐘前問過什么這個(gè)記得就是上下文模式在起作用。我見過的context-mode實(shí)現(xiàn)有很多種形態(tài)基于會話服務(wù)器端為每個(gè)連接維護(hù)獨(dú)立上下文比如SSH會話。基于項(xiàng)目目錄進(jìn)入某個(gè)項(xiàng)目目錄后自動加載該項(xiàng)目相關(guān)的偏好設(shè)置?;谌钟脩艏墑e的默認(rèn)配置任何地方都能訪問。基于時(shí)間窗口只記錄最近N分鐘或N條操作形成滾動上下文。這里面的核心難點(diǎn)不是記錄數(shù)據(jù)而是決定哪些數(shù)據(jù)值得記錄、什么時(shí)候該遺忘、上下文沖突時(shí)怎么處理。1.3 什么場景真正需要它三個(gè)最典型的應(yīng)用場景我在實(shí)際項(xiàng)目里總結(jié)出三類最需要context-mode的場景你可以對照自己的需求來判斷。第一類是多步驟CLI工具。我之前寫過一個(gè)批量圖片處理工具包含導(dǎo)入、去重、壓縮、重命名、導(dǎo)出五個(gè)步驟。如果每一步都要求用戶重新輸入輸入目錄、輸出目錄、質(zhì)量參數(shù)用起來會非常痛苦。加上context-mode之后用戶只需要在第一次運(yùn)行時(shí)提供完整參數(shù)后續(xù)跑任何單步操作都會自動帶上省事很多。第二類是IDE和編輯器插件。比如你正在編輯一個(gè)Python文件然后按下快捷鍵跳到一個(gè)工具函數(shù)定義處改完之后返回原來的位置——編輯器記住了你剛才在哪里。這種上下文記錄已經(jīng)非常普遍了我們在做插件開發(fā)時(shí)也常常需要記錄光標(biāo)位置、當(dāng)前文件路徑、最近打開的文件列表這就是一種典型的window-level context。第三類是AI助手的連續(xù)對話。當(dāng)前所有主流AI對話產(chǎn)品都在做上下文管理因?yàn)榘颜螝v史全部塞給模型既浪費(fèi)tokens又會超出模型的上下文窗口。實(shí)際工程中我們往往需要保留最近幾輪對話而對更久之前的內(nèi)容做摘要或裁剪。這個(gè)保留多少、裁剪多少的策略本質(zhì)上是context-mode的策略選擇。除此之外運(yùn)維自動化、構(gòu)建系統(tǒng)、數(shù)據(jù)管道調(diào)度等領(lǐng)域也大量依賴上下文。判斷一個(gè)系統(tǒng)適不適合引入context-mode我有個(gè)簡單的經(jīng)驗(yàn)如果你發(fā)現(xiàn)使用者在反復(fù)輸入或反復(fù)選擇相同的信息并且這些信息跟上一次操作強(qiáng)相關(guān)那這個(gè)系統(tǒng)就值得改造。2. 設(shè)計(jì)一個(gè)合理的上下文模型數(shù)據(jù)結(jié)構(gòu)和生命周期2.1 上下文粒度全局、會話、項(xiàng)目三層的取舍在動手寫代碼之前必須先想清楚上下文數(shù)據(jù)要分成幾層。如果不分層所有數(shù)據(jù)混在一起很快就會出現(xiàn)張三的項(xiàng)目配置被李四帶走了這種問題。我在context-mode項(xiàng)目里設(shè)計(jì)了三個(gè)層級非常夠用層級作用范圍典型內(nèi)容生命周期global當(dāng)前用戶所有操作用戶名、默認(rèn)編輯器、常用路徑長期保留session一次工具進(jìn)程的運(yùn)行周期當(dāng)前打開的臨時(shí)文件、臨時(shí)的token會話結(jié)束即刪除project當(dāng)前項(xiàng)目/工作目錄項(xiàng)目根路徑、依賴目錄、構(gòu)建命令項(xiàng)目存在期間這套設(shè)計(jì)解決了兩個(gè)關(guān)鍵問題。一個(gè)是隔離性不同項(xiàng)目的上下文不會互相污染即使是同一個(gè)工具在項(xiàng)目A和項(xiàng)目B下會自動加載各自的設(shè)置。另一個(gè)是時(shí)效性session里的狀態(tài)本來就該用完即焚比如某次登錄產(chǎn)生的臨時(shí)憑證如果放到了global里那就是給自己埋雷。有人可能會問為什么不做成數(shù)據(jù)庫表用外鍵關(guān)聯(lián)我的答案是對于大部分工具型項(xiàng)目三層結(jié)構(gòu)用嵌套字典就夠了。數(shù)據(jù)庫適合海量數(shù)據(jù)檢索而context數(shù)據(jù)通常單用戶、低并發(fā)、量也不大用樹狀結(jié)構(gòu)反而更直觀調(diào)試時(shí)候一眼就能看到當(dāng)前上下文里有什么。2.2 持久化選型為什么用JSON加內(nèi)存兩級緩存確定層級結(jié)構(gòu)后接下來要考慮數(shù)據(jù)存哪。我先說結(jié)論我采用了內(nèi)存字典做熱存儲 JSON文件做冷持久化的組合而不是直接上SQLite。內(nèi)存字典的好處是快讀寫都在納秒級適合高頻訪問。JSON文件的好處是方便調(diào)試——你可以直接用vim或cat打開來看如果用了SQLite還得裝個(gè)客戶端才能查。對于context-mode這種偏工具性質(zhì)的組件易調(diào)試比查詢性能重要得多。具體做法是啟動時(shí)把JSON文件加載進(jìn)內(nèi)存形成一個(gè)三層嵌套字典。每次set操作先更新內(nèi)存再決定是否寫盤。寫盤不能每次set都做否則高頻操作時(shí)IO會成為瓶頸。我的做法是做一個(gè)臟標(biāo)記在程序退出、或者每隔一段時(shí)間批量落盤。下面是我最初的存儲結(jié)構(gòu)設(shè)計(jì)示意{ global: { default_editor: vim }, session: { login_time: 1700000000 }, project: { /home/user/myapp: { build_command: make, last_output: Build OK } } }這里把project的鍵設(shè)計(jì)成了項(xiàng)目絕對路徑天然實(shí)現(xiàn)了項(xiàng)目級隔離。后來又發(fā)現(xiàn)一個(gè)細(xì)節(jié)值得注意路徑里可能含有特殊字符所以我在加載時(shí)對路徑做了規(guī)范化處理去掉末尾斜杠、解析符號鏈接避免同一個(gè)項(xiàng)目因?yàn)槁窂綄懛ú煌霈F(xiàn)兩個(gè)上下文副本。2.3 上下文有效期過期策略與自動清理機(jī)制上下文不是無限堆積的否則用戶會發(fā)現(xiàn)三個(gè)月前的一次操作記錄還影響了今天的執(zhí)行結(jié)果這反而變成了一種困擾。我設(shè)計(jì)的過期策略是給每條上下文數(shù)據(jù)附加元信息{ value: data, created_at: 1700000000, updated_at: 1700000000, ttl: 3600 }created_at和updated_at分別記錄創(chuàng)建時(shí)間和最后更新時(shí)間。ttl是存活時(shí)間秒例如3600表示1小時(shí)后過期。讀取時(shí)如果now - updated_at ttl就認(rèn)為這條數(shù)據(jù)已過期不返回給調(diào)用方。這里我要強(qiáng)調(diào)一個(gè)容易犯的錯(cuò)很多人把TTL只寫在層級上比如整個(gè)session層1小時(shí)過期這會引發(fā)連鎖問題——一個(gè)長任務(wù)可能只需要某些字段長期有效但整個(gè)層級過期會把它一并殺掉。正確的做法是字段級TTL不同字段可以單獨(dú)指定有效期。比如當(dāng)前登錄用戶可以永久上次選中的文件只需要5分鐘。清理機(jī)制我用的是惰性刪除 定期掃描雙保險(xiǎn)。惰性刪除是在get時(shí)發(fā)現(xiàn)過期就順便刪掉定期掃描是每隔10分鐘把過期數(shù)據(jù)批量清掉避免臟數(shù)據(jù)堆積占內(nèi)存。這樣既保證實(shí)時(shí)性又不至于每次操作都觸發(fā)大量刪除。3. 動手實(shí)現(xiàn)一個(gè)可用的context-mode模塊Python版3.1 核心類設(shè)計(jì)ContextManager的接口定義設(shè)計(jì)完成后實(shí)現(xiàn)階段需要用代碼把想法固定下來。這一節(jié)我用Python來寫一個(gè)可直接運(yùn)行的context-mode模塊語言無關(guān)性很好你換成Go、Node.js也是一樣的思路。先定義核心類的接口。我習(xí)慣先寫注釋再寫實(shí)現(xiàn)因?yàn)檫@樣能逼自己把接口想清楚import json import os import threading import time from pathlib import Path class ContextManager: Manage context data at global/session/project levels with TTL support. def __init__(self, storage_path): self.storage_path Path(storage_path) self._lock threading.Lock() self._context {global: {}, session: {}, project: {}} self._load() def _load(self): if self.storage_path.exists(): with open(self.storage_path, r, encodingutf-8) as f: loaded json.load(f) self._context.update(loaded) def set(self, level, key, value, ttlNone): Set a value in the given level. level: global | session | project key: string key value: any JSON-serializable value ttl: optional time-to-live in seconds with self._lock: meta { value: value, created_at: time.time(), updated_at: time.time(), ttl: ttl, } self._context.setdefault(level, {})[key] meta def get(self, level, key): Get a value. Return None if key doesnt exist or is expired. with self._lock: meta self._context.get(level, {}).get(key) if meta is None: return None if meta[ttl] is not None: if time.time() - meta[updated_at] meta[ttl]: del self._context[level][key] return None return meta[value] def save(self): Persist current context to disk. with self._lock: tmp_file self.storage_path.with_suffix(.tmp) with open(tmp_file, w, encodingutf-8) as f: json.dump(self._context, f, ensure_asciiFalse, indent2) tmp_file.replace(self.storage_path)這個(gè)類雖然只有幾十行但已經(jīng)包含了最核心的能力設(shè)置、讀取、過期判斷、落盤。其中save用了一個(gè)臨時(shí)文件加原子替換的技巧避免直接寫原文件時(shí)如果程序崩潰導(dǎo)致文件損壞。這是一個(gè)我踩過坑后的經(jīng)驗(yàn)后面第4節(jié)還會詳細(xì)說。3.2 一個(gè)簡單的CLI集成示例從保存到讀取光有類還不夠我把它集成進(jìn)一個(gè)真實(shí)的CLI場景來演示。假設(shè)我們要做一個(gè)圖片壓縮工具壓縮之前需要用戶指定輸入目錄和質(zhì)量參數(shù)。我用argparse來解析命令命令行沒有提供時(shí)就從上下文讀取import argparse from pathlib import Path ctx ContextManager(~/.myapp/context.json) def require_dir(arg_valueNone): Return provided arg value, or read from context if available. if arg_value: ctx.set(project, input_dir, arg_value) return arg_value cached ctx.get(project, input_dir) if cached: return cached raise SystemExit(請輸入輸入目錄或者先設(shè)置過context-mode) if __name__ __main__: parser argparse.ArgumentParser() parser.add_argument(--input-dir, defaultNone) parser.add_argument(--quality, typeint, defaultNone) args parser.parse_args() input_dir require_dir(args.input_dir) quality args.quality if quality is None: quality ctx.get(project, quality) or 85 ctx.set(project, quality, quality) ctx.save() print(f開始壓縮輸入目錄{input_dir}質(zhì)量{quality})注意require_dir的設(shè)計(jì)如果用戶傳了新參數(shù)就會更新上下文如果沒傳就嘗試從上下文取值。這就是context-mode的核心體驗(yàn)——今天少敲幾個(gè)參數(shù)明天少敲更多越用越順手。3.3 代碼走讀關(guān)鍵的邊界條件處理這幾十行代碼里有幾個(gè)邊界條件是實(shí)際跑起來之后才會發(fā)現(xiàn)的。第一個(gè)是存儲路徑的擴(kuò)展符處理。Path(~/.myapp/context.json)在Python中不會自動展開波浪號必須調(diào)用Path.expanduser()。我在最初版本里漏了這一步導(dǎo)致一直找不到文件后來排查了很久。正確寫法是self.storage_path Path(storage_path).expanduser()第二個(gè)是過期數(shù)據(jù)在get之后才刪除。我的實(shí)現(xiàn)里如果get時(shí)發(fā)現(xiàn)TTL過期會先把數(shù)據(jù)刪掉再返回None。但如果在刪除之前另一個(gè)線程正好也在讀同一個(gè)key就會出現(xiàn)競態(tài)。我在get外層加了線程鎖這就是_lock的作用。不過對單文件來說這個(gè)鎖只在進(jìn)程內(nèi)有效如果多個(gè)進(jìn)程同時(shí)讀寫同一個(gè)JSON文件還需要加文件鎖這個(gè)坑我第4節(jié)會專門講。第三個(gè)是set的值必須可JSON序列化。如果你存了個(gè)自定義對象json.dump時(shí)會直接拋TypeError。更隱蔽的是如果存的是tuplejson會把它變成list下次讀出來類型就變了。如果想保留類型信息必須在set時(shí)做轉(zhuǎn)換檢查。我在實(shí)際項(xiàng)目中加了這樣一個(gè)斷言def _ensure_json_serializable(self, value): try: json.dumps(value) except TypeError: raise TypeError(f值 {value} 無法序列化為JSON)這些邊界條件看起來不復(fù)雜但往往就是能用和好用之間的差距。4. 實(shí)測中的坑與排查過程數(shù)據(jù)覆蓋、過期混亂和隱私泄漏4.1 坑一并發(fā)寫入導(dǎo)致上下文互相覆蓋代碼看起來沒問題的部分一上實(shí)測就暴露了第一個(gè)大坑。我的工具支持并行處理多個(gè)任務(wù)于是會同時(shí)跑多個(gè)進(jìn)程每個(gè)進(jìn)程都會調(diào)用ctx.save()結(jié)果經(jīng)常出現(xiàn)進(jìn)程A把上下文寫到一半進(jìn)程B也寫過來了最終文件里數(shù)據(jù)錯(cuò)亂甚至JSON解析直接失敗。排查過程是這樣的我先檢查了代碼里的線程鎖_lock發(fā)現(xiàn)它只能鎖住當(dāng)前進(jìn)程內(nèi)的線程進(jìn)程之間完全不管用。兩個(gè)進(jìn)程同時(shí)執(zhí)行tmp_file.replace(self.storage_path)時(shí)雖然臨時(shí)文件是各自獨(dú)立的但替換操作本身不是原子的關(guān)聯(lián)操作集合——A替換成功B替換成功后面的覆蓋了前面的無法合并。解決辦法是讓進(jìn)程間也能串行化。我引入了一個(gè)簡單的文件鎖基于操作系統(tǒng)層面的fcntlimport fcntl def save(self): with open(self.storage_path, a) as lock_file: fcntl.flock(lock_file.fileno(), fcntl.LOCK_EX) # 原子寫入內(nèi)容 with open(tmp_file, w, ...): json.dump(...) tmp_file.replace(self.storage_path) fcntl.flock(lock_file.fileno(), fcntl.LOCK_UN)但這里還有個(gè)微妙的問題鎖的競爭粒度是整個(gè)文件的寫入如果多個(gè)進(jìn)程同時(shí)修改的是不同層級的數(shù)據(jù)理論上是可以合并的。我圖省事直接全文件互斥了實(shí)測下來因?yàn)閏ontext本身寫得不頻繁性能損失可以忽略。如果你的項(xiàng)目寫得很頻繁就需要把鎖粒度細(xì)化到字段級。4.2 坑二單字段過期機(jī)制導(dǎo)致的連鎖混亂第二個(gè)坑是在我加字段級TTL之后才浮現(xiàn)的。最初版本我把TTL放到了level層級也就是session層整體2小時(shí)過期。后來改成字段級TTL后我發(fā)現(xiàn)一個(gè)新的問題決定是否過期的時(shí)間基準(zhǔn)有問題。一開始我給的邏輯是now - created_at ttl就過期但這有個(gè)反例用戶在一個(gè)長任務(wù)的剛開始設(shè)置了待處理文件列表這個(gè)列表的created_at是一個(gè)小時(shí)前但任務(wù)還沒跑完。按created_at算它已經(jīng)過期了可實(shí)際上它一直被正常使用著。后來我改成now - updated_at ttl每次get命中就刷新updated_at這樣只要這個(gè)字段還在被持續(xù)使用它就會一直存活。這個(gè)邏輯目前驗(yàn)證下來比較合理但它也有代價(jià)一個(gè)長期不用的上下文永遠(yuǎn)不會被徹底清掉因?yàn)槊看蝕et都會給它續(xù)命。所以我加了一個(gè)上限當(dāng)now - created_at超過某個(gè)最大值比如7天時(shí)強(qiáng)制認(rèn)為過期防止數(shù)據(jù)無限膨脹。實(shí)際排查過程中我用了一段腳本模擬了反復(fù)讀取同一個(gè)舊字段的情況確認(rèn)了updated_at確實(shí)被刷新也發(fā)現(xiàn)了created_at一直沒變。這類問題只有在把預(yù)期行為和實(shí)際行為對照著看才容易暴露單純看代碼很難發(fā)現(xiàn)。4.3 坑三上下文日志里存了不該存的密鑰第三個(gè)坑比較嚇人。我在調(diào)試context-mode時(shí)經(jīng)常打印整個(gè)上下文看看數(shù)據(jù)對不對有一次發(fā)現(xiàn)打印內(nèi)容里包含了用戶臨時(shí)輸入的數(shù)據(jù)庫密碼。最開始沒在意覺得反正本地開發(fā)后來才意識到一旦這個(gè)模塊被集成到線上的自動化腳本里并且開啟debug日志就等于把密鑰明文寫到了日志文件里如果日志被上傳到日志中心那就是事故。修復(fù)方案是加一個(gè)脫敏層。具體在打印和序列化時(shí)需要識別常見的敏感字段名SENSITIVE_KEYS {password, secret, token, api_key} def safe_dump(data): if isinstance(data, dict): return {k: (*** if k.lower() in SENSITIVE_KEYS else safe_dump(v)) for k, v in data.items()} if isinstance(data, list): return [safe_dump(i) for i in data] return data然后把所有對外輸出改成走safe_dump底層的存量數(shù)據(jù)保持原樣。這里關(guān)鍵在于展示層脫敏存儲層不脫敏——如果你把存儲層的值都改了那后續(xù)需要用真實(shí)密碼時(shí)就會出錯(cuò)。這個(gè)坑給我一個(gè)更深的教訓(xùn)context-mode這類工具天然就是什么數(shù)據(jù)都往里塞的類型所以必須在設(shè)計(jì)階段就明確哪些數(shù)據(jù)碰都不能碰對于高敏感數(shù)據(jù)寧可完全不放進(jìn)去。4.4 修復(fù)后的驗(yàn)證方案我是怎么確認(rèn)問題真解決的修完三個(gè)坑之后我整理了一組回歸測試用例專門用來驗(yàn)證context-mode模塊的穩(wěn)定性。這組用例現(xiàn)在被我放在項(xiàng)目的tests目錄下每次改動后都會跑一遍并發(fā)測試同時(shí)啟動8個(gè)進(jìn)程每個(gè)進(jìn)程往context里寫入不同的key重復(fù)100輪最后檢查JSON文件里是否所有key都完整存在。過期測試創(chuàng)建一條TTL為1秒的數(shù)據(jù)sleep 1.2秒后讀取確認(rèn)返回None并且該key從存儲中刪除。隱私測試用一個(gè)包含了password的假上下文跑一次打印確認(rèn)輸出中對應(yīng)字段是***。邊界測試key名稱為空字符串、value為None、value為中文和帶Unicode的字符都要能正常寫入和讀取。這些測試全部通過的時(shí)候心里才踏實(shí)下來。尤其是并發(fā)測試第一次跑就失敗后來加上進(jìn)程鎖才通過那種測試救了一命的感覺寫代碼的人都懂。5. 從context-mode到智能化在LLM會話場景中的擴(kuò)展5.1 把context-mode用在大模型交互上滑動窗口和摘要搞定了基礎(chǔ)模塊之后我把它用在了另一個(gè)更貼近當(dāng)前熱點(diǎn)的場景大語言模型LLM會話的上下文管理。很多人問為什么AI聊天工具不能無限記住所有對話核心原因就是上下文窗口有上限。context-mode在這里的價(jià)值是可以設(shè)計(jì)一種滑動窗口 摘要的組合策略。具體做法是維護(hù)一個(gè)會話歷史列表新消息不斷加入。當(dāng)列表長度超過N條或者總token數(shù)超過閾值時(shí)我們?nèi)∏懊嫒舾蓷l消息做一次摘要然后把摘要作為一個(gè)新的系統(tǒng)消息再丟掉最老的消息。這樣實(shí)際上形成了一種滾動上下文。我把這個(gè)邏輯復(fù)用了之前的ContextManager只是在session層里存了一個(gè)chat_historyMAX_HISTORY 10 def append_message(role, content): history ctx.get(session, chat_history) or [] history.append({role: role, content: content}) if len(history) MAX_HISTORY: old_part history[:-MAX_HISTORY // 2] recent_part history[-MAX_HISTORY // 2:] old_text \n.join(f{m[role]}: {m[content]} for m in old_part) summary llm_summarize(old_text) # 調(diào)用模型生成摘要 ctx.set(session, chat_summary, summary) ctx.set(session, chat_history, recent_part) else: ctx.set(session, chat_history, history)這套方案的關(guān)鍵是摘要的更新時(shí)機(jī)。如果每來一條新消息就跑一次摘要成本太高我的經(jīng)驗(yàn)是等舊部分累計(jì)超過閾值時(shí)再整體生成一次摘要。另外要注意摘要本身也應(yīng)該有TTL因?yàn)樗4娴氖菚挼呐R時(shí)狀態(tài)會話結(jié)束或被新摘要替代后就不再需要了。5.2 后續(xù)還能怎么擴(kuò)展共享上下文、權(quán)限控制、可視化調(diào)試現(xiàn)在這個(gè)context-mode模塊已經(jīng)能穩(wěn)定運(yùn)行了但還談不上完善。我自己整理了三個(gè)明確的擴(kuò)展方向如果你也在做類似項(xiàng)目可以參考。第一個(gè)方向是共享上下文。目前每個(gè)用戶各自維護(hù)一份context文件如果想在團(tuán)隊(duì)里共享項(xiàng)目級上下文就需要引入同步機(jī)制。我的初步思路是給每條context記錄加一個(gè)owner字段拉取時(shí)先檢查權(quán)限只返回自己有權(quán)限的部分。這樣可以做到項(xiàng)目組共享構(gòu)建參數(shù)個(gè)人私有配置不泄露。第二個(gè)方向是權(quán)限控制。這跟上面的共享是配套的。context里往往包含敏感信息比如數(shù)據(jù)庫連接串、臨時(shí)密鑰。改造方向是在set/get的接口中加入一個(gè)權(quán)限校驗(yàn)層按照用戶角色判斷當(dāng)前操作是否被允許。最簡單的實(shí)現(xiàn)是建一個(gè)權(quán)限表每個(gè)key對應(yīng)一個(gè)可訪問的角色列表復(fù)雜一點(diǎn)的方向是做成與現(xiàn)有SSO/身份系統(tǒng)對接。第三個(gè)方向是可視化調(diào)試。前端工程師調(diào)試時(shí)最想看的是上下文樹的實(shí)時(shí)變化。我已經(jīng)用Python做了個(gè)簡單的Web頁面把ContextManager暴露成一個(gè)HTTP接口用WebSocket推送變更事件界面上能看到global/session/project三層的數(shù)據(jù)新增、過期、刪除。這個(gè)擴(kuò)展對排查為什么某次操作行為異常特別有用因?yàn)槟隳芸吹匠绦虻降子涀×耸裁础0裞ontext-mode從一個(gè)小模塊擴(kuò)展成完整的上下文管理框架這條路其實(shí)很長。但至少起步階段的方向是清晰的先保證數(shù)據(jù)結(jié)構(gòu)合理再確保并發(fā)安全最后再往智能化和協(xié)作方向走。我在實(shí)際項(xiàng)目中體會最深的一點(diǎn)是context-mode看起來像是個(gè)不起眼的輔助功能但對用戶體驗(yàn)的提升是實(shí)實(shí)在在的。它讓工具從一個(gè)每次都要重新認(rèn)識你的陌生人變成了記得你習(xí)慣的同事。開發(fā)過程中踩過的這三個(gè)坑——并發(fā)覆蓋、過期混亂、隱私泄漏——幾乎每一個(gè)都值得單獨(dú)寫篇文章但總結(jié)下來核心原則也就三條上下文要分層、過期要按字段、敏感要脫敏。記住這三點(diǎn)你也能做出一個(gè)穩(wěn)定好用的context-mode。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久草热久草在线视频| 伊人影音无码一区二区三区| 性色婷婷| 色丁香在线视频| 99热97美女| 九九久热| 好吊丝aV| 天天色天天搡| 97超级操操| 99自拍视频网站| 国产 亚洲 在线| 日本va欧美va国产激情| 婷婷五月天六月丁香| 五月香婷婷| 99噜噜噜在线播放| 婷婷久久久久| 亚洲春色奇米影视| 成人版视频在线观看| 色色激情五月天| 亚洲乱码日产精品BD在线观看| 五月激情基地| 天天搞夜夜爽夜夜爽| 狠狠操狠狠色| 伊人综合网站| 亚洲欧洲另类| 国产精品视频免费看| 99热这里只有99| 久久色吧| 99艹精品在线观看| 国产精品国产成人国产三级| 激情五月六月婷婷| AV在线免费播放| 婷婷五月六月丁香综合| 免费无码毛片一区二区A片| 丁香五月天啪啪激情综和网| 综合激情网五月激情| 69久热| 99色综合| 色色99| 日本久久人| 婷婷久久国产视频| 丁香五月天天| 综合五月天亚洲婷婷| 婷婷九月丁香天堂丁香天堂| 婷婷五月激情视频网| 国产暴力强伦轩1区二区小说| pacopacomama 070722_670 素人奥様初撮りドキュメント 103 大久保純子 | 五月天激情国产综合婷婷婷| 欧美色色色色色色色| 午夜精品久久久久久久爽| 夜夜谢天天干| 这里只有精品久久| 六月撸婷婷| 色婷婷色情| 99re热精品在线视频| 色偷偷色婷婷| 色色婷婷五月| 五月婷婷播| 久久欧洲久久| 99超在线| 色婷婷丁香AV综合| 激情内射p| 亚洲XX日本| 亚洲综合激情五月天婷婷| 五月天激情久久| 欧美婷婷综合网| 色.五月综合网| 五月天婷婷影院| 成人丁香五月天| 丁香五月情| 久久综合五月天| 情趣视频66| 日日舔夜夜操| 亚洲天堂大香蕉| 激情五月婷婷| 亚洲色网址| 97在线精品| www.99久久久| 丁香五月婷婷色| 天天爽天天干| 五月婷婷碰碰| 97碰超级人人看| 丁香九月婷婷综合| 狠狠干2007| 人人做人人看人人摸| 26uuuu精品一区二区| www.minyis.com【JT】实力收量可预付TG@LXSPSW8 | 97碰久久| 五月天色综合服务平台| 狠狠做婷婷| 色婷婷五月天视频在线| 99视频精品| 色日本五月天| 五月天激情综合网| 亚洲亚洲亚洲AAAAAA| 日日夜夜综合| 色五月婷婷影院| 欧美大片免费播放器| 天天综合天综合久久网| 色色色婷婷五月| 97色干| 五月天色婷婷小说| 猫咪伊人久久| 国产性av| 99这里有精品视频3| 色播五月天天| 大香蕉五月丁香| 久久婷综合| 婷婷五月久久| 六月婷婷久久| 99热99热| 可以看的av| 国产午夜成人免费看片无遮挡| 激情五月瑟瑟| 青青热久精品视频在线观看| 九九在线视频| 婷婷天堂伊人| 丁香色六月婷婷| 99色免费观看全部| 五月开心播播网| 五月丁香婷婷激情四射迷人| 色婷婷六月| 一区二区成人电影免费播放| 色香蕉影院| 操射国产日本| 嫩草AV久久伊人妇女超级A| 香蕉婷婷五月| 日韩一66精品| 色五月首页| 人五月天婷婷喷水| 色婷綜合网| 五月99久久| 99综合视频| 丝雨一区二区| 久久久久久综合五月婷婷| 99热9999| 色五月婷婷91| 久久人人妻| www.色婷婷.com| 丁香婷婷性久久| 日日操日日撸| 操日本三片99| 亚洲天天| 亚洲啪啪精品| 伊人婷婷五月天av| 丁香五月综合| 色婷婷XXXXX| 丁香五月激情在线| 极品人妻XXXXOOOO| 亚洲avjiujiur91| 成人av在线电影| 久久久亚洲成人无码A片| 久久五月天婷婷| 99久久玖玖| 欧美肉大捧一进一出免费视频| 色综合久久中文| 婷婷五月丁香综合人妻| 久久综合久色欧美综合狠狠| 丁香五月婷婷六月婷| 中文字幕在线不卡| 久热大香蕉| 噜噜色婷婷| 中文字幕精品无码一区二区| 丁香六月中文| av网址在线播放| 91欧美| 人人草碰| 七七色色综合| 亚洲综合在线视频| wwwss在线观看| 天天插天天玩天天干| 9月色婷婷| 99九九热视频免费| 五月婷激情影院| 色爱爱综合网| 九热免费视频| 99思思在线视频| 婷婷激情六月| 五月丁香六月婷婷免费| 在线亚洲综合| 97色永久免费视频| 五月天开心激情网色欲无码| 日韩成人精品中文字幕电影| 五月天激情av| 99玖玖在线视频| 9久国产| 国产精品色婷婷99久久精品| 亚洲视频99| 91啪啪| 五月婷婷成人| 淫水导航| A片一曲| 丁香五月婷婷影院| 综合五月天婷婷色| 婷婷少妇激情| 少妇大叫太大太粗太爽了A片| 五月天婷婷在线观看精品男人| 五月激情综合网| 五月综合激情图片| 国产婷婷久久| 久久色情| 丁香五月成人网| 夜色综合网| 操骚货在线| 99久热这里有精品| 99啊精典免费视频| 成人无码精品1区2区3区免费看| 激情婷婷丁香五月| 六月婷婷香蕉| 黑人巨粗进入警花疼哭A片| 亚洲婷婷成人五月天| 亚洲激情六月丁香| 天天爽天天| 九九综合久久| 婷婷六月激情小说网| 乱乱av| 婷婷五月,偷窥偷拍网| 那里有AV网址| 五月丁香激| 伊人综合网站| 碰超99| 怡红院精品视频久久久久久久久| 在线色色| www.99热这里精品| 成人.在线日韩| 热99在线精品| 激情综合色播| 亚州日本欧州韩美高青高潮一| 亚洲久艹| 99热热热天天人人人超超碰| 婷婷免费视频| 婷婷久久99| 亚洲久久婷婷丁香五月天| 久9无码视频| 666555。COm毛片| 99热精品观看| 中文AV网站| 包操45分钟网站| 91精品国产色猫| www.夜夜操| 色综色五月天婷婷| 丁香婷婷六月激情| 五月丁香怕怕综合| 久久五月婷| 日本99婷婷| 高清无码网址| 亚洲超碰在线| 婷婷色中文字幕| AV操操操| 久久538| 色播五月丁香婷婷| 丁香五月综合图片在线观看| 六月丁香基地| 日本激情ⅩXX免费视频| 婷婷五月天成人在线视频| 久久九九亚洲| 综合五月丁香97| 中字幕视频在线永久在线观看免费| 五月丁香操婷逼| 夜夜撸天天操| 九九热在线99| 五月丁香六月婷婷激情视频在线观看免费| er99免费视频在线| 五月丁香六月情婷婷久久| 五月婷婷激情刺激| 天搞天天天天天| 婷婷成人综合| 亚洲精品乱码久久久久久按摩观| 免费亚洲婷婷中文字幕| 91干| 开心 五月 综合| 97干视频| 精品网站99| 久久久人妻不卡| 欧美99热| 日本婷婷丁香五月| 日本在线噜噜| 天天日天天草| 色婷婷www| 99综合免费视频| 色色婷婷综合网| 色婷五月| 玖玖热视频| 日韩在线婷婷五月天综合| 西瓜美女a片| 婷婷丁香五月天狠狠| 丁香五月激情澎湃一区| 噜噜网免费视频| 3www激情| 婷婷激情在线| 婷婷丁香六月天| 开心激情婷婷| www.丁香黄色五月天人与| 国产AV熟妇人震精品一品二区| 无码激情AAAAA片-区区| 综合精品啪啪| 淫视馆aV二区一区| 丁香久久AV| 噜噜噜精品欧美成人在线观看| 99精品在线下载| 这里只有精品69| 99亚洲精品视频| 一操久久| 婷婷香香五月| 天天色官网| 婷婷五月丁香综合激情| 久久ww| 五月天综合| 五月婷婷亚洲天堂97色婷婷| 色婷天天| 激情WWW| 开心婷婷五月天激情网| 亚洲五月天婷婷| 野战J办公桌椅H| 婷婷伊人綜合中文| 狠狠看狠狠| 伊人午夜综合色啪| av九九| 99视频| www五月天com| 色 五月俺去也| 五月婷婷五月丁香| CHINESE熟女老女人HD视频 | 这里只有精品偷拍| 激情五月五月婷婷| AV大片在线播放| 狼人婷婷综合| av在线色五月丁香婷区久| 99综合网| 欧美性爱丁香五月| 色婷婷婷av| 激情五月色综合| 婷婷天堂综合| 伊人影院久久网| 成人五月天综合网| 狼人婷婷综合| www.玖玖婷婷在线| 大狠狠在线| 8区视频在线| 天天碰夜夜操| 五月色婷婷综合色| 日日噜噜夜夜狠狠久久丁香六月| 国产全是老熟女太爽了| 五月天大香蕉| 99超级碰碰| 日韩在线观看网址| 66久久视频在线| www,超碰| 久久久五月天婷婷成人网| 天天情天天狠天天透| 99热这里只有精彩| 色吧网91| 深爱激情av| 深爱激情综合| 丁香六月综合激情| 99热播放| 中文字幕婷婷| www.99久久久| 亚洲国产网站| 五月花激情| 久久九九综合| 五月丁香亭亭成人电影| 狠狠色综合网| xxxx五月| 丁香久久| 情婷婷五月天在线| 亚洲综合另类| 国产色婷婷亚洲| 任你爽视频| 任你搞网站| 狠狠干,狠狠操| 无码人妻一区二区一牛影视| 九九热只有精品| 久久婷婷七月丁香| 天天做 天天爱| 亚洲爆乳无码精品AAA片蜜桃 | 日本综合色图| 日日噜噜夜夜狠狠久久丁香六月| 成人在线综合| www狠狠| 久久综合丁香| 欧美色色色色色| 色五月网址| 天天色综网| 丁香五月综合婷婷| 婷婷精品| 丁香五月在线观看综合| 久久天堂女人| 99a级片| 亚洲成人一区| 婷色五月| 国产裸舞表演WWWW| 久久婷婷五月综合成人d啪| 五月婷婷啪啪| 超碰在线99| 五月丁香网站| 巴基斯坦粉嫩无码视频| 好色婷婷| 五月天婷婷综合网| 玖玖福利视频资源| 色情五月天。| 成人无码精品1区2区3区免费看| 天天干狠狠操| 婷婷亚洲久久| av大香蕉| 五月久久丁香| 婷婷色网站| 九热视频| 情趣视频66| 欧美精品啪啪| 亚洲欧美在线观看| 亚洲av骚货| 久99久精品| AA丁香综合激情| 这里只有精品热| 色色色香蕉五月婷| 国产激情AV| 天堂爱爱| 97婷婷五月| 五月婷婷日| 少妇激情基地| 极品少妇高潮啪啪AV无码| 久久九九在线视频| 91超碰人人操| 99视频免费播放 | 色色色综合色| 五月综合激情图片| 久久精品婷婷五月丁香| 国产黄色在线观看| 色综合久久五月天| 天天插轮理| 四色五月视频| 亚洲V国产V欧美V久久久久久| se99视频| 91视屏在线观看com.wwwvv| www,setingting| 久99热| 亚洲五月天婷婷综合| 99在线免费视频| 大香蕉220| 91碰碰视频| 99爱免费在线视频| 婷婷五月丁香av网站| 五月天婷婷丁香成人网| 九九激情网| 欧美影院| 深爱激情久久| 激情美女五月天| www久久久久| 可以看的av| 丁香六月婷婷久久综合| 久久久精品色色色| 五月丁香亚洲五月| 色色啊| 九热久| 狠狠狠狠草草| 色99综合色88| 久热婷婷综合| 国产精品美女久久久久AV超清| 大香蕉99| 色婷婷69| 免费黄色AV| 激情六月综合| 伊人啪啪网| 另类国产综合| 99热骚货| 99福利视频| 激情婷婷五月少妇| 五月天色丁香| 五月婷婷激情综合| 日韩成人中文字幕| 免费黄色片子| 色九月婷婷| 天天日天天爽| 婷婷色五月激情强奸四射| 99在线精品视频免费观看20| 狠狠激情五月天| 影音先锋 91工厂| ...婷婷国产成人亚洲日韩| 91婷婷丁香五月天免费视频网站| 色婷婷色99国产综合精品| 久久色吧| 婷婷五月丁香色播| 99人人干人人| 久久久激情视频| 手机在线日韩视频中文字幕| 色狠狠色综合久久久绯色AⅤ影视 大香蕉五月天婷婷丁香91 | 综合五月草| 亚洲无码11| 九九综舍久久| 五月天社区| 五月色网| 五月丁香久久综合| 五月丁香色播| 五月丁香另类图片| 丁香五月激情婷婷| 色五月av| 婷婷在线视频| 中文字幕无码人妻少妇免费视频 | 天天综合五月天| 97超碰在线免费观看| 国产精品色婷婷99久久精品| 亚洲综合在线伊人婷| 激情婷婷五月亚洲| 99视频这里只有久久精品| 丁香五月深爱五月婷婷| 99日这里只有精品| 五月天伊人久久久久| 久草A片| 99热这里只有精品首页| 香蕉AV777XXX色综合一区| 性爱网五月婷婷| 色站9/| 婷婷中文无码| 五月婷婷六月丁香激情综合网| 激情黄色小说五月天| 丁香五月婷婷在线观看| 色婷婷电影网| 九九九九热99超碰| 第四色激情网| 都市激情小说婷婷| 丁香五月婷婷超碰在线| 人妻日日日| 五月婷婷六月丁香首页| www.激情五月天.com| 婷婷基地五月色| 夜夜操狠狠操| 中文毛片无遮挡高潮免费| 九月色婷婷综合亚洲| 91九色国产熟女| 天天摸.天天mo| 五月激激激情综合网| 伊人超碰| 97超喷视频在线观看| WWW色色色COm| 五月天激情啪啪| 九月婷婷| www.99免费视频| 26UUU| 六月婷婷久久大全| 色婷婷激情| 综合一啪| 5月色亭亭视频| 婷婷五月天综合网| 大香蕉五月婷婷丁香| 亚洲综合婷婷五月| 丁香五月在线观看完整版| 99精品国产热久久91色欲| 蜜臀久久99精品久久久久久酒店| 日韩成人精品中文字幕| 国产精品色婷婷AV综合色色| 欧美69久成人做爰视频| 久热伊人| 五月丁香六月婷婷激情网| 国产无套精品一区二区| 久久五月丁香| 色 色 色综合com| www.yw尤物| ′久久99一| 色婷婷丁香中文在线播放| 九九久久精品| 色婷婷激情| 色六月视频| 婷婷激情四射| 五月婷婷六月丁香免费| 99热亚洲精品| 五月丁香黄色| 另类视频五月天| 精品一区久热| 在线A色| 中字幕视频在线永久在线观看免费| 久久婷婷五月天激情四射| 开心五月天激情网站| 99精品偷自拍| 可以直接看的av网站| 夜夜爽天天爽| 五月色婷婷在线观看| 99热新网址| 啪啪夜久久| 日日夜夜爽| 射婷婷中文字幕| 一个色的综合| 亚洲欧洲中文日韩久久AV乱码| 丁香六月婷婷开心| 中文字幕黄色片| 久操激情| 99热97| 久久五月丁香| 激情小说五月天| 级情九色| 日本色五月| 久久久久久久五月婷婷六月丁香综合,开心激情综合网 | 色欲AVV| 天天久久综合| 性爱111111| 人人爽亚洲| 婷婷久久欧美| 91丨九色丨白浆秘| 五月婷婷色综图片| 另类图片五月天婷婷| 色五月天电影| 精品久久婷婷五月天| 婷婷五月丁香香蕉| 99成人精品六| 搡BBBB搡BBB搡18 | 欧美激情综合色综合| 五月婷婷丁香五月| www.色综合.com| 亚洲AV人人操| WWW,五月| 六月丁香五月激情网| 五月天大香蕉av| 五月婷婷色情| 2016日日夜夜操| 欧美人人操| 激情美女五月天| 国产又爽又猛又粗的视频A片| 另类小说五月天综合网| 国精产品一区二区三区| 超碰99在线观看| 婷婷国产日本欧美| 色色丁香五月天社区| av久热| 成人色站,在线视频,看片-SS1AV| OYIWbGcPu8H| 激情五月丁香婷婷| 丁香五月婷婷成人色区| 久久久欧美精品sm网站| 国产毛片精品一区二区色欲黄A片| www天天色天天射| 丁香六月婷婷综合激情欧美 | 日本啪啪网| 国产在线网| 色婷五月| 色停停五月,在线观看| 狠狠艹狠狠艹| 4399人妻无码久久久| av免费在线看不卡无毒| 五月激情婷婷在线| 免费看欧美成人A片无码| 情欲综合网| 无码人妻激情| 久久99久久久久久久噜噜| 亚洲妇女熟BBW| 亚洲婷婷91丁香| 久久99美女精彩视频| 六月婷婷成人| 另类伊人婷婷| 亚洲AV无码成人精品电影| 婷婷在线播放| 九九热在线精品| 丁香五月中文字幕色播| 精品五月天| 国产综合激情五月久久| 极品色丁香| 色婷久九| 五月天婷婷伊人| wwww.色婷婷| 超碰在线观看三级片| 婷婷五月综合网| 欧美综合五月丁香六月婷| 97 A I色色| 亚洲行行色色| 极品人妻videosss人妻| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 99九九99九九九视频精彩| 国产亚洲精久久久久| 五月婷色丁香| 五月五丁香婷婷| 五月天色婷婷小说| 思思热在线精品视频网站| 亚洲视频在线观看99| 婷婷激情五月吧| 人妻狠狠操| 99综合| 大香蕉手机视频| 中文字幕在线日亚洲9| 九九99免费视频| 综合AV在线| 五月色婷| 色久婷婷五月| 操笔无码| caopeng97日韩| 噜噜噜噜在线| 激情婷婷综合五月少妇| www.狠狠艹| 色五月婷婷在线| www热久久yy9| 91精品久久久久久| 色播综合| 高清资源站日A美A欧亚…| 尤物一区二区| 俺去婷婷 丁香| 日本三级片片| 婷婷五月激情图片| 美女天天久久| 丁香五月亚洲综合| 色欲色香综合网| 狠狠狠狠狠狠| 色色色色热| 久久久国产精品黄毛片| 高清a片基地| 久久九精品| 九九色影视| 99色色网站| 懂色AⅤ| www.婷婷,com| 婷婷五月天久久久| 婷婷五月 丁香六月| 丁香五月第四色88| 任你搞网站| 大香蕉啪啪啪| 丁香五月婷婷高清| 日本色色色| 丁香六月婷婷色XXXX| 五月天综合色| 婷婷久草| 丁香五婷| 婷婷久久免费看| 99久久激情视频| 综合色图区| 东京热五月婷婷| 99久在线精品99re5热视频| 丁香六月婷婷综合激情欧美 | 激情色播| 婷婷综合一二三| 激情五月伊人婷婷| 丁香桃色网| 久久亚洲婷婷| Caop在线| 思思久久思思| 天天色丁香| 色五月综合激情网| 日韩操人| 久久人妻乱| 婷婷五月电影院| 六月丁香婷婷尤物| 99超级碰免费视频| 超碰99热在线观看| www.五月激情.com| www.超碰在线| 欧美色色日韩| 色丁香婷婷美女视频网站| 激情综合区| 人操人| 人妻五月天激情开心网| 99久久99九九99九九九| 亚洲av无码影院| 无码中文一区二区三区| 五月婷婷久久综合| 婷婷五月天丁香激情| 久久婷婷五月综合激情国产| 色色色欧美| 色婷亚洲五月丁香| 丁香五月六月激情久久| 双性美人被调教到喷水A片| 色婷| 99热这里只有精品免费| www,setingting| 狠狠色性| 久久婷五月天| 色情综合网| 久热一本| 99啪99| 久久性爱视频网站| 亚洲中文字幕在线电影| 开心五月综合激情综合五月| 婷婷九月| 97色色-99久久| 99操久久| 51成人| 精品99在线| 欧美色碰| 成人在线99| 日本久久9| 激情五月开心五月丁香五月| www久久久久久久| 色婷婷五月综合网| 色综合久久久无码中文字幕999| 亚洲色情免费网| 日韩成人网址| 激情5月婷婷狠狠干| 五月婷婷开心深| 久草五月| 亚洲一个色| 久久久久久人妻| 日日日日做夜夜夜夜无码| 日韩1区2区| WWW.天天日| 综合网色| 人妻五月天激情开心网| 婷婷不干网| 五月天婷婷永久免费视频| 五月丁香亭亭激情操逼网| 激情婷婷丁香色五月| 日韩青青| 亚洲视频99| 国产精品色婷婷久久久精品| 久久人人九九| 丁香五月av| 深爱激情四射| 五月天婷婷丁香成人网| 婷婷丁香五月高清| 黑人无码一区| 色色色色色色色色综合网| 人妻久久久久久久久妻久久久久久久久 | 国产黄色在线观看| 亚洲色婷婷五月| 99热 在线播放| www.精品99| 丁香五月天在线观看视频| 俺也去色| 激情五月丁香综合网站| 噜噜狠狠色综合久| 婷婷天堂综合| 一本大道熟女人妻中文字幕在线| 成 人 色 色| 欧美色色色色色色| 天天干天天色综合| 五月天婷婷色小说| 婷婷丁香成人五月天| 久久a热| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 狠狠干 狠狠操| AAA久久久AAA久久久AAA| 五月婷婷之综合激情| 亚洲九九99精品视频在线播放| 97碰碰人人视频| 超碰av在线| 久久婷婷五月草视频| 怡春院久操| 中国丰满熟女A片免费观| 99色亚洲| 丁香五月天在线视频| 嫩模草| 久久久8| 亚洲性爱区无码区| 99热91| 91av无码| 丁香婷婷啪啪| 四月婷婷五月丁香| 五月婷婷成人网首页| 亚洲色优| 丁香九月综合| 婷色视频| 成人亚洲精品久久久久| 久久久久久激情| 婷婷色情小说| www.99热日韩.com| 91在线操| AV中文网| 色五月婷婷丁香五月| 五月第四色| 综合激情五月丁香9999久久精| 啪啪五月综合| 久久久av久av久片一区二区| 五月色网| 这里只有精品1| 激情黄色五月天| 人人操91| 涩涩婷婷五月| 97luluse| 国产美女无遮挡裸体毛片A片 | 欧美精品狠狠色丁香婷婷| 日日干天天| 伊人色综合久久久| 99热99色| 五月丁香六月婷婷手机无线| 五月丁香激情片| www.jiujiujiu| 操碰99在线视频观看| 国产成人精品亚洲线观看| 婷婷啪啪| 中文字幕在线不卡| 狠狠色五月| 日韩AV在线免费| 欧美成人精品A片免费一区99| 午夜色婷婷| 2020日日干| 欧美婷婷五月天| 丁香六月激情综合啪啪| 激情综合网,婷婷五月天| 五月婷婷五月丁香综合| 久99| 久久99综合| 欧美综合五月丁香六月婷| 亚洲有码在线视频| www亚洲无码| 亚洲成人日韩无码精品| 伊人网色婷婷五月天| 亚洲亚洲人成综合网络| 九九热视频在线观看| 婷婷午夜天| 狠狠搞狠狠操| 9久精品| 日本综合久久| 色色五月婷婷| 国产暴力强伦轩1区二区小说| 99热18| 风流少妇A片一区二区蜜桃| 久久五月天婷婷| www99热| 深爱激情五月天| 疯狂做受XXXX高潮A片动画| 国产精品一区在线观看你懂的| 97久久久| 色婷婷基地 | 国产成人综合电影| 九九99热精品| 色99无码| 女操碰| 99色色网| 婷婷五月蜜桃成人桃色丁香| 婷婷成人在线| 五月婷在线视频免费播放| 精品久久66| 色婷婷亚洲婷婷| 天天久久狠狠色综合| 丁香五月成人社区| 被强行糟蹋的女人A片| 亚洲春色奇米影视| 九九精品少妇| 婷婷五月天Av| 狠色狠色狠狠色综合网| 91小黄书网址在线观看| 欧洲亚洲精品| www.超碰在线| 精品人妻伦九区久久AAA片| 日韩在线看AV| 五月间天堂综合| 狠狠干狠狠色| 亚洲精品性色| 色九月婷婷丁香| 婷婷丁香18| 亚洲狠9| 色天堂在线| 国产精品久久在线观看技巧| 思思精品热在线| 91碰碰视频| 丰满老熟妇BBBBB搡BBB| 五月婷婷丁香综合,亚洲天堂| 国产操B视频| 色小说婷婷五月天天天| 天天爽天天摸天天爱| 日本久久99| 亚洲美女裸体被操在线观看| 色欲九区| 9999色色色色| 99热主页日本| 色色三级视频| 亚洲AV网址| 天天摸天天高潮天天爽| 久久婷狠狠色| 五月激情四射网站| 99自拍视频网站| 五月天激情久色| 五月激情综合网| 久久综合五月天激情小说网站| 手机在线日韩视频中文字幕| 夜夜噜夜夜奇| 五月丁香婷婷久久| 婷婷天天五月天| 激情色中文| 丁香五月激情五月| 综合AV网| 这里只有精品视频222| 五月天婷婷丁香社区| 五月丁香影视| 9视频1在线| 草AV9999| 欧美99| www一起操在线观看| 婷婷综合五月激情| 激情久久五月天| 一级韩国产精品毛| www.狠狠操.com| 91操人视频| 9视频1在线| 这里只有精品视频一区| 亚洲第一综合| 成人丁香五月| 天天爱天天狠天天透| 亚洲深喉AV| 激情五月深爱五月| 国产精品成人AV在线| 大香蕉久久久久久久久| 综合性视频99| 色区久久| 婷婷五月播| 99热亚洲| 67194中文字幕| 99久久极情精品一区| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 任你操精品免费| 色丁香五月| 久9热在线免费观看| 99热骚货| 被强行糟蹋的女人A片| 天天射影| 欧美丁香婷婷五月| 99久久综合网| 91爱啪啪| 伊人色综合影院视频| www.婷婷| 五月天停停日日| 婷婷五月天国产| 婷婷基地成人五月天| 99在线精品视频免费观看20| 日本色啪| 久久思思精品| 日韩久久日| 婷婷五月天在线观看免费 | 久久天天| a在线免费v| 丁香五月婷婷亚洲色图| 色婷婷啪啪啪啪啪啪| 色在线99| 激情久久五月天| 色婷婷亚洲婷婷| 大香蕉久操| 深爱激情五月网| 天天天久久久| 激情婷婷| 99在线视频在线观看| 婷婷在线五月综合| 久久久久久久合一狠狠做深爱| 大香蕉视频婷婷| 2025色婷婷| 久久久五月天网站| 9色在线视频| 91九色在线| 色五月婷婷在线| 五月色丁香国产在线视频| 婷婷五月丁香亚洲| 一级黄色尤物综合视频手机在线观看| 99热亚洲综合| 久久婷婷五月综合色奶水99啪| 九九色欲网| 丁香五月影院| 婷婷五月伦理| 99热国产婷婷| 九九99在线免费在线观看视频| 婷婷五月激情网站| 97在线观视频免费观看| 五月婷婷综合潮喷| 狠狠se| 亚洲久久激情| 五月婷婷伊人久久| 久久久五月天网站| 99久久婷婷国产综合精品草原| 99热成人精品| AV中文字幕夜夜操b天天摸bb | 无码人妻丰满熟妇奶水区码| 六月丁香婷婷五月天| 人人操99| 欧美顶级少妇做爰HD| 四色五月婷婷在线观看| 婷婷午夜精品久久久| EEUSS鲁片一区二区三区| 天天爽夜夜爽夜爽精品| 99热丁香五月| 日本色婷婷| 人人草人| 高清无码.com| 精品操逼一区二区| 色婷婷小说| 99热视精品| 久久久久亚洲AV成人无码电影| 五月婷丁香| 五月丁香六月婷婷欧美综合| 欧美A级网站| 嘿嘿视频免费看9| 99免费| 这里只有精品视频99| 日本色频| 青青草五月天| 99精品免费| 99人人看| 婷婷五月婷婷| 26uuu在线观看| 色五月之第四色| 色色丁香五月| 五月丁久久| 久操婷婷| 亚洲综合色色| 五月天激情网图片 - 百度| 99啊精典免费视频| 99视频| 99久久99九九九99九他书对| 天天干、天天日日| 免费AAAAA网| 97碰碰碰| 开心婷婷五月综合| 99色热| 久热中文字幕| 99国产视频网| 午夜爱爱爱成人| 国产成人+综合亚洲+天堂| 超碰99成人在线| 久久精品99国产精品日本| 99九色视频在线观看| 婷婷狠狠干| 高清无码中文字幕aVDV| 《诡秘之主》在线观看 | 激情综合在线播放| 婷婷激情五月呦呦| 色播五月婷婷| 亚州色色色| 色99色| jizzdr| 色五月丁香五月婷婷五月成人网| 琪琪秋霞| 综合激情伊人影视在线| 久热黄色| 国产性爱一级| 免费成片在线观看| 日本波多野结衣视频| 极品人妻VIDEOSSS人妻| 色无码| 99免费热视频在线| 色色吧综合| 久久总和99| 久久怡红院| 激情图片五月天| 久久人妻久久| 五月天天爽| 国产精品日韩十五区| 秋霞影音91人妻久久| 午夜精品777| 五月丁香婷婷成人伊人网| 天天色爽| 日本精品。999| 天天在线天天综合网色| 九九热视频首页/这里只有精品| 青青.com| 天天做天天爱天天摸| 热99精品视频在线观看| 激情婷婷丁香五月天小说| 青草青草久热这里只有精品| 久久五月天婷婷| 99er6免费视频热播| 天天干,天天舔| 日本色噜| 欧洲激情五月天婷婷| 丁香六月婷婷高清| 六月天六月婷| 婷婷五月深深爱| 日本操B视频| 狠狠色成人影片| 婷婷丁香五月综合激情小说| 色婷婷AV在线| 九热...av| 99热精品在线观看| 九九热亚洲中文在线观看免费| 99久久精彩视频。| 好好日激情五月天| 婷婷激情啪啪| 《蜘蛛女》梁铮1995| 久久WW| 五月丁香啪啪啪啪| 激情99| 91 影音先锋| www.婷婷五月天,com| 久久激情五月网| 日韩欧美颜射| 天天色天天爱天天舔| 天天成人丁香美女AV| 五月婷婷之综合激情| 久久久久亚洲AV无码网影音先锋| 99热超碰在线| 办公室少妇激情呻吟A片在线观看| 婷婷狠狠综合网入口| 久99精品视频| 黄网在线播放| 激情九月婷婷| 久久九九思思| 激情99| 婷婷天天舔| www.日日夜夜.com| 亚洲综合婷婷| 九九日伊人| 99色精品| 热无码A∨| 丁香久久| 亚洲中文乱字字幕在线永久| 国产精品天天狠天天看| 精品动漫 无码av| 99久视频| 色天天综合| 大香蕉婷婷五月天| 午夜无码熟熟妇丰满人妻| 色97啪啪| 无码一区二区三区四区五区| 久久视频在线| se99视频| 男女激情久久| 青草青草久热这里只有精品| 丁香六月亚洲综合| 中文字幕在线播放视频| 色五月丁香A欧美com| 狼友视频在线观看18| 色婷婷丁香五月天激情综合网| 久久激情天堂| 亚洲综合网在线| 五月激情综合网| www.26uuu.com亚洲电影| 99综合免费视频| 国产免费av网站| 激情五月婷婷免费视频| 激情欧美丁香五月| 亚洲乱码日产精品BD| 欧美天堂久久| 色色cOm| 久久大香蕉| 99狠狠| 婷婷丁香综合成人| 日日夜夜干| 九九色之九九色88| 丁香婷婷视频一区二区| www激情| 亚欧州精品视频| 婷婷五月综合视频免费播放| 五月丁香婷婷色| 九热...av| 思思热视频| 婷婷五月天VI| 99r这里只有精品哦| 大香蕉久久久| 色久一| 丁香五月av在线| 丁香五月激情网| 色婷婷综合久久久久| 色综合久久88色综合天天99| 日韩人妻白浆视频系列| 婷婷五月蜜桃成人桃色丁香| 日韩在线视频中文字幕| 丁香五月天激情四射网络不好 | 婷婷综合激情| 五月丁香在线观看99| 99视频只有这里精品| 蜜臀久久99精品久久久久久酒店| 99色综合网| 九九99在线免费在线观看视频| 丁乡久久| 思思热视频在线| 91欧美日韩| 六月婷婷国产| 69凹凸成人综合网| 丁香综合伊人AV| 丁香六月婷婷| 色色色色色级无码| 色色五月丁香| 99精品热视频只有精品10| 亚洲精品视频在线| 99re免费精品视频| 五月丁香 啪啪| 五月丁香啪啪综合网| 婷婷五月天丁香社区| 欧美日韩国产伦精品日韩人妻一| 几激情五月婷婷色五月色天堂| 久久婷婷五月综合色区| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 婷婷激情综合| 婷婷综合五月天| 91综合国免费久入| 天天色播|