色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

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
返回資訊列表
亚洲无码一区成人免费午夜| 超碰99在线观看| 97精品视频在线| 夜夜嗨一区二区| 欧美精品日韩久久久九| 日本国产欧美一区三区二区| 亚洲一二三精品久久网| 天天摸天天舔天天操| 久湿久久| AV污污污污| 免费看A片毛毛片在线播| 九九aV| 18一区二区三区| 曰本91情色| 中欧人妻丝袜中文字幕| 国产精品视频麻豆入口| 啊视频在线| 亚洲色图美腿丝袜| 九九九999久久久网站| 国产偷人伦激情在线观看| 午夜福利精品| 麻豆国产av网| 日本 情色 1区| 中文字幕一区二区免费在线| 久操操| 亚洲国产精品久久久久婷婷老年| 日本高清视频xxxx| 懂色AV一区二区三区| 日韩pv中文| 女同性恋一区二区三区精品视频| 色综合99999| 老外又粗又长一晚做五次| 人妻久久久| 最近2019中文字幕国语免费版| 天天日天天屌天天操| 欧美精品成人在线播放| 97人人模人人爽人人| 中文字幕乱妇免费视频| 日本三级韩三级99久久| 麻豆国产精品午夜视频| 熟妇高潮一区二| 啪啪AV导航| 国产白丝网站| 日本熟妇精品九九| 欧美少妇内射| 高清不卡国产| 久久一区二区高清免费| 密臀视频三区免费网站| 欧美婷婷久久| 久久久激情| 国产粉嫩蜜臀av一区二区三区| 久久女人视频| a天堂视频| 日韩一卡二卡三卡| 久久美国毛片| 999狠狠综合| 偷拍在线观看视频| 日韩av不卡在线观看| 男人天堂东京热| 黑丝少妇麻豆| 狠狠色婷婷777| 丰满熟女一区二区三区在线播放| 久久久久久久久国产| 九九碰九九爱97超碰| 亚洲欧洲自拍图片专区满春格 | 热热色青青草| 四虎视频在线观看| 人人爱操| 伊人久久大香线蕉无码| 国产三级在线现体验区| 久久香蕉国产线看观看亚洲女人 | 成人热久久精品| 亚洲AV无码乱码在线观看性色| 亚洲国产丝袜熟女av| 亚洲素人综合| 久久久久久久久久精| www.99热| 超碰成人国产| 欧美一区二区三区入口| 男人的天堂网页| 九草九九九| 国产一级久久久| www.色综合| a片亚洲一本通视频| 狠狠中文字幕| 丁香婷婷色五月| 亚洲Av无码成人精品国产| 97超碰人人操人人操| 色97国产69香蕉| 在线97在线| 精品无码一区二区| 东京太热久久久| 色婷婷电影网| 色婷婷av在线观看| 人妻嗯啊啊在线播放| 国产精品成人无码av| 韩日性爱av| 69视频入口| 亚91网| 亚洲999综合| 色盈盈影院| 91蜜臀熟女| 日韩999| 极品美女福利在线观看| 六月丁香网| 中文字幕 码 自拍 视频 区| 久久黄黄| 偷拍超碰| 91超碰碰在线| 97国产|免费| 亚洲欧美91√| 欧美人妻熟女在线| 亚洲人妻五月丁香婷婷| 久久久四区| 91精品人妻| 蜜臀网 一区| 国产精品香蕉| 插入逼91| 黄色激情电影在线观看| 99视频内射三四| 精品超碰中文在线| 色九九九九| 久久久久78| 啊啊啊啊好疼视频| 偷拍新久久| 国内一级精品| 精品91日日夜夜超清资源| 91丨国产丨白浆秘 洗澡动漫| 大JI巴好深好爽又大又粗视频| 色噜噜人妻av 中文字幕| 一区中文字幕二区日韩| 亚州熟妇精品| 日本不卡一区| 日本日逼高清| 亚洲精品三| 夜夜一区二区| 精品一区二区三区四区女| 精品一久久久| 久99在线免费观看视频| 99久久精品国产系列| 超碰在线人妻中文字幕| AV污污污污| 日本123区操B视频| 夜夜操夜夜爽夜夜高潮| 欧洲大香蕉| 999色欧美中文字幕| 精品欧美乱码久| 日韩欧美加勒比| 国内精品嫩模A∨私拍小视频| 麻豆国产视频精品观看| 成人午夜无码视频| 天天超级碰碰碰| 亚洲欧美清纯| 日韩亚洲中文有码视频| 少妇 综合| 精品九九淫乱男| 性色综合网| 18禁中文字幕| 麻豆天美电影一区二区| 另类小说五月天| 伊人国产av| 亚洲午夜蜜臀| 国产精品无码成人精品| 操久久久久久| 69丨亚洲丨精品丨入口免费播放| 亚州熟女乱伦| 91亚洲人电影| 亚洲男人天堂手机版| 国产一区二区三区白丝| www.夜夜| 黄页网站成人免费| 五月婷婷丁香六月丁香| 日本熟妇一区二区三区| 国产日产欧产美韩系列麻豆免费| 日本人妻丰满熟妇久久久久久| 特级丰满少妇一级AAAA爱毛片| 116美女午夜| 久久精品操| 国产成人无码a| 五月天婷婷欧美三区| 中文字幕人乱码中文字的预防方法 | 69久久久久久久久久久久久| 99无码狠狠久久| 婷婷伊人綜合中文字幕| 久久久久久人| 国产精品自在自拍视频| 超碰视97中文| 免费一级视频特黄色大片| 99热日| 日B操| 女同亚洲欧美一二三区久久电影| aV中文麻| 东京热免费视频| 久久精品中文字幕女同| 乱伦日本色图AⅤ| 日本好吊色视频| 无码高清少妇久久| 超碰97最新人妻| 大JI巴好深好爽又大又粗视频| 丁香六月啪| 国产激情在线| 久久久婷| 夜夜欢天天干| 欧美成人亚洲精品| 青青操网| 天天日天天射天天干| 欧美91精品国产自产| 久久99操天天日| 91综合网在线| 歐美一級亂黃99在綫精品| 蜜桃久久一区二区| 久久精品人体| 91人精品妻入口| 5252色欧美在线| 国产操伦| 热G综合热G中文| A片三级无码| 九九九不卡| 综合色色婷婷| 超碰精品国产无码| 久久国产精品熟女人妻| 粉嫩av在线一区二区| 成人精品水蜜桃久久久久久久| 亚洲成人av电影在线| 色综合20p| 亚洲欧美国产成人综合不卡| 好涩综合| 天天综合网久久ww| 日韩卡一卡二卡三在线| AV女资源| 久久AV无码1区2区3区| 亚洲欧美自拍偷拍| 黑人性欧美| 天天影视色香色欲| 久久青青草原免费视频| 果冻传媒A片麻豆熟妇人妻| 精品少妇后入一区二区三区四区人妻巨乳 | 久久亚洲不卡一区二区三区| 日韩色| 新91视频.cmp| 大香蕉欧美伊| 国产成人无码网站在线视频| 97操| 中文字幕无码不卡啪啪| 熟妇亚洲一区二区三区| 无码人妻丰满热妇又大又粗| 精品久| 超碰这里只有精品| 国产夜夜艹| 夜夜影视四色| 国模无码人体一区二区三| 欧美性爱网97| 好吊色在线观看| 日韩色欲久久一二三四区| 欧美春色| 后入式视频国产自| 18一区二区三区| AV免费在线播放一区| 夜色91| 亚拍在线| 欧洲精品久久| 二对二中文字幕。| 九九内射在线| 国产精品一区二区黄片| 欧美熟女操屄| 黄人人操人人操| 亚洲日韩美女丝袜美腿人妻视频| 亚洲熟妇综合久久久久久| 日韩人妻少妇中文字幕| 狠狠干综合| 青娱乐国产精品| 欧美v日韩v亚洲v最新在线| 国产AV线| 日本中文字幕一区| www.男人天堂| 色香91| 东北女人的毛片| 澳门人妻久久| 美女啊啊啊啊啊啊啊| 国产小视频91| 日本操逼视频导航| 殴美在线AⅤ| 日韩操逼性鲍| 自拍内地三级在线观看| 狠狠超| 亚洲性天堂| 精品人妻一区二区三区四区| 后入日本1234| 我要色综合网站| 亚洲图片偷拍欧美| 91在线丝袜| 欧洲精品久久| 亚洲综合骚逼| 99re在线视频这里只有精品| 91精品婷婷国产综合久久| 超碰在线97国产| 国产精品熟女AV中文字幕在线播放| 欧美激情综合色综合啪啪五月| 亚洲一区二区精品福利| 激情接吻视频久久久久久| 2019久久久久久久久福利| 天天干干天天干干| 最近2019中文字幕国语免费版| 八人操人人摸人人看| 熟妇的味道HD中文字幕| 26uuu性物| 思思热免费在线视频| 国产无码精品高清| 亚洲无码一二三区| 婷婷丁香五月天亚洲天堂网| 久操精品网| 99自拍视频| 久久97| 男人的天堂2010| 欧美少妇大量自拍视频在线观看| 成人日本精品九区| 国产精品不卡一区二区三区| 亚洲午夜精品久久久中文影院| 久久精品区| a'v在线资源| 亚洲春色欧美激情自拍| 免费福利视频中文字幕| 伊人黄色视频免费观看| 色色操| 国产丝袜美女诱惑| 大香蕉综合久久| 人妻喷水| 欧美日韩大香蕉| 国产精品亚洲高清在线| 97色干| 97爱爱爱综合| 茄子社区国产精品| 91香蕉国产尤物视频| 久久草草亚洲蜜桃臀| 四虎影视永久在线免费| 加勒比无码一区二区三区| 狠狠热这里都是精品| 乱码人妻一区二区三区| 久久超碰网| 伊人精品久久网站| 日韩偷拍色图| 很狠操| 久久大黄片| A片 AV一级在线播放观看免费 | 女人 A一级| Julia在线播放亚洲久久| 欧美天天综| 欧美高清在线| 日韩性爱视频在线免费观看| 日韩三级一区 | 国产第二页| 亚洲欧美日韩激情不卡| 久久一级无码精品毛片6| 青青草视频久久| 超碰到97情色| 老子午夜伦不卡影院| 亚洲精品成人| 欧美日韩另类字幕中文| 精品人妻一二三| 国产97av| 亚州AV无码国产精品| 天天亚洲综合| 好吊色综合| 手机看片1024你懂的国产| 欧美亚洲丝袜美女电影| 我要色综合网| 国内三级自拍小视频在线观看 | 97国产成人精品免费视频| 色老汉色| 男女性无套 免费九一| 日本免费亚洲欧美| 锕锕好爽 死我在线观看| 日韩成人精品| 综合久欧洲| 美女91AV| 国产后入精品| 天天拍夜夜| 欧洲熟妇xxXx欧美老妇裸体| 少好三P| 色呦呦呦在线观看视频| 蜜桃色院一区久久| 欧美一级久久久丰满| 91扒丝袜综合在线| 乱性AV| 午夜天堂网| 国产欧美一区激情交| AV中文字幕剧情1区2区3| 日本97久久久精品| 久久精品一区二区| 性爱视频免费网址| 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | 国产欧美日韩在线观看麻豆传媒公司| 亚洲色图欧美色18直播在线| 亚洲第一无码播放立川理惠| 九九九久久久久| 看免费的黄片| 神马久久网| 日韩欧美亚洲自拍偷拍| 高凊专区人人操| 18禁看网站一区| 91在线美女| 久久精品国产亚洲5555| 超91综合网| 97久久网| 亚洲淫乱骚妇AV| AV一区观看| 国产精品国产| 影音先锋中文字幕日本好一区二区| 蜜臀一二三| 一区二区三区免费岛国片| 男人天堂久久精品不卡| 久久性爱城| 亚洲精品97久久中文字幕| 激情深爱五月天| 欧美天天插| 2017天天操| ,国产乱人伦精品一区二区三区| 97色伦97色伦国产欧美| 麻豆精品A片免费观看| 秋霞免费无码视频日韩A片| a片亚洲一本通视频| 大香网站| 色妺妺AⅤ| 99热超碰| 亚洲一区二区三区AV无码| 欧美日日人人天天| 久久久爆乳翘臀一线天伦理视频| 男女做爰猛烈动高潮A片免费应用 少妇厨房愉情理伦片bd在线观看 不卡中文字幕aⅴ在线 | 九九九午夜| 欧美亚洲第一页| 久久人妻无码毛片A片麻豆| 色综合九九| 视频国产成人精品日本亚洲18| 91高跟美女在线播放| 亚洲精美粉嫩嫩泬在线观看| 91综合网站| 青青久操| 天天干天天做| A一区片| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 91久久久老司机| 强奸乱伦大香蕉| 国产精品9999| 男人的天堂久久狠| 偷拍欧美激情| 丁香五月性爱| 欧美亚洲国产91在线| 日本中文字幕熟妇| 一个色导综合| 亚洲黄色电影| 久久亚洲熟妇在线视频| a网站免费观看| 啪啪AV导航| 午夜欧美精品久久久| 中文字幕丝袜人妻| 小少妇| 男女激情黄色网址| 又粗又长又大国产不卡| 人妻美腿丝袜日韩| 黄久在线| 超碰97资源中文字幕| 丰满少妇乱子伦精品无| 欧美性生活免费网| 搡老女人老91二区| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 射丝袜大香蕉| 九九九九九九九精品视频| 嫖老熟女A片一二三区| 97操| 玖玖久久久| 夜夜春夜夜操| 青青草字幕AV| 1000午夜黄色| 另类 综合 日韩 欧美 亚洲| 97香焦色区| 920日本午夜免费| 国产一区二区欧美日本| 91碰超| 综合五月婷婷亚洲一区| 亚洲欧洲自拍图片专区满春格| 600国产精品视频| 欧亚三区动漫| 中韩中文字幕在线观看| 伊人性在线视频| 久久久九精品| 亚洲欧美日产国产91毛片| 自拍欧美| 日韩中文字幕av在线播放| 久久伊人最新网址视频| 91中出| 国产精品网址| 亚洲国产成人精品久久久国产成人一区二区 | 91黑丝在线播放| 香蕉婷婷| 五月丁香在线| www.操| 精品国产一区二区久久| 91色综合激情| 九九九九九精品十六| 亚爽爽爽爽爽爽爽爽| 亚洲永久AV无码精品秋霞| 久久久中文版| 牛牛久久国产精品视频一二三| 78p欧美| 中文字幕人乱码中文字的预防方法 | 亚洲日韩AV视色| 五月激情综合网| 激情婷婷五月天| 99热在线观看| 91neishe| 第四色亚洲色图| 欧美日韩少妇色情| 久久9免费视频| 久热伊人| 久久婷婷电影网| 久久社区一区二区三区| 日本一区二区成人在线| av中文在线| 97色欧州| 国产自偷| 神马久久久久久| 美女尤物人人操| 高清在线偷拍自拍视频| 婷婷五月色| 欧美熟妇操操视频| yazhouzaixian| 欧美啪啪色吧在线| 亚洲字幕一区二区| 99久久网站| 精品国产91久久久久久一区黄无| 熟妇激情| 欧美亚洲国产91在线| 国产三级多多影院2022国产AA一级毛片无码 | 97欧美综合| 超碰精品日韩欧美国产| 欧美成人一级免费电影| 嗯嗯啊啊操死我| 偷拍色图| 好色综合| 中文字幕在线日亚洲9| 日韩乱码Av| 欧美少妇色综合| 精品91| 欧美国产欧美在线观看| 色人久久| 国产激情av女片自拍| 丁香五月社区| 中文字幕女同在线| 人人弄人人摸| 九九色热| 夜夜青青无码影院| 亚洲密乳AV| 91久久久久久| 色悠久久久av| 日本黄色大片一级视频免费麻豆| 成人看片网站| 99精品人人爽| 欧美激情性久久久久久| 国内外色色色色色成人视频| 色网综合网| 免费观看性欧美一级| 国产毛片精品一区二区色欲黄A片| wwe 天天干.com| 操国产高清| 90后性网国产欧美| 亚洲青青草| 性影在线视频| 麻豆黄四叶草网站| 九九九九久久久久| 久久久九97| 热热色青青草| 日韩欧美综合激情| 亚洲欧美日韩国产丝袜自拍中文| 国产操逼网站亚洲一级黄色| 99自拍视频| 亚洲一区二区av| 丁香六月东京热| 丁香五月天久久精品视频一区二区三区| 欧美99999| 长长久久曰曰夜夜成人网| 欧洲一区二区三区四区在线观看| 日韩性爱免费视频在线网站| 情色五月天网| 欧美18 在线观看| 亚洲图片欧美制度| 欧美一级A一级a爱片久久| 骚货人妻偷情自拍在线视频| 九九九九精品视频| 伊人91| 欧亚日韩一区在线| 久久久人体| 国产色图乱伦| 国产精品 亚洲情色| 日韩欧无码一区二区三区免费不卡| 蜜臀久久久久久999| 天天操妹子| 亚洲激情网一二三四区| 97国产精品视频| 亚洲欧美精品国产一区二区| 欧美色图私拍91| 国产一区二区精品久久99| 免费看污网址| 亚欧成人中文字幕一区| 高清视频一区| 精品人妻夜夜草| 岛国色情视频在线观看| 亚洲日本天堂| 亚洲色啪| 26uuu久久| 九九九九九九成人| 四虎国产精品永久地址入口| 夜夜春夜夜操| 91婷婷伊人狠人| 午夜小电影在线插入淫高潮| 人妻素股| 99热免费| 小视频玖玖| 精品亚洲国产成人精品| 99热日本| 国产91福利小视频在线观看| 91高跟美女在线播放| 日本五十路熟女一区二区| 色香网| 色香阁在线| 日本激情免费大片| 91亚洲影视| 五月色综合| 91在线超高颜值国产| 夜夜国自区| 亚洲成人一二三区| AV免费在线播放一区| 一区二区不卡免费| 97人妻色| 屁屁影院一区二区三区国产| 天天射日日干| 色香伊人| 女人高潮抽搐喷水视频网站| 91久久久亚洲| 成人青青草原伊人| 一本大道综合伊人精品热热| 99精品久久| 日本操逼视频不卡直接放| 伊人网一本| 欧美亚洲日韩16色| 任你艹| 午夜福利 成人 91| 99国产精品免费| 岛国大片国产| 一级黄色性爱裸体视频| 男人的天堂久久| 亚州综合AⅤ| 色噜噜国产在线| 这里只有精品视频在线| 一类无码操逼视频| 国语对白露脸XXXXXX | 婷婷丁香五月激情啪啪| 久久精品国产99精品亚洲蜜...| 九九九九九九九九九五码| 天天干,夜夜爽| 狠狠色狠狠色狠狠五月| 久久国模av| 欧美亚州手机在线| 亚洲黄网在哪免费看| 国产精品久久久久久无码红治院| 午夜αv| 精品一区二区三区18| 91在线/欧洲| 熟啊v色欧美热| 91丝袜美女| 成人情色一区二区| 国产极品美女高潮无套在线观看 | 国产乱码精品久久久久久| 久久免费中文字幕在线观看| 欧美一区二区三区日韩| 东北丰满熟女国产一区 | 欧美视频一区二区三区| 国产蜜臀在线| 十八禁电影伊人网| 嗯嗯嗯啊啊啊干死我吧| 蜜臀亚洲中文| 久久久工口| 九九九九九九九精品视频| 欧美国产精品| 家庭乱伦国产| 九九精品无码专区免费| 99精品人妻| v91av| 亚洲图片色图欧美另类| 天天日天天干天天摸天天操| 欧亚日韩综合精品国产| 久久9精品网站| 91AV天美在线视频| 成人久久久精品| 台湾佬中文娱乐网久久久久久久久久com | 人人搞人人插人人操| 女优大全 - 91n| 精品久久97| 亚洲风情在线观看| 草草电影院| 一本色道综合久久欧美| 无码137片内射在线影院| 亚瑟国产精品久久无码| 探花一区二区三| 色乱二区| 亚洲综合婷婷| 长长久久免费视频| 99re在线观看| 嗯嗯啊啊好大好爽| 亚洲丝袜二区在线| 夜夜爽夜夜高潮夜夜爽| 97精品久久| 亚洲三区视频| 夜夜操青青草| 精品在线观看视频在线| 丁香啪啪| 97露脸精品丝袜| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 亚州伊人色综台| 四虎视频在线观看| 欧美日韩97在线| 精品一区二区三区18| 亚州熟女乱伦| 亚洲成熟国产精品美女| 久久婷婷一区二| 欧美婷婷久久| 亚州国产成人精品女人久久| 青青草公开在线免费不卡视频| 中文字幕后石码四区五区| 精品高清一区二区三区三州| 亚洲 欧美 手机在线观看| 偷拍欧美激情| 97视频新免费| 国内一区二区免费| 国产强奸超碰AV| 超碰97精品在线| 亚洲图片偷拍欧美| 国产精品ww久久| 日韩国产精品人妻无码久久久| 岛国在线一区二区三区| 亚洲黑丝在线| 二级毛片| 蜜乳中文字幕a在线| 噜噜噜无码AV一级一级久久影院| 人人手机欧洲亚洲国产人妻| 欧美色图在线视频少妇| WWW操逼| 日韩精品中文字幕二区| 热久久国产精品视频大陆精品| 一级免费精品| 26uuu久久| 中文字幕 码 自拍 视频 区| 成人A片男人的天堂| 精品999一区二区| 人人看欧美性爱| 欧美色图亚州激情| 美女91网| 思思热久久成人| 少妇蜜汁| 国产在线激情| 久久鲁干| 国产精品密臀网在线观看| 9118禁| 人妻熟女av国产网站| 北条麻妃99精品青青久久| 婷婷人妻激情| 99热99在线播放激情| AV一起草在线| 亚洲不卡AV在线| 99国产女人| 粉嫩不卡一区二区性爱| 91视频成人福利网站在线一区 | 97操操| 欧美在线|亚洲| 欧美东京热青青草| 国产日本久久免费精品| A男人的天堂| 日韩免费a级毛片无码a∨| 激情综合二| 亚洲视频小说| 色色色色日本| 人妻系列无码专区中文有码| 操人妻丝袜高跟| 亚洲有码第一页| 99久久精品无码一区二区毛片免费| 香一区二区三区| 亚洲色图欧美| 天天操天天射青青草| 日韩色| 精品网站9999| 精品九九九| 久久免费看高潮毛片韩国| 亚洲男人天堂网久久| 精品999日本| 26uuu性物| 日韩人妻精品中文字幕| 欧亚乱色熟女一区二区| 亚洲素人网| 青娱乐国产精品| 东京男人天堂| 亚洲精品三| 日韩啪啪视频| 91亚洲精品青草| 日本高清视频xxxx| 欧美A√综合网 | 97精品中文字幕| 高清一区AV无码| 台湾佬中文娱乐网久久久久久久久久com | 99日免费视频中文字幕| 999岛国大片| 麻豆色99999| 97久久久久久久精| 亚洲欧美高清无码| 九九九精品一区二区无码| 大色综合网| 屁股久久久久久| 亚熟在线| 日1区2区3区2020| 91操操| 偷拍精品一区二区三区| 色九九九综合| 国产又操| 日韩激情无码影院| 亚洲的天堂网| 色色激情五月天| jazzjazz国产精品麻豆| 天天影视之亚洲综合网| 中文字幕在线日亚州9| 18禁看网站一区| 国产九区| 人妻熟女字幕一区二区| 免费A片三p视频| 中文字幕精品久久久久人妻红杏ⅰ| 国产免费永久精品无码| 亚洲综合影院| 亚洲综人| 中文字幕日产av人| 综合自拍| 波多野结衣之双飞调教在线播放| 97久久精品不卡| 精品精品精品| 思思性爱| 日语五十路和六十路亚洲国产精品 | 欧美黄色大片在线观看| 国产91丝袜 在线播放| 久久超碰97中文字幕| 翔田千里AⅤHD无码| 欧美 日韩第一性色| 青青久操| 丁香六月婷婷久久综合| 最新中文字幕精品在线| 69精品| 国产美女91| 精品人妻一区二区免费蜜桃| 激情五月婷婷综合| 香蕉久久AⅤ...| 日本色色色网站免费看不卡| 亚洲综合伊人| 精品无码一二三四区| 亚洲色欲天天人妻无码系列专区| 亚洲精品性爱片| 欧美性性性| 亚洲第一色页夜| www.四虎在线| 婷婷视频网| 国产色精品午夜大片| 四虎精品永久在线播放| 亚洲人久久久久日| 久久偷偷色综合蜜桃| 日本一天色道久久久精品视频| 免费观看啪视频| 麻花传媒免费网站在线观看| 凹凸视频在线一区二区| 青青草好吊色| 天堂av最新电影网| 日韩淫色网| 久久內射| 超碰人妻久久人妻中文97| 丁香五月综合| 日日操天天操| 2018色综合天天操| av凤凰久久久| 亚洲无码一二三区| 91综合色| 天天色欧美| 日韩精品人妻一区二区| 国产97综合| 啊啊啊男女| 色香欲天天天天综合色| 国内毛片婷婷六月色| 蜜乳AV免费观看| 国产强奸乱伦无码视频| 91无遮挡| 9.1小视频| 91久久堂| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 无码九九九九| 久久久精品久久| 成年人免费观看网站| 99精品丰满人妻| 91精品免费| 天综合网欧美| 国产精品午夜精品| 久久9免费视频| 超碰色图| 国产精品九九九| 韩美日操逼| 91人妻最真实刺激绿帽| 国内毛片婷婷六月色| 日韩久久.一级黄色片| 日韩欧美字幕亚洲一区二区| 精品在线观看视频在线| 97福利视频| 色婷婷在线视频| 麻豆国产av网| 美国久久一二三四| 天天操天天日青青草超碰av| 久久精品日韩专区免费观看| 九七超碰人人乐| 青青草中文字幕| 妇女性内射冈站HDWWWCOM| 极品综合| 久久这里只精品99re66图| 国产亚洲色婷婷久久99精品91| 殴美性色a级欧美| 夜夜操av亚洲一区二区| 伊人网在线视频| 黄久久| 亚洲丝袜二区在线| 日本精品五区| 国产操偷| 亚洲天堂区| 欧美一二在线| 哈哈操 大香蕉| 色欲天天综合久久久无码网中文| 精品久久久久av影院| 中文字幕jul-617人妻熟女| ss久久| 成人天天爽| 久久亚洲AV无码白度| 少妇人妻太紧太深av| 五月丁香六月婷| 操b网站亚洲无码| 蜜臀Av一区二区三区| 国产成年女黄特黄| 日韩性爱视频免费在线| 色性综合| 亚洲男人天堂2| 大香蕉草草| 精品视频免费在线一区| 97干日韩| 九一国产精品| 中国AV美女| 久热九九| 日韩欧美中文字| 人妻夜夜爽天天爽麻豆三区网站| 色综合20p| 78超碰| 国产无套粉嫩白浆在| 在线观看A啊啊啊| 九九九成人| 黄片aaaaa一区| 午夜精品久久久99| 中文字幕第2页| 99精品欧美一区二区三区桃色| 97亚洲综合电影| 中国和日本人色哪个不下载能放| www..com操老师| 天天肏美女| 人妻精品一区二区| www网站黄| 天天超级碰碰碰| 国产又黄又粗又猛大片| 人妻久久久| 人人操人人精品影片| www.99色| 亚洲欧美天堂在线| 97色操| 翔田千里av一区二区三区| 色亚州人久干视频在线观看免费版| 中文字幕99999| 色色亚洲| 91亚洲网站| 91强奸乱轮| 91国产丝袜美女| 国产精品ⅴ无码大片在线看.| 人妻日日夜夜精品| 亚洲性高潮| 91精品久久久久久综合五月天| 另类亚洲图色| 黄片免费日韩| 黄页大片在线观看| 久区视频| 色情婷婷| 日韩在线观看AV| 强奸xx国产| 亚洲天堂电影网| 亚洲日韩国产欧美综合v| 亚洲电影91| 91精品国产麻豆国产自产在| 蜜桃精品视频一区| 337p大胆噜噜噜噜噜91Av| 嗯嗯嗯啊啊啊操的我好爽| 新精精品久久精品| 国产精品ww久久| 大香蕉丝袜一级片| 97er欧美性| 先锋女优在线观看视频| 国产不卡免费在线视频| 九九久久久九九| 91天美免费| 三级特黄60分钟播放| 91精品成人www| 欧美色图20P| 亚洲一区二区精品福利| 国精品一区二区三| 青娱乐91| 色欲天天综合网| 大香蕉欧美国产日韩高潮| 国产自制av蜜乳| A V少妇特黄三级| 国产熟女自拍| 色婷婷激一区二区三区 | 亚洲欧美大| 一区二区三区一亚洲中文字幕、综合区灬 | 偷拍片久久| 国产一区二区三区视频在线看| 婷婷五月成人| 9 1果冻精品视频| 亚洲精品第一| 亚洲鸥美色图| 欧美性爱1080p| 国产精品懂色tv影视免费观看| 婷婷九月色| 97国产精品久久久久| 狠狠色狠狠色狠狠五月| 亚洲无限观看| 黄色大片免费在线| 青青草手机在线免费观看| 秋霞午夜成人福利片片| 久久伊人在线五区| AAAA欧美日韩| 熟女啪啪视频| 大JI巴好深好爽又大又粗视频| 中文字幕一区日韩精| 人人操超碰在线| 色y情视频免费看| 闷骚老熟女15P| 国产精品一区av在线| 99999精品成人| 精品国产91内射久久| 久久免费精品96| 伊人久久在线视频观看| a片亚洲一本通视频| 亚洲欧美在线观看无码| 性欧美另类高清| 久久超碰网| 97久久精品亚洲中六字幕| 人妻中文字幕精品无码| 欧美色日本| 一个人免费HD91视频| 91精品婷婷国产综合久久| 色区久久| a亚洲欧美色欲| 伊人成人情色综合| 日本免费人成视频播放120秒| 草伊人高潮喷水超碰| 欧美顶级黄色大片免费| 5252色欧美在线男人的天堂| 国产AV超爽| 日本成人在线不卡一区二区三区| 2011国产精品| 超碰无码加勒比| 中文字幕乱妇免费视频| 人人做天天爱| 激情综合网五月婷婷五月天| 偷拍亚洲情色| 欧美嫩性色| 男人女人18禁片免费看网站| 欧美色图人妻| 2017人人操,人人摸| 少妇人妻在线| 久jiu久神马影院| 特级特黄一级毛片免费| 男人的天堂日韩| 狠狠中文字幕| 天天谢天天干| 青草地一本线一区二区三区| 精品妇女一区二区三区| 台湾成人无码AV| 日韩欧视频| 九九热免费国产视频婷婷伊人五月| 欧美天天干| 欧美天堂第二区| 亚洲有码 欧美精品| 视频国产精品未满十八禁止在线观看| 综合网亚洲1| 色爱欲亚洲| 婷婷五月天成人网| 午夜福利1区2区3区| 久久激情四射婷婷丁香五月天| 九九无码| 亚洲少妇综合在线播放| 国产午夜精品理论片a大结局| 夜夜操一区二区| 亚洲熟女乱色| 91九色首页| 日韩成人在线性爱视频| 欧美综合网A| 亚洲天堂第一页| 综合色图区| 探花精品视频| 日韩无码精品综合久久| 国产白丝AV| 人妻精品一区一区三区蜜桃91| 久草五月| 黄色免费网| 免费视频观看60秒| 高跟伊人julia ann| 国产极品999| 免费观看欧美日韩操逼视频| 91碰超| 亚洲 欧美 精品专区 极品| 亚洲欧美setu| 打av高清| 超AV色女| 婷婷五月激情综合| 5月婷婷6月六月丁香| 人人人人插| 亚洲人妻中文在线视频| 女性91网站| 国产91 丝袜在线播放00-百度| 大香蕉伊然在亚洲91| 亚洲精品蜜桃久久久久久久| 日本 免费 一区二区三区 久久香蕉| 大香蕉手机视频| 另类专区在线观看| 操逼逼福利视频| 亚洲?V无码专区在线电影| 亚洲一区日韩精品中文字幕| 日韩欧美蜜桃精品久久中文字幕久久| 亚洲天天影视综合网| 五月天久久婷婷亚洲 | 屌色在线97视频| 精品少妇一区二区三区在线视频| 92人人操人人| 国产人妖视频一区在线观看| 无码天天操| av毛片aaaaa免费看| 天天综合~91| 国产女大学生AV| 清柠毛片| 99精品在线| 天美传媒av 在线| 旡码电影特区| 日本三级韩三级99久久| 精品夜夜澡人妻无码| 欧美成人精品一区二区三区| 欧美视频在线第3页| 欧美最婬乱婬爆婬性视频 | 欧美激情区|