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

ARTICLE DETAIL

資訊詳情

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

AI Agent開(kāi)發(fā)入門(mén):從零手寫(xiě)Agent循環(huán),別一上來(lái)就啃框架

AI Agent開(kāi)發(fā)入門(mén):從零手寫(xiě)Agent循環(huán),別一上來(lái)就啃框架 1. 先搞清楚AI Agent 到底是個(gè)什么東西1.1 別被術(shù)語(yǔ)嚇到它就是個(gè)“會(huì)自己干活的程序”很多人第一次聽(tīng)到 AI Agent 這個(gè)詞腦子里浮現(xiàn)的是科幻電影里那種有自我意識(shí)的機(jī)器人。其實(shí)完全不是那么回事。你把它理解成一個(gè)“能自己判斷下一步該干什么的程序”就行了。傳統(tǒng)的程序是什么樣你寫(xiě)死邏輯第一步調(diào)A接口第二步判斷B條件第三步寫(xiě)C數(shù)據(jù)庫(kù)。每一步都是你提前規(guī)定好的程序自己不會(huì)變通。AI Agent 不一樣的地方在于它中間有一個(gè)“大腦”——通常是大語(yǔ)言模型——會(huì)根據(jù)當(dāng)前的情況自己決定下一步做什么。你給它一個(gè)目標(biāo)它自己拆解步驟、自己選工具、自己判斷有沒(méi)有做完。舉個(gè)例子。你讓傳統(tǒng)程序去“幫我查一下明天北京的天氣然后決定要不要帶傘”你得寫(xiě)調(diào)天氣API、解析返回結(jié)果、判斷降水概率是否大于某個(gè)閾值、輸出結(jié)論。每一步都是硬編碼。而 AI Agent 的做法是你把“查天氣”和“判斷是否帶傘”這兩個(gè)能力以工具的形式給它然后告訴它“幫我看看明天北京要不要帶傘”它自己會(huì)決定先調(diào)天氣工具拿到結(jié)果后自己推理最后告訴你結(jié)論。這就是本質(zhì)區(qū)別傳統(tǒng)程序是“你告訴它怎么做”AI Agent 是“你告訴它做什么”。那為什么現(xiàn)在 AI Agent 突然火起來(lái)了因?yàn)榇笳Z(yǔ)言模型的能力到了一個(gè)新的臨界點(diǎn)。2023年之前語(yǔ)言模型的理解和推理能力還不夠穩(wěn)定你讓它自己規(guī)劃步驟它經(jīng)常跑偏。但現(xiàn)在的主流模型在指令遵循、工具調(diào)用、多步推理這幾個(gè)維度上已經(jīng)相當(dāng)可靠了這才讓 Agent 從論文里的概念變成了能實(shí)際跑起來(lái)的東西。1.2 一個(gè) Agent 的最小構(gòu)成四個(gè)零件不管多復(fù)雜的 Agent 系統(tǒng)拆到最底層核心就四個(gè)部分第一大腦LLM。這是整個(gè) Agent 的決策中心。它負(fù)責(zé)理解用戶(hù)意圖、規(guī)劃步驟、選擇工具、判斷結(jié)果是否滿(mǎn)足要求。你可以用 OpenAI 的接口、Claude 的接口、也可以用本地部署的開(kāi)源模型。選哪個(gè)模型直接決定了 Agent 的“智商上限”。第二工具Tools。Agent 不能只靠嘴說(shuō)它得能干活。工具就是它跟外部世界交互的手段。查數(shù)據(jù)庫(kù)是一個(gè)工具發(fā)郵件是一個(gè)工具執(zhí)行一段代碼是一個(gè)工具甚至調(diào)用另一個(gè) Agent 也是一個(gè)工具。工具的定義通常包括名稱(chēng)、描述、參數(shù)列表、執(zhí)行邏輯。描述寫(xiě)得清不清楚直接影響到模型能不能正確選用這個(gè)工具。第三記憶Memory。包括短期記憶和長(zhǎng)期記憶。短期記憶就是當(dāng)前對(duì)話(huà)的上下文讓 Agent 知道剛才發(fā)生了什么。長(zhǎng)期記憶通常是外掛一個(gè)向量數(shù)據(jù)庫(kù)讓 Agent 能記住幾天前甚至幾個(gè)月前跟用戶(hù)的交互內(nèi)容。沒(méi)有記憶的 Agent 就像金魚(yú)每次對(duì)話(huà)都從零開(kāi)始。第四規(guī)劃Planning。這是 Agent 最核心也最難做好的部分。簡(jiǎn)單任務(wù)一步就完了但復(fù)雜任務(wù)需要拆解。比如“幫我策劃一場(chǎng)團(tuán)建活動(dòng)”Agent 得自己拆成確定人數(shù)、選場(chǎng)地、定預(yù)算、安排交通、發(fā)通知。怎么拆、按什么順序拆、拆到什么粒度這些都是規(guī)劃要解決的問(wèn)題。把這四個(gè)零件拼起來(lái)一個(gè)最簡(jiǎn)版的 Agent 循環(huán)就是接收用戶(hù)輸入 → LLM 思考該做什么 → 調(diào)用工具 → 拿到結(jié)果 → LLM 再思考 → 再調(diào)工具 → 直到任務(wù)完成 → 輸出最終結(jié)果。1.3 為什么新手容易走彎路一上來(lái)就啃框架的陷阱我見(jiàn)過(guò)太多人聽(tīng)說(shuō) LangChain 火上來(lái)就 pip install langchain然后對(duì)著文檔里那一堆 Chain、Agent、Tool、Memory 的類(lèi)發(fā)呆。折騰了兩天跑通了一個(gè) demo但問(wèn)他“這個(gè) Agent 為什么這么決策”完全答不上來(lái)。問(wèn)題出在哪框架幫你封裝了太多東西導(dǎo)致你看不到底層發(fā)生了什么。LangChain 確實(shí)好用它把工具調(diào)用、提示詞模板、輸出解析這些常見(jiàn)模式都封裝成了現(xiàn)成的類(lèi)。但這也意味著當(dāng) Agent 行為不符合預(yù)期的時(shí)候你根本不知道是提示詞的問(wèn)題、工具描述的問(wèn)題、還是模型本身能力不夠。你面對(duì)的是一個(gè)黑盒而調(diào)試黑盒是最痛苦的。我的建議很明確先用最原始的方式手寫(xiě)一個(gè) Agent 循環(huán)跑通了、理解了再去用框架。手寫(xiě)一個(gè)最簡(jiǎn) Agent 大概只需要 50 行 Python 代碼不依賴(lài)任何框架直接調(diào)模型的 API。這個(gè)過(guò)程會(huì)讓你真正理解 Agent 的工作原理之后再用 LangChain 或者 Spring AI 的時(shí)候你就知道框架在幫你做什么出了問(wèn)題也知道去哪里找原因。2. 新手和轉(zhuǎn)行者到底該先學(xué)什么2.1 第一優(yōu)先級(jí)Python 基礎(chǔ)但不用學(xué)到能寫(xiě)爬蟲(chóng)的程度AI Agent 開(kāi)發(fā)目前最主流的語(yǔ)言就是 Python。原因很簡(jiǎn)單幾乎所有大模型的官方 SDK 都是 Python 優(yōu)先LangChain、CrewAI、AutoGen 這些主流框架也都是 Python 寫(xiě)的。你用 Java 也能做Spring AI 就是干這個(gè)的但生態(tài)豐富度確實(shí)差一截。那 Python 要學(xué)到什么程度我的標(biāo)準(zhǔn)是能看懂函數(shù)定義和調(diào)用、會(huì)用列表和字典、知道怎么裝第三方庫(kù)、能寫(xiě) if-else 和 for 循環(huán)、會(huì)處理 JSON 數(shù)據(jù)。就這些足夠了。你不需要會(huì)寫(xiě)裝飾器、不需要理解元類(lèi)、不需要搞懂 GIL。那些東西等你真正遇到性能問(wèn)題或者需要讀框架源碼的時(shí)候再補(bǔ)。一開(kāi)始就抱著《流暢的Python》啃大概率是啃到一半就放棄了。具體來(lái)說(shuō)你需要掌握的知識(shí)點(diǎn)變量和基本數(shù)據(jù)類(lèi)型字符串、數(shù)字、布爾值列表和字典的增刪改查for 循環(huán)和 while 循環(huán)if-elif-else 條件判斷函數(shù)的定義和調(diào)用理解參數(shù)傳遞導(dǎo)入模塊和使用 pip 安裝包讀寫(xiě)文件尤其是 JSON 文件異常處理try-except虛擬環(huán)境的使用venv 或 conda這些內(nèi)容如果每天投入兩小時(shí)零基礎(chǔ)大概兩周就能達(dá)到“夠用”的水平。有編程基礎(chǔ)的人兩三天就能撿起來(lái)。注意不要花時(shí)間去學(xué) Python 的面向?qū)ο缶幊谈呒?jí)特性。Agent 開(kāi)發(fā)中你更多是在寫(xiě)函數(shù)和調(diào) API類(lèi)繼承、多態(tài)這些概念等你需要讀框架源碼的時(shí)候再學(xué)也不遲。2.2 第二優(yōu)先級(jí)理解大模型 API 的基本用法Agent 的大腦是 LLM所以你必須知道怎么跟 LLM 打交道?,F(xiàn)在主流的方式就是通過(guò) API 調(diào)用。不管你是用哪家的模型基本流程都是一樣的注冊(cè)賬號(hào)拿到 API Key安裝對(duì)應(yīng)廠(chǎng)商的 SDK或者直接用 HTTP 請(qǐng)求構(gòu)造請(qǐng)求把提示詞和參數(shù)傳進(jìn)去解析響應(yīng)拿到模型返回的文本以 OpenAI 的接口為例最核心的參數(shù)就幾個(gè)model用哪個(gè)模型比如 gpt-4o、gpt-4o-minimessages對(duì)話(huà)歷史是一個(gè)列表每條消息有 role 和 contenttemperature控制隨機(jī)性0 最確定1 最隨機(jī)max_tokens限制返回的最大長(zhǎng)度tools可調(diào)用的工具列表這是 Agent 的關(guān)鍵你需要理解messages的結(jié)構(gòu)。它通常包含三種角色system系統(tǒng)提示詞設(shè)定 Agent 的身份和行為規(guī)則user用戶(hù)輸入assistant模型之前的回復(fù)多輪對(duì)話(huà)就是把歷史消息都塞進(jìn)messages列表里模型會(huì)根據(jù)整個(gè)上下文來(lái)生成回復(fù)。這個(gè)機(jī)制看起來(lái)簡(jiǎn)單但它是 Agent 記憶功能的基礎(chǔ)。還有一個(gè)關(guān)鍵概念是Function Calling或者叫 Tool Use。這是 Agent 能干活的核心機(jī)制。你可以在請(qǐng)求里定義一組工具模型在回復(fù)的時(shí)候如果覺(jué)得需要調(diào)用某個(gè)工具它不會(huì)直接返回文本而是返回一個(gè)“工具調(diào)用請(qǐng)求”告訴你它想調(diào)哪個(gè)工具、傳什么參數(shù)。你的代碼拿到這個(gè)請(qǐng)求后執(zhí)行對(duì)應(yīng)的函數(shù)把結(jié)果再塞回對(duì)話(huà)歷史讓模型繼續(xù)處理。這個(gè)循環(huán)就是 Agent 的核心循環(huán)。手寫(xiě)一遍你就徹底懂了。2.3 第三優(yōu)先級(jí)手寫(xiě)一個(gè)最簡(jiǎn) Agent不依賴(lài)任何框架現(xiàn)在到了最關(guān)鍵的一步。我下面給出一段最簡(jiǎn) Agent 的偽代碼邏輯你用任何語(yǔ)言都能實(shí)現(xiàn)# 定義工具 def get_weather(city): # 實(shí)際調(diào)用天氣API return 晴25度 # 工具描述告訴模型這個(gè)工具是干什么的 tools [ { name: get_weather, description: 查詢(xún)指定城市的天氣, parameters: { city: 城市名稱(chēng) } } ] # 主循環(huán) messages [ {role: system, content: 你是一個(gè)助手可以查天氣}, {role: user, content: 北京今天天氣怎么樣} ] while True: # 調(diào)模型 response call_llm(messages, tools) # 如果模型返回的是工具調(diào)用 if response.has_tool_call(): tool_name response.tool_name tool_args response.tool_args # 執(zhí)行工具 result execute_tool(tool_name, tool_args) # 把工具結(jié)果塞回對(duì)話(huà) messages.append(response.message) messages.append({ role: tool, content: result }) else: # 模型返回了最終文本 print(response.content) break這段代碼的核心邏輯就是調(diào)模型 → 看它要不要調(diào)工具 → 要就執(zhí)行工具并把結(jié)果喂回去 → 不要就輸出結(jié)果結(jié)束。就這么簡(jiǎn)單。你把這個(gè)邏輯手寫(xiě)一遍用真實(shí)的 API 跑通你就已經(jīng)跨過(guò)了 AI Agent 開(kāi)發(fā)的門(mén)檻。后面再學(xué) LangChain、LangGraph、Spring AI你就是在學(xué)“怎么把這個(gè)循環(huán)寫(xiě)得更優(yōu)雅、更可擴(kuò)展”而不是在學(xué)“Agent 是什么”。2.4 第四優(yōu)先級(jí)再學(xué)框架而且要有選擇地學(xué)等你手寫(xiě)跑通了再來(lái)看框架你的視角就完全不一樣了。你看到 LangChain 的AgentExecutor你會(huì)想“哦這就是把我剛才那個(gè) while 循環(huán)封裝了一下”。你看到Tool類(lèi)你會(huì)想“這就是我剛才那個(gè) tools 列表的面向?qū)ο蟀姹尽?。那框架怎么選我的建議是LangChain / LangGraph生態(tài)最全文檔最多社區(qū)最大。LangGraph 是 LangChain 團(tuán)隊(duì)后來(lái)推出的專(zhuān)門(mén)做有狀態(tài)的、多步驟的 Agent 編排。如果你要做復(fù)雜的、有分支和循環(huán)的 Agent 流程LangGraph 比原始的 LangChain Agent 更合適。缺點(diǎn)是抽象層多學(xué)習(xí)曲線(xiàn)陡。CrewAI主打多 Agent 協(xié)作。你可以定義多個(gè)角色比如“研究員”、“寫(xiě)手”、“審核員”讓它們互相配合完成任務(wù)。適合做內(nèi)容生產(chǎn)、數(shù)據(jù)分析這類(lèi)需要多角色協(xié)作的場(chǎng)景。API 設(shè)計(jì)比較直觀(guān)上手快。AutoGen微軟出的也是多 Agent 對(duì)話(huà)框架。特點(diǎn)是 Agent 之間可以自動(dòng)對(duì)話(huà)來(lái)解決問(wèn)題。適合做需要多輪討論和辯論的場(chǎng)景。Spring AIJava 生態(tài)的選擇。如果你本身是 Java 開(kāi)發(fā)者不想轉(zhuǎn) PythonSpring AI 提供了跟 LangChain 類(lèi)似的能力。但說(shuō)實(shí)話(huà)目前 Java 生態(tài)在 Agent 開(kāi)發(fā)這塊的成熟度還是不如 Python。Dify低代碼平臺(tái)可視化編排 Agent 流程。適合不寫(xiě)代碼或者代碼能力較弱的產(chǎn)品經(jīng)理、運(yùn)營(yíng)人員快速搭建原型。但靈活性受限復(fù)雜邏輯還是得寫(xiě)代碼。我的建議是先深入學(xué)一個(gè)別貪多。如果你主要做單 Agent 加工具調(diào)用的場(chǎng)景LangChain 就夠了。如果你要做多 Agent 協(xié)作看 CrewAI 或 AutoGen。如果你要精細(xì)控制 Agent 的狀態(tài)流轉(zhuǎn)看 LangGraph。2.5 關(guān)于 MCP它解決的是什么問(wèn)題MCP 最近熱度很高但很多人搞不清楚它到底是什么。我用一句話(huà)解釋MCP 是一個(gè)讓 Agent 跟外部工具對(duì)接的標(biāo)準(zhǔn)協(xié)議。在沒(méi)有 MCP 之前你每接一個(gè)工具都要自己寫(xiě)適配代碼。比如你要讓 Agent 能查數(shù)據(jù)庫(kù)你得寫(xiě)一個(gè)函數(shù)定義參數(shù)處理返回結(jié)果。你要讓它能操作文件系統(tǒng)又得寫(xiě)一套。每個(gè)工具的接入方式都不一樣復(fù)用性很差。MCP 的思路是定義一套標(biāo)準(zhǔn)接口工具提供方按照這個(gè)標(biāo)準(zhǔn)來(lái)實(shí)現(xiàn)Agent 這邊也按照這個(gè)標(biāo)準(zhǔn)來(lái)調(diào)用。這樣工具就能即插即用。你可以把它類(lèi)比成 USB 接口——以前每個(gè)設(shè)備都有自己的接口現(xiàn)在統(tǒng)一成 USB插上就能用。MCP 的核心概念包括MCP Server工具提供方暴露一組能力比如讀文件、查數(shù)據(jù)庫(kù)、調(diào) APIMCP ClientAgent 這邊負(fù)責(zé)連接 Server 并調(diào)用能力ResourcesServer 暴露的數(shù)據(jù)資源ToolsServer 暴露的可執(zhí)行操作Prompts預(yù)定義的提示詞模板現(xiàn)在很多工具已經(jīng)開(kāi)始支持 MCP 了比如 Playwright MCP 可以讓 Agent 操作瀏覽器百度地圖 MCP 可以讓 Agent 查地理位置。如果你要做的 Agent 需要跟大量外部工具對(duì)接花點(diǎn)時(shí)間了解 MCP 是值得的。但如果你只是做一個(gè)小 demo手寫(xiě)幾個(gè)工具函數(shù)就夠了不用急著上 MCP。3. 實(shí)操?gòu)牧闶謱?xiě)一個(gè)能查天氣和算數(shù)的 Agent3.1 環(huán)境準(zhǔn)備Python 安裝和虛擬環(huán)境先說(shuō) Python 安裝。Windows 用戶(hù)去 python.org 下載安裝包安裝的時(shí)候記得勾選“Add Python to PATH”。Mac 用戶(hù)可以用 Homebrew 裝brew install python。Linux 用戶(hù)一般系統(tǒng)自帶但版本可能比較老建議用 pyenv 裝一個(gè)新版本。裝完之后驗(yàn)證一下python --version pip --version然后建一個(gè)虛擬環(huán)境這是好習(xí)慣避免不同項(xiàng)目的依賴(lài)打架python -m venv agent-env # Windows agent-env\Scripts\activate # Mac/Linux source agent-env/bin/activate虛擬環(huán)境激活后命令行前面會(huì)出現(xiàn)(agent-env)的標(biāo)識(shí)。接下來(lái)裝依賴(lài)pip install openai requests如果你用的是其他廠(chǎng)商的模型把openai換成對(duì)應(yīng)的 SDK 就行。3.2 定義工具函數(shù)查天氣和做計(jì)算我們定義兩個(gè)工具一個(gè)查天氣一個(gè)做數(shù)學(xué)計(jì)算。查天氣我們用一個(gè)模擬函數(shù)實(shí)際項(xiàng)目中你可以接真實(shí) API。import json import math def get_weather(city: str) - str: 模擬查天氣實(shí)際項(xiàng)目中替換為真實(shí)API調(diào)用 weather_data { 北京: 晴氣溫25度濕度40%, 上海: 多云氣溫28度濕度65%, 廣州: 雷陣雨氣溫30度濕度80%, } return weather_data.get(city, f未找到{city}的天氣數(shù)據(jù)) def calculate(expression: str) - str: 計(jì)算數(shù)學(xué)表達(dá)式 try: # 只允許基本數(shù)學(xué)運(yùn)算避免安全問(wèn)題 allowed set(0123456789-*/.() ) if not all(c in allowed for c in expression): return 表達(dá)式包含不允許的字符 result eval(expression) return str(result) except Exception as e: return f計(jì)算錯(cuò)誤{str(e)}注意calculate函數(shù)里我做了字符白名單校驗(yàn)。直接用eval是有安全風(fēng)險(xiǎn)的雖然這只是個(gè) demo但養(yǎng)成好習(xí)慣很重要。3.3 構(gòu)造工具描述讓模型知道有什么工具可用工具描述是 Agent 能不能正確選用工具的關(guān)鍵。描述要清晰、準(zhǔn)確、包含參數(shù)說(shuō)明。tools [ { type: function, function: { name: get_weather, description: 查詢(xún)指定城市的當(dāng)前天氣情況, parameters: { type: object, properties: { city: { type: string, description: 城市名稱(chēng)例如北京、上海 } }, required: [city] } } }, { type: function, function: { name: calculate, description: 計(jì)算數(shù)學(xué)表達(dá)式支持加減乘除和括號(hào), parameters: { type: object, properties: { expression: { type: string, description: 數(shù)學(xué)表達(dá)式例如(35)*2 } }, required: [expression] } } } ]工具描述有幾個(gè)經(jīng)驗(yàn)第一description 要寫(xiě)清楚這個(gè)工具是干什么的什么時(shí)候該用。比如“查詢(xún)指定城市的當(dāng)前天氣情況”就比“查天氣”好。第二參數(shù)的 description 要給出示例。模型看到示例更容易傳對(duì)參數(shù)。第三required 要準(zhǔn)確。必填參數(shù)沒(méi)標(biāo) required模型可能不傳。3.4 主循環(huán)實(shí)現(xiàn)調(diào)模型、執(zhí)行工具、喂回結(jié)果from openai import OpenAI client OpenAI(api_key你的API_KEY) def run_agent(user_input: str): messages [ {role: system, content: 你是一個(gè)助手可以查天氣和做數(shù)學(xué)計(jì)算。需要時(shí)調(diào)用工具。}, {role: user, content: user_input} ] max_iterations 10 # 防止無(wú)限循環(huán) for i in range(max_iterations): response client.chat.completions.create( modelgpt-4o-mini, messagesmessages, toolstools, tool_choiceauto ) msg response.choices[0].message # 沒(méi)有工具調(diào)用直接返回文本 if not msg.tool_calls: return msg.content # 有工具調(diào)用把 assistant 消息加入歷史 messages.append(msg) # 逐個(gè)執(zhí)行工具 for tool_call in msg.tool_calls: func_name tool_call.function.name func_args json.loads(tool_call.function.arguments) if func_name get_weather: result get_weather(func_args[city]) elif func_name calculate: result calculate(func_args[expression]) else: result f未知工具{func_name} # 把工具結(jié)果加入歷史 messages.append({ role: tool, tool_call_id: tool_call.id, content: result }) return 達(dá)到最大迭代次數(shù)任務(wù)未完成這段代碼就是 Agent 的核心。max_iterations是必須的防止模型陷入死循環(huán)一直調(diào)工具。tool_call_id也很關(guān)鍵模型靠這個(gè) ID 來(lái)匹配哪個(gè)結(jié)果對(duì)應(yīng)哪個(gè)工具調(diào)用。3.5 跑起來(lái)看看效果# 測(cè)試 print(run_agent(北京今天天氣怎么樣)) print(run_agent(幫我算一下 (15 27) * 3 等于多少)) print(run_agent(上海和廣州的天氣分別怎么樣然后算一下兩個(gè)城市溫度的平均值))第三個(gè)測(cè)試用例比較有意思它需要 Agent 先調(diào)兩次天氣工具拿到結(jié)果后再調(diào)計(jì)算工具。這就是多步推理和工具編排。如果你的 Agent 能正確處理這個(gè) case說(shuō)明基本邏輯沒(méi)問(wèn)題了。實(shí)操心得調(diào)試 Agent 的時(shí)候把每一步的messages打印出來(lái)看。你會(huì)清楚地看到模型什么時(shí)候決定調(diào)工具、傳了什么參數(shù)、拿到結(jié)果后怎么繼續(xù)推理。這個(gè)習(xí)慣能幫你快速定位問(wèn)題。4. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄4.1 模型不調(diào)工具怎么辦這是最常見(jiàn)的問(wèn)題。你明明定義了工具用戶(hù)的問(wèn)題也明顯需要工具但模型就是直接返回文本不調(diào)工具。原因通常有三個(gè)第一工具描述不夠清晰。模型不知道這個(gè)工具是干什么的自然就不會(huì)用。解決辦法是把 description 寫(xiě)得更具體明確說(shuō)明“什么時(shí)候應(yīng)該使用這個(gè)工具”。第二系統(tǒng)提示詞沒(méi)有引導(dǎo)。在 system message 里加一句“當(dāng)需要查詢(xún)實(shí)時(shí)信息或進(jìn)行計(jì)算時(shí)請(qǐng)調(diào)用相應(yīng)的工具”能顯著提高工具調(diào)用率。第三模型能力不夠。一些小模型或者老模型對(duì) Function Calling 的支持不好。換個(gè)更強(qiáng)的模型試試。還有一個(gè)技巧是設(shè)置tool_choicerequired強(qiáng)制模型必須調(diào)用工具。但這只適合你確定每次都需要調(diào)工具的場(chǎng)景一般還是用auto。4.2 工具參數(shù)傳錯(cuò)怎么排查模型傳錯(cuò)參數(shù)也很常見(jiàn)。比如該傳城市名它傳了個(gè)省份名該傳數(shù)字它傳了個(gè)字符串。排查方法在json.loads(tool_call.function.arguments)之后打印一下參數(shù)看看模型到底傳了什么。如果參數(shù)格式不對(duì)在工具定義的 parameters 里把類(lèi)型和描述寫(xiě)得更嚴(yán)格。比如type: string加上enum: [北京, 上海, 廣州]限定取值范圍。另外在工具函數(shù)內(nèi)部做參數(shù)校驗(yàn)也很重要。不要假設(shè)模型傳的參數(shù)一定是對(duì)的該做的校驗(yàn)都要做。4.3 Agent 陷入死循環(huán)怎么處理死循環(huán)的表現(xiàn)是Agent 反復(fù)調(diào)同一個(gè)工具或者在不同工具之間來(lái)回跳就是不輸出最終結(jié)果。原因通常是工具返回的結(jié)果模型不滿(mǎn)意或者模型不知道下一步該干什么。解決辦法第一設(shè)置最大迭代次數(shù)。我上面代碼里的max_iterations就是干這個(gè)的。第二在工具返回結(jié)果里加入引導(dǎo)信息。比如查不到天氣的時(shí)候返回“未找到該城市數(shù)據(jù)請(qǐng)嘗試其他城市或告知用戶(hù)無(wú)法查詢(xún)”而不是簡(jiǎn)單返回一個(gè)空字符串。第三在系統(tǒng)提示詞里明確“如果工具無(wú)法提供有效信息請(qǐng)直接告知用戶(hù)”。4.4 常見(jiàn)問(wèn)題速查表問(wèn)題現(xiàn)象可能原因排查方法解決方案模型不調(diào)工具描述不清/提示詞沒(méi)引導(dǎo)/模型能力不足檢查工具 description 和 system prompt完善描述、加引導(dǎo)語(yǔ)、換模型參數(shù)傳錯(cuò)參數(shù)定義不明確/模型理解偏差打印實(shí)際傳入?yún)?shù)加 enum 限定、加參數(shù)校驗(yàn)死循環(huán)工具結(jié)果不滿(mǎn)足/無(wú)終止條件打印每輪 messages設(shè)最大迭代、優(yōu)化工具返回值返回結(jié)果不符合預(yù)期提示詞不夠具體檢查 system prompt細(xì)化角色設(shè)定和輸出格式要求API 調(diào)用報(bào)錯(cuò)Key 無(wú)效/額度用完/網(wǎng)絡(luò)問(wèn)題看錯(cuò)誤碼和錯(cuò)誤信息檢查 Key、充值、重試響應(yīng)太慢模型本身慢/工具執(zhí)行慢分別計(jì)時(shí)換更快的模型、優(yōu)化工具邏輯4.5 幾個(gè)我踩過(guò)的坑坑一工具函數(shù)拋異常導(dǎo)致整個(gè) Agent 崩潰。工具函數(shù)一定要用 try-except 包起來(lái)返回錯(cuò)誤信息而不是拋異常。模型拿到錯(cuò)誤信息后通常會(huì)自己調(diào)整策略。坑二對(duì)話(huà)歷史太長(zhǎng)導(dǎo)致 token 超限。多輪對(duì)話(huà)后messages 列表會(huì)越來(lái)越長(zhǎng)。解決辦法是定期截?cái)鄽v史只保留最近 N 輪或者用摘要的方式壓縮歷史。坑三工具描述里寫(xiě)了太多技術(shù)細(xì)節(jié)。工具描述是給模型看的不是給開(kāi)發(fā)者看的。用自然語(yǔ)言寫(xiě)清楚“這個(gè)工具做什么、什么時(shí)候用、參數(shù)是什么”就夠了不要寫(xiě)實(shí)現(xiàn)細(xì)節(jié)??铀暮雎粤?tool_call_id 的匹配。多個(gè)工具調(diào)用時(shí)每個(gè) tool_call 有自己的 id返回結(jié)果時(shí)必須帶上對(duì)應(yīng)的 id。不匹配的話(huà)模型會(huì)混亂。5. 學(xué)完基礎(chǔ)之后往哪走5.1 下一步給 Agent 加上記憶你現(xiàn)在寫(xiě)的 Agent 每次對(duì)話(huà)都是獨(dú)立的沒(méi)有記憶。用戶(hù)說(shuō)“北京天氣怎么樣”Agent 查完告訴你。然后用戶(hù)說(shuō)“那上海呢”Agent 不知道“那”指的是天氣因?yàn)樗挥浀蒙弦惠唽?duì)話(huà)。加記憶最簡(jiǎn)單的方式就是把歷史消息都保留在 messages 列表里。但這樣 token 消耗會(huì)越來(lái)越大。更好的做法是用向量數(shù)據(jù)庫(kù)做長(zhǎng)期記憶把歷史對(duì)話(huà)存進(jìn)向量庫(kù)每次新對(duì)話(huà)時(shí)檢索最相關(guān)的幾條歷史記錄塞進(jìn)上下文。LangChain 提供了ConversationBufferMemory、ConversationSummaryMemory等現(xiàn)成的記憶組件但建議你先手寫(xiě)一個(gè)最簡(jiǎn)單的版本理解原理后再用框架的。5.2 再下一步多 Agent 協(xié)作單個(gè) Agent 能做的事情有限。當(dāng)你需要完成一個(gè)復(fù)雜任務(wù)時(shí)可以拆成多個(gè) Agent 各司其職。比如做一個(gè)“市場(chǎng)調(diào)研報(bào)告生成”系統(tǒng)研究員 Agent負(fù)責(zé)搜索和收集信息分析師 Agent負(fù)責(zé)分析數(shù)據(jù)、提煉觀(guān)點(diǎn)寫(xiě)手 Agent負(fù)責(zé)撰寫(xiě)報(bào)告審核員 Agent負(fù)責(zé)檢查事實(shí)和邏輯每個(gè) Agent 有自己的系統(tǒng)提示詞和工具集它們之間通過(guò)消息傳遞來(lái)協(xié)作。CrewAI 和 AutoGen 就是專(zhuān)門(mén)做這個(gè)的框架。但我要提醒一句多 Agent 系統(tǒng)的復(fù)雜度是指數(shù)級(jí)上升的。兩個(gè) Agent 協(xié)作還好五個(gè) Agent 協(xié)作的時(shí)候調(diào)試會(huì)變得非常困難。建議先把單 Agent 玩透再考慮多 Agent。5.3 關(guān)于框架學(xué)習(xí)的最終建議回到標(biāo)題那句話(huà)別一上來(lái)就啃框架。我見(jiàn)過(guò)太多人LangChain 的文檔翻了一遍各種概念背得滾瓜爛熟但讓他從零寫(xiě)一個(gè) Agent 循環(huán)寫(xiě)不出來(lái)。這就是本末倒置了。正確的學(xué)習(xí)路徑是Python 基礎(chǔ)兩周大模型 API 基本用法三天手寫(xiě)最簡(jiǎn) Agent 循環(huán)一天手寫(xiě)帶記憶和多工具的 Agent三天選一個(gè)框架深入學(xué)習(xí)一周用框架重構(gòu)你之前手寫(xiě)的 Agent兩天這個(gè)路徑走下來(lái)大概一個(gè)月左右你就能獨(dú)立開(kāi)發(fā)一個(gè)可用的 AI Agent 了。比上來(lái)就啃框架快得多也扎實(shí)得多??蚣苁枪ぞ卟皇侵R(shí)。工具會(huì)過(guò)時(shí)LangChain 可能明年就被別的框架取代了但 Agent 的核心原理——LLM 決策、工具調(diào)用、循環(huán)執(zhí)行——這些是不會(huì)變的。把原理吃透換什么框架你都能快速上手。我在實(shí)際帶新人的過(guò)程中發(fā)現(xiàn)那些先手寫(xiě)再學(xué)框架的人遇到問(wèn)題時(shí)的排查能力強(qiáng)很多。因?yàn)樗麄冎赖讓影l(fā)生了什么框架報(bào)錯(cuò)的時(shí)候能判斷是框架的問(wèn)題還是自己代碼的問(wèn)題。而直接學(xué)框架的人遇到報(bào)錯(cuò)往往一臉懵只能去社區(qū)提問(wèn)等回答。最后分享一個(gè)小技巧每次學(xué)一個(gè)新框架的時(shí)候先別急著看它的文檔先自己想“如果讓我設(shè)計(jì)這個(gè)框架我會(huì)怎么設(shè)計(jì)”然后再去看它的 API。這樣你學(xué)起來(lái)會(huì)快很多因?yàn)槟闶窃隍?yàn)證自己的想法而不是被動(dòng)接受信息。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
97天堂| 农村妇女精品一区二区| 啊啊啊 在线| 久久天天摸| 天天综合网亚洲综合网| 91天天综合在线观看| 91 刺激在线| 狠狠操官网| 亚洲熟女一区二区| 91欧美性| 久草精品一区 | 欧美亚洲首页| 婷婷久草| 999久久久久久久久| 后入人妻一区| 媚薬在线视频麻豆| 国产少妇肉丝在线观看| 色在线69堂| 久久久网站| 欧美探花网| 午夜精品久久99蜜桃的功能章节| 国产夫妻性生活视频| 日韩AV色图| 色吧综合网| 在线强奷到舒服的无码视频| 欧美精品日韩久久久九| A V视频日本| 成人免费性爱视视| 国语av狠狠色丁香婷婷综合激情| 思思热一热婷婷热一热| 国模精品一区二区三区苹果色戒| 亚洲成人一区二区精品| 强奸乱伦大香蕉| 色视频蜜乳| 97欧美| 欧美性爱第一区| 又大又大又大又粗爽高潮观看 | 美国一区二区三区视频| 熟女精品日韩一区二区三区| 啊啊啊啊啊啊啊啊视频| 2021国产成人精品久久| 伊人久久在线视频观看| 少妇人妻好深太紧了vr91| 久久天堂| 另类一区| 久久99网站| 91精品综合久久久久久五月丁香| WWW4虎| 97干在线看| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 一区二区不卡| 台湾佬中文娱乐网久久久久久久久久com | 成人网站 免费观看| 国产av又色又爽又黄| 18啪啪手机免费性爱| 大香蕉一区二区在线观看.| 国产三级在线现体验区| 亚洲精品无码久久AV| 欧美一区二区三区另类精品| 91久久久久久久久18| 欧美一级专区免费大片| 鸥美中出| 久久性爱视频免费看| 曰韩无码777| 国产亚洲国产超碰| 日韩精品.久久精品.AV女优.天美传媒| 久久不卡一区二区| 久久久草草精品| 久热伊人| 亚洲欧美在线观看无码| 色婷婷丁香| 久久极品一区二区| 亚洲欧洲色情高清| 超碰吊日色| 啊啊啊啊啊啊好多水| 国产亚洲精品A在线观看下载| 欧美视频一区二区在线| 极品白嫩福利在线| 中文字幕欧美日本乱码一线二线 | 婷婷伊人五月| 日韩成人电影AV| 玖色AV| 九九十八精品| 日1区2区3区2020| 日本不卡一区| 亚欧高清在线| 一区| 精品人妻一区二区三区日产| 欧美日韩操操操| 色鬼在线综合| 欧美日韩色| wwwxxx日本爽| 人妻啊啊人妻啊啊| 亚洲丨在线| 草莓精品视频在线免费观看| 天天操天天插| 2021国产成人精品久久| 欧美 亚洲 偷拍自拍| 欧美激情超碰777| 亚洲图片小说欧洲| 亚洲少妇喷视频看| 欧美劲爆第一页| 九月丁香综合网| 综合网久久| 日日摸日日碰夜夜爽视频| 日韩乱伦影音先锋| 高潮嗯啊性感美女久久久| 特色a在线上| 欧美日韩99| 久久久久久久久久va| 国产高清成人传媒影视| 欧美激情色婷婷花野真衣一区二区| 欧美97爱| 天天日天天插| 欧美中出| 韩国轻伦国内自拍一区| 麻豆国产97在线| 久久久无码国精品无码三区三区| 免费超碰97久久| 97九色| 亚欧国产无码精品在线| 97爱欧美| 97碰碰色| 极品久久久久久久久久久久久久| 免费看国产曰批40分钟怎么下载| 狠狠色一区二区中文字幕| 国产 日韩,欧美 自拍| 99九九精品| 大香蕉草草| 久/久精品99看9| 亚洲在线A| 3P乱轮视频| 青青伊人久久| 思思在线免费视频| 久久久啊啊啊| 中文字暮97| 亚洲精品99999| 天天插天天干| 亚洲精品久久久久毛片A片拉屎| 在线国产探花| 欧美天天射| 香一区二区三区| www.亚洲黄色| 蜜桃精品一区二区三区久在线| 97在线精品观看视频| 久热久操| 国产又色又粗又黄又爽| 国产青一二三| 青草香蕉网| 强奸乱伦 亚洲一区| 亚洲AV乱码专区国产噜噜亚洲 | 五十路三级片| 亚洲色图欧美色18直播在线| 97视频7| 欧美日日操| 欧美成人精品一区二区男人蜜臀| 欧美成人9797| 亚洲精品无码成人久久久99| 亚洲国产97在线精品一区| 日韩一区二区三区四区五区| 亚洲se电影| 一本久道久久综合狠狠爱| 四虎精品一区二区| 久久是精品| 国产成人亚洲精品自产在线| 操逼天美3区| 性欧美91| 亚洲天堂美臀在线| 小草精彩毛片| 色爱国产| 天天色,天天干,天天干| 天美传媒婬乱在| 电家庭影院午夜69久久夜色精品国产69乱| 国产深夜福利| 亚洲天堂一区二区| 色狠人在线99| 翔田千里av一区二区三区| 九九九九精品九九九九| 极品一区二区三区免费| 伊人网在线观看| 丁香婷婷久久 | 国产精品毛片?v一区二区三区| 日韩国产乱子伦App| 久午视频| 羞答答AV中文字| 久久久久久久久九九久孕交| 熟女中出视频| 超碰在线974| 强奸a片网| 久久欲| 日躁天天爽爽| 伊人国产AV| 青青草成人视频在线观看二区| 五月婷婷五月天| 欧美三级中文字幕hd| a片自拍直播视频| 一本色道熟妇| 亚洲无 码A片在线观看麻豆| 夜夜性| 国产蜜臀在线| 国产97综合| 婷婷五月天无码| 亚洲色图加勒比| 蜜臀久久99精品久久久老,,| 久操综合在线| 青青网三级视频| www.夜夜操| 免费看一级a性色生活片久久无| 日本精品无码三级网站| 日本性爰一道本| 中日亚韩免费视频| 无码天天操| 曰本人妻人人澡人人夹| 大香蕉97久久| 国产精品久久久无码aV去| 亚洲AV在线资源| 午夜天堂精品久久| 一区二区三区成人 | AV色五月天| 91激情综合| 97丝袜亚洲在线播放| 麻豆伊人网| 久久久96| 91被操| 欧美成熟性爱精品| 91精品女厕偷拍视频| 综合久久久久久久综合网| 加勒比在线观看一区二区| 国产性爱在线视频一区二区| 黑人嘿嘿嘿超爽免费视频| 免费看黄视频亚洲网站| 色色激情| 熟女自慰久久久| 超碰天天操| 97精品97久久| 人妻熟女一区二区三区视频| 免费观看成人www精品视频| 中文字幕高清精品一区| 亚洲国产欧美中文永久| 91热情品| 草B在线| 青草成人免费视频一COm| 精品99999| 91久久免费视频互動交流| 久久首页| 人妻激情偷乱视频一区二区三区 | 后入人妻无码| 黄色免费网| 久热香蕉精品在线视频| 日本在线不卡123| 老熟妇综合| 激情另类激情| 亚瑟国产精品久久无码| 91一起操| 超碰碰激情97+久| 中文字幕福利视频一区二区三区在线观看| 欧美精品宗合| 人妻熟女av国产网站| 视频在线观看一二三区| 在线 欧美 亚洲| 精品久久久久久无码| 福利在线黄片| 伊人玖玖网| 国产后入式在线观看| 欧美 中文字幕 一区| 男人的天堂在线| 丁香九月婷婷| 一区二区三区精品黑丝白丝酒店对鸡| 中文字幕av片| 色人久久| 九九九草| 久久青青草原免费视频| 欧美三级一级| 黄色片A级一区二区三区| 人妻天堂综合网| 亚洲人人夜夜澡人人爽| 99国产在线 精品 视频| 香一区二区三区| 日韩操逼HD| 九月丁香婷婷色| 宅男午夜在线视频| 日韩无码一级黄色av片| 九色97| 天天干人妻视频| 亚洲第一黄色av网站| 久久伊人网视频一区二区三区| 啊啊在线| 欧美成人一区二区三区在线播放| 欧美一二三级精品在线| 国产少妇内射| 精品毛片久久久精品毛片| 国产免费大片| 性综合网| 九九天堂| 91av熟女人妻| 射丝袜高跟鞋99| 天天噜| 五月综合激情| 天天综合网91| 国产精品乱人伊人网| 91美女小视频| 快点操死我| 91在线视频国产网站| 欧美淫穴| 天堂日本亚洲欧美| 色嘟嘟人妻天堂网| 91香蕉视频在线观看免费| 四虎影视永久在线观看精品免费网站 | 一级性爱啪啪视频| 中文字幕一区二区三区50路| 欧洲性人爱视频| 丰满熟妇大乳做爰| 91精品人妻一品二品三品| 五月天人妻综合| 国产不卡片| 日本精品一区二区中文字幕| 亚洲乱色熟女一区| 五月天婷婷在线看| 天天综合97| 色婷婷日韩精品一区二区三区 | 91九色网| 亚洲第一页色| 婷婷中文字幕| 欧美精品成人亚洲| 欧美激情亚洲色图| 密臀在线免费观看| 91撸色网 玖玖网 欧美| 天天综合有色网| 97精品国产97久久久久久免费| 屌逼传媒| 极品丝袜无码| 国产60区。| 青青操在线亚洲视频观看欧美在线 | 婷婷六月色| 久久久影院| 又大又黄国产| 亚洲免费日韩在线一区二区| 亚洲色悠悠久久88| 99在线观看视频在线高清| 欧日韩一二三f区| 久久久精品网| 强奸乱伦AV网址| 久久人人舔人人爽舔人人av片| 高潮毛片无遮挡高清免费| 无套内射人妻在线播放| 婷婷综合网站| 99re9这里只有精品| 老熟女熟妇| 蜜桃视频精品一区二区| 国精综合一二三区影视| 亚洲丝袜少妇在线| 一起草欧美| 日韩午夜啪啪视频| 国产精品网站免费| 久久综合97| 伊人久久在线视频观看| 特污免视频| 嫩草黄页| 日本色色视频网站| 97视频观看| 九九九九九九免费视频| 成人av影院在线观看| 中文字幕精品一区二区精品| 国产精品无码成人精品| 91男女啊啊啊| 天综合网欧美| 日韩性爱视频在线免费观看| 性欧美另类高清| 一本色道久久综合狠狠操| A级国产欧美激情在线| 亚洲经典啪啪| 精品人妻一区二区三区四区| aⅴ日韩成人电影av在线免费看av大全| 青青草字幕AV| 天天干天天燥| 超碰久久草| 97精品视频免费| 欧美特大AA级黄片| 日韩三级网址| 大色综合| 野狼激情网| 午夜精品久久久久久久久久久久久| A V视频日本| 欧州激情视频在线一区二区| 一道α片欧美| 偷拍超碰| 国产呦精品一区二区三区下载| 久久美国毛片| 久久亚洲AV成人精品无码| 好吊色一区| 91|九色|国产熟女| 网友自拍第一页| 色999偷自拍拍| 国产Aα| 精品国产a∨一区天美传媒| 乱精品一区字幕二区| 久草加勒比一区在线| 天天天肏屄肏屄肏屄欧美欧美| 1024久久高清视频| 屁屁影院一区二区三区国产| 亚洲九九九| 9久精品视频在线观看| 欧美黄色片AAAAA| 亚洲综合第一页| 立川理惠无码一区二区| 一区二区三区免费岛国片| 久操av在线| 亚洲AO在线| 久久99午夜精品一区人妻| 97久久国产精品女不卡| 91总综合网| 嗯啊不要在线| 欧美性爱系列| 韩国黄色片精品久久久| 蜜乳AV.COM| 久久老女人| 清纯唯美亚洲另类| 日韩一级二级三级免费看完整版国语版| 亚洲另类在线观看| 嗯嗯啊啊操死我| ?亚洲伊人伊成久久人综合网| 欧美伊人久久综合网| 中文字幕99999| 欧美大的香蕉有线电视视频| 在线看污网站| 精品人妻少妇| 亚洲人妻久久| 国产强奸乱伦欧美| 中文一区二区三区影院| 日本久久女同性恋视频| 午夜国产成人精品视频| 乱抡国产91| 大象AV在线| h无码动漫在线观看| 内射老妇BBWX0C0CK| 84YTCOM性无码| 国产精品 视频| 熟妇乱伦一区二区| 久热影视| 狠狠操综合| 96精品在线| 丝袜六区| 91爱看| 熟女久久| 长长久久88视频| 色999;丁香五月| 天天影视综合网欧美精品| 精品人人| 中文字幕在线第二页| 国产丝袜啪啪| 男人的天堂午夜av| 久久丁香五月婷婷| 欧洲与亚洲欧美精品中文字幕| 久湿久久| 成人小说另类在线| 国产九九九九九九九九| 国产农村妇女精品1区二区| 91美女国产在线| 日本成a人v网站在线观看| 夜夜天天噜狠狠爱2021| 精品久久久无码| 舔舔啊| 无码高清少妇久久| 免费家庭乱伦视频| 欧美熟妇亚洲版| 熟妇人妻丰满久久久久久久无码| 中文精品一区二去| 免费看污网站| 欧美91在线| a在线观看| 97超级色碰碰| 日韩国产在线观看av| 午夜呻吟欧美| 精品国产三级av韩国在线| 日本 免费 一区二区三区 久久香蕉| 色五月AV在线| 亚洲吊色| 亚洲 欧美 手机在线观看| 神马午夜久久久| 亚洲人成网站7777| 国产综合久久久鬼色| 国产日韩精品suv| 青青青操| 人人操人人操人人操人人操人人操人人人11.CM| 午夜美女诱惑电源网| 91丨九色丨43老版熟女| 蜜臀99久| 超碰在线人妻不卡| 国产曰批免费观看久久久| 日韩美女高潮喷水视频| 日韩久久.一级黄色片| 性性久久| www.91色| 91人妻人人澡人人爽人人精品| 十八禁网站在线| 91福利网在线观看| 日日夜夜青青草母狗| 成人无码电影在线观看网| 麻豆区99999| 色黄污美女啪啪啪免费网站| 色www精品视频在线观看| 日韩亚洲精品一区二区| 精品日日人妻| 日韩情色AV| 色情五月综合婷婷| 天天看夜夜看日日干| 青草精品视频一日本久久久久网站| 日本岛国黄色网址| 97超碰人人操人人操| 97jingpin| 久无码| 91快色色色色色| 国产精品播放| 欧美成人精品一区二区男人蜜臀| 操穴国产| 国产精品天美传媒| 久久性爱网站| 蜜乳成人AV| 国产精品国产精品国产| 自拍啪啪视频| 国产日韩中文字幕欧美| 天天看高清麻豆| 久久极品伊人| 激情五月激情综合网| 亚川综合视频| 国产黄色在线播放观看| 3PAV乱伦视频| 欧美亚洲自拍另类人妻| 久久久久国产精品久久久| 国产一线二线三线av| 亚洲污污网站| 97在线观视频免费观看| 狠狠色一区二区中文字幕| 理论久久婷婷网8| 蘋果手機免費看成人Av| 亚洲欧美一区二区不卡视频播放| 日本精品第一视频在'| 色狠狠 - 百度| 国产传媒操逼视频| 黄aaaaaaaaaaaaaaaaaa色网站 | 大香蕉人妻| 91婷婷| 97中文天堂| 亚洲一区二区三区麻豆传媒| 麻豆天美制片厂网站视频| 歐美性天天| 久久久久久无码人妻中文字幕| 人妖欧美一区二区| 干超碰碰熟女| 国产精品宅男免费| 资源在线观一 二| 诱惑人妻欧美一区在线播放| 亚洲熟妇白浆无码AV| 97在线免费看视频| 小视频国产| 啊视频在线| 激情文学欧美| 97网色| 1769国内精品视频| 青青草原av| 久久久久久国产精品免费网站| 精品在线观看视频在线| 国产白丝精品在线观看| 欧苏综合色综合| 日日超碰亚洲| 99青青草国产视频| 在线强奷到舒服的无码视频 | 99国产在线绯色一区| 色色色日本| 干b网| 亚熟在线| 日本精品性生活久久久| 天堂九九九九九九九九九| 亚洲天堂性爱| 日日噜噜夜夜久久亚洲一区二区 | 久操不卡视频| 日日夜夜国产综合| 这里都是精品| 人人操人人色人人摸| 丝袜美腿制服人妻二区中文字幕 | av天天在线观看| 欧美熟爽综合| 熟女露脸激情自拍视频| 亚洲午夜精品久久久中文影院| 欧美一级美片在线观看免费| 久久久久人| 久久大香蕉97| 中国91AV| 高树玛利亚无码流出| 91网站18+| 2017人人操,人人摸| 国内外毛片在线观看| 欧美在线官网| 综合欧美日本三级| 精品成人无码| 中文乱码字幕观看| 特色a在线上| 91av一区二区在线观看| 黑人中出21连凳花野真衣| 国产国产亚洲一二三久久| 深夜激情无码| 九九九九亚洲| 国产女上位好爽在线| 色婷婷国产精品一区在线观看| 九九九九久久久| 青青草好吊色| 麻豆AV96熟妇人妻| 婷婷视频在线免费观看| 67914在线兔费成人视频| 国人欧美精品一区二区| 91中文字幕在线观看| 97色冈| 小视频玖玖| 大香蕉日韩| 大香蕉伊人在线成人AV在线观看| 性做久久久久久久| 91bbbbbb| 亚洲人久久久网| 午夜免费视频1000| 先锋色眉乱伦资源| a亚洲欧美色欲| 香蕉免费一区二区三区不读| 青青草天天亲夜夜操网| 精品国产av一区二区三区四区入口| 日本免费不卡二区| 日本肉体xxxx裸交| 18禁止看精品中文字幕| 怡春院久久| 日韩激情视频| 国产极品999| 欧美激情中文字幕另类小说| 性无码专区2020| 久久大香蕉97| 丁香7月婷婷| 日韩午夜国产| 欧美第38页| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 91最新综合| 日本免费亚洲欧美| 国产亚洲色婷婷久久99精品91 - 百度 | sewuyueav| 久久久久久久综合,国产| 亚洲中文字幕乱码无码一区二区 | 69一区二区三区 | 人妻久久久久久| 女人 A一级| 天天欧美色| 无码抄逼网| 操比国产| 99ri精品| 蜜桃久久一区二区三区| 欧洲熟妇xxXx欧美老妇裸体| 国产精品探花在线| 久操精品网| 禁片 高清 在线观看视频网站| 99久热| 婷婷在线视频| 成人 日本A片无码8888| αⅴ天堂| 久久久久久大| 国产亚洲精品美女| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 乱伦色图网址是多少| 26uuu性物| 视频分类 国内精品| 99爱在线视频| 黄色不卡视频| 精品国产一区二区三区在线播出| 亚洲人久久久网| 少妇内射视频| 色吧 综合| 国产精品麻豆视频网站| 婷婷五月综合在线| 国产精品2020| 丰满少妇精品一区二区| 国产在线视频午夜精华在| 国产精品亚洲天堂网址| 丁香五月影院| 亚洲国内精品成人不卡| 日韩在线电影| 97se亚洲综合自| 欧美美逼| 亚洲砖码砖专无区2023| 欧美欲色| 91狠狠综| 亚洲第一页色| 加勒比无码毛片| 精品人妻av在线播放| 人妻精品综合中文字幕在线| www.91视频网| 欧美性生活综合| 欲女人妻性色av| 国产9 9在线 | 亚洲| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 国产传媒日韩欧美| 亚洲1区2区三区高清中文字幕| 天天看综合网| 91综合在线| 99爱久久视频频| 日本一区二区做爱的视频| 久99在线免费观看视频| 午夜啪| 偷拍三区| 长长久久免费视频| 日韩精品人妻一区二区| av在线资源| 欧美日韩另类激情图片| 色性欧美| 中文字幕日韩精品久久| 天堂综合| 日本人妻A片成人免费看片| 水滴偷拍| 精产国品一区二三产品| 国产一级作爱毛片| 中文字幕丝袜| 亚州综合AⅤ| 中文字幕精品资源在线| 日本成人在线不卡一区二区三区| 蜜桃久久久久久| 3028国产精品| 国产97在线 | 亚洲| 久超超碰| 六六久久日韩不卡| 超碰无码加勒比| 亚洲九九视频| 超碰99re| 欧美A√综合网| 五月婷婷基地| 老司机老司机午夜影院| 久久免费少妇| 97资源欧美| 国产乱伦性爱AV| 老熟女乱伦一区| 蜜桃av综合网发布| 欧美制服另类丝袜| 蜜乳AV网址| 人人操人人摸人人骑| 久久久久久久六六 | 久久久91| 操老熟女AV| 国产乱婷婷精品二区三区| 国产精品视频自拍在线| 黄片在线免费在线观看| 中文字幕天堂在线| 久久国产精品m码| 久操av在线| 偷拍新久久| 极品久久久久久久久久久久久久| 欧美久久婷| 九一屌逼| 超碰性爱97| 97色爱| 亚州色国| 一区超碰一区| 老鸭窝日丰县女人| q2午夜理论片夜色av| 九九九九一级| 少妇贴图| 男人的午夜天堂| 一级二级在线观看| 久久精品久久久久久久久| 色在线亚洲视频www| 日本一区二区三区四区免费观看| 大香蕉一线视频| 超碰在线成人| 亚洲AV资源| 九九国产| 精品久久久久综合无码| 成人一级性爱| 欧美日韩不卡a片| 国产综合操逼高清| 青青草吊丝| 九99久久| 色欲av一区二区三区蜜芽| 超碰地址久久| 日B操| 国产精品4p在线观看| 日韩字幕一区| 欧美精品自慰系列寂寞少妇| 992这里有精品| 啊啊啊啊好疼视频| 啪啪视频免费在线观看| 亚洲欧美日韩偷拍色图| 人人人摸人人| 五月激情综合网| 欧美日动态视频| 好吊色综合| 91一区二区三区蜜桃| 插欧洲美女欧美精品| 无码99| 中文字幕1区2区| 无码精品蜜桃一区二区三区ww| 欧美色偷拍 | 极品白嫩福利在线| 97久久国产精品女不卡| 尤物一级在线免费观看| 四虎视频在线观看| 青娱乐老司机视频| 中文字幕乱碼在线| 男女一进一出视频久久| 人人爽夜夜玩视频| 嫩草美女久久| 欧美三级免费伊人| 少妇高潮流水av免费| 久久综合18p| 亚洲啪啪综合?v一区综合精品区| 日本亚洲vr欧美不卡高清专区| 久久久精品网| 最新亚洲风情电影| 一本色道无码DVD中文字幕| 亚洲天堂另类小说男人| 日本性爰一道本| 人妻少妇久久中文| 久久丁香| 国产精品九九九| 少妇一区二区三区在线观看| 久久性爱视频99| 精品制服美女中文一区二区三区| 秋霞曰韩R级| 色综合色色| 97亚洲中文| 国产91精品久久久久久久网曝门| 人妻偷拍一区二区三区| 俞拍自拍| 欧美大香蕉在线观看| 国产一区在线观看无码AV | 福利伊人玖玖国产| 91天堂| 欧美999999| 久超碰在| AV免费在线播放一区| 久久AV无码AV| 台湾佬中文娱乐网久久久久久久久久com | 五月天激情网图片| 十八禁av无码免费网站APP| 中文字幕视频二区| 欧洲精品网| 亚洲精品丝袜| 亚洲精品819| 丁香九月激情| 夜色AV无码手机在线影院| 国产深夜福利| …亚洲黄色厕厕女女在线播…| 夜夜操一区二区| 高潮嗯啊性感美女久久久| 亚 欧 美 综合| 婷婷五月天社区| 欧美国产日韩高清在线| 三级网色| 日韩精品黄片免费观看| 成人亚欧免费视频| 国产欧美精选激情视频| 涩涩涩综合| 100啪啪视频大全| 色网1| 丰满的三级少妇欧美久久久| 性色AV网站| 日本不卡一区二区| 9久久精品| 91麻豆一二三区| 久久大香蕉手机高清视频| 亚洲欧洲第二视频在线观看色图| 婷婷爽人人婷婷爽视频| 成人情色综合网| BBBBB97COM| 久久成年片色大黄全免费网站| 欧美一级黄色免费专区| 一级做a爰片久久毛片图片| 久久精品日韩| 午夜精品久久久久久久久久蜜桃| 伊人影院综合是一个与深夜成人在线| 久久久久亚洲Aⅴ无码| 欧洲色| 日本大香蕉| 中文字幕一二三av| 操一操摸一摸| 日韩探花精品在线视频| 97干在线| 久久久久密臀视频| 男人天堂东京热| 黄色网址在线免费观看| 欧美日韩丝袜| 91热色| 国产亚洲精品美女久久久久久2021| 免费AV播放| 亚热日本熟女| 欧美熟妇成人一区二区| 99热免费| 九九热av| 两性综合网| 嗯嗯啊啊的视频| 久久首页| 99re免费| 99热思思| 夜夜夜爽www精品视频| 黄人人操人人操| 熟女丝袜视频| 日本一区二区中文字幕久久| av网页一区二区三区| 第四色色综合91| 国产精品熟女一区二区三区| 视频分类 国内精品| 亚精品无码毛片一区二区三区| 中文AV制服乱伦| 天天欧美色| 九九热九九| 狠狠中文字幕| 日本一区二区亚洲综合| 亚洲最大的黄色电影网站。| 欧美97| 色超碰综合| 郑州宾馆老熟女露脸啪啪| 中国的操老妇女| 久9爱经典视频| 国产精品无码久久久久2025| 日夜干射色啊| 搡老人老9丨女老熟人| 少妇激情AV| 久久免费老司机精品| 综合伊人网12色| 欧美传媒一区| 亚洲高潮少妇| 伊人网青青| 性生活性生大爱77AV国产| 色色五月婷婷| 国产精品久久久久久亚洲色欲| 97天天弄| 色区久久| 不卡av在线中文字幕| 青娱乐 青青青操 日逼| 91黑丝少妇| 免费人成?大片在线播放| 亚洲天天操| 97超碰这里只有精品| 黑丝少妇| 丁香色五月 97干| 东北丰满熟女国产一区| 日本黄页视频在线观看| 久热一区二区| 精品人妻一二三四区视频| 禁止观看美女黄| 99啪啪| 国产亚洲色婷婷久久99精品91葵花宝典| 国产精品噜噜噜日日日| 秋霞鲁丝午夜无码一区二区三| 欧美 亚洲 制服 精品| 99热自拍| 天天爽天天| 婷婷五月天基地| 日本污ww视频网站| 日本性爱少妇| 日韩视频啪啪| 日本性爱不卡视频| 亚洲国产亚洲天堂| 中文字幕av亚洲在线| 久久专区| 国内精品嫩模A∨私拍小视频| 欧美极品色| 91网站在线播放| 色婷婷A V一二三四区麻豆综合| 大香网伊人久久综合网eew| 熟女啪啪视频| 夜夜騷av、一區二區| 亚洲情色一区二区三区| 好爽免费视频,| 97操综合| 啊啊啊啊啊啊啊啊在线观看| 亚洲欧美第一页| 日韩亚洲精品一区二区| 思思性爱| 射 色综合| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 欧美传媒一区| 中文字幕一二三av| 欧洲性人爱视频| 熟女高潮合集-永久久久-成人AV| 欧美大片一区二区三区| 国产精品一区二区麻豆| 亚洲色图一区二区三区| 1769国内精品视频| 强奸乱伦αv片| 欧美黄色图片| 夜夜无码| 家庭乱伦性爱av| ′ !γ}丶。。久久精品欧美一区二区三区| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | h4610国产人妻| 欧美啪啪女女| 日本午夜福利视频| 久久激情视频| 免费1级a做爰片观看| 青娱乐手机日韩在线视频| 中文无线日韩一区| 国产精品国产亚洲区艳妇糸列| 国产综合网站在线播放| 欧美色偷拍| 粉嫩AV一区二区夜夜| 色嗨嗨在线| 亚洲日韩久久精品一区| 五月亭亭六月丁香| 91久热| 欧成人在线| 精品黑人一区二区| 国产日产欧产美韩系列麻豆免费| 久久69精品久久久久久久| 狼天天狼天天大香蕉| 9久久精品| 九九在线视频| 91内射| 极品色www影院| 免费A片三p视频| 亚洲中文一区二区三区| 特级大荫道BBwBBwBBW| 久草尤物| 精品少妇后入一区二区三区四区人妻巨乳| 日本黄色裸日本黄色裸体| 人人妻人人玩人人澡人人爽| 久久天堂婷婷网| 天天操妹子| 日韩情色视频| 亚洲一区在线观看欧洲| 欧美日韩少妇色情| 国产操伦| 污电影在线观看| 99精品久久久久久久婷婷蜜桃| 中文熟女五十乱码在线| 女人被添高潮免费视频| 日韩内| 精品人妻视频一区二区三区蜜桃视频| 日本黄色精品专区网站| 日韩av电影网站| 激情综合亚洲| 国产精品久久天天干| 九9热伊人| 久草这里只有精品| 97精品一二区| 黑人操一区二区| 啪啪自拍九九综合| 欧美白嫩女HD| 91碰碰碰| 狼狼色丁香久久婷婷综合五月| 91精品操美女| 久久久久久性爱片| 久久久久久久人妻| 亚洲 小说 欧美 激情 另类| 日影院久久婷婷夜夜网| 欧美色棕合| 亚洲一区二区中文字幕| 一级乱伦网站| 精品人妻一区二区免费看| 老女人碰碰在线碰碰视频| 欧美综合站| 婷婷91| 欧美在线播放aaaa| 精品人体无圣光凹凸| 日本道不卡| 91骚熟女| 91熟女视频| 国产成人在线观看网址| 久久久工口| 天天爽夜夜爽夜夜爽精| 国产免费一区2区3区| 欧美人妻少妇| 欧美性爱第1 页| 久久六六| 国产亚洲精品一区二区三区| AVE乱伦| 中文字幕,人妻,日韩| 国产精品爱欲| 亚洲无码?第一页| 久99| 夜夜夜久久| 天堂国产AV| 亚州国产成人精品女人久久 | 秋霞一级鲁丝片A片| 欧美色图综合网| 久久少妇| 久操视频资源站公开| 亚洲综合成人网| 亚洲aw毛茸茸在线| 激情视频一二三| 亚洲中文字幕av | 美女黑人91神马| 97在线视频观看免费| 亚洲综合20p| 精品国产人成在线| 精品久久久无码| 久久人人爽av亚洲精品天堂桃色 | 日韩亚洲97| 97碰碰色| 成人免费福利网站国产| 狠狠久久四虎| 天天影视综合色| 成人小说视频在线精品欧美| 日韩在线观看字幕精品| 亚洲AV免费在线观看| 国产熟女一区二区| 亚洲蜜乳av| 欧美色66| 亚洲精品国产精品成人| 亚洲无码99| 亚洲天堂少妇| 中国乱伦一区二区 | 在线 欧美 亚洲| 乱论91| 女人的天堂大香蕉网| 人妻二区| 国产精品久久久777| 人人操人人干xxx| 少妇免费视频| dy888午夜老子影视达达兔| 综合色图亚洲欧美| 欧美日韩欧美| www.色五月| w w w.久久精品| 啊啊啊啊啊在线观看网址| 日日骚AV| 国产小炒后入式| 国语国产操逼伊人AV网| 久久久少妇诱惑精品视频| 亚洲欧美自拍偷拍| 中文久久96| 欧美精品1区2区3区| 91久| 色五月天AV| 人人摸人人叼| 国产一区在线看| 99综合自拍| 五月丁香成人网| 色婷婷国产精品一区在线观看| 欧洲中文字幕| 国产成人bd在线观看| 97在线免费看视频| 国产高清不卡视频| 亚洲免费人妻在| 亚洲成人黄色在线观看| 破处bbq| 日本不卡码黄色| 亚洲欧洲综合视频在线| 9国产超碰| 天天日天天干天天摸天天操| 啊啊啊 在线观看| 亚欧性爱ab| 成全在线观看免费观看| 日日AAvv| 欧洲精品一区二区三区| 99综合网| 去干网最新版| 粉嫩av久久一区二区三区| 亚洲欧美色图片| 日本久久久精品电影| 唯美清纯 妖精视频| 粉嫩小泬久久久一区二区| 啊啊啊啊啊啊啊国| 在线另类| 伊人久久艹| 中文字幕jul-617人妻熟女| 免费观看的黄色的网站| 老子午夜伦不卡影院| 国产高清亚洲日韩一区|