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

ARTICLE DETAIL

資訊詳情

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

從零手寫Agent運行器:深入理解ReAct范式與LangChain核心原理

從零手寫Agent運行器:深入理解ReAct范式與LangChain核心原理 1. 項目概述從“玩具”到“利器”的Agent實戰(zhàn)最近在折騰LangChain發(fā)現(xiàn)很多教程都在講概念一上手實操就懵。特別是Agent這塊感覺像在用一個黑盒子出了問題都不知道從哪查起。于是我決定反向操作不直接用現(xiàn)成的AgentExecutor而是從零開始手寫一個最精簡、功能完整的Agent運行器我把它叫做mini-cursor。這個項目的目標(biāo)不是造一個比LangChain更好的輪子而是通過“拆輪子”的過程徹底搞懂Agent內(nèi)部的工作流、狀態(tài)管理和錯誤處理機(jī)制。當(dāng)你自己實現(xiàn)一遍agent.run(“查詢今天的天氣”)背后發(fā)生的一切再回頭去看LangChain的源碼那種豁然開朗的感覺才是真正的“完全實戰(zhàn)”。這個mini-cursor麻雀雖小五臟俱全。它能理解你的自然語言指令自動規(guī)劃、調(diào)用工具比如搜索、計算并根據(jù)結(jié)果決定下一步是繼續(xù)執(zhí)行還是給出最終答案。整個過程完全透明你可以看到每一步的思考Thought、行動Action、觀察Observation。無論你是想深入理解Agent原理的開發(fā)者還是希望定制獨特Agent工作流的項目負(fù)責(zé)人這個實戰(zhàn)過程都能給你帶來遠(yuǎn)超閱讀文檔的收獲。接下來我就帶你一步步拆解如何用幾百行代碼構(gòu)建這個智能的“迷你光標(biāo)”。2. 核心設(shè)計構(gòu)建一個自驅(qū)動的智能循環(huán)2.1 理解Agent的核心運行范式Agent的本質(zhì)是一個自主決策循環(huán)。它不像普通的函數(shù)調(diào)用輸入輸出一次完成。相反它處在一個持續(xù)感知、思考、行動、再感知的循環(huán)中。我們設(shè)計的mini-cursor必須完美封裝這個循環(huán)。其核心狀態(tài)機(jī)非常簡單卻極其重要接收輸入用戶提出一個問題或指令。思考與分析基于當(dāng)前對話歷史和問題決定下一步該做什么。是調(diào)用某個工具還是直接給出答案執(zhí)行行動如果決定調(diào)用工具則以正確的參數(shù)執(zhí)行該工具。觀察結(jié)果獲取工具執(zhí)行后的輸出。評估與循環(huán)判斷這個結(jié)果是否足以回答問題。如果可以則跳出循環(huán)返回最終答案如果不行則帶著新的觀察結(jié)果回到第2步繼續(xù)思考。這個循環(huán)的驅(qū)動力來自于一個大語言模型LLM。在每一步“思考”中我們都需要將當(dāng)前的狀態(tài)用戶問題、對話歷史、之前的工具執(zhí)行結(jié)果組織成合適的提示詞Prompt送給LLM讓它來做出決策。因此我們的mini-cursor架構(gòu)必須清晰地區(qū)分控制流循環(huán)邏輯、狀態(tài)判斷和推理層與LLM的交互。2.2 定義關(guān)鍵組件與接口為了讓代碼清晰且易于擴(kuò)展我們需要先定義幾個核心的類。這是模仿LangChain但極度簡化的設(shè)計Tool工具Agent可以調(diào)用的外部能力單元。每個工具必須有明確的名稱name、描述description和一個執(zhí)行函數(shù)_run。描述至關(guān)重要因為LLM就是靠描述來決定在什么情況下使用這個工具。class Tool: def __init__(self, name, description, func): self.name name self.description description self.func func def run(self, input_str): return self.func(input_str)例如一個計算器工具其描述可能是“當(dāng)需要對數(shù)學(xué)表達(dá)式進(jìn)行計算時使用此工具。輸入應(yīng)為一個可計算的數(shù)學(xué)表達(dá)式字符串?!盇gentState代理狀態(tài)這是一個數(shù)據(jù)容器用于在循環(huán)中傳遞和保存所有必要信息。通常包括input: 用戶原始問題。chat_history: 對話歷史對于多輪對話很重要。intermediate_steps: 一個列表記錄已經(jīng)執(zhí)行過的(Action, Observation)對。這是Agent“記憶”的核心。agent_scratchpad: 一個臨時字符串用于將之前的步驟格式化成提示詞的一部分供LLM在下一步思考時參考。OutputParser輸出解析器LLM返回的是自然語言文本我們需要從中精確地解析出結(jié)構(gòu)化信息它到底是想執(zhí)行一個動作Action還是想直接回答FinalAnswer一個動作又包含工具名tool和輸入?yún)?shù)tool_input。解析器的魯棒性直接決定了Agent的穩(wěn)定性。2.3 設(shè)計決策為什么選擇ReAct范式在眾多Agent范式中如Plan-and-Execute, ReAct, AutoGPT我為mini-cursor選擇了ReActReasoning Acting。原因有三點都是實戰(zhàn)中總結(jié)出來的透明可調(diào)試ReAct要求LLM顯式地輸出“Thought:”、“Action:”、“Observation:”等關(guān)鍵詞。這就像給Agent的運行過程加上了調(diào)試日志每一步的推理和決策都清晰可見。當(dāng)Agent出錯時你可以精準(zhǔn)定位是“思考”錯了還是“行動”的參數(shù)錯了或是“觀察”的結(jié)果沒理解對。實現(xiàn)簡單直觀其提示詞模板和解析邏輯相對固定非常適合教學(xué)和作為理解更復(fù)雜Agent的基礎(chǔ)。我們不需要引入額外的規(guī)劃模塊或復(fù)雜的任務(wù)分解邏輯。廣泛的適用性ReAct范式被證明在多種需要多步工具調(diào)用的任務(wù)上都非常有效如復(fù)雜問答、數(shù)據(jù)分析等是一個很好的通用起點。注意選擇ReAct也意味著我們將決策壓力完全交給了LLM的單步推理能力。對于極其復(fù)雜、需要長鏈條規(guī)劃的任務(wù)這可能不是最優(yōu)解。但在mini-cursor的目標(biāo)——理解和掌握基礎(chǔ)Agent循環(huán)——上它是完美的選擇。3. 核心細(xì)節(jié)解析與實操要點3.1 提示詞工程驅(qū)動智能的“燃料”提示詞是Agent的“大腦指令集”。一個糟糕的提示詞會讓最強(qiáng)大的LLM也表現(xiàn)得像個傻瓜。我們的提示詞需要精心組裝以下幾個部分系統(tǒng)指令定義Agent的角色、能力和行為規(guī)范。例如“你是一個樂于助人的助手可以調(diào)用工具來回答問題。如果你不知道答案就說不知道不要編造信息。”工具描述這是最關(guān)鍵的部分。必須清晰、無歧義地列出所有可用工具的名稱和描述。LLM完全依靠這些描述來匹配用戶意圖和工具功能。描述應(yīng)該以“Useful for...”開頭并說明輸入格式。格式指令強(qiáng)制要求LLM以嚴(yán)格的格式輸出。對于ReAct就是Thought: 我需要分析用戶的問題并決定第一步做什么。 Action: 搜索工具 Action Input: “今天北京的天氣”或者當(dāng)答案明確時Thought: 我已經(jīng)通過工具獲得了足夠信息。 Final Answer: 今天北京晴氣溫20-25度。歷史與臨時便簽將agent_scratchpad即之前的步驟記錄和當(dāng)前的input插入到提示詞中為LLM提供完整的上下文。實操心得在組裝提示詞時我習(xí)慣使用f-string或Jinja2模板將變量部分清晰地標(biāo)記出來。一定要在開發(fā)初期多打印幾次生成的完整提示詞確保格式正確、信息完整沒有多余的換行或空格導(dǎo)致LLM解析混亂。3.2 輸出解析從自由文本到結(jié)構(gòu)化動作LLM的輸出是自由的但我們的程序需要結(jié)構(gòu)化的數(shù)據(jù)。輸出解析器是連接兩者的橋梁也是最容易出錯的環(huán)節(jié)之一。一個健壯的解析器需要處理以下情況正常情況輸出嚴(yán)格符合“Thought:...\nAction:...\nAction Input:...”或“Thought:...\nFinal Answer:...”的格式。格式微調(diào)LLM可能在關(guān)鍵詞后多加了個空格或者用了中文冒號或者“Action”寫成了“Action”。我們需要用正則表達(dá)式進(jìn)行靈活的匹配。提前結(jié)束LLM可能在沒有調(diào)用任何工具的情況下直接輸出了“Final Answer”。解析器需要能識別這種情況。解析失敗當(dāng)完全無法匹配任何模式時不能直接崩潰。最好的策略是將整個輸出視為一個“思考”并設(shè)計一個默認(rèn)的“回退動作”比如調(diào)用一個“請求澄清”的工具或者直接返回一個包含錯誤信息的最終答案提示用戶重新表述。我實現(xiàn)的解析器核心是一個基于正則表達(dá)式的函數(shù)import re def parse_llm_output(text: str) - dict: thought_pattern rThought:\s*(.*?)(?\nAction:|\nFinal Answer:|\nThought:|\Z) action_pattern rAction:\s*(.*?)(?\nAction Input:|\Z) action_input_pattern rAction Input:\s*(.*?)(?\nThought:|\nFinal Answer:|\Z) final_answer_pattern rFinal Answer:\s*(.*?)(?\nThought:|\nAction:|\Z) # 嘗試匹配各種模式... # 如果匹配到Action返回 {type: action, thought: ..., tool: ..., input: ...} # 如果匹配到Final Answer返回 {type: answer, thought: ..., answer: ...} # 如果都匹配不到返回 {type: error, raw: text}踩坑記錄最初我用了過于嚴(yán)格的正則比如r“Thought:(.*)\nAction:(.*)\nAction Input:(.*)”一旦LLM的輸出稍有偏差比如多一個空行整個解析就失敗了。后來改用非貪婪匹配(.*?)和更靈活的邊界條件(?...)容錯性大大增強(qiáng)。3.3 工具的設(shè)計與注冊工具是Agent能力的延伸。設(shè)計工具時有以下幾個要點單一職責(zé)一個工具只做一件事。不要設(shè)計一個“萬能搜索”工具而應(yīng)該拆分成“網(wǎng)頁搜索”、“學(xué)術(shù)搜索”、“本地文件搜索”等。描述精準(zhǔn)工具描述是給LLM看的“說明書”。要寫明用途、輸入格式和輸出示例。例如“當(dāng)需要計算數(shù)學(xué)表達(dá)式時使用此工具。輸入應(yīng)該是一個像‘23*4’或‘sin(30度)’的字符串。輸出是一個數(shù)字或計算結(jié)果?!卞e誤處理工具的執(zhí)行函數(shù)內(nèi)部必須有完善的try-except。如果工具執(zhí)行失敗如網(wǎng)絡(luò)超時、API錯誤應(yīng)該返回一個清晰的錯誤信息例如“調(diào)用天氣API失敗請檢查網(wǎng)絡(luò)或稍后重試”而不是拋出異常導(dǎo)致整個Agent崩潰。這個錯誤信息會成為Observation讓LLM知道行動失敗了它可能需要嘗試其他工具或告知用戶。注冊與管理我們需要一個ToolRegistry來集中管理所有工具方便Agent在運行時根據(jù)名稱快速查找和調(diào)用。4. 實操過程一步步實現(xiàn)mini-cursor4.1 環(huán)境準(zhǔn)備與基礎(chǔ)架構(gòu)搭建首先確保你的Python環(huán)境建議3.8以上并安裝核心依賴。我們主要需要LLM的調(diào)用庫這里以O(shè)penAI API為例但你完全可以替換為任何兼容OpenAI接口的本地模型或其它云服務(wù)。pip install openai接下來創(chuàng)建項目結(jié)構(gòu)。我們主要需要以下幾個文件mini_cursor.py: 主邏輯文件包含Agent核心循環(huán)。tools.py: 定義所有工具。prompts.py: 定義提示詞模板。parsers.py: 定義輸出解析器。我們從定義最基礎(chǔ)的MiniCursorAgent類開始# mini_cursor.py class MiniCursorAgent: def __init__(self, llm, tools, max_iterations10): self.llm llm # 一個可調(diào)用的LLM對象需要實現(xiàn) generate(prompt) 方法 self.tools {tool.name: tool for tool in tools} # 工具字典 self.max_iterations max_iterations # 防止無限循環(huán) def run(self, user_input, chat_historyNone): 運行Agent的主入口。 # 初始化狀態(tài) state { “input”: user_input, “chat_history”: chat_history or [], “intermediate_steps”: [], “agent_scratchpad”: “” } for i in range(self.max_iterations): # 1. 組裝當(dāng)前提示詞 prompt self._construct_prompt(state) # 2. 調(diào)用LLM llm_output self.llm.generate(prompt) # 3. 解析LLM輸出 parsed self._parse_output(llm_output) if parsed[“type”] “answer”: # 獲得最終答案結(jié)束循環(huán) return parsed[“answer”] elif parsed[“type”] “action”: # 執(zhí)行工具調(diào)用 tool_name parsed[“tool”] tool_input parsed[“tool_input”] if tool_name not in self.tools: observation f“錯誤工具 ‘{tool_name}’ 不存在?!?else: observation self.tools[tool_name].run(tool_input) # 更新狀態(tài)記錄這一步 state[“intermediate_steps”].append(((tool_name, tool_input), observation)) # 更新臨時便簽供下一輪思考使用 state[“agent_scratchpad”] f“\nThought: {parsed[‘thought’]}\nAction: {tool_name}\nAction Input: {tool_input}\nObservation: {observation}” else: # 解析出錯處理錯誤 observation f“解析LLM輸出時出錯{parsed[‘raw’]}” state[“agent_scratchpad”] f“\nObservation: {observation}” # 可以選擇直接返回錯誤或者讓Agent繼續(xù)嘗試 if i 2: # 連續(xù)出錯多次后放棄 return “抱歉在處理您的請求時遇到了困難請稍后再試或重新表述您的問題?!?# 達(dá)到最大迭代次數(shù) return f“經(jīng)過{self.max_iterations}輪嘗試仍未完成請求。最后的狀態(tài)是{state[‘a(chǎn)gent_scratchpad’][-500:]}” # 返回最后一部分日志供調(diào)試4.2 實現(xiàn)LLM調(diào)用層與提示詞構(gòu)造為了讓代碼更靈活我們抽象一個簡單的LLM包裝器。這里以O(shè)penAI為例# llm_client.py import openai class OpenAIClient: def __init__(self, model“gpt-3.5-turbo”, api_keyNone): self.model model openai.api_key api_key or os.getenv(“OPENAI_API_KEY”) def generate(self, prompt): try: response openai.ChatCompletion.create( modelself.model, messages[{“role”: “user”, “content”: prompt}], temperature0, # 為了穩(wěn)定性溫度設(shè)為0 max_tokens500 ) return response.choices[0].message.content.strip() except Exception as e: return f“LLM調(diào)用失敗{str(e)}”接下來是提示詞模板這是Agent的“靈魂”。我們將它單獨放在prompts.py中# prompts.py REACT_PROMPT_TEMPLATE “”” 你是一個智能助手可以使用以下工具 {tools} 使用格式如下 問題用戶輸入的問題 思考你需要思考當(dāng)前情況決定使用哪個工具或直接回答 行動要調(diào)用的工具名稱必須是[{tool_names}]中的一個 行動輸入工具的輸入 觀察工具返回的結(jié)果 … (這個“思考/行動/行動輸入/觀察”的循環(huán)可以重復(fù)多次) 當(dāng)你有了最終答案時必須使用以下格式 思考我已經(jīng)獲得了足夠的信息。 最終答案你的最終回答 開始 之前的對話歷史 {history} 當(dāng)前問題{input} 這是你之前的操作和結(jié)果 {agent_scratchpad} 思考 “”” def construct_react_prompt(tools, state): tool_descriptions “\n”.join([f“- {t.name}: {t.description}” for t in tools]) tool_names “, “.join([t.name for t in tools]) history “\n”.join([f“Human: {h[0]}\nAssistant: {h[1]}” for h in state.get(“chat_history”, [])]) prompt REACT_PROMPT_TEMPLATE.format( toolstool_descriptions, tool_namestool_names, historyhistory, inputstate[“input”], agent_scratchpadstate.get(“agent_scratchpad”, “”) ) return prompt在MiniCursorAgent的_construct_prompt方法中調(diào)用這個函數(shù)即可。4.3 實現(xiàn)工具與解析器我們先實現(xiàn)兩個簡單的工具一個計算器一個模擬的搜索工具。# tools.py import math import re class CalculatorTool: name “計算器” description “用于計算數(shù)學(xué)表達(dá)式。輸入應(yīng)為一個包含數(shù)字和運算符 -, *, /, **, sqrt等的字符串。例如‘(23)*4’ 或 ‘sqrt(16)’?!?staticmethod def _run(expression: str) - str: try: # 安全警告這里使用eval有安全風(fēng)險僅用于演示。生產(chǎn)環(huán)境應(yīng)用安全的評估庫如asteval。 # 替換一些常用數(shù)學(xué)函數(shù)和常量 expression expression.replace(“^”, “**”).replace(“sqrt”, “math.sqrt”).replace(“pi”, “math.pi”) # 限制可用的命名空間增加安全性 allowed_names {“math”: math} result eval(expression, {“__builtins__”: {}}, allowed_names) return str(result) except Exception as e: return f“計算錯誤{e}” class MockSearchTool: name “搜索” description “用于獲取關(guān)于通用知識、事實或當(dāng)前事件的信息。輸入應(yīng)為一個搜索查詢字符串?!?staticmethod def _run(query: str) - str: # 模擬一個簡單的搜索返回 mock_knowledge_base { “今天的天氣”: “根據(jù)模擬數(shù)據(jù)今天全國大部分地區(qū)晴間多云氣溫在15-25攝氏度之間?!? “Python的作者”: “Python編程語言由吉多·范羅蘇姆Guido van Rossum創(chuàng)造。”, “地球周長”: “地球的赤道周長約為40075公里。” } for key, value in mock_knowledge_base.items(): if key in query: return value return “未找到相關(guān)信息。請嘗試更具體或不同的查詢詞?!?# 工具工廠函數(shù) def get_tools(): return [ Tool(nameCalculatorTool.name, descriptionCalculatorTool.description, funcCalculatorTool._run), Tool(nameMockSearchTool.name, descriptionMockSearchTool.description, funcMockSearchTool._run), ]然后是解析器我們實現(xiàn)一個健壯的版本# parsers.py import re def parse_react_output(text: str) - dict: text text.strip() # 嘗試匹配最終答案 final_answer_match re.search(r“Final Answer[:]\s*(.*?)(?\n|$)”, text, re.IGNORECASE | re.DOTALL) if final_answer_match: # 嘗試提取最終答案前的思考 thought_before re.search(r“Thought[:]\s*(.*?)(?\nFinal Answer|\nAction:|$)”, text, re.IGNORECASE | re.DOTALL) thought thought_before.group(1).strip() if thought_before else “” return { “type”: “answer”, “thought”: thought, “answer”: final_answer_match.group(1).strip() } # 嘗試匹配行動 action_match re.search(r“Action[:]\s*(.*?)(?\nAction Input:|$)”, text, re.IGNORECASE | re.DOTALL) action_input_match re.search(r“Action Input[:]\s*(.*?)(?\nThought:|\nFinal Answer:|$)”, text, re.IGNORECASE | re.DOTALL) thought_match re.search(r“Thought[:]\s*(.*?)(?\nAction:|\nFinal Answer:|$)”, text, re.IGNORECASE | re.DOTALL) if action_match and action_input_match: thought thought_match.group(1).strip() if thought_match else “” return { “type”: “action”, “thought”: thought, “tool”: action_match.group(1).strip(), “tool_input”: action_input_match.group(1).strip() } # 如果都不匹配可能是LLM輸出了非標(biāo)準(zhǔn)格式或者直接給出了答案 # 這里做一個簡單的啟發(fā)式判斷如果文本較短且沒有明顯的行動指令視為最終答案 if len(text) 150 and not re.search(r“Action|工具|調(diào)用”, text): return {“type”: “answer”, “thought”: “”, “answer”: text} # 否則視為解析錯誤 return {“type”: “error”, “raw”: text}4.4 組裝與運行測試現(xiàn)在把所有部分組裝起來進(jìn)行端到端測試。# main.py from llm_client import OpenAIClient from tools import get_tools from mini_cursor import MiniCursorAgent def main(): # 1. 初始化LLM客戶端請?zhí)鎿Q為你自己的API KEY llm_client OpenAIClient(model“gpt-3.5-turbo”, api_key“your-api-key-here”) # 2. 獲取工具列表 tools get_tools() # 3. 創(chuàng)建Agent agent MiniCursorAgent(llmllm_client.generate, toolstools, max_iterations5) # 4. 運行測試 test_queries [ “計算一下 (15 7) * 3 等于多少”, “Python是誰發(fā)明的”, “先告訴我地球的周長再計算這個數(shù)字除以1000是多少?!?] for query in test_queries: print(f“\n 用戶問題{query} “) answer agent.run(query) print(f“助手回答{answer}”) print(“ 結(jié)束 \n”) if __name__ “__main__”: main()運行這個腳本你應(yīng)該能看到類似以下的輸出清晰地展示了Agent的思考過程 用戶問題先告訴我地球的周長再計算這個數(shù)字除以1000是多少。 助手回答地球的赤道周長約為40075公里。40075除以1000等于40.075。 結(jié)束 在后臺Agent的agent_scratchpad會記錄下完整的軌跡Thought: 用戶需要兩個信息地球周長和該數(shù)字除以1000的結(jié)果。我需要先獲取地球周長。 Action: 搜索 Action Input: 地球周長 Observation: 地球的赤道周長約為40075公里。 Thought: 我已經(jīng)獲得了地球周長的數(shù)據(jù)現(xiàn)在需要計算40075除以1000。 Action: 計算器 Action Input: 40075 / 1000 Observation: 40.075 Thought: 我已經(jīng)獲得了足夠的信息。 Final Answer: 地球的赤道周長約為40075公里。40075除以1000等于40.075。5. 常見問題與排查技巧實錄在開發(fā)和測試mini-cursor的過程中我遇到了不少典型問題。這里把它們整理成排查清單希望能幫你快速定位問題。5.1 Agent陷入無限循環(huán)或重復(fù)調(diào)用同一工具癥狀A(yù)gent不停地調(diào)用同一個工具或者來回執(zhí)行幾個動作始終無法輸出最終答案。排查步驟檢查工具描述這是最常見的原因。工具描述是否清晰、無歧義LLM是否誤解了工具的用途嘗試修改描述使其更精確。檢查觀察結(jié)果工具返回的Observation是否清晰、完整如果工具返回了錯誤信息或模糊的結(jié)果LLM可能無法理解從而反復(fù)嘗試。確保工具的錯誤信息對人類和LLM都友好。查看思考鏈打印出每一輪的agent_scratchpad。觀察LLM的“Thought”部分看它的推理邏輯是否合理。有時LLM的思考會陷入死胡同。調(diào)整提示詞在系統(tǒng)指令中增加約束例如“如果同一個工具連續(xù)調(diào)用三次仍未獲得有效信息請嘗試其他方法或承認(rèn)無法解決?!痹O(shè)置迭代上限就像我們代碼中的max_iterations這是一個必要的安全閥。5.2 LLM輸出格式不符合預(yù)期解析失敗癥狀解析器頻繁返回error類型或者解析出的工具名、輸入?yún)?shù)是錯的。排查步驟打印原始輸出第一時間將LLM返回的原始文本打印出來。99%的問題可以通過肉眼發(fā)現(xiàn)比如多了奇怪的換行、使用了中文標(biāo)點、關(guān)鍵詞拼寫錯誤等。強(qiáng)化提示詞格式指令在提示詞中用更醒目的方式如括起來強(qiáng)調(diào)輸出格式并給出多個清晰的正反面示例。優(yōu)化解析器正則使用更寬松、容錯性更強(qiáng)的正則表達(dá)式如使用re.IGNORECASE忽略大小寫用.*?非貪婪匹配處理好可能存在的空格和換行變體。后處理LLM輸出在解析前可以對LLM輸出進(jìn)行簡單的清洗比如去除首尾空行將中文冒號統(tǒng)一替換為英文冒號等。5.3 工具調(diào)用結(jié)果不佳導(dǎo)致任務(wù)失敗癥狀A(yù)gent調(diào)用了正確的工具但任務(wù)還是失敗了因為工具返回的結(jié)果質(zhì)量不高。排查與優(yōu)化工具輸入預(yù)處理LLM給出的tool_input可能包含多余的自然語言描述。例如對于計算器它可能輸出“請計算一下sin(30)的值”。你的工具_(dá)run函數(shù)開頭應(yīng)該有一層預(yù)處理嘗試從字符串中提取出純粹的數(shù)學(xué)表達(dá)式“sin(30)”。工具結(jié)果后處理工具返回的結(jié)果可能過于冗長或包含無關(guān)信息。設(shè)計一個精簡或格式化的步驟提取出核心信息作為Observation。例如一個網(wǎng)頁搜索工具返回整個HTML你需要從中提取出文本摘要。引入驗證工具對于一些關(guān)鍵操作可以設(shè)計一個“驗證”工具。例如在調(diào)用“發(fā)送郵件”工具前先調(diào)用“確認(rèn)郵件內(nèi)容”工具讓LLM二次確認(rèn)減少錯誤。5.4 性能與成本優(yōu)化上下文長度agent_scratchpad會隨著循環(huán)輪次增長可能很快觸及LLM的上下文長度限制。需要設(shè)計截斷策略例如只保留最近3-4輪的交互或者將更早的歷史總結(jié)成一段摘要。LLM調(diào)用延遲每一輪思考都是一次LLM API調(diào)用延遲累加可能很可觀。對于簡單任務(wù)可以嘗試在提示詞中鼓勵LLM“一步到位”減少不必要的工具調(diào)用。Token消耗長上下文意味著高Token消耗。除了截斷歷史還可以考慮使用更便宜的模型進(jìn)行部分輪次的思考例如用gpt-3.5-turbo代替gpt-4或者對工具描述進(jìn)行壓縮。一個高級技巧讓Agent學(xué)會“反思”。你可以在agent_scratchpad的組裝中不僅記錄步驟還在每輪之后讓LLM自己對當(dāng)前進(jìn)展做一個小結(jié)。這有時能幫助它在后續(xù)步驟中做出更連貫的決策。實現(xiàn)起來就是在更新scratchpad時不僅拼接原始記錄還可以問LLM一句“基于以上步驟我們目前取得了什么進(jìn)展下一步最應(yīng)該關(guān)注什么”并將這個小結(jié)也放入上下文。這稍微增加了復(fù)雜度但對于復(fù)雜任務(wù)非常有效。通過這個從零構(gòu)建mini-cursor的完整過程我們不僅實現(xiàn)了一個可運行的Agent更重要的是我們親手觸摸了Agent每一個組件的脈搏理解了它們?nèi)绾螀f(xié)同工作。下次當(dāng)你使用LangChain的initialize_agent時你看到的將不再是一個魔法函數(shù)而是一個由清晰的數(shù)據(jù)流和控制邏輯構(gòu)成的、你可以預(yù)測和調(diào)試的系統(tǒng)。這才是“完全實戰(zhàn)”帶來的真正力量——從知其然到知其所以然最終到創(chuàng)造屬于你自己的“然”。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
四虎永久在线精品免费网址 | 天天综合网亚洲综合网| A 天堂| 为用户提供免费看黄网址在线观看| 色综合久| 精品无人区麻豆乱码1区2区图片 | 99在线啪| 亚洲av强奸乱伦| 国产久久日| 性饥渴少妇av无码毛片| 性色高清在线| 天美麻花大全视频| 青青草视频久久久久| 日欧操屄视频| 七久久久| 久啪| 国产suv精品一区二区四区999| 4虎在线视频| 国产精品盗摄 偷窥盗摄| 色婷五月天| 老熟女综合网| 免费A V在线| 国产精品午夜福利视频| 免费A V在线播放| 日日夜夜草草草| 亚洲暴力强奸AV| 欧美三级免费伊人| 国产精品96| 欧美日韩精品一区二区三区高清| 91久久18禁| 日本福利社| 就去色综合| 九九黄色网| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 久久亚洲精品成人av| 亚洲男人天堂2013| 91麻豆va国产精品| 欧洲性爱无码区| 韩日男人的天堂| 亚洲最大的黄色电影网站。| 久久久久久99AV无码免费网站| 久都青青视频| 国内偷自视频区视频综合| 色欲人妻一区二区在线| 蜜乳性色无码专日粉嫩骚逼AV| 啊啊啊啊好疼视频| 久久麻豆一区二区| 久久精品国内Av熟女高清| 欧美少妇熟女| 欧美人妻精品一区二区| 伊人色综合网电影| 色欧美天天| 亚洲妇色| 一牛影视成人片免费| 伦理片秋霞免费影院| 亚洲九月丁香| 国产精品一二三区福利| 亚洲男人的天堂在线看| 超碰九7免费| 天天综合精品| 亚洲一区日韩精品中文字幕| 91熟女.com| 3P乱轮视频| 欧美综合色| 美女黄页| 五月天黄色激情视频| 啊啊啊啊好疼| 操亚州| 国产 日韩 另类 视频一区爱| 91无摭挡| 97资源欧美| 久久无码电影| 热99这里有精品综合久久| 午夜毛片高清免费不卡| 日本亚洲熟女视频| 亚洲日本激情| 日韩精品-原创伙伴| 国内精品a| 99热在线只有精品| 加勒比综合九九99视频在线播放| 欧日a| 国产精品麻豆免费视频| 一本久道久久综合狠狠爱一密臀精| 亚洲色图国产另类| 日本一二三高清| 手机在线看片免费人成视频| 日B操| 欧美天天综合在线| 亚洲图片欧美另类综合免费视频大大香| 91九九| 国产传媒操逼视频| 思思热在线视频在线| 久久久成人免费av电影| 九九九九九九成人| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 99AV| 亚洲天堂另类| 天天热精品| 超碰人妻中文在线| 丝袜综合色图| 大香蕉 222| 天天爽天天爽| 亚洲欧美一区二区三区在钱蜜桃| 狠狠色婷婷777| 精品一啪| 久久精品国产亚洲妲己影视| 97久久久久| 91老司机精品| 极品色电影院| 亚洲性综合11| 伊人加勒比| 五十路成人在线视频二区三区| 亚洲骚女一区二区三区| 天天日日夜夜| 亚洲欧美日韩免费电影| 久久国产乱子伦精品免费女人| 91性感在线| 伊人九九九| 国色综合天| 四虎精品亚洲| 国产精品96| 啊啊啊啊啊操我视频| 啪啪91| 欧美色综合影院| 国产精品免费视频人成| 嗯啊抽插大香蕉网页| 93人人操人人| 亚洲色偷偷色噜噜狠狠99网| 色乱二区| 色小视频蜜乳| 又黄又爽在线观看视频| 色月天AV导航| 久久久久久性爱片| 欧亚久久偷拍视频| 亚洲欧美在线综合| 69精品| 中文字幕人成乱码熟女香港| 日韩一级成人毛片免费观看| 91久久99久久91熟女精品| 26uuu欧美| 五月天激情四射| 人妻激情偷乱视频一区二区三区 | 日本污ww视频网站| 肉丝网站91| 久久久专区| 骚女高跟AV在线| 国产性爱欧美性爱在线 | 成人天天看站长推荐| 欧美亚洲厕所精品偷拍91| 一本色道久久综合熟妇| 免费视频97| 综合伊人激情| 强奸乱亚洲| 日韩av熟女一区二区三区成人| 欧美中字二区| 97色综合中文网| 老熟妇一区二区三区…| 乱理日韩中文| 人妻喷水| 亚洲国产成人福利在线观看| 国产日本熟女顶级一区二区三区视频| 国内一区二区三区| 亚洲伊人久久综合97| 多毛小伙内射老太婆| 亚洲精品三| 男人的天堂成人的社区| 久久久一区二区三区四区五区| 中文字幕精品免费一区二区| 91久久久久久久久18| 欧洲Au麻豆| 亚洲吊色| 97色伦97色伦国产欧美| 日韩精彩免费| 鸥美中出| 亚洲精品中文字幕一区在线视频| 黄色毛片A片| 最新亚洲风情电影| 久久超碰日韩精品| 91色婷婷综合久久中文字幕二区| 久久亚码| 国产AAAAAABBBBB| 97五月天| 97超碰色色| 国产精品一区二区 尿失禁| 午夜精品99久久久久传媒| 四季AV一区二区凹凸精品小说| 亚洲人妻久久| av九九| 国产久久久久影院老熟女| 午夜精品久久久久久久久久久久久 | 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 一区二区亚州激情久婷婷欧美| 欧美亚洲高清| 五月天婷婷基地| 日韩欧美久久婷婷网站| 婷婷天堂站| 天美欧美国产| 天天谢天天干| 久久久久久久久久久久欧美日| 久久久国产av美女私房| 亚洲激情久久| 黑人娇小av在线播放| 激情五月婷婷| 男人久久天堂| 日日骚 av| 97超碰超碰| 志村玲子视频一区二区| 欧美熟妇精品黑人巨大91| 家庭乱伦网站国产| 97超碰欧美手机在线| 涩涩这里只有精品视频| 亚洲青色欧美| 18禁免费视频| 亚洲诱惑天堂 | 中文字幕av片| 亚洲 国产 精品一区| 美女主播色欲91抠b在线播放| 三级日韩一区二区三区| 91暧暧| 免费国产电影一区二区| 天天插天天插| 2019精品国产无码成人| 91天美传媒在线观看| 激情五月综合开心五月| 色妹子A V| 国产熟女精品区| 草草草视频在线免费看| 嗯嗯啊好大| 韩国成人精品久久久免费看| 欧美日韩国产色五月综合在线| 亚洲人妻在线一区| 美女上床网站| 裸体美女国产免费久久久网站| 日少妇视频| 天天香香欲综合| 亚洲图片色图欧美另类| 超碰这里有精品| 色噜噜狠狠色综无码久久合欧美| 亚洲综合另类| 啊操爽品善一区二区三区| 国产亚洲日韩在线三区黑人| 人妻精品一区二区| 91 亚洲情侣偷拍 久久| www.人人cao| 伊人操| surenchaopeng| 中文字幕亚韩| 亚洲成a人v欧美综合天堂下载| 区一二区日韩亚洲乱码av电影| 操我无码| 少妇久久久久久| 亚洲少妇在线影音| 99久久久99久久91熟女| 影音先锋日本一区二区| 91欧| 青青青草伊人精品| 久久久久久久久久久人妻| 中文字幕交换人妻| 亚洲国产一级黄色视频| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 亚洲国产奇米影视久久| 97干在线视频| 人妻激情在线视频| 国产精品对白内射| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 热99这里只有精品| 久久综合97| 国产精品久久久999| 婷婷六月色| 无码丰满熟妇一区二区浪潮AV| 五月天九九日国产精品一区二区三区| 好吊色一区| 深爱五月婷婷| 五月天婷婷影院| 久热这里| 麻豆国产成人精品| 国产精品成人蜜臀AV在线| 好舒服视频| 日韩AC| 国产精品欧美在线观看| 久久av色| 91精品无码人妻系列| 色妇综合网| 亚欧美天堂在线| 国产女乱淫真高清免费视频| 欧美日韩妖精91com| 国产91美女高潮| 91综合网| 欧亚 另类 久| 青青草精品| 国产成人自拍视频视频| 9久9久9久9久视频网站| 蜜桃精久三区| 强奸a片网| 97天天综合| 亚洲高清少妇| 91人人看| 国产精品视频精品一二| 欧美亚洲国产91在线| 综合一区二区影视| 天美国产精品| 五月色网| 国产AV毛片| 百度百度日本操逼| 日韩欧美中文字亚洲慕| 国产suv精品一区二区四| 亚州男人天堂| 丰满少妇精品一区二区| 98精品国产乱码久久久久久| 激情五月激情综合网| 6080YYY午夜理论片在线观看| 美女黄色91| 欧美A√综合网| 九月婷婷综合| 操逼视频免费日韩无码| 激情黄色片在线观看| 九九九九一区| 九一性生活免费视频| 欧美黄页在线| 丁香色五月 97干| 亚洲另类小说卡通动漫| 伊人九九九| 99国内熟女露脸视频| 91精品人妻一区二区三区蜜桃臀| 国产日韩精品suv| 男人天堂2019| 亚洲国产精品无码AV久久| 91欧美成人色站| 国产精品视频精品一二| 综合亚州欧美| 亚洲色图久久精品蜜| 九九英色视频| 久久久久久网址| 欧美亚洲国产91在线| 91美女视频在线| 牛牛久久国产精品视频一二三 | 久草线上视频免费看| 大香蕉国产中文自拍| 污污汅18禁网站在线永久免费观看| 亚洲深夜福利| 亚洲男人天堂2017| 青青久草| 竹菊一区二区三区AV线| 美女上床网站| 天天久久久久久| 后入式五六区| 久久久久9999妇女| 小草精彩毛片| 亚洲国产剧情少妇激情| 伊人国产av| 嗯阿好爽好紧| 日韩午夜国产| 97天天在线| 亚洲精品久久一区二区三区蜜桃臀| 97一区二压| 夫妻天天操岛国视频| 中日992视频| 91国精产品| 欧美亚洲国产日本在线,久久精品国产| 国产专区路线| 欧美色图 人妻| 久久99精品国产| 亚州中文字幕超碰97| 亚洲大色堂| 国产成人主播| 91日日夜夜| 97网址97| 狠狠97| 91N综合网| 男人综合网| 偷拍 亚洲 欧美| 91操操操操| A片A5445444| 精品人妻中文字幕4399| 久久99午夜精品一区人妻| 亚洲?V无码专区在线电影| 偷拍三区| 午夜男女爽爽爽在线视频| 97色色视频| 天天摸天天插天天日| 日日AV加勒比| 啊灬啊灬啊灬啊灬高潮奶出了免费视| 狠狠躁久久躁| 狠狠操使劲操| 精品高清av中文字幕| 日韩精品中文字幕一| 90后性网国产欧美| 综合网,亚洲,欧美| 亚洲视频二区| 神马久久久久久久| 啪啪资源网| 亚洲超碰在线| 国产肏屁眼视频| 蜜桃臀AV在线| 免费视频97| 久久久96| 日本www操操操| av在线资源| 极品粉嫩一区二区| 破处bbq| 最新制服中文第一页| JIZZJIZZ亚洲女人被躁| 天天色综亚洲91污| 91色黑人少妇| 啊啊啊啊,啊啊好多水| 久久只有精品| 国产成人无码网站在线视频| 99国产在线绯色一区| 狠狠干妹子| 操国产高清| 欧美日韩性爱操大逼| 日产国产精品中文久久婷婷| 男人的天堂在线| 深夜国产福利| 92午夜免费福利视频| 青娱乐 成人娱乐在线| 射欧美综合| 四虎AV在线播放| 国产日韩色综合| 婷婷综合在线| 青草青青久久久久久国产| 97超碰人操| 午夜美女福利视频| 成人av免费观看| 亚洲精品一卡二卡三卡福利视频网站| 少妇久久久久久| 国产免费一区在线观看| 伊人久久亚洲中文字幕不卡| 国产又粗又长的视频| 91人妻最真实刺激绿帽| 色噜噜国产在线| 亚洲精品97p| 在线a v| 亚洲男人的天堂AV| 激情小说激情视频| 亚洲欧洲日韩天堂av| 国产不卡精品91| 久久蜜桃一区二区| 国产91久久九九免费精品无码| 中文字幕视频2区| 97Ai亚洲| www.夜夜操| 国产精品对白自产拍| 乱论91| 久久色一区| 五月丁香激情四射| 曰韩精品九九无码| 日本不卡在线二区三区| 综合色播| 操熟女91| 天天爽爽爽爽| 欧美性高潮| 中文字幕国产| 亚洲蜜臀视频精品久久| 欧美大波激情xxxx| 神马福利久草| 97色97干| 中文字幕视频2区| 欧美91精品国产自产| 夜夜嗨一区二区| 久久久夜夜夜| 九色97| 综合97| 国产精品一区午夜福利| 热的中文 热的有码 热的国产| 午夜男人天堂| 欧美精品另类人妖xxxx| 一本大道青青| 高清国产av无码| 97色爱| 精品久| 夜夜爽33333| 精品视频一二三中文| 夜夜一区二区| 国产呦精品系列在线观看| 丁香五月婷婷色| 亚州性色| 99色悠悠| 一本色道无码DVD中文字幕| 香蕉一区二区三区在线视频| 久久性爱精品一区| 蜜桃狠狠色伊人亚洲综合 | 7月婷婷综合| 欧美极品美女aaaaaa级黄片| 东京热av男人的天堂| 做爱A级亚欧| 啊嗯嗯啊好大好爽| 婷婷色网| 亚洲无码视频免费在线观看网址!| 久久婷婷五月天| 青青草福利视频| 在线 亚洲 网爆 自拍| 亚洲无码精品AV久久久| 国产欧美伊人| 亚洲综合另类小说色区亚洲成av人片在www | 亚洲人在线成线成人| CCYY草草影院地址入口| 欧美人妻另类在线| 久久天堂婷婷网| 日本乱人伦片中文三区| 狠狠躁日日躁夜夜躁A| 久久艹逼视频| 免费观看网黄| 国产深喉| 国产suv精品一区二区四| 国产野战露脸在线播放| 亚欧洲一区二区视频| 丁香六月婷婷| 亚洲第一免费视频| 日韩一级二级三级| 一区二区三区成人 | GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 色婷婷视频| 久久 亚洲 日韩 人妻| 日韩不卡在线一区二区| 91色香| 亚洲 另类 丝袜 自拍 动漫| 亚洲男人的天堂亚洲| 精品国产Av无码久久久伦古装| 美女AV一区二区| 日本午夜久久电影| 亚洲欧美首页| 欧美97av| 97bbn| 青青青操| 九九aV| 日韩无码操逼片| 黄色工厂这里只有精品| 加勒比海成人视频网| 九九内射在线| 国产女生在线| 免费日韩黄片| 国产精品久久久亚洲第一牛牛_在线观看| 日本少妇va7777| 亚洲综合色婷婷| 亚洲国产av中文字幕久久| 欧美碰碰综合色| 玖玖资源中文字幕制服丝袜| 丝袜六区| www.超碰| 国产版a级片直播在线| 一个国产在线综合网站| 九九亚洲| 精品人妻丰满熟妇一区二区三| 新精精品久久精品| 99黄页网站| 人妻天堂综合网| 免费1级a做爰片观看| 少妇久久久久久久久| 亚洲蜜臀精品视频久久| 97精品视频在线播放| 日韩欧美偷拍美女视频| 操人妻逼91| 欧美久久毛片基地| 97国产超湿| 五月婷婷六月丁香| 无码国产精品午夜不卡(| 天天操夜夜嗨| 精品成人亚洲午夜电影| 91激情| 东京热毛片177b2viP| 中国熟妇| 大粗鳼巴久久久久| 欧成人在线| 久久久少妇诱惑精品视频| 97在线青| 亚欧美色图| 国产精品久久久久久夜夜夜夜| 精品97久久综合| 欧美日本久久精品一区 | 嗯……啊…嗯嗯…啊…好舒服| 五月综合色| 综合久久中文字幕综合日韩精品| 久操不卡视频| 久久超碰国产一区二区三区| 久久这里只精品免费福利| a片久久久久久久久久久久 | 亚洲欧洲综合视频在线| 色九九综合| 丁香六月婷婷| 97人人模人人爽人人| 乱伦日本色图AⅤ| 美女丝袜激情小说| 91强在线播放| 国产丝袜一区二区三区| 亚洲双插| 操人妻视频| 亚洲一区二区在线观看91| 国产粉嫩蜜臀av一区二区三区| 久久系列| 亚洲一区二区三区婷婷| 亚洲视频中文一区| 久久精品日韩| 日本亚洲熟女视频| 99热超碰| 在线天堂999| 青娱乐大香蕉| 超碰97资源网亚洲| 成人久久久| 国产亚洲精品一区二区三区| 欧美18老人禁| 久久精品中文字幕无码l| 国产精品99久久久www| 99在线免费观看| 91逼逼女人91| 精品一二三区女同| 久久久女人| 亚州熟女乱伦| 亚洲av淫乱| 日韩AV电影网站| 中文高清一区二区的| av麻豆啪啪| 神马久久免费电影观看| 熟妇乱伦一区二区| 欧美黑人精品一区二区| 欧美一级A片在线看视频性色| 丁香五月AV| 婷婷情色综合网| 大伊香蕉在线视频免费| 欧美激情综合| 亭亭丁香激情| 精品久久久一本一道| 精品人妻一二三| 狠狠色狠狠色狠狠五月| 中亚精品极乱| 成人一级二级| 2023天天操夜夜操| 亚洲操人| 69人妻精品丰满熟女区| 亚洲中文制服诱惑| 欧美亚洲清纯| 欧美精品成人一区二区在线观看| 探花一区在线| 午夜成人福利影视| 91大香蕉伊人| 蜜乳Av成人片网站| 91精品久久久久久77777| 精品国产一区二区三区久久久蜜臀| 欧美日韩中国x| 欧美18老人禁| 亚洲综合小说另类图欧美视频激情小说色五月天| 欧美爆操91| 操久久久久| 日本午夜操逼| 狠狠综合网| 99re8超碰| 日本女人久久久| 天天天天干| 18岁禁 茉莉成人久久| 成人久久精品| 97碰碰日本乱偷人妻中文的| 亚洲91色| 岛国成人av在线播放网址| 亚洲欧洲色情高清| 热99这里有精品综合久久| 自慰白浆在线观看| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 成人无码欧美一级A片狼牙直播| 91强在线播放| 色婷婷久久| 国产60页| 国产97综合| 日本午夜福利影院| 欧美性夜| 国产日韩区| 日韩成人综合网| 精品国产72| 一区二区三区黄色片a| 婷婷综合在线| 97在线播放| 91国产操逼视频| 少妇 综合| 亚洲国产蜜臀系列在线观看| 国产免费操逼| 国产亚洲日本| 曰韩精品视频一区二区| 亚洲蜜臀懂色| 天天影视亚洲| 吻戏激情性巴克| 久久香蕉国产线看观看亚洲女人 | 日本肉体xxxx裸交| 美女骚尻视频| 色婷婷九月天天综合| 蜜臀久久精品久久久久视频| 97精品熟女少妇一区| 97AV爱| 亚洲综合20p| 懂色综合久久久| 啊啊啊啊啊好舒服视频| 干婷婷综合网| 日韩无码AB| 中文字幕精品一区二区精| 青草视频人妻在线观看| 在线观看岛国有码| 亚洲97网站| 国产精品三级视频网站| 免费成人在线熟妇网| 国产2.3.4区| 色婷婷一区二区三区久久午夜成人不| 色爱欲亚洲| 精品黄色电影| 中文字幕女同在线| 九九亚洲精品| 区一二区日韩亚洲乱码av电影| 日本污ww视频网站| 人妻乱仑一区二区三区| 四虎在线播放| 91/欧美| 欧美在线观看综合国产| 大香蕉视频一二三区| 久久老熟女| 中文字幕精品人妻丝袜| 久久久天堂| 国产福利影视| 免费自拍三级综合| 日本不卡二区| 日韩中文字幕视频| 欧美日本中字另类在线| 999岛国大片| 97色亚洲| 中文日本免费高清| 久久久9 9 9精品| 91蜜桃婷婷狠狠久久综合9色| 综合九九| 69人妻精品一区二区绯色| 亚洲无992tv| 国产一区二区免费福利片| 色综和网| 五月丁香综合啪啪| 亚洲乱码精品一区二区| 日本九九久久99| 亚洲九区| 久久97| 久久熟女人| 精品国产人成在线| 亚洲色人阁| 精品免费1| 国产理论视频在线播放| 久久精品国产97欧美精品亚洲| 国产一级αv免费看片| 色综合加勒比| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 超碰天天久久79| 色网在线视频观看免费| 天天在线91| 丝袜内射| 曰韩av中文字幕专区| 四虎午夜影院| 啊啊啊啊好大好硬啊啊啊啊啊| 麻豆人妻精品一区二区| 在线一道啪| 免费国产视频| 一二三卡欧美日韩人妻免费精品| 久久最新免费视频23| 无码不卡八戒| 蜜臀久久久99久久久久| 麻豆av一区二区三区| 自拍鲍鱼一区在线高清观看免费| 美国日韩黄片| 蜜臀99久| 成人夜夜| 亚洲自拍欧美国产首页网曝| 欧美激情综合色综合啪啪五月| 夜夜天天噜狠狠爱2021| 九九无码| 东京热,男人的天堂| 怡春苑东京热| www.97在线| 色丁香五月婷婷| 秋霞久久亚洲精品成人| 女沟厕偷窥piss小便| 熟妇女伦乱视频视频| 青草香蕉网| 婷婷色导航| 嫩呦国产一区二区三区AV| 国产精品乱码久久| 97超碰影音| 久久久成人精品| 99啪啪| 91色碰| 激情99| 色欲久久综合| 美国一区二区免费视频| 亚洲性爱免费电影| 国产美女口爆吞精视频| 成人无码欧美一级A片狼牙直播| 久久一区,青青青青草视频在线播放| 操逼逼无码| 女人 A一级| 国产福利一区二| 91久久青青草原精品| 欧美色乱| 亚洲色欧| 天天干夜夜操一区二区| 亚洲天堂色图| 天美精品av| 青青操青娱乐| 红杏大香蕉| 色婷婷丁香五月| 美国一区二区三区视频| 亚洲成人免费中文字幕| 亚洲在钱| 日本最新1区2区3区| 91精品久久久久久久久久| 人人噜夜夜操| 久偷拍欧美日韩三区| 夜夜草网站| 日本久久精品| 人妻丝袜无 码视频专区| 思思99热| 91欧美高清| 97视频在线免费看| 亚洲 中文 女同| 麻豆九九九| 97天天弄| 亚洲天天精品| 色网亚洲人| 久久区| 色淫网站优优视频| 91丝袜美女视频| av亚欧| 在线中文字幕| 性开放中文AV高清无码免费看| 亚洲精品乱码线路中文字幕| 国产亚洲女v在线观看| 韩国成人精品久久久免费看| 国产又操| 天天综合精品| 嫩草 人人网精品| 加勒比海成人视频网| 国产和美国毛片| 欧美丝袜美女电影一二三四区| 熟妇高潮二区三区| 欧美色九九| 久久精品国产亚洲AV清纯| 人妻丰满熟妇一区二区三| 国产高清亚洲日韩一区| 久久久久免费看少妇A片特黄| 亚洲最新av无码成人精品区 | 粉嫩av平台| 熟女人妻一区二区三区免费看| 啪啪视频免费在线观看| 色在线亚洲视频www| 一起草欧美| 国产精品一区二区黄片| 婷婷导航| 天天香香欲综合| 国产精品视频在线播放 | 亚洲淫乱骚妇AV| 超碰到97情色| 欧美草草高清日韩视频| 色激情综合网站| 日韩性爱1级片视频| 国产欧美一区激情交| 乱日视频| 人妻无码视频一区二区三区久久| 妇女一区二区三区| 黄色视频60分钟| 久久亚洲av成人无码国产| 中文字幕在线观看视频www| 夜色五月天| 亚洲国产中文字幕| 日日橹狠狠爱欧美超碰| 四虎在线播放| 九九草| 久久性爱视频99| 美女黄频a美女大全免费皮| 国产不卡精品91| 中文字幕免费看| 高清不卡视频| 欧美福利视频啊啊啊啊| 亚洲熟女性高潮久久久| 色官网在线| 370p日韩欧美亚洲精品| A片 AV一级在线播放观看免费| 奇米四色网| 欧美后入| 国产精品毛片?v一区二区三区| 人妻熟妇久草在线| 欧美色图校园春色| 成在线人在线观看视频| 99无码精品| 老女人老91妇女老热女| 97在线欧| 日韩激情无码影院| 人妻熟女av国产网站| 久久精品视频28| 色悠久| 国产成人精品必看| www.91色综合| 久久久性少妇| 日本 色 导航| 9/A片 | 欧美熟妇成人一区二区| 亚洲最大无码中文字幕网站| 亚洲国产成人精品久久久国产成人一区二区三.| 欧美亚州手机在线| 国产精品一二三| 国产一区二区二区按摩精品啪视频| 伊人女女资源在线观看| 国产精品第二页| 亚洲色天| 情侣开房子拍 日韩无码 女的很漂亮| 欧美性爱视频免费一区一A| 久久99热这里只频精品6学生| 亚州Av天美传媒| 脫衣舞一区二区三区| 精品久久大胆人体| 日韩亚洲精品一区二区| 综合网久久| 夜夜嗨一区二区三区直播内容| 欧美一级久久久丰满| 性色国产东北露脸精品视频| 欧美日韩美女精品久草一区二区三区| 欧美激情性久久久久久| 欧美高潮在线| 久久久久久久亚洲Av无码| 欧美日动态视频| 国产精品久久久久久 百度| 亚洲欧美日韩电影网站一区| 国产操伦| 人妻天天爽夜夜爽2| 色欲天天综合网| 夫妻天天操岛国视频| 男人下部插入女人下部| 日韩成人无码| 西西美女视频网| 欧洲欧美视频一区二区| 国产精品3| 天天操夜夜操| 亚洲精品一区二区精品| 亚洲无限观看| 婷婷五月色| 精品国产Av无码久久久亚洲| 美女让帅哥通她小鸡鸡| 熟女精品va中文字幕| 欧美激情精品| 亚洲综合校园春色| www.99热| 国产AV无码AV| 久久久不卡| 国产第二页| 秋霞一级鲁丝片A片| 精品久久九| 欧美制服网站美腿丝袜| 中文字幕一区二区日韩网| 久视频在线观看| 亚洲中文字幕av| 久久婷婷视频| 欧美天天综合在线| 欧美人妻精品| 天天射天天| 加勒比伊人影院| 美女被啪到深处抽搐视频| 日欧美色| 国产区91柔拿会所技师| 久久后入制服| 色色色网站| 亚洲天堂精品日韩电影| 男女激情中文字幕| 亚洲AV成人精品网站在AV| 国产天美传媒精品| 国产三级电影免费观看| 色色青青久久| 亚洲人妻一区二区三区| 亚洲欧美情色| 亚洲综合色网| 富女玩鸭子一级毛片| 性性欧美| 强奸乱伦大香蕉网| 亚洲第一页色网| 久久草草欧美精品| 五月天我淫我色av| 欧美丝袜美女电影一二三四区| 十八禁啪啦拍视频无遮挡| 美女裸体无遮挡永久免费观看网站| 亚洲欧美国产中文字幕| 国产在线视视频有精品| 七月婷婷综合| 老熟妇一区二区三区啪啪| 久久亚洲AV无码专区国产精品| 丰满人妻一区| 7月婷婷综合| 国产麻豆福利av在线播放| 91久久久久久久久18| 国产熟女二区| 五月丁香色婷婷| 人妻丰满熟妇一区二区三| 天天影视色香色欲| 国产精品无码av在线| 欧美乱欲| 啊啊啊好疼| 91男女啊啊啊| 丁香六月啪| 国产黄色在线播放观看| 国产成人五月天丁香花| 嫩草影院永久在线制服丝袜| 夜嗨影院| 国产成人超碰在线| 欧美日韩大陆黑人少妇99| 啪啪综合网| 2019久久久久久久久福利| 亚洲自拍偷拍视频在线| 亚洲天堂久| 午夜毛片高清免费不卡| 婷婷亚洲中文字幕在线| 日本成人A片网站| 欧美日韩传媒| 91天射| 国产精品肉丝自拍| 91强热人妻| 大香蕉欧美| 深爱伊人影院| 91久久久老司机| 欧美综合97www| 色五月激情综合网| 欧美性爱视频免费一区一A| 不卡中文字幕aⅴ在线| 欧美亚洲在线| 丝袜色综合| 操B久久| 欧美日韩夜夜| 丁香九月激情| 夜夜草网站| 日韩 欧美 视频 在线 一区| 超碰美女97| 色狠狠一区二区三区香蕉| 人人综合| 蜜臀AV一区二区三区激情综合| 日操粉逼逼| 亚洲国产奇米影视久久| 肏逼视频日本| 91天天| 91亚洲欧美激情| 欧美亚洲手机在线| 91大香蕉伊人| 97人人爱人人做人人乐| 人妻久热在线| 国产精品一区二区三区在线密挑| 九九在线视频| 五月丁香综合激情| 国产成人手机视频激情| 男女激烈网站最新| 亚洲性爱免费电影| 91久久免费视频互動交流| 97超碰欧美精品| 久久久久久久| 大香蕉日韩| JuliaAnn丝袜熟女系列| 欧美九九九| 天天cao在线| 国产精品播放| 亚洲综合欧美| 天天看天天日| 久一区久久蜜桃| 熟女91网站| 欧美96在线|欧| 東南亚性呦成人伦理资源在线视频| 亚洲综合九| …中文字幕亚洲乱,97人妻无码费视…| 国产视频小说| 亚洲伊人久久精品影院| 国产精品在线一区二区| 久久99久久99精品天美传媒棢·纸:. | 91丝袜美腿网站| 久热伊人99re| 青青草吊丝| 骚逼一区二区| 成人黄页| 色妹子A V| 97人亚洲综合字幕| 色大师网站www永久网站视频| 伊人亚洲综合| 天美一区在线| 青青草AV色| 友优传媒精品在线一区二区| 91无码西班牙视频在线| 欧美在线永久天堂| 边做饭边操逼逼| 操逼啊啊啊91| 无色无码| 亚州精人品大香蕉| 欧美亚洲国产自久久| 操逼短片| 欧美欧美少妇| 伊人一区二区在线播放| 约操熟妇| 熟女探花啪啪| 大香蕉黄色一级片免费看| 夜间福利片1000无码| 日韩免费性爱视频在线观看| 手机在线看片免费人成视频| 99热伊人| 91国产丝袜足交精品视频| 久久性爱视频| 97色欧州| 亚洲男人天堂2| 日本黄页视频在线观看| 蜜臀AV一区二区三区| 中文字幕精品探花视频| 中文久久| 国产一进一出视频网站| 色香色欲天天综合网天天来吧 | 一区二区三区 丝袜 高跟 美腿| 中文字幕 一区二区 亚洲无码| 欧美中文狠| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 婷婷色婷婷| 精品人妻一区二区乱码一区二区| av草草在线电影| 国产97在线播放| 亚洲网站一区二区在线| 操操逼视频| 婷婷综合久久| 精品少妇一区二区三区免费观看| 伊人久久久日韩一区| 亚洲综合伊人| 国产sv美女内射| 免费?级毛片无码?∨蜜芽试看| 色情婷婷| 情色五月天网| 日躁天天爽爽| 日韩精品黄片免费观看| 久久超碰亚洲人| 久草电影网| 一本色道久久天天射天天干| 人妻av在线| 智利AV在线网| 久久性爱视频免费看| 少妇滛荡视频| 久久99国产综合精品女同| 欧美色图片色哟哟| 第四色奇米影视777| 五月婷在线| 碰人碰碰人人开房人肉| 中文字幕激情小说| 国产精品久久久久久无码红治院| 懂色综合久久久| 91老司机精品| 欧美少妇性爱网站| 中文字幕在线观看第二页| 九九九国产精品| 久久久久久久亚洲Av无码| 嗯嗯啊啊操死我| 欧美丝袜中文字幕07在线| 国产亚洲中文不卡二区| 97超碰逼| 91黄射| 一个人免费HD91视频| 国产乱弄免费在线视频。| 欧美亚洲自拍另类人妻| 日韩精品永久在线观看| 伊人aaa| 国产精品白丝| 色色色五月婷婷| 午夜精品人妻二区三区| 欧美十八禁导航成人| 偷拍亚洲高清图片| 九九九九AV| 人人操人人狠狠操|