日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

手寫ReAct循環(huán):不靠框架,用while循環(huán)搭建Agent推理核心

手寫ReAct循環(huán):不靠框架,用while循環(huán)搭建Agent推理核心 還在糾結(jié)要不要給項目引入 Agent 的時候我第一個跳出來的念頭就是別給項目加一堆東西先把你頭腦里的推理過程翻譯成一個循環(huán)。ReAct 這個名字一旦出現(xiàn)網(wǎng)上搜出來的全是框架、庫、Agent 中間件搞得人以為這是什么重量級方案。實際上你要是把 ReAct 的論文扒開看它做的事情就一句話讓模型在思考和行動之間反復橫跳直到得出答案。翻譯成代碼不過是一個 while 循環(huán)加幾個狀態(tài)變量。我寫這篇文章就是想把這個推理模式拆到你能親手寫出來不依賴任何 Agent 框架不引入額外的抽象層只需要一個循環(huán)、一次 LLM 調(diào)用、和一個能執(zhí)行動作的函數(shù)。我先說結(jié)論ReAct 的價值根本不在工程實現(xiàn)而在它強迫你回答兩個問題——模型應該看到什么和模型下一步能做什么。想明白了代碼反而簡單到讓人懷疑是不是漏了東西。這篇文章會從 ReAct 的推理模式拆解開始給出一個完全可運行的最小實現(xiàn)再逐步加上 LLM 接入、解析容錯、終止條件這些實操細節(jié)最后把我自己踩過的坑列成一張排查表。適合那種不想被框架綁架、想真正理解 Agent 內(nèi)部機制的開發(fā)者也適合第一次接觸 Agent 的初學者照著抄作業(yè)。1. ReAct 不是框架是推理循環(huán)的重命名好多人對 ReAct 的第一印象是被 Agent 框架給帶偏的。市面上太多實現(xiàn)了 ReAct 模式的庫裝個包、配個 key、跑一個 demo任務完成了但腦子里留下的印象是ReAct 很復雜。其實 ReAct 甚至算不上一個新概念。它的全稱是 Reasoning Acting出自 2022 年那篇《ReAct: Synergizing Reasoning and Acting in Language Models》核心思想是在提示詞里把模型的推理過程拆成 Thought、Action、Observation 三步讓模型交替輸出思考內(nèi)容、調(diào)用外部工具的動作、以及基于執(zhí)行結(jié)果的新觀察。這三步不斷重復直到模型輸出最終答案。你把它和普通 LLM 對話對比一下就明白了。普通對話里你問模型一個問題模型直接給答案遇到?jīng)]法從內(nèi)部知識回答的問題就瞎編。ReAct 多了一個行動環(huán)節(jié)模型可以說我拿不準我要查一下或者我要算一下然后系統(tǒng)真的去執(zhí)行這個動作把結(jié)果喂回給它。模型再基于這個新信息繼續(xù)推理。這不就是一個人處理陌生問題的流程嗎先想再做再看結(jié)果再想。放到程序里這就是循環(huán)結(jié)構(gòu)。為什么我用重命名這個詞因為循環(huán)這個概念早就存在ReAct 只是把循環(huán)的每一步應該做什么規(guī)范化了。它定義了一種模型與外部環(huán)境交互的模式而不是定義了一套你要安裝的軟件。搜 ReAct 的時候出來的 react 框架、react native 教程、react 面試題那是另一個生態(tài)圈的東西。真正的 ReAct 模式既不需要包管理器也不需要組件樹你要做的只是寫一個循環(huán)然后設計好每一步的提示詞。1.1 為什么框架感會誤導你框架給我們的暗示是你引入一個東西然后按照它的生命周期去寫代碼。但 ReAct 的核心邏輯簡單到可以被任何程序語言的三五行偽代碼概括。如果你抱著我要用 ReAct 框架的心態(tài)去搜索大概率會找到一個安裝命令、一個配置文件、一套事件機制然后陷入配置地獄。這種路徑不是不能實現(xiàn)功能而是把你和真實原理隔開了。我自己強烈建議先脫離框架去手寫一遍。原因有三個第一框架把循環(huán)、解析、調(diào)用這些細節(jié)都封裝了你出了問題根本不知道從哪里查。手寫版本只有幾個變量和幾十行代碼邏輯鏈路全在眼皮底下。第二框架通常自帶提示詞模板但真實業(yè)務里你可能需要定制模型輸出格式、調(diào)整最大步數(shù)、改終止條件。如果你不理解底層循環(huán)改這些全憑感覺。第三面試和團隊溝通的時候你能說清楚我們的 Agent 本質(zhì)是一個帶終止條件的 while 循環(huán)這比我用了某個框架的某個 Agent 類要有說服力得多。這里我不是否定框架的價值等你想清楚每一步的原理之后找一個工程化框架來省時間是完全合理的。但這篇文章的目的就是讓你先想清楚。1.2 用生活化的方式理解 ReAct 循環(huán)如果你喊家里的小朋友幫忙找個東西會發(fā)生這個過程你說去客廳找一下遙控器——這是初始任務小朋友走進客廳看了一圈沒找到——這是執(zhí)行一個動作并得到觀察結(jié)果他想了想遙控器可能在沙發(fā)縫里——這是基于觀察的推理他翻開沙發(fā)墊——新動作發(fā)現(xiàn)了遙控器——新觀察于是回答你找到了——終止條件滿足。這個場景里的每一步都可以對應到 ReAct 循環(huán)思考生成下一動作的計劃動作被系統(tǒng)執(zhí)行系統(tǒng)把執(zhí)行結(jié)果作為觀察返回模型基于新的觀察繼續(xù)思考。整個流程重復執(zhí)行直到模型認為問題已經(jīng)解決。你可以把 while 循環(huán)看成小朋友未找到遙控器之前他不能停下來的規(guī)則。循環(huán)體和終止條件就是 ReAct 的全部秘密。2. 解剖 ReAct 推理模式Thought、Action、Observation 三段式ReAct 循環(huán)的每次迭代模型要輸出一段結(jié)構(gòu)化文本通常包含三個字段Thought當前推理、Action決定做什么、Action Input動作參數(shù)。系統(tǒng)執(zhí)行完動作后把結(jié)果以 Observation 字段的形式追加到上下文里。這四樣東西拼在一起構(gòu)成模型下一輪推理的輸入。有些人會把 Action 和 Action Input 合并稱成一步但本質(zhì)上這三個字段代表三種不同的信息Thought 是模型的思維鏈Action 是動作選擇Observation 是環(huán)境的反饋??梢岳斫鉃門hought 是決策的理由Action 是決策的結(jié)果Observation 是決策的后果。2.1 手寫偽代碼把模式變成你能控制的邏輯在寫真實代碼之前先用偽代碼搭建骨架初始化上下文 系統(tǒng)提示 用戶問題 最大步數(shù) 10 步數(shù)計數(shù)器 0 最終答案 None while 最終答案是 None 且 步數(shù)計數(shù)器 最大步數(shù): 調(diào)用模型輸入上下文得到模型輸出 從模型輸出中解析出 Thought, Action, Action Input 如果 Action 是 Finish: 最終答案 Action Input 跳出循環(huán) 否則: 執(zhí)行 Action Action Input得到 Observation 把這一輪的所有輸出追加到上下文 步數(shù)計數(shù)器 1 如果最終答案是 None: 返回達到最大步數(shù)未得到答案 否則: 返回最終答案這就是 ReAct 的完整邏輯骨架和是不是用了框架完全沒有關系。你可以把這個骨架翻譯成任何語言甚至翻譯成手寫的狀態(tài)機。循環(huán)條件有兩個一個是模型主動說完成一個是步數(shù)上限兜底。這兩個條件的順序也值得注意每次迭代都要先檢查模型是否給出了最終答案而步數(shù)上限是在每次循環(huán)之后判斷的確保至少能執(zhí)行一次動作。2.2 為什么終止條件這么關鍵如果把 ReAct 循環(huán)比作一個員工終止條件就是明確的下班標準。沒有這個標準的循環(huán)會出兩類問題一類是模型反復執(zhí)行相同動作進入死循環(huán)另一類是模型胡亂猜答案在錯誤的觀察上越走越遠。我建議把最大步數(shù)的默認值設成 8 到 10 步。設太短多步驟工具調(diào)用沒跑完就被截斷設太長如果模型行為異常你要付出好幾倍的 token 成本和時間成本。實際項目中可以做成可配置項并且每次循環(huán)記錄一下已消耗的 token 數(shù)一旦超預算就終止。這比只有步數(shù)限制更符合真實場景因為有些動作返回的文本特別長步數(shù)沒超但 token 已經(jīng)吃了很多。Finch 動作是另一個關鍵。ReAct 提示詞里必須告訴模型當你認為問題已經(jīng)解決時輸出 Action: Finish并且把最終答案放在 Action Input 里。有些實現(xiàn)會輸出 Final Answer 字段本質(zhì)上是一樣的。你把什么時候算完成這個判定權交給模型同時用步數(shù)上限做兜底這就是工程上的雙保險。2.3 動作空間設計ReAct 模式的核心決策ReAct 循環(huán)里可以執(zhí)行的動作是你在系統(tǒng)提示詞里預先聲明的。比如你有 search 和 calculate 兩個工具你就要在提示詞里寫清楚每個工具的用途和參數(shù)格式。動作空間設計的好壞直接決定了模型能不能高效解決問題。我見過兩個極端一個動作空間全塞滿給了模型十幾個工具它每次都在做選擇題另一個動作空間狹窄到只有一個搜索工具模型遇到計算問題也去搜得出錯誤答案。好的設計是給模型提供最小但足夠的工具集。工具太少模型無法完成任務工具太多模型的選擇成本上升出錯概率也上升。我的經(jīng)驗是一個 Agent 任務的工具數(shù)量控制在三到五個之間每個工具的參數(shù)盡量簡單最好都支持 JSON 格式的參數(shù)描述。工具描述文本也直接影響執(zhí)行質(zhì)量。描述應該包含什么時候用的場景說明而不只是做什么。比如寫 search 工具的描述時不要只寫搜索互聯(lián)網(wǎng)要寫當需要查詢實時信息、驗證事實、或查找不熟悉的內(nèi)容時使用此工具輸入為搜索關鍵詞。這樣模型在思考階段更容易做出準確的工具選擇。這一點很多人忽略但它對 ReAct 效果的影響比模型選擇的差別還要大。3. 手寫核心循環(huán)一份能跑的 Python 實現(xiàn)進入實操環(huán)節(jié)。我們用 Python 寫一個不依賴任何 Agent 框架的 ReAct 循環(huán)。這段代碼的目標不是完成一個炫酷的項目而是把一個最小可運行的 ReAct 機制擺在你面前每個變量都能看明白。3.1 環(huán)境準備與項目文件結(jié)構(gòu)只需要 Python 3.9 以上環(huán)境不需要安裝任何框架庫。如果你要接 OpenAI 兼容的 LLM 接口需要安裝 openai 或 requests任選其一。我建議先用一個假的 LLM 來調(diào)試循環(huán)本身因為這樣能隔離問題循環(huán)邏輯的 bug 和 LLM 接口的 bug 分開排查。目錄結(jié)構(gòu)盡量簡單react_loop/ |-- main.py # 主程序 |-- tools.py # 工具定義 |-- llm_client.py # LLM 調(diào)用封裝先把工具函數(shù)寫好。假設我們有兩個工具一個計算加法一個獲取當前時間。computed 的場景雖然簡單但已經(jīng)足夠演示 ReAct 的動作調(diào)用和觀察返回。3.2 核心 while 循環(huán)代碼詳解main.py 的核心部分如下import json from tools import add_numbers, get_current_time from llm_client import call_llm SYSTEM_PROMPT 你是一個能調(diào)用工具的智能體。你有以下工具可用 - add_numbers: 輸入兩個數(shù)字返回它們的和。參數(shù)格式: {a: 數(shù)字, b: 數(shù)字} - get_current_time: 返回當前時間。參數(shù)格式: {} 你的輸出必須嚴格按照以下格式 Thought: 你的推理過程 Action: 工具名稱 或 Finish Action Input: 工具的 JSON 參數(shù) 或 最終答案 .strip() def execute_action(action: str, action_input: str) - str: if action add_numbers: args json.loads(action_input) return str(add_numbers(args[a], args[b])) elif action get_current_time: return get_current_time() elif action Finish: return action_input else: raise ValueError(f未知動作: {action}) def react_loop(question: str, max_steps: int 10): messages [ {role: system, content: SYSTEM_PROMPT}, {role: user, content: question}, ] context messages for step in range(1, max_steps 1): model_output call_llm(context) print(f\n--- 第 {step} 輪 ---) print(model_output) parsed parse_output(model_output) if parsed is None: print(解析失敗終止循環(huán)) return ERROR: 模型輸出格式解析失敗 thought, action, action_input parsed if action Finish: return action_input try: observation execute_action(action, action_input) except Exception as e: observation f工具執(zhí)行失敗: {str(e)} context context [ {role: assistant, content: model_output}, {role: user, content: fObservation: {observation}}, ] return ERROR: 達到最大步數(shù)仍未得出最終答案 if __name__ __main__: print(react_loop(現(xiàn)在是幾點))這里有幾處需要認真理解第一循環(huán)用的是for step in range(1, max_steps 1)這樣就天然有了步數(shù)上限同時 step 變量可以直接用于打印日志。它本質(zhì)上是 while 循環(huán)的一種確定次數(shù)變體但效果一樣。第二assistant 輸出一整段被放回上下文隨后緊接著一個偽造的 user 消息內(nèi)容為 Observation。為什么要偽裝成 user 角色因為大部分模型不會自己輸出 ObservationObservation 是環(huán)境產(chǎn)生的不屬于模型所以我們要把它作為外部輸入塞回去。這種角色安排在很多框架里被簡寫成Observation 前綴消息但我更傾向于明確使用 user 角色兼容性更好。3.3 輸出解析函數(shù)把模型的自由文本變成可執(zhí)行指令模型輸出的文本需要被解析成結(jié)構(gòu)化的 Thought、Action、Action Input。這個解析函數(shù)是整個循環(huán)能不能穩(wěn)定的關鍵def parse_output(text: str): lines text.strip().split(\n) thought None action None action_input None for line in lines: if line.startswith(Thought:): thought line[len(Thought:):].strip() elif line.startswith(Action:): action line[len(Action:):].strip() elif line.startswith(Action Input:): action_input line[len(Action Input:):].strip() if action is None: return None return thought, action, action_input這個解析方式比較天真只適用于模型嚴格按說明輸出的情況。實際項目中你會遇到模型不老實比如把 Action Input 寫成了多行、或者 Action 行寫成了Action: add_numbers 參數(shù)是...這種多余描述。我們在第五節(jié)再談怎么增強魯棒性?,F(xiàn)在用這個單純版本因為它的邏輯清晰方便你調(diào)試。3.4 手動模擬一輪 LLM 輸出打通整個流程讓我手動模擬一次調(diào)用幫助你理解每次循環(huán)的數(shù)據(jù)流。假設用戶問題是請問 23 加 19 等于多少模型第一次的輸出可能是Thought: 用戶需要計算兩個數(shù)字的和我需要使用 add_numbers 工具。 Action: add_numbers Action Input: {a: 23, b: 19}解析后執(zhí)行 execute_action得到 observation 為 42。然后我們把這個模型輸出和 observation 一起追加到上下文?;氐窖h(huán)頂部模型現(xiàn)在看到的歷史記錄包括它上一輪的 Thought 和 Action以及系統(tǒng)返回的 Observation于是它會在下一輪輸出Thought: 我已經(jīng)得到了計算結(jié)果可以回答用戶了。 Action: Finish Action Input: 23 加 19 等于 42循環(huán)檢測到 Finish返回最終答案。這個過程你可以在 main.py 里打印每一步的上下文確認數(shù)據(jù)結(jié)構(gòu)變化。這是最直接的調(diào)試手段。4. 接入真實 LLM讓循環(huán)真正工作起來上面的循環(huán)是骨架現(xiàn)在我們要把它接到真實的 LLM 接口上。llm_client.py 負責完成這一層封裝。我以 OpenAI 兼容接口為例因為目前絕大多數(shù)開源模型、國內(nèi)大模型服務都提供這個協(xié)議的接口遷移成本很低。4.1 LLM 調(diào)用封裝與上下文管理from openai import OpenAI client OpenAI( base_url你的模型服務地址, api_key你的密鑰 ) def call_llm(messages: list, max_tokens: int 500, temperature: float 0): response client.chat.completions.create( model你的模型名, messagesmessages, max_tokensmax_tokens, temperaturetemperature, ) return response.choices[0].message.contenttemperature 設為 0 或者非常低這一點極其重要。ReAct 循環(huán)里我們希望模型輸出的動作能夠穩(wěn)定復現(xiàn)高溫度會讓模型在 Action 選擇上飄忽不定同一個問題可能得出完全不同的工具調(diào)用序列。我自己通常設成 0只有在做頭腦風暴類的 Agent 時才調(diào)到 0.3 以上。max_tokens 也要注意。模型一次推理輸出的文本通常不會太長但 Action Input 如果是長文本比如搜索術語幾百個 token 也有必要。500 是一個比較安全的默認值可以避免因為輸出截斷導致 Action 不完整的問題。如果發(fā)現(xiàn)模型經(jīng)常在中間截斷先檢查 max_tokens 而不是換模型。4.2 完整流程從問題到答案的完整循環(huán)日志真實運行一次日志通常會長成這個樣子--- 第 1 輪 --- Thought: 用戶想知道當前時間我應該用 get_current_time 工具獲取。 Action: get_current_time Action Input: {} --- 第 2 輪 --- Thought: 我已經(jīng)獲得了當前時間可以直接回答。 Action: Finish Action Input: 當前時間是 2024-06-15 14:30:00。如果第一個工具沒有解決還會繼續(xù)。比如用戶問一個需要兩步的問題--- 第 1 輪 --- Thought: 我需要先獲取商品價格再計算總價。 Action: get_product_price Action Input: {product: apple} --- 第 2 輪 --- Thought: 蘋果單價是 5 元用戶買了 3 個需要計算總價。 Action: multiply Action Input: {a: 5, b: 3} --- 第 3 輪 --- Thought: 總價是 15 元回答用戶。 Action: Finish Action Input: 總價是 15 元這種多步調(diào)用體現(xiàn)了 ReAct 的價值第一步獲取數(shù)據(jù)第二步處理數(shù)據(jù)第三步總結(jié)。每一步的觀察都被保存在上下文里模型可以在后續(xù)推理中引用。4.3 上下文膨脹問題循環(huán)的隱形成本ReAct 循環(huán)有個不太好直接看見的問題每一輪都會把模型的整段輸出和觀察追加到上下文上下文長度會線性增長。如果工具返回的觀察很長比如搜索引擎返回一大段網(wǎng)頁摘要幾輪之后就可能超出模型的上下文窗口。處理這個問題的常規(guī)思路有三種。第一種是截斷 Observation只保留前 N 個字符。第二種是讓工具本身返回摘要比如搜索工具不要把全文都返回而是返回標題加摘要。第三種是定期壓縮歷史消息把前面的 Thought 和 Action 合并成一句話。我建議優(yōu)先用第二種思路因為它從源頭減少數(shù)據(jù)量效果最明顯。比如一個網(wǎng)絡搜索工具完整網(wǎng)頁內(nèi)容可能是幾萬字但你只需要返回給模型一個兩三百字的摘要。這個摘要可以由工具內(nèi)部完成也可以在把結(jié)果塞給大模型之前做一次 LLM 摘要。我踩過一次很深的坑當時直接讓搜索工具返回整個網(wǎng)頁的正文第三輪循環(huán)之后輸入長度就爆了報錯提示超出上下文限制。后來加了一層摘要模塊把網(wǎng)頁正文壓縮到 300 字以內(nèi)問題立竿見影。節(jié)省的不只是上下文空間還有 token 成本每一輪循環(huán)都在為你的上下文長度買單。4.4 超時與錯誤處理機制真實場景里工具調(diào)用可能失敗LLM 接口可能超時。如果不處理整個循環(huán)就會卡死或崩潰。我在 execute_action 外面包了一層 try-except把異常信息轉(zhuǎn)換為 Observation 文字工具執(zhí)行失敗: 網(wǎng)絡錯誤請重試。這比讓循環(huán)崩掉要好得多因為模型看到了錯誤信息可能會選擇換一個工具或換一種參數(shù)重試。這種把錯誤作為觀察反饋給模型的做法是 ReAct 容錯的核心技巧。LLM 接口超時需要單獨處理。我的做法是在 call_llm 里設置客戶端超時時間比如 30 秒。如果超時就拋出一個特定異常在循環(huán)內(nèi)捕獲并重試一次重試仍失敗則提前返回錯誤信息。這里要注意的是不要把超時報錯直接當作 Observation 喂給模型那樣模型可能長期陷入重試同一動作的死胡同。要給它一個明確指令超時后停止循環(huán)告訴用戶系統(tǒng)暫時不可用。5. 常見問題與排查技巧實錄手寫 ReAct 循環(huán)的過程中你一定會遇到下面這些問題。我把它們整理成一張速查表每個都附上我的排查思路和解決建議。5.1 模型輸出格式不穩(wěn)定Action 解析不出來這是最高頻的問題。模型沒有按你要求的格式輸出可能把 Action Input 寫成多行或者在 Action 后面加了括號說明。我的經(jīng)驗是做一個多級解析策略。首先嘗試按行前綴解析解析失敗就嘗試正則表達式再失敗就把整個文本當作 Thought 并把無法識別的部分提示給模型要求它重新輸出標準格式。如果連續(xù)三次解析失敗不要無限重試直接終止循環(huán)。關鍵點在于提示詞本身要寫得非常嚴格你的輸出必須嚴格遵循以下格式不要輸出任何額外內(nèi)容 Thought: 你的推理 Action: 工具名或 Finish Action Input: JSON 格式參數(shù)或最終答案我在提示詞里會再加一句Action Input 必須是合法 JSON不得包含換行。這句話能顯著減少多行 JSON 帶來的解析問題。5.2 循環(huán)進入了死循環(huán)模型反復執(zhí)行同一個動作模型可能因為觀察結(jié)果不符合預期一遍遍嘗試同一個工具。我見過最離譜的情況是模型連續(xù)六次調(diào)用同一個搜索動作參數(shù)一模一樣每次都返回同樣的結(jié)果然后它又接著搜索。排查思路有兩個第一檢查觀察返回是否太冗長模型可能沒有注意到它已經(jīng)看過這個結(jié)果了第二在系統(tǒng)提示詞里明確告訴模型如果觀察結(jié)果與之前某一步完全相同說明該路徑無效必須更換策略。代碼層面也可以加一個動作去重機制維護一個已經(jīng)執(zhí)行過的動作哈希集合如果當前動作重復出現(xiàn)且參數(shù)一致就自動返回一個提示觀察讓模型換個方向。這算是工程上對模型推理能力不足的一個補丁實踐證明很有效。5.3 Action Input 是非法 JSON占比很高模型可能輸出{a: 23}而不是{a: 23}字符串和數(shù)字混淆也可能輸出帶注釋的 JSON或者用單引號代替雙引號。不要把 JSON 解析失敗直接拋給用戶。我的做法是寫一個寬容解析函數(shù)先嘗試 json.loads失敗后用正則提取數(shù)字和鍵名再拼回合法的 JSON。另一個更省心的方案是把參數(shù)格式設計成字符串比如 add_numbers 的 Action Input 直接是 23 19工具內(nèi)部再用 split 切分。犧牲一點結(jié)構(gòu)換取穩(wěn)定性在動作很簡單的時候是劃算的。5.4 模型提前 Finish答案明顯不對這是最難排查的問題之一因為循環(huán)本身沒有報錯但你一看結(jié)果就知道不對??赡艿脑虬ㄌ崾驹~里的例子引導了模型讓它誤以為問題簡單到可以直接回答或者上下文里的歷史軌跡讓模型產(chǎn)生了幻覺。我建議在系統(tǒng)提示詞里加一條硬性規(guī)則除非你已經(jīng)執(zhí)行了至少一個工具調(diào)用并且獲得了觀察結(jié)果否則不得輸出 Finish。這樣能強制模型至少嘗試一輪工具調(diào)用避免它純靠內(nèi)部知識作答。如果已經(jīng)完成了工具調(diào)用但答案還是錯那大概率是 Observation 被截斷模型沒看到完整信息或者工具本身返回的數(shù)據(jù)有問題。這時候需要在日志里檢查工具返回的原始內(nèi)容確認數(shù)據(jù)源是否存在缺陷。很多情況下問題不在 ReAct 循環(huán)而在工具的執(zhí)行質(zhì)量。5.5 幾個讓你少走彎路的調(diào)試手段把每一輪的完整消息數(shù)組打印出來存成 JSON 文件。這樣隨時可以復盤模型到底看到了什么。像這樣在循環(huán)內(nèi)print(json.dumps(context, ensure_asciiFalse, indent2))你會發(fā)現(xiàn)很多詭異行為都能歸因于上下文里的某條歷史消息。做一個無外部依賴的假工具調(diào)試環(huán)境也就是我在第三節(jié)代碼里演示的兩個簡單工具。先用這些假工具把循環(huán)調(diào)順再換成真實業(yè)務工具。環(huán)境越簡單定位問題越快。最后所有工具調(diào)用的入?yún)?、出參、耗時都要打日志。Agent 循環(huán)是黑盒屬性很強的東西沒有日志你基本就是盲人摸象。我認為這一條比任何框架特性都重要。6. 從 ReAct 循環(huán)走出來的下一步你已具備手寫 Agent 的基礎把 ReAct 循環(huán)手寫一遍之后你對 Agent 的理解會和只聽說Agent 大模型 工具調(diào)用的人完全不同。你知道了每一步的數(shù)據(jù)流長什么樣知道了模型輸出如何被解析為動作知道了觀察如何回灌上下文也知道了終止條件為什么需要雙保險。這些認知無法通過安裝框架獲得只能靠你一行行寫出來、一遍遍調(diào)試出來。我個人還會在這個基礎上再加兩層東西。第一層是記憶機制把經(jīng)過壓縮的歷史摘要放入上下文讓循環(huán)可以處理更長的問題。第二層是規(guī)劃機制在進入 ReAct 循環(huán)之前先讓模型生成一個整體計劃然后循環(huán)按照計劃執(zhí)行。這兩層都屬于 ReAct 模式的外延核心骨架仍然是那個 while 循環(huán)。最后再分享一個我在項目里的實際用法不要全天候把所有請求都放進 ReAct 循環(huán)。可以先讓普通大模型直接回答通過一個置信度判斷只有低置信度時再進入 ReAct 模式。這樣能大幅降低 token 成本和延遲。這個小技巧幫我省下了很多不必要的工具調(diào)用成本也希望你在自己寫 ReAct 循環(huán)時能感受到這種掌控一切的踏實感。從你寫出第一個能運行的 while 循環(huán)那一刻起Agent 對你就再也沒有黑魔法了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
AV无码久久久精品| 爽爽歪在线视频| 少妇蹲下买菜露大唇0| 竹菊影视国产一区二区| 国产在线观看一区二区三区| 91精品久久久久久77777| 青青草中文-久久青草精品一区二区三| 中文字幕aⅴ在线视频| 美女淫穴| 久9九综合在线| 大香伊人在线一区| 人妻嗯啊啊在线播放| 午夜视频久久久久一区| 美女t无毒不卡不卡| 女人的久久久| 91亚洲黑人| 日韩色欲久久一二三四区| 91痴汉| 丰满少妇一区二区三区专区| 婷婷综合五月| 99国产精品视频尤物| 久久久久久久9| 91高跟美女在线播放| 欧美色色色| 精品亚洲黄色片 国产精品导航一区二区 | 成人性爱高清视频免费看| 精品免费一区| 婷婷国产精品一区二区| 亚州男人天堂| 狠狠躁天天躁日日躁97| 欧美激情久| 东北夫妻性偷拍| 亚洲中文字幕精品久久久久久直播| 精品人妻一区二区三区四区石在线| 区自美91| 老熟女天天操| 亚洲一区二区AV| 久久久久幕乱码| 色综合中文字幕不卡| 美女骚尻视频| 男人久久精品| 久久久久久网址| 精品视频在线观看| 岛国天天午夜影院传媒网| 久操 高清| 330dv亚洲成年视频网| 久久久久久大| av在线人气| 99国内精品| 96AV精品| 按摩中文字幕| 中文字幕88av在线| 蜜臀一二三区| 国产强奸无码乱伦| 欧美性爱综合,免费| 亚洲男人天堂视频| av毛片aaaaa免费看| 亚洲超碰97| 欧美在线啊啊| 午夜αv| 97亚洲色图| 久欲AV| 精品人妻久久久| 1204金沙人妻懂旧版免费| 99热成人| 熟妇亚洲一区二区三区| 日本性一区| 后入日本1234| 夜色91| 吖在线不卡一区二区国产剧情 | 丰满少妇乱子伦精品无| 日韩av影片在线观看| 日韩女模中文造逼| 免费人人搞97| 国产盗摄美女如厕大神作品在线观看| 夜夜做夜夜爽精品视频| 青青草好吊色| 白天啪啪晚上啪啪视频| 久久久97| 99抽插| 超碰天天去日穴| 久久久三区二区一区| 熟妇女伦乱视频| 免费人成毛片乱码| 色99视频| 天天看人人操屄犊摸阴| 96一区二区三区| 97视频网站| 97天堂| 亚洲精品国产熟女久久久久久| 99久久久er直播网址| 日韩在线观看中文字幕视频| 欧美天天综| 亚洲男人天堂网站| 亚洲美女自拍偷拍视频| 91黑丝在线播放| 夜夜夜久久| 无卡一区=区| 91精品91久久久中77777| 在线播放免费av福利片| 欧美熟女逼久久久久久| 久一区久久蜜桃| 国产亚洲精品久久久久小| 在线播放成人网站| yazhouzaixian| 国产成人精品必看 | 久久毛卡| 欧美一二三区四五区| 超碰是碰在线观看| 可以在线观看的黄色网址| 超碰AV在线| 中文字幕视频2区| 91痴汉| 一级特黄aaa大片在线观看成人一级片在线观看 | 97蜜桃综合| 久久精品国产97欧美精品亚洲 | 骚熟女吞| 视频一区二区三区精品| 在线天堂999| 黄色工厂这里只有精品| 久久综合婷婷| 一区二区三区麻豆| 国产女人成人精品视频| 天天在线91| 播播亚洲小说亚洲| 欧美骚少妇| 韩日性爱av| 国产乱人妻精品入口| 国产成人超碰在线| 天天影视激情欧美| 思思热在线视频免费| 婷色五月| 色网色网色网色网色网色| 秋霞欧美性爰视频| 97在线视频免费看| 一区二区你上我| 一区二区三区看视频| 91精品国产麻豆国产自产在| 偷拍亚洲情色| 综合久| 亚洲男人在线观看天堂| 欧美精品91| 激情小说亚洲色图| 精品一区二区三区四区外站| 人人摸人人摸人人干| 91高跟美女在线播放| 精品人妻免费观看| 丝袜喷水在线| 99久久精品无码一区二区毛片免费| 天堂资源欧美| 国产日韩色综合| 美女黑人91神马| 亚洲av影音先锋| 狠狠色五月亚洲91| 中文啪啪视频| 蜜乳Av成人片网站| 黄色交缠性感爆操91国产精品免费一区二区三区| 日操粉逼逼| 免费自拍三级综合| 91美女在线视频| 开心五月婷婷激情| 日语五十路和六十路亚洲国产精品| 0755午夜福利视频| 亚洲污污网站| 五月丁香婷婷色| 91综合色| 欧美日韩亚洲天堂网| 欧美,日韩综合久久| 密臀在线视频| 99色骚| 人人天天干干| 一级黄色性爱A级片| 成人草草视频| 激情亚洲天堂| 五月婷婷六月丁香| 日本天天操| 亚洲欧美色图| 性色av婷婷久久一区二区点复制| 欧美精品三级黄片| 国产精品午夜福利| 五月色综合| 无遮挡男女激烈动态图| 婷婷探花久久精品一区| www四虎| 五月开心久久AV官网| 精品蜜乳AV免费观看| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 久久九九97| 欧美天天插| 影视综合无码少妇| 人人操人人爽人人操人人| 亚洲精品熟妇1区2区3区。| 五十路熟女工口 | 国产精品乱码久久久久| 国产精品乱码久久久久久久| 美女的肌被草喷水视频| www九九热| 精品国产一区二区三区在线播出| 中国熟妇| 久久久性少妇| 欧美日韩97在线| 黄色小说亚洲| 人人澡综合涩| 国产性刺激| 激情五月丁香五月| 91强奸乱轮| 午夜福利一区二区影院| 午夜性生活av免费在线看| 99re在线视频这里只有精品| 欧美日韩精品国产91| 久久久久无码| 91 刺激在线| 久热大香蕉| 日韩人妻播放| 手机在线视频国内精品| 淫荡熟女乱伦网| 日本十八禁免费看污网站| 成年人黄色| 久久久亚洲欧美综合| 中国操逼无码| 狠狠中文字幕| 国产一区二区精品久久99| 74成人在线| 福利视频香蕉免费一区二区在线| 亚洲色图A| 亚洲成人ab| 日韩精品一区二区人人人| 亚州精品丝袜-不卡成人免费| 国产精品久久99日日| 国内毛片无遮挡国产| yaouchengrenav| av毛片aaaaa免费看| 78精品| 天堂成人网| 干b网| 欧美色干| 国产二区三区免费视频| 看免费的黄片| wwwcaobibi| 韩国黄色片精品久久久| 丰满人妻一区二区三区| 91九色丨国产丨爆乳| 欧美美女自慰一区二区三区| 日韩中文9| 国产sv美女内射| 人妻素股| 丰满熟女一区二区三区在线播放| 欧美福利视频啊啊啊啊| 亚洲最新av无码成人精品区| 天天色综合天天操| 欧美日本天堂| 怡红院成人视频| 97亚洲欧美| av在线浏览| 亚洲国产精品无码AV在线| 色眯眯av| 香蕉视频精品亚洲一区二区三区在线播| 春色综合网| 精品三级在线专区| 操逼视频免费日韩无码| 欧美激情总合网| 天天色怡春院| 熟妇xxxxx性春色| 亚洲中文字幕久久人妻| 久久久中文| 久久蜜色情在线视频xxx免费观看| 欧美极品色| 96久久久| 日本在线不卡v二区| 免费看污网站| 狠狠爱综合网| 东京热免费视频| 成人日韩中文字幕| 国产免费内射视频| 欧美不卡二区| 欲色啪| 黄色电影观看久久9| 婷婷激情综合网| 久久亚洲不卡一区二区三区| 久久精品国产亚洲av水密被窝| 久久欲| 欧美亚洲激情小说| 97伊人超碰| 探花在线免费观看视频国产一区| 丝袜制服字幕在线| 久草新在线| 五月天玖玖资源站| 国产AV天美传媒一区二区三区 | 97在线免费| 美女黄频a美女大全免费皮| 色色99| 久久永久无码人妻视频| 国产成人资源| 999色欧美中文字幕| 日韩亚洲中文有码视频| 婷婷色香| 国产精品美女久久久久AⅤ国产馆| 精品女人999| 日韩精彩视频| 91总综合网| 三级特黄60分钟播放| 久久久久网站-538在线视频-欧美永久乱码 | se..亚洲欧美| 丁香五月性| 欧美91网站| 志村玲子视频一区二区| 色欲三区| 亚洲www91| 亚洲成人激情小说视频| 亚洲棕合电彰| 乱伦av国产| 久久久婷| 翔田千里无码中出中文字幕| 美骚妇av高清在线| 精品成人无码| 欧美激情久久久久| 欧美十八禁在线看| 欧美色91| 中文字幕一区二区三区人妻少妇在线| 亚洲天天操| 免费人人搞97| 少妇3P性爱自拍| 久久夜精品一区二区三区| 一区二区三区高清天码| 蜜臀av网址| 亚洲精品三| 亚洲色图日韩丝袜制服一区二区五月在线 | 亚洲日韩在线a不卡99精品| 蜜奶av| 午夜操逼不卡| 亚洲综合色图欧美| 日本精品人妻少妇一区二区| 国产精品极品美女视频| 欧美综合狠| 青青草密桃在线播放| 91福利网在线观看| 日本精品一区二区三| 日本三级日本三级99| 91色花堂| 99热18这里只有精品| 国产懂色精品国产av| 亚洲女优有码无码高清| 久久9精品视频| 欧美色图片| 曰韩香蕉97| 大香蕉啪啪啪| 丁香色狠狠色综合久久小说| 国产极品精品美女视频| 深夜激情 | 国产激情在线| 在线亚洲精品久久久| 涩五月婷婷| 日韩无码精品综合久久| 91 丝袜在线播放| 久久久久久久9最新免费视频观看| 国产精选三级在线观看| 色色色日本| a啊啊啊啊啊啊啊啊一区二区| 精品v1区| 丁香五月婷婷啪啪| 日本欧美亚洲高清在线看| 亚洲综合在线第一页| 精品999日本| www超碰| 人人操人人插 - 百度 - 百度| 亚洲美腿丝袜香蕉影视欧美成人| 欧美日韩第一页| 欧美日韩免费性爱| 婷婷超| 成人三级片一区二区三区视频| SUV一区二区在线看| 无码人妻一区二区一牛影视| 亚洲国产成人高清在线| 色999亚洲人成色| 中文字幕一二区二三区人妻专区| 超碰欧美97| 欧美色97| 国产后入式在线观看| 亚洲欧美一区二区三区在钱蜜桃 | 97人人操人人摸人人爱| 91色色综合| 农村妇女一级二级三级视频| 日韩A优精品在线观看| 日韩国产九九精品一区二区三区毛片 | 九九亚洲视频| 偷窥自拍A片| 国产女人高潮嗷嗷嗷叫小说| 久久久久免费看少妇A片特黄| 欧美天天搞| 97情超碰色| 国产又大又粗又长视频| 啊啊啊骚| 伊香蕉综合久久久久久久噜噜噜| 97亚洲色图| 亚洲图片视频小说| 综合熟妇一区二区三区| 一本久久久精品| a啊啊啊啊啊啊啊啊一区二区| 另类老少妇| 亚洲精品乱码线路中文字幕| 粉嫩av平台| 不卡av免费在线网址| 日夜尻逼网| 五月天久久人妻| 夜夜欧美| 亚洲精品国产无码高清| 高清成年美女黄网站免费大全 | 亚洲精品精品一区二区| 91干熟女| 亚洲AV无码成人精品久久| Julia在线播放亚洲久久| 久久人妻精品| 夜夜操av亚洲一区二区| 久久华人网| 日本欧美不卡| 精品国模无码| 超清中文乱码字幕| 亚洲成人免费中文字幕| 久久婷婷影院| 精品视频97| 怡红院亚洲怡春院av| 日韩九九九| 桃花色综合影院| 婷婷亚洲综合| 超碰在线974| 60秒免费小视频| 欧美色97| 国产a片操逼| 热99这里只有精品| 狼人久草| 久久99草| 日本人妻最新在线中| 入口操逼网站| 久久一二三级一一一| 黄色电影观看久久9| 亚洲成人久久一区二区| 欧美最婬乱婬爆婬性视频 | 污色区网站| 成人五月天色网| 中文字幕视频免费| 噜噜噜狠狠色综合| 大香蕉婷婷| 超碰夫妻97| 精品国产污一区二区三区| 欧美熟妇视频| 亚洲综合五月天婷婷丁香| av情色影音| 欧美性Fer办公室秘书| a片自拍直播视频| 99精品视频在线观看免费| 五月丁香激情综合| 超碰偷拍| 人人操我人人干| 这里只有精品久久| 91热色| 波多野结衣AV无码一区| 99热最新网址| 少妇蹲下买菜露大唇0| 精品欧美不卡在线播放| 人妻少妇色综合| 夫妻AV网站| 十八禁av无码免费网站APP| 天天做天天爱| 大逼色网站| 操逼逼福利视频| 欧美日韩国产电影| Av手机版天堂网| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 亚洲色图欧美一区二区不卡| 99热这里是精品| 久久综合久色欧美综合狠狠| 无码高清专| 精品十三区| 超碰成人人人爽人人爽| 大香蕉AV丝袜| 成人精品在线免费视频| 亚洲欧洲偷拍一区| 久久精品国产精品一区| 玖玖人人爱| 91亚洲人| 久久伊人网视频一区二区三区| 日韩欧美日韩| 99自拍视频在线| 97天天| 久久久久久亚洲精品不卡人乳| 殴洲老熟女| 巨爆乳一区二区爆乳区| 亚洲性感丝袜诱惑在线观看| 大香网伊人久久综合| 青草伊人网| 丁香五月成人| 国产二区三区免费视频| 久久久久久91香蕉国产| 狼狼色丁香久久婷婷综合五月 | 中文字幕后石码四区五区| 长长久久88视频| 狠狠婷婷亚洲中文综合久久| 91黑丝美女| 国产51色综合久久免费| 密臀国产在线| 999在线电影香蕉| 久久久新亚洲AV| 欧美在线官网| 亚洲最大成人a毛毛片| 后入式视频国产自| 色蜜AV| 日本欧美国内在线| 婷婷综合伊人一区| 久久久久久久久久精| 精品一区二区亚洲国产| 东京热毛片177b2viP| 欧洲精品在线播放| 粉嫩av在线一区二区| 精人妻一区二区三区| 欧美亚洲20p| 色乱二区| 69一区二区三区 | 日韩欧美中文| 深夜福利黄片| 久久天堂网| 亚洲夜色在线| 大香蕉人妻| 日韩在线地址一| 欧美综合自拍亚洲综合图| 精品国产网站| 深夜激情无码| 国产精品诱惑| 熟女中出视频| 啊啊啊啊一区| 超碰97人妻免费在线| 人妻少妇久久| 欧美一区二区传媒| 国产67194| 黑人白女精品一区| 国产精品久久久| 4虎在线视频| 另类亚洲图色| 亚洲最大黄网| 久久国产热视频97电影| 成人精品无码| 熟女人妻精品一区二区视频| 加勒比性爱成人在线| 中日无幕一二三四区| 欧美性爱伊人| av日韩国产一区二区| 国产一级高清免费观看| 中文字幕人妻丝袜乱一区三区| 午夜精品久久久久久久男人的天堂 | 日产精品久久久一区二区| 欧美|91色综合| 精品久久人妻成人网| 人人干黄色| 超碰2017| 97免费视频在线| 九草九九九| 91天射| 99999精品成人| 激情综合网五月婷婷| 综合 欧美 亚洲 日本| 大香蕉乱级| 亚洲97在线观看| 亚洲人妻色图| 怡红院成人视频| 黑白配性爱AV成| 成人熟女区| 97久久精品亚洲中六字幕| 清清一区二区三区四区不卡视频| 亚洲色图超碰在线| 久久精品国产精品亚洲艾通辽熟妇| 伊人热综合| 摸奶性爱视频网站在线免费播放| 日本人妻最新在线中| 97综合久久| 久久久96| 日本αv| 伊人天天久久动态图| 另类图片综合| 五月天婷婷在线看 | 久久久精品国产亚洲AV无码| 国产一进一出视频网站| 国产精品久久久久亚洲av| 韩日性爱av| 亚洲精品一二区| 夜嗨影院| 婷婷精品视频| 91在线页| 日日夜夜草草草| 国产熟女精品区| 4虎在线视频| 97在线/亚洲| 色香综合| 国产精品不卡少妇白| 91麻豆天美| 国产精品第一区第一页| 色狠狠 - 百度| 十八禁啪啦拍视频无遮挡| 操人无码| 欧美高清性猛交| 龙兴卡官方查询| 美女丝袜激情小说| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 亚欧精品久久久久久久久久久| 另类图片五月| 熟女AV一区| 欧中美三级一区二区三区| 日夜伊人网| 中文字幕日韩精品久久| 日韩av不卡在线观看| 亚洲激情网一二三四区| 九九热视频这里只有精品| 91网站18+| 欧美96精品在线| 高清有码一区二区| 国产女性无套 免费观看| 67914亚洲精品| se,,,亚洲欧美| 人妻一区二区三区熟女| 无码天天操| 人人人人人人少妇| 中出后入| 亚洲在线| 亚洲男人久久综合天堂| 色五月激情网| 性交一区二区在线播放| 91n欧美| 8050午夜少妇无码| 熟妇一区二区三区| 精品人妻一区二区三区四区| 欧美第一页| 任你爽视频| 国产农村妇女精品1区二区| 日韩人人精品| 五月婷网站| 亚洲人精品久久久喷水| 综合亚洲网| 人妻中文字幕精品无码| 97视频网站在线观看| 久久精品成人| 免费在线观看国内色片网站网址| 久久久久久久少妇| 国产精品播放| 婷婷五月天AV| 四虎影视 亚洲无码| 国产精品网址| 裸模AV女优| 丝袜美腿91| 岛国片国产成人亚洲播放| 亚洲永久永久永久永久一级一级一级精品| 日韩啪啪视频| 黑丝少妇在线观看| 花花AV导航| 91精品久久久久久77777| 黄久在线| 粉嫩不卡一区二区性爱| 97频视在线| 福利天堂| 亚洲日韩欧美一区二区| 日韩超碰精品综合| 日本黄大片在线观看视频| 国产伦精品一区二区三区视频女| 精品人妻少妇| 天天干天天拍| 久久爽爽精品| 久久久久骚| 亚洲成人久久美女| 精品久久人妻成人网| 亚洲国产91精品一区二区久久| 九九九九88| 国产精品女生av| 免费岛国一级片| 91老熟女逼| 88xx成人精品视频| 久草毛片电影怡| 激情无码日韩| 亚洲美女黄色| 亚洲最大无码中文字幕网站| 九九人妻| 精品一区二区三区蜜桃臀赵总| 啊啊啊啊好疼| 按摩中文字幕| 亚洲 欧美 偷拍 唯美| 精品小视频在线| 青草青草久热| 午夜精品久久久久久久第一页按摩| 人人操人人插人www| 天天躁夜夜躁狠狠躁AV| 人妻av在线| 人妻精品视频一区二区三区| 久久綜合很很很| 大香蕉免费乱伦视频| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 国产91精品福利在线| 欧美色图99| 人妻激情偷乱视频一区二区三区| 精品对白久久不卡| 按摩中文字幕| 久久香蕉综合一本到3atv| 天天欧美| 大香蕉在线视频重口味毛片在线| 國產尤物AV尤物在線觀看| 青青草一区二区高清无码视频| 欧美男女午夜啪啪| 免费的很黄很污的全部视频| 欧美亚洲特P| 青草香蕉网| 久久xxxx| 黄片qw| av橘色网站| 操操操操操操| 狠狠狠狠狠狠| 成人午夜小视频手机在线看| 超碰色综合| 日韩久草| 久久九九一区二区三区成人| 久久综合激情| 亚洲蜜乳av| 午夜传煤十二区精品| 欧美视频激情久久久久久| 热久久这里只有精品| 婷婷丁香九月| 成年人黄色| 国产AV天美传媒一区二区三区 | 日本国产亚洲一区在线观看| 国产97av| 97超碰超欧美。| 蜜桃精品一区二区三区ww| 免费黄色A片| 大学生口爆吞精| 天天插网| 亚洲人妻在线一区| 一区二区三| 欧美午夜熟妇黑人精品91| 九九自拍伦理| 亚洲日韩青青草色月| 夜夜嗨一区二区| 国产女乱淫真高清免费视频| A级国产欧美激情在线| 亚洲无码日韩电影| 久久久久久中文| 少妇色综合| 日韩精品人妻中文字幕久久久| 天天精品| 国产成人精品日本视频| 亚洲欧美在线观看免费| 日韩性爱视频在线免费观看| 99人妻碰碰碰久久久久禁片| 男人午夜天堂| 日韩少妇无码| 91精片| 天天噜| 少妇高潮九九九九| 火箭成精品视频884必出精品| 亚洲污一污二| 青娱乐蜜桃臀AV色婷| 色一射色一射| 亚洲欧美精品一区天堂久久 | 伊人成人中文字幕久久网| 国产日本久久免费精品| 久久久久九九九| 国产91丝袜 在线播放| 熟妇一区二区三区| 少妇一区二区三区在线观看| 曰本精品久久久| 麻豆区99999| 在线天堂999| 亚洲欧美色综合| 四虎视频在线观看| 熟女高潮合集-永久久久-成人AV | 蜜臀久久99精品久久久久电影| 精品亚洲国产成人av网站| 蜜乳AV.COM| 欧美天天干| 操逼片国产| 国产强奸超碰AV| 国产99 中文字幕日韩小视频| 亚洲欧洲国产综合av| 国产av波波国产精品| 国产精品对白内射| 久久久久久久久成人av解说| 久久人| 久久久久性熟视频| 亚洲AV免费在线| 国产天美欧美| 天天综合有色网| 动漫av中文| 蜜桃臀一区二区三区久久| 亚洲欧美日韩电影网站一区 | 91精品人妻偷情| 亚洲综合图片在线| 日韩操啪| 日本A级视频| 少妇色综合| 欧美伊人电影| 久久性爱视频99| 久久九九国产精品| 亚洲 日韩 欧美 国产综合体| 999久久久精品国产| 色五月69夫妻| 干b网| 久久AV无码AV| 国产激情av女片自拍| 久久思思热| 97久久免费| 黑人性欧美| 啪啪啪东京| 色婷婷狠狠18禁| 91电影色诱| 外国免费性情大片| 久操凹凸视频| 志村玲子视频一区二区| 久久爽爽精品| 欧美性暴力| 国产偷拍自拍在线视频| 九九热精品在线| 玖玖爱伊人玖玖爱| 一级片视频啪啪| 日本在线一二| 无码九九| 欧美91视频| 97视频观看| 99久久免费看精品国产一区| 少妇无码av专区线| 九九激情网| 色777999综合| 奇米四色影视777久久久| 久久日韩毛| 青青草AV色| 大黄片做爱的大的| 日本一区二区电影网站| 97视频播放| 综合影视国产无码| 亚洲色资源| 欧美大香蕉久| 亚码激情| 麻豆精品.欧美精品.日韩精品.| 亚洲春色一区二区三区| 国产 无码 一区二区| 久久麻豆一区二区| 亚洲不卡一| av在线免费一区二区| 日本女厕偷拍| 中文字幕在线观看网址| 激情六月天| 欧美激情精品久久久久久| 亚洲国产午夜真人一级片中文字幕精品黄网站| 色女综合| 人人妻人人爽人人精品| 探花激情视频| 亚春色色| 大香蕉综合| 婷婷人妻激情| 激情五月婷婷| 久久久专区| 男人天堂网址| 成人AV素股で擦久久| 男人的天堂久久| 美女自卫慰黄网站免费| 91大香蕉伊人| 五月丁香啪啪啪| 精品人妻一区二区三区视频在线| 久草五月| 久久久久久久唑| WWW4虎| 午夜啊啊| 极品色社| 人妻一区二区三区四区视频| 美女人妻色网站| 亚洲天堂五月天国产| 国产精品久久久久久久久久久久久久久久久久 | 大香蕉久| 亚洲97资源| 亚洲人成网www| 欧美天天| 日韩国产十八禁| 精品国产丝袜一区二区三区乱码| 久久精品99| 久久思思热| 国产高清成人免费视频| 欧美97在线观看| 天天干夜夜一操| 欧美亚洲首页| 婷婷导航| 97视频在线免费观看| 久久久婷婷| 亚洲砖码砖专无区2023| 一区二区影视| 神马久久久久久久久久| 日欧亚洲二三区大片不卡| 日本 情色 1区| 人妻精品4K4K4K4K4| 欧美日韩香蕉| 欧美色图电影| 久久中日麻豆| 久久久18| 亚洲无无码αⅴ每日更新| 色五月AV在线| 久久婷婷色综合一区二区三区| 国产辣妈在线视频福利| 久久99久久99精品天美传媒棢·纸:.| 成人综合色网| 91人妻做a观看视频| 鸥美中出| 少妇色综合| 婷婷在线视频| 日本黄色精品专区网站| 综合亚州欧美| aaa淫乱视频| 国产激情片在线观看| 青青青国产手线观看视频2| 精品二区三四区五电影 | 中文视频在线观看| 天美精品一区二区三区四区在线观看| 久久九九网| 日韩无码三级影院| 色香欲影| 久艹视频在线| 天天干人妻| 久久欧美按摩999| 国产97视频免费观看| 网站A V在线| 欧美日韩另类激情图片| 亚洲熟女乱色一区二区三区久久久| 国产女人操逼视频| 国产精品第一区第一页| 六十路日本| 麻豆一区二区三区在线看 | 天天上日日上日韩精品| 97久久超碰亚洲| 91久久堂| 少妇天堂网络| 久久国产精品91| 国产精品青草综合久久| 婷婷丁香五月天综合东京热| 亚洲国产精品成人综合| 国产呦精品系列在线观看| 久久啊啊啊视频| 亚州色站 日韩电影| 丁香五月偷拍| 六月丁香久久| 91|九色|国产熟女| 欧美大香蕉专区网| 国产精品久久久久久久毛片1| 波多野结衣AV无码一区| 深夜福利黄片| 亚洲综合欧美| 日韩成人小视频| 亚洲91综合| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 亚卅熟女乱色| 国产精选三级在线观看| 日韩黄色一区二区三区| av网页一区二区三区| 欧美性生活免费网| h4610国产人妻| 久久成人午夜精品影院| 国产aⅴ无码片毛片一级网站| 影视综合无码少妇| 亚洲好看强奸乱伦| www.亚洲黄色| 后入内射蜜桃臀| 日本欧美色| 东北操逼| 欧美亚洲丝袜人妻制服中文99| 精品无吗m| 翔田千里无码一区| 福利在线观看一区二区| 丁香五月天堂| 久久久久久久九九九九九九| 动漫区日韩区欧美区| 香蕉国产97| 欧美日韩中文视频播放| 成人无码在线超碰网| 国产激情片在线观看| 嗯嗯啊啊视频在线看| 伊人久久大香蕉线AV五月天| 破处bbq| 欧美激情在线观看视频| 国产无码精品成人| 国内毛片国产专区二| 涩涩五月天| 天天色怡春院| 午夜精品久久久久久久久久久久久| 成人午夜高潮av猛片| A 天堂在线观看视频| 情色日播放AV| 97视频在线视频| 亚洲色天| 久久男女激情视频网站| 亚洲中文字幕有码视频一区二区三区| 9精品久久| 少妇久久久| 狠狠激情综合狠狠操中文字幕| 超碰亚洲欧美日韩无| 久久久久人| 嫩草美女久久| 99久热| 色眯眯av| 情趣丝袜无码操逼视频| 色婷久久| 成人天天爽| 成人五级久久| AA丁香综合激情| 欧美色图97| 精品国产91内射久久| 欧美国产日韩清纯唯美| AV色图| 久久久久久亚洲Av无码精| av中文在线| 女上位精品在线| www亚洲免费| www.四虎在线| 亚洲色电影在线| 99久久久er直播网址| 色色99| 久久久久国产精品久久久| 国产精品熟女乱伦| 熟女久久久| 操迟操逼在巾线Fre看| 三级片大波波| 啊啊啊爽爽| 婷婷久久综合久| 校园春色综合色| 久久精品国产Aⅴ| 91黑人狂躁丰满熟妇| 日本欧美一区二区三区免费| 天天性射网| 牛黄色久午久| 亚洲图片视频小说| 风流老熟女一区二区三区l| 91偷拍欧美亚洲| 久久超碰网| 精品国产网站| 国产小黄片在线免费观看| 成人日韩中文字幕| 亚洲天堂男| 美女的肌被草喷水视频| www男人天堂| 成人日本视频人妻在线| 亚洲AV在线资源| 久久久国产亚洲精品系列| 国模不卡一本二本三电影| 18禁看网站一区| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 嗯~啊~快点 死我视频| 蜜臀久久99精品久久久| 欧美熟妇视频 | 澳门成人网站久国产日韩| 电家庭影院午夜69久久夜色精品国产69乱| 色色国产| site:sinbotex.com| 亚洲aw毛茸茸在线 | 97视频620| 无码av永久免费专区网站| 日日日大屁股骚女人精品| 国产尤物AV尤物在线观看不卡| 久久久久婷婷精品av电影| 亚洲激情在线一区二区| 老司机香蕉久久久久| 97色冈| 肏逼福利网站| 亚洲第一色页夜| 户外裸露刺激视频第一区| 狠狠色五月亚洲91| 久久草草欧美精品| 99日免费视频中文字幕| 女人综合网| 在线观看综合精品亚洲| 亚洲综合伊人无码久久| 欧美三级不卡| 欧美日韩黄片精品在线| 加勒比色综合| 六六久久日韩不卡| 午夜.DJ高清在线观看免费7| 亚洲国产丝袜在线观看| 婷婷色导航| 亚洲一卡二卡在线免费| 亚洲国产丝袜在线观看| 婷色五月| 亚洲国产91精品一区二区久久| 天天综合网合集91| 国产久久一区二区午夜| 一本大道不卡一二三区| 97国产精品一区| 欧美性爱一区二区三区四区 | 97在线资源| 国产精品老熟女一区二区| 久久久精品电影| 亚洲干B| 国产一区麻豆免费观看| 国产h片在线观看视频| 操逼啊啊啊91| 神马久久中文字幕| 簧片免费看视频| 久久亚洲中文字幕视频| 快播久久人人aV| 快点操死我| 久久激情视频| 99国产在线 精品 视频| 天天射夜夜骑| 天天综合网~91综合网| 人人爽天天爽| 2026国产精品视频| 中出91| 国产精品嫩草影院免费| 大色综合| 99少妇| 日韩八十路老熟女| 亚洲城人男人的天堂| 五月激情视频| 日本色色色视频| 伊人一区二区在线播放| 男人的天堂va在线| 97在线观看视频| 2026国产精品视频| 美女的肌被草喷水视频| 青草视频在线看看看看看看看看看| 强奸乱伦中文字幕AV| 涩综合导航| 五月丁香激情四射| 国产97av| 九九九只有精品| 日韩 女同 综合| 97色涩| 好看的91视频| 香蕉一区二区三区在线视频| 日本在线一二| 99久视频| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 成人天天爽| 曰本熟女视频| 人妻插插人妻人| 超碰爽人妻熟女Av| 黄色污污污污污污网站| 91丝袜美女国产| 欧美男人一区| 伊人成人中文字幕久久网| 成人精品在线观看| 综合色图区| 欧美日韩成人在线| 色婷婷亚洲婷婷| 天天爽爽爽爽| 精品超碰中文在线| 女优视频第10页| 91 手机在线播放 绯色| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 国产精品久久久久无码Av网曝门| 91东北熟女| 国产在线综合福利网站| 牛牛AV人人夜夜澡人人爽| 日韩国产精品人妻无码久久久| 日本一区不卡| 日本淫乱女一区二区三区视频| 日日夜夜摸| 国产女人视频三四五区| 99久re热视频精品98| 亚洲天堂欧美| 亚洲春色一区二区三区| 韩美日操逼| 台湾成人无码AV| 欧美十八禁网站|