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

ARTICLE DETAIL

資訊詳情

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

CrewAI實(shí)戰(zhàn)指南:從零搭建多智能體協(xié)作工作流

CrewAI實(shí)戰(zhàn)指南:從零搭建多智能體協(xié)作工作流 如果你最近在關(guān)注 AI Agent 方向大概率會(huì)注意到一個(gè)現(xiàn)象ChatGPT 這類(lèi)單一大模型已經(jīng)不能滿(mǎn)足復(fù)雜任務(wù)的落地需求了。真正要做一份行業(yè)研究報(bào)告、一套競(jìng)品分析、一個(gè)自動(dòng)化運(yùn)營(yíng) SOP如果只靠一次 Prompt模型很快就會(huì)出現(xiàn)上下文丟失、步驟遺漏、結(jié)果深度不夠的問(wèn)題。于是“多智能體系統(tǒng)”這個(gè)概念被推到了臺(tái)前。但說(shuō)實(shí)話(huà)多智能體這個(gè)概念在業(yè)界的討論熱度遠(yuǎn)遠(yuǎn)超過(guò)了實(shí)際落地進(jìn)度。原因很簡(jiǎn)單大模型本身只是“大腦”而多智能體系統(tǒng)要解決的是“多個(gè)大腦如何分工、如何協(xié)作、如何把任務(wù)跑完”的系統(tǒng)工程問(wèn)題。很多人看完概念覺(jué)得懂了一寫(xiě)代碼就發(fā)現(xiàn)智能體怎么定義、任務(wù)怎么拆分、角色之間怎么交接、失敗怎么重試全是難題。這篇文章要寫(xiě)的 CrewAI就是目前開(kāi)源社區(qū)里把“多智能體協(xié)作”這個(gè)概念落地得比較完整的一套 Python 框架。它不要求你從零實(shí)現(xiàn) Agent 調(diào)度邏輯而是用類(lèi)聲明式的方式把智能體、任務(wù)、流程、協(xié)作工具組裝成一個(gè)可運(yùn)行的 Crew團(tuán)隊(duì)。文章的定位很明確不堆概念直接給你一條能跑通的主線(xiàn)——從 CrewAI 的核心設(shè)計(jì)講起到環(huán)境搭建、代碼示例、運(yùn)行驗(yàn)證、常見(jiàn)問(wèn)題最后給出工程落地建議。讀完你應(yīng)該能做到自己定義一個(gè)多角色智能體團(tuán)隊(duì)編排任務(wù)流程跑出一個(gè)真實(shí)可用的自動(dòng)化工作流。1. 這篇文章真正要解決的問(wèn)題先花一點(diǎn)時(shí)間搞清楚為什么在多智能體這個(gè)方向上我們特別需要 CrewAI 這種框架如果你自己嘗試過(guò)用 LangChain 或者直接調(diào)用 OpenAI SDK 寫(xiě) Agent你會(huì)發(fā)現(xiàn)真正的痛點(diǎn)不是讓模型“變聰明”而是把復(fù)雜任務(wù)結(jié)構(gòu)化。比如要做一個(gè)企業(yè)輿情分析報(bào)告任務(wù)天然包含以下環(huán)節(jié)采集信息源篩選高價(jià)值信息判斷情緒和風(fēng)險(xiǎn)等級(jí)撰寫(xiě)分析正文整理成固定格式的報(bào)告。如果只讓一個(gè) Agent 完成全部工作它既要會(huì)搜索、又要會(huì)寫(xiě)作、還要會(huì)判斷不僅系統(tǒng) Prompt 會(huì)寫(xiě)得非常長(zhǎng)而且任何一個(gè)環(huán)節(jié)失敗都會(huì)導(dǎo)致整條鏈路不可用。更麻煩的是這種單體 Agent 出現(xiàn)錯(cuò)誤時(shí)你很難定位是采集的問(wèn)題還是判斷邏輯的問(wèn)題還是生成格式的問(wèn)題。多智能體系統(tǒng)的核心價(jià)值就是把這種“大而全”的任務(wù)拆成多個(gè)“小而專(zhuān)”的角色任務(wù)。每個(gè)智能體只把自己負(fù)責(zé)的環(huán)節(jié)做到位再通過(guò)流程機(jī)制實(shí)現(xiàn)任務(wù)上下文傳遞和結(jié)果匯總。CrewAI 解決的問(wèn)題概括起來(lái)就是三件事智能體定義如何用清晰的角色Role、目標(biāo)Goal和背景故事Backstory定義一個(gè)專(zhuān)職智能體。任務(wù)編排如何把多個(gè)任務(wù)按順序、按層級(jí)或者按事件驅(qū)動(dòng)的方式串起來(lái)形成完整工作流??蛇\(yùn)行的自動(dòng)化流程如何讓這套多智能體系統(tǒng)不僅存在于文檔里還能真正跑出結(jié)果并接入大模型 API、外部工具和企業(yè)數(shù)據(jù)。所以這篇文章適合的讀者有三類(lèi)。第一類(lèi)是剛開(kāi)始了解 Agent 開(kāi)發(fā)、想找一套能快速跑通的腳手架的人第二類(lèi)是已經(jīng)用 LangChain 寫(xiě)過(guò) Agent但覺(jué)得直接編排多角色太痛苦的人第三類(lèi)是團(tuán)隊(duì)里要評(píng)估多智能體框架選型需要看 CrewAI 到底能做什么、不能做什么的技術(shù)負(fù)責(zé)人。一句話(huà)總結(jié)我的判斷CrewAI 不是讓 AI 從“單打獨(dú)斗”變成“一堆 Agent 聊天”而是把多智能體協(xié)作變成了可配置、可復(fù)用、可維護(hù)的工程代碼。這種變化才是它真正值得關(guān)注的原因。2. CrewAI 核心概念與設(shè)計(jì)思想CrewAI 之所以上手門(mén)檻比從零寫(xiě)調(diào)度器低是因?yàn)樗讯嘀悄荏w系統(tǒng)中的幾個(gè)高頻抽象概念直接做成了框架的基礎(chǔ)組件。理解這幾個(gè)概念勝過(guò)背誦十篇 API 文檔。2.1 Crew、Agent、Task 是三大基礎(chǔ)組件CrewAI 的頂層抽象是 Crew團(tuán)隊(duì)/劇組它定義了一個(gè)多智能體組織負(fù)責(zé)管理這個(gè)系統(tǒng)里有哪些智能體、要執(zhí)行哪些任務(wù)、任務(wù)之間以什么方式流轉(zhuǎn)。Agent智能體是 Crew 里的執(zhí)行單元。每個(gè) Agent 是一個(gè)“帶角色設(shè)定的大模型實(shí)例”它擁有獨(dú)立的角色、目標(biāo)和背景信息。CrewAI 里的 Agent 還有一個(gè)重要特性它可以配置工具Tools比如搜索、網(wǎng)頁(yè)訪問(wèn)、自定義 Python 函數(shù)這樣它在執(zhí)行任務(wù)時(shí)就有能力調(diào)用外部資源。Task任務(wù)是分配給 Agent 的、明確要輸出結(jié)果的工作單元。Task 包含任務(wù)描述、期望輸出格式、負(fù)責(zé)任務(wù)的 Agent 等信息。多個(gè) Task 之間允許有依賴(lài)關(guān)系后置任務(wù)可以把前置任務(wù)的輸出作為輸入上下文。下面用一個(gè)表格把這幾個(gè)概念對(duì)照一下概念通俗理解解決的核心問(wèn)題CrewAI 中的關(guān)鍵配置Agent團(tuán)隊(duì)里的一個(gè)“員工”每個(gè)角色只做專(zhuān)業(yè)的事role、goal、backstory、llm、toolsTask安排給員工的一條工作指令工作邊界和輸出標(biāo)準(zhǔn)description、expected_output、agentCrew一條完整的業(yè)務(wù)流水線(xiàn)把角色和任務(wù)組裝成可運(yùn)行流程agents、tasks、processProcess流水線(xiàn)的執(zhí)行方式?jīng)Q定任務(wù)串行還是分級(jí)管理sequential、hierarchicalFlow基于事件驅(qū)動(dòng)的工作流控制器更靈活的編排與狀態(tài)管理start、listen、狀態(tài)對(duì)象只看表格可能還不夠“切膚”。要理解這些概念最好的方式是把 CrewAI 比作一個(gè)劇組導(dǎo)演Flow 或 Hierarchical Process 中的 Manager不親自演戲但決定哪個(gè)演員在什么節(jié)點(diǎn)上場(chǎng)。編劇和攝影師Agent是不同的執(zhí)行單元編劇寫(xiě)腳本攝影師拍畫(huà)面。每個(gè)拍攝任務(wù)Task都有明確交付物。整部電影Crew是以上所有元素的集合。當(dāng)然這個(gè)類(lèi)比只是為了幫新手建立心智模型。真正寫(xiě)代碼時(shí)Agent 不會(huì)像人一樣“商量”著干活它靠的是結(jié)構(gòu)化 Prompt、工具調(diào)用和任務(wù)上下文傳遞。2.2 Process 決定協(xié)作是順序還是分級(jí)多智能體系統(tǒng)里最容易讓人困惑的一點(diǎn)是多個(gè)智能體到底怎么協(xié)作是我命令你、你命令他還是大家各干各的最后拼在一起CrewAI 提供兩種內(nèi)置 ProcessSequential Process順序流程。所有任務(wù)按聲明順序依次執(zhí)行Agent 像流水線(xiàn)工人一樣逐個(gè)處理自己負(fù)責(zé)的環(huán)節(jié)。優(yōu)點(diǎn)是好理解、好排錯(cuò)、成本和延遲可控。適合上下文強(qiáng)依賴(lài)、不適合并行的任務(wù)鏈。比如“先生成大綱再根據(jù)大綱寫(xiě)正文再基于正文配摘要”。Hierarchical Process層級(jí)流程。Crew 里會(huì)安排一個(gè) Manager Agent 或指定 manager_llm由它負(fù)責(zé)任務(wù)規(guī)劃、分配、審查和交接普通 Task 不預(yù)先綁定 Agent而是由 Manager 動(dòng)態(tài)決定。優(yōu)點(diǎn)是有全局統(tǒng)籌適合任務(wù)拆解不固定、依賴(lài)關(guān)系相對(duì)動(dòng)態(tài)的場(chǎng)景。缺點(diǎn)是多一次管理調(diào)度會(huì)引入額外的大模型調(diào)用開(kāi)銷(xiāo)和不確定性。社區(qū)里經(jīng)常討論“多智能體的四種交互模式”典型分類(lèi)包括順序鏈、并行分組、主從委派、事件驅(qū)動(dòng)協(xié)作等。對(duì)應(yīng)到 CrewAI 里順序模式對(duì)應(yīng) Sequential Process主從委派對(duì)應(yīng) Hierarchical Process事件驅(qū)動(dòng)模式對(duì)應(yīng)基于 Flow 的編排方式并行分組可以通過(guò)多個(gè)異步 Task 來(lái)組合實(shí)現(xiàn)。換句話(huà)說(shuō)你不需要把這些模式當(dāng)作孤立術(shù)語(yǔ)它們的本質(zhì)是任務(wù)關(guān)系圖的結(jié)構(gòu)差異。2.3 Flow比 Process 更靈活的工作流層Process 解決了一個(gè) Crew 內(nèi)部任務(wù)的線(xiàn)性和層級(jí)調(diào)度問(wèn)題但真實(shí)業(yè)務(wù)往往沒(méi)有這么規(guī)整。你會(huì)發(fā)現(xiàn)很多自動(dòng)化流程是循環(huán)的、條件是跳轉(zhuǎn)的、不同 Crew 之間需要嵌套調(diào)用。CrewAI 的 Flow 組件就是為這種場(chǎng)景設(shè)計(jì)的。Flow 允許你定義一個(gè)帶狀態(tài)的數(shù)據(jù)類(lèi)通過(guò)start()裝飾器標(biāo)注流程的起點(diǎn)通過(guò)listen()裝飾器監(jiān)聽(tīng)某個(gè)方法完成后觸發(fā)下一個(gè)動(dòng)作。這種事件驅(qū)動(dòng)機(jī)制可以處理?xiàng)l件分流根據(jù)某個(gè)步驟輸出決定走 A 分支還是 B 分支流程合并幾個(gè)獨(dú)立結(jié)果匯聚到一個(gè)最終總結(jié)步驟父子流程一個(gè) Flow 內(nèi)部調(diào)用另一個(gè)已經(jīng)定義好的 Crew。如果你之前用過(guò)自動(dòng)化測(cè)試框架或者數(shù)據(jù)管道調(diào)度框架Flow 的概念不會(huì)陌生。它本質(zhì)上就是用裝飾器和狀態(tài)對(duì)象來(lái)描述有向無(wú)環(huán)圖DAG。2.4 一個(gè)容易被忽略的設(shè)計(jì)Agent 的 Post-Tools很多新手用 CrewAI 時(shí)會(huì)有一個(gè)誤區(qū)Agent 收到任務(wù)后會(huì)自動(dòng)“思考”然后調(diào)用工具。實(shí)際上Agent 是否調(diào)用工具、調(diào)用什么工具取決于你在創(chuàng)建 Agent 時(shí)傳給它的tools參數(shù)以及任務(wù)的描述是否明確提示它需要使用工具。CrewAI 官方還有一個(gè)Agent的post_tools參數(shù)策略就是讓 Agent 在正式回答前先調(diào)用一組工具來(lái)增強(qiáng)信息避免“不知道答案也硬編”。這里不展開(kāi)細(xì)節(jié)但你要記住一個(gè)原則在這類(lèi)多智能體系統(tǒng)里工具的掛載位置會(huì)直接影響任務(wù)質(zhì)量——工具掛得太少Agent 只能靠模型幻覺(jué)補(bǔ)充信息工具掛得太多Agent 容易在無(wú)關(guān)工具上浪費(fèi) Token 和時(shí)間。3. 適用場(chǎng)景與框架選型CrewAI 到底適合什么多智能體框架目前不是一個(gè)贏者通吃的賽道。選型錯(cuò)誤往往不是框架的問(wèn)題而是需求和框架的匹配出了問(wèn)題。因此在寫(xiě)代碼之前值得先把選型問(wèn)題理清楚。先看 LangChain。LangChain 是 Agent 開(kāi)發(fā)的“瑞士軍刀”它提供了組件化的工具鏈和大量第三方集成但它本身不定義任務(wù)協(xié)作模型。如果你想基于 LangChain 寫(xiě)多智能體協(xié)作自己需要設(shè)計(jì) Agent 之間的通信協(xié)議、記憶共享、任務(wù)分配機(jī)制實(shí)際上是從零搭一套框架。再看 AutoGen 或 Semantic Kernel。這類(lèi)框架擅長(zhǎng)對(duì)話(huà)驅(qū)動(dòng)的多智能體交互多個(gè) Agent 通過(guò)消息傳遞完成合作。這在研究、對(duì)話(huà)式推理場(chǎng)景里很有優(yōu)勢(shì)但業(yè)務(wù)落地上Agent 之間自由對(duì)話(huà)往往意味著不確定性高、調(diào)試?yán)щy輸出格式也較難約束。CrewAI 的定位恰好介于兩者之間。它更接近“結(jié)構(gòu)化團(tuán)隊(duì)協(xié)作”用 Crew、Task、Process 這種有邊界的模型把任務(wù)編排固化成代碼。你定義角色定義任務(wù)框架幫你執(zhí)行任務(wù)結(jié)果結(jié)構(gòu)化可控性強(qiáng)容易復(fù)用。對(duì)比維度LangChain AgentAutoGenCrewAI核心抽象Chain Agent ToolConversable Agent 對(duì)話(huà)流Crew Agent Task Process多智能體協(xié)作方式需要自行設(shè)計(jì)對(duì)話(huà)驅(qū)動(dòng)聲明 流程驅(qū)動(dòng)任務(wù)結(jié)果可控性中等偏低較高上手難度中等偏高較低適合業(yè)務(wù)場(chǎng)景工具鏈復(fù)雜、組件化集成研究探索、開(kāi)放對(duì)話(huà)企業(yè)流程自動(dòng)化、內(nèi)容生產(chǎn)流水線(xiàn)那 CrewAI 最適合哪些場(chǎng)景根據(jù)實(shí)際項(xiàng)目經(jīng)驗(yàn)我可以給出幾個(gè)比較明確的場(chǎng)景清單。第一個(gè)是內(nèi)容與研究報(bào)告生產(chǎn)流水線(xiàn)。比如收集資料、整理觀點(diǎn)、撰寫(xiě)初稿、校對(duì)優(yōu)化如果把這幾個(gè)環(huán)節(jié)拆成專(zhuān)職 Agent配合固定的任務(wù)輸出格式產(chǎn)出質(zhì)量會(huì)明顯高于單 Agent 長(zhǎng)文本生成。第二個(gè)是企業(yè)業(yè)務(wù)運(yùn)營(yíng)自動(dòng)化。例如客服工單分類(lèi)、競(jìng)品監(jiān)控日?qǐng)?bào)、銷(xiāo)售線(xiàn)索初篩。這類(lèi)任務(wù)有清晰輸入輸出有固定流程非常適合用 Crew 封裝成可重復(fù)調(diào)用的服務(wù)。第三個(gè)是多工具編排場(chǎng)景。CrewAI Agent 支持掛載工具你能把搜索工具、數(shù)據(jù)庫(kù)查詢(xún)工具、內(nèi)部 API 工具掛到不同 Agent 上讓它們各司其職。不太適合 CrewAI 的場(chǎng)景也有一個(gè)典型高實(shí)時(shí)性、強(qiáng)交互的對(duì)話(huà)助手。CrewAI 本身不是對(duì)話(huà)狀態(tài)管理框架它有 Memory 和短期上下文設(shè)計(jì)但面向用戶(hù)的多輪對(duì)話(huà)系統(tǒng)還是應(yīng)該用專(zhuān)門(mén)對(duì)話(huà) Agent 框架來(lái)做把 CrewAI 作為服務(wù)端內(nèi)部任務(wù)編排組件。換言之不要讓用戶(hù)直接和 CrewAI 的 Agent 自由對(duì)話(huà)而是通過(guò) API 去觸發(fā)一個(gè)明確的 Crew 工作流。4. 環(huán)境準(zhǔn)備與工程目錄設(shè)計(jì)在動(dòng)手寫(xiě)代碼之前先把運(yùn)行環(huán)境說(shuō)清楚。CrewAI 是一個(gè)基于 Python 的框架底層封裝了 LangChain 的若干能力同時(shí)支持 OpenAI、Anthropic、Gemini、Ollama 等不同模型來(lái)源。我建議你在一個(gè)干凈的環(huán)境中安裝避免跟已有 LangChain 項(xiàng)目里的依賴(lài)發(fā)生版本沖突。建議環(huán)境如下Python 3.10 或更高版本推薦 3.10 到 3.12具體以官方當(dāng)前支持版本為準(zhǔn)pip 包管理器一個(gè)可選用的虛擬環(huán)境工具比如 venv 或 conda準(zhǔn)備一個(gè)大模型 API Key。如果你用 OpenAI 兼容接口可以配置OPENAI_API_KEY環(huán)境變量。安裝 CrewAI 的命令很簡(jiǎn)單pip install crewai如果計(jì)劃讓 Agent 使用瀏覽器搜索、網(wǎng)頁(yè)內(nèi)容讀取等常用工具可以一起安裝工具包pip install crewai[tools]CrewAI 生態(tài)迭代速度較快重要版本的 API 可能有調(diào)整因此creai的具體版本號(hào)建議以官方 PyPI 頁(yè)面為準(zhǔn)。本文的代碼示例以當(dāng)前主流的類(lèi)聲明式用法為主。安裝完成后可以先做一個(gè)最小驗(yàn)證python -c import crewai; print(crewai.__version__)如果這條命令能正常輸出版本號(hào)說(shuō)明框架安裝沒(méi)問(wèn)題。工程目錄方面如果你只是學(xué)習(xí)跑通建議先建一個(gè)單文件腳本如果是正式業(yè)務(wù)項(xiàng)目我更推薦這樣的目錄結(jié)構(gòu)project/ ├── agents/ │ └── researcher_agent.py # 智能體定義 ├── tasks/ │ └── research_task.py # 任務(wù)定義 ├── crews/ │ ├── research_crew.py # 組裝 Crew │ └── flow.py # 基于 Flow 的工作流 ├── tools/ │ ├── search_tool.py │ └── custom_tool.py ├── config/ │ └── llm_config.py # 模型統(tǒng)一配置 ├── output/ │ └── reports/ ├── main.py # 入口 └── requirements.txt這種拆分方式的好處是智能體、任務(wù)、流程互相解耦。一個(gè) Agent 可以參與不同 Task一個(gè) Task 也可以在不同 Crew 里復(fù)用將來(lái)接入 Web 服務(wù)時(shí)只需要在 API 層調(diào)用Crew.kickoff()整個(gè)業(yè)務(wù)能力就被封裝成函數(shù)了。實(shí)際項(xiàng)目里我更建議把智能體定義和任務(wù)描述放到配置文件里管理代碼里只負(fù)責(zé)注冊(cè)和組裝。CrewAI 也支持 YAML 配置方式對(duì)團(tuán)隊(duì)協(xié)作和后續(xù)維護(hù)更友好。不過(guò)本文為了減少認(rèn)知負(fù)擔(dān)直接用 Python 代碼描述。5. CrewAI 完整示例從最小 Crew 到事件驅(qū)動(dòng) Flow下面開(kāi)始進(jìn)入實(shí)操環(huán)節(jié)。我們從最簡(jiǎn)單的一 Crew 一 Agent 開(kāi)始逐步增加角色和任務(wù)最后用一個(gè) Flow 示例演示事件驅(qū)動(dòng)工作流。5.1 最小示例研究助手 Crew先跑通最小環(huán)境。創(chuàng)建一個(gè)first_crew.py文件代碼如下# 文件路徑first_crew.py from crewai import Agent, Task, Crew, Process # 1. 定義智能體 researcher Agent( role高級(jí)技術(shù)研究員, goal圍繞用戶(hù)給定主題調(diào)研技術(shù)原理并形成結(jié)構(gòu)化摘要, backstory( 你是一位經(jīng)驗(yàn)豐富的技術(shù)研究員 擅長(zhǎng)快速?gòu)馁Y料中提煉關(guān)鍵事實(shí) 不喜歡無(wú)依據(jù)的推測(cè)。 ), verboseTrue ) # 2. 定義任務(wù) research_task Task( description調(diào)研 CrewAI 的核心概念輸出一份面向開(kāi)發(fā)者的摘要。, expected_output( 一份包含核心概念、主要用途、適用場(chǎng)景的 Markdown 列表 每項(xiàng)不超過(guò) 50 字。 ), agentresearcher, ) # 3. 組裝 Crew crew Crew( agents[researcher], tasks[research_task], processProcess.sequential, verboseTrue, ) if __name__ __main__: result crew.kickoff() print( 最終輸出 ) print(result)這里需要解釋幾個(gè)關(guān)鍵參數(shù)。Agent里的role設(shè)置了智能體的角色身份goal設(shè)定了總體目標(biāo)backstory是給大模型的背景補(bǔ)全信息這三者拼在一起實(shí)際構(gòu)成了 Agent 系統(tǒng)提示詞的核心。verboseTrue表示在命令行輸出任務(wù)執(zhí)行的中間過(guò)程排錯(cuò)時(shí)非常有用。Task里的description是任務(wù)內(nèi)容expected_output是期望的輸出結(jié)構(gòu)和風(fēng)格。多智能體系統(tǒng)里任務(wù)描述寫(xiě)得好不好決定了大模型和下游協(xié)作者能不能理解結(jié)果。這塊不要偷懶。Crew接收agents列表和tasks列表processProcess.sequential表示順序執(zhí)行。kickoff()是 Crew 的入口函數(shù)調(diào)用后框架會(huì)自動(dòng)拉起整個(gè)流程。運(yùn)行方式python first_crew.py如果配置好了大模型 API你會(huì)看到控制臺(tái)依次輸出 Agent 的思考步驟、工具調(diào)用和最終結(jié)果。kickoff()返回的對(duì)象是 CrewOutput直接print(result)可以看見(jiàn)任務(wù)輸出正文。5.2 順序編排內(nèi)容生產(chǎn)流水線(xiàn)下面把場(chǎng)景升級(jí)用三個(gè) Agent 組成一條內(nèi)容生產(chǎn)流水線(xiàn)分工做“選題策劃 → 初稿撰寫(xiě) → 校對(duì)潤(rùn)色”。# 文件路徑content_crew.py from crewai import Agent, Task, Crew, Process planner Agent( role內(nèi)容策劃編輯, goal根據(jù)主題規(guī)劃文章大綱和核心觀點(diǎn), backstory你是一位資深內(nèi)容策劃善于把復(fù)雜技術(shù)問(wèn)題拆解成清晰的文章結(jié)構(gòu)。, ) writer Agent( role技術(shù)文章作者, goal根據(jù)大綱撰寫(xiě)技術(shù)教程正文, backstory你是一位有一線(xiàn)開(kāi)發(fā)經(jīng)驗(yàn)的技術(shù)作者擅長(zhǎng)用示例和步驟講清楚概念。, ) reviewer Agent( role質(zhì)量審核編輯, goal從準(zhǔn)確性、結(jié)構(gòu)完整性和表達(dá)清晰度方面審核文章輸出修改建議, backstory你是一位嚴(yán)格的編輯重點(diǎn)檢查文章是否存在術(shù)語(yǔ)誤用、邏輯斷裂和缺少示例。, ) plan_task Task( description( 主題如何使用 Python 實(shí)現(xiàn)定時(shí)任務(wù)。 請(qǐng)輸出文章大綱包括引言、環(huán)境準(zhǔn)備、核心示例、常見(jiàn)問(wèn)題四部分。 ), expected_output結(jié)構(gòu)化的 Markdown 大綱每個(gè)章節(jié)下寫(xiě)清楚要點(diǎn)。, agentplanner, ) write_task Task( description( 基于以下大綱撰寫(xiě)技術(shù)教程正文\n {plan_output}\n 要求每段給出可運(yùn)行的代碼示例語(yǔ)言風(fēng)格平實(shí)、專(zhuān)業(yè)。 ), expected_output完整的 Markdown 技術(shù)文章正文包含代碼塊。, agentwriter, context[plan_task] ) review_task Task( description( 審核以下技術(shù)文章檢查內(nèi)容準(zhǔn)確性和結(jié)構(gòu)\n {write_output}\n 輸出具體修改建議不要直接重寫(xiě)全文。 ), expected_output按嚴(yán)重程度排序的修改建議列表。, agentreviewer, context[write_task] ) content_crew Crew( agents[planner, writer, reviewer], tasks[plan_task, write_task, review_task], processProcess.sequential, verboseTrue, ) if __name__ __main__: result content_crew.kickoff() print( 審核建議 ) print(result)這個(gè)示例里有幾個(gè)關(guān)鍵點(diǎn)值得展開(kāi)。第一個(gè)是context參數(shù)。write_task聲明了context[plan_task]意思是它執(zhí)行時(shí)會(huì)把plan_task的輸出作為上下文傳入。review_task同理依賴(lài)write_task的輸出。相比直接使用{plan_output}這種變量占位context更明確地建立了任務(wù)級(jí)依賴(lài)關(guān)系。實(shí)際上CrewAI 在 Task 執(zhí)行時(shí)會(huì)把 context 中任務(wù)的輸出拼到當(dāng)前任務(wù)描述后面因此你可以在任務(wù)描述里用大括號(hào)引用。如果任務(wù)之間沒(méi)有顯式依賴(lài)就不要亂加context減少不必要的 Token 消耗。第二個(gè)是任務(wù)描述里的占位符寫(xiě)法。{plan_output}是引用前序任務(wù)輸出的快捷方式。用不熟悉的開(kāi)發(fā)者很容易忽略這一點(diǎn)導(dǎo)致下游任務(wù)拿不到上游結(jié)果。第三點(diǎn)是Process.sequential只負(fù)責(zé)按列表順序執(zhí)行任務(wù)它不代表“每個(gè) Agent 都只執(zhí)行一次任務(wù)”。框架內(nèi)部會(huì)協(xié)調(diào)上下文你只需要定義清楚哪些角色、哪些任務(wù)、哪些依賴(lài)。運(yùn)行內(nèi)容生產(chǎn) Crew 后你會(huì)看到作者 Agent 產(chǎn)出初稿審核 Agent 對(duì)初稿給出意見(jiàn)。如果你希望把審核意見(jiàn)直接應(yīng)用到文章里只需要再增加一個(gè)編輯 Agent 和對(duì)應(yīng) Task承接修改任務(wù)即可。這就是流水線(xiàn)編排的威力每增加一個(gè)環(huán)節(jié)只是新增一個(gè)角色和一條任務(wù)。5.3 層級(jí)流程Manager 統(tǒng)籌模式業(yè)務(wù)場(chǎng)景里還有一種更常見(jiàn)的情況任務(wù)不是一開(kāi)始就能寫(xiě)死成固定步驟的需要根據(jù)實(shí)際內(nèi)容動(dòng)態(tài)拆解。比如“調(diào)研某技術(shù)方向的趨勢(shì)并輸出報(bào)告”具體要訪問(wèn)哪些網(wǎng)站、要看哪些材料不應(yīng)該是我們預(yù)先硬編碼的而應(yīng)該由一個(gè)統(tǒng)管 Agent 來(lái)判斷。這種場(chǎng)景適合用 Hierarchical Process。# 文件路徑hierarchical_crew.py from crewai import Agent, Task, Crew, Process researcher Agent( role前沿技術(shù)觀察員, goal搜集指定技術(shù)方向的最新動(dòng)態(tài)與發(fā)展趨勢(shì), backstory你長(zhǎng)期跟蹤 AI 工程化領(lǐng)域動(dòng)態(tài)善于發(fā)現(xiàn)關(guān)鍵信號(hào)。, ) analyst Agent( role商業(yè)技術(shù)分析師, goal對(duì)收集到的信息進(jìn)行結(jié)構(gòu)化分析并形成判斷, backstory你擅長(zhǎng)從分散信息中歸納趨勢(shì)給技術(shù)決策者提供可執(zhí)行的結(jié)論。, ) report_task Task( description調(diào)研多智能體編排框架的行業(yè)采用趨勢(shì)并輸出一份分析簡(jiǎn)報(bào)。, expected_output包含關(guān)鍵趨勢(shì)、代表項(xiàng)目、落地建議的 Markdown 簡(jiǎn)報(bào)。, ) hierarchical_crew Crew( agents[researcher, analyst], tasks[report_task], processProcess.hierarchical, manager_llmNone, # 不顯式指定時(shí)會(huì)復(fù)用默認(rèn) LLM manager_agentNone, # 也可以指定一個(gè) Agent 作為 Manager verboseTrue, ) if __name__ __main__: result hierarchical_crew.kickoff() print( 層級(jí)流程輸出 ) print(result)注意在層級(jí)流程的寫(xiě)法里report_task沒(méi)有綁定agent參數(shù)。這是因?yàn)樵?Hierarchical Process 中負(fù)責(zé)任務(wù)分配的 Manager 會(huì)動(dòng)態(tài)決定把 Task 交給哪個(gè) Agent 執(zhí)行不需要預(yù)先綁定。你需要提供的是 Agent 池Manager 從池中選擇合適的執(zhí)行者。如果你希望 Manager 既當(dāng)裁判又當(dāng)運(yùn)動(dòng)員可以顯式傳入一個(gè)manager_agent如果只告訴 Crew 用哪個(gè)模型做管理就傳manager_llm。二者選擇其一即可。實(shí)際生產(chǎn)環(huán)境中為避免 Manager 模型和執(zhí)行 Agent 模型混用導(dǎo)致成本難以核算更推薦用manager_llm指定一個(gè)更高配置的模型執(zhí)行 Agent 使用相對(duì)輕量的模型。用層級(jí)流程時(shí)要注意 Token 消耗。Manager 的每一步規(guī)劃、審查、總結(jié)都會(huì)調(diào)用大模型。任務(wù)一多成本會(huì)顯著上升。如果業(yè)務(wù)步驟固定、拆解明確優(yōu)先使用順序流程層級(jí)流程作為兜底和補(bǔ)充。5.4 自定義工具讓 Agent 不再只靠記憶多智能體 Agent 真正落地一般離不開(kāi)工具調(diào)用能力。一個(gè)只靠模型內(nèi)部知識(shí)回答問(wèn)題的 Agent本質(zhì)上還是一個(gè)高級(jí)聊天機(jī)器人只有讓它可以查詢(xún)數(shù)據(jù)庫(kù)、調(diào)內(nèi)部接口、搜索網(wǎng)頁(yè)它才算進(jìn)入工作流。CrewAI 的 Agent 通過(guò)tools參數(shù)掛載工具工具可以是內(nèi)置的serper_dev_tool、scrape_website_tool也可以是自己寫(xiě)的一個(gè)普通 Python 函數(shù)再包裝成tool裝飾器。演示一個(gè)自定義工具。假設(shè)我們需要讓 Agent 查詢(xún)本地配置好的知識(shí)庫(kù) API# 文件路徑knowledge_tool.py from crewai_tools import tool tool(知識(shí)庫(kù)搜索) def search_knowledge_base(query: str) - str: 在內(nèi)部知識(shí)庫(kù)中搜索與 query 相關(guān)的知識(shí)內(nèi)容。 如果未找到返回 NO_RESULT。 # 實(shí)際項(xiàng)目中這里會(huì)調(diào)用內(nèi)部知識(shí)庫(kù) API 或向量數(shù)據(jù)庫(kù) # 這里只做演示使用一個(gè)簡(jiǎn)單映射表 knowledge { 部署: 生產(chǎn)環(huán)境部署前必須備份數(shù)據(jù)庫(kù)并執(zhí)行回歸測(cè)試。, 回滾: 回滾操作優(yōu)先使用上一穩(wěn)定版本鏡像并觀察監(jiān)控指標(biāo)。, } for key, value in knowledge.items(): if key in query: return value return NO_RESULT然后掛載到 Agent 上# 文件路徑tool_crew.py from crewai import Agent, Task, Crew, Process from knowledge_tool import search_knowledge_base ops_agent Agent( role運(yùn)維知識(shí)顧問(wèn), goal回答基于內(nèi)部知識(shí)庫(kù)的運(yùn)維問(wèn)題, backstory你只能依據(jù)內(nèi)部知識(shí)庫(kù)回答不要憑空補(bǔ)充沒(méi)有來(lái)源的操作步驟。, tools[search_knowledge_base], ) answer_task Task( description請(qǐng)回答生產(chǎn)環(huán)境部署時(shí)的注意事項(xiàng)有哪些, expected_output一段不超過(guò) 100 字的安全操作建議。, agentops_agent, ) tool_crew Crew( agents[ops_agent], tasks[answer_task], verboseTrue, ) if __name__ __main__: result tool_crew.kickoff() print(result)這里一個(gè)關(guān)鍵細(xì)節(jié)是tool裝飾器里的函數(shù)文檔字符串。大模型并不是靠你的“函數(shù)名”理解工具的它靠的是函數(shù)簽名、參數(shù)說(shuō)明、文檔字符串綜合判斷何時(shí)調(diào)用該工具。因此工具描述要寫(xiě)清楚“什么場(chǎng)景用、輸入什么、返回什么、找不到時(shí)返回什么”。一個(gè)含糊的工具描述很可能讓 Agent 在無(wú)關(guān)請(qǐng)求上頻繁調(diào)用工具消耗大量 Token。這里也回應(yīng)一個(gè)網(wǎng)絡(luò)熱詞很多人問(wèn)“如何把小龍蝦或者愛(ài)馬仕集成到多智能體系統(tǒng)中”其實(shí)當(dāng)一個(gè) Agent 能通過(guò) MCPModel Context Protocol等協(xié)議掛載外部工具時(shí)重點(diǎn)不是對(duì)象本身叫什么名字而是它暴露了什么工具接口、返回什么格式的數(shù)據(jù)。真正值得研究的是 MCP 服務(wù)器如何把業(yè)務(wù)數(shù)據(jù)抽象成 Agent 可調(diào)用的工具。5.5 事件驅(qū)動(dòng)工作流基于 Flow 實(shí)現(xiàn)動(dòng)態(tài)編排前幾個(gè)示例里的 Process 都是把一個(gè) Crew 內(nèi)部的任務(wù)按固定方式跑完。如果業(yè)務(wù)包含多個(gè) Crew、條件分支或循環(huán)處理就要用 Flow。下面這段代碼演示一個(gè)“熱點(diǎn)內(nèi)容自動(dòng)加工”流程收到主題后先生成研究摘要如果摘要長(zhǎng)度不夠走增強(qiáng)補(bǔ)充路徑最后匯總輸出。# 文件路徑research_flow.py from typing import Any from pydantic import BaseModel from crewai.flow import Flow, listen, start from crewai import Agent, Task, Crew, Process class ResearchState(BaseModel): topic: str 人工智能編排框架 raw_summary: str final_summary: str need_expand: bool False class ResearchFlow(Flow[ResearchState]): start() def initiate_research(self): # 首輪 Agent 執(zhí)行快速生成摘要 agent Agent( role行業(yè)研究員, goal快速生成指定主題的研究摘要, backstory你擅長(zhǎng)快速判斷主題的核心脈絡(luò)。, ) task Task( descriptionf圍繞主題《{self.state.topic}》生成 150 字以?xún)?nèi)摘要。, expected_output一段簡(jiǎn)潔摘要。, agentagent, ) crew Crew(agents[agent], tasks[task], processProcess.sequential) self.state.raw_summary crew.kickoff().raw # 判斷是否需要擴(kuò)展比如摘要是否過(guò)短 self.state.need_expand len(self.state.raw_summary) 50 listen(initiate_research) def expand_if_needed(self): if not self.state.need_expand: return # 第二輪覆蓋針對(duì)缺失細(xì)節(jié)做補(bǔ)充 agent Agent( role細(xì)節(jié)補(bǔ)充編輯, goal對(duì)短摘要進(jìn)行事實(shí)擴(kuò)充, backstory你是嚴(yán)謹(jǐn)?shù)木庉嬔a(bǔ)充內(nèi)容必須與摘要主題一致。, ) task Task( descriptionf基于摘要《{self.state.raw_summary}》擴(kuò)展成 300 字左右的完整段落。, expected_output一段內(nèi)容完整、信息密度高的文字。, agentagent, ) crew Crew(agents[agent], tasks[task], processProcess.sequential) self.state.final_summary crew.kickoff().raw listen(expand_if_needed) def finalize(self, output: Any): # 如果沒(méi)有經(jīng)過(guò)擴(kuò)展final_summary 為空這里兜底賦值 if not self.state.final_summary: self.state.final_summary self.state.raw_summary print( 最終研究結(jié)果 ) print(self.state.final_summary) if __name__ __main__: flow ResearchFlow() flow.kickoff()這段代碼里Flow 的用法主要通過(guò)裝飾器和狀態(tài)對(duì)象完成繼承Flow[ResearchState]ResearchState繼承了pydantic.BaseModel用來(lái)定義整個(gè) Flow 運(yùn)行期間的狀態(tài)字段。start()標(biāo)記的initiate_research是入口方法任何流程只能有一個(gè)或多個(gè)入口它們是 Flow 的開(kāi)始。listen(initiate_research)表示監(jiān)聽(tīng)某個(gè)方法執(zhí)行完后的結(jié)果。只有前一個(gè)方法執(zhí)行成功被監(jiān)聽(tīng)的方法才會(huì)執(zhí)行。狀態(tài)對(duì)象self.state負(fù)責(zé)在多個(gè)方法之間傳遞數(shù)據(jù)。這樣一來(lái)MCP 調(diào)用、Crew 執(zhí)行、分支判斷等都變成了方法之間的數(shù)據(jù)流動(dòng)整體更接近傳統(tǒng)后端工程師熟悉的 Service 代碼。Flow 是 CrewAI 新版本里力推的編排層但不是說(shuō)每個(gè)項(xiàng)目都必須用它。如果是固定順序的 3 到 5 個(gè)步驟直接用Crew.kickoff()就夠了如果流程里有分支、循環(huán)、嵌套多個(gè) Crew建議升級(jí)到 Flow。6. 運(yùn)行驗(yàn)證與判斷標(biāo)準(zhǔn)跑通代碼只是第一步。真正需要注意的是你怎么判斷多智能體系統(tǒng)的運(yùn)行結(jié)果是“成功”的。6.1 命令行運(yùn)行觀察什么當(dāng)verboseTrue時(shí)CrewAI 會(huì)在控制臺(tái)打印每個(gè) Agent 的執(zhí)行過(guò)程。不同 Agent 完成任務(wù)后你會(huì)看到類(lèi)似這樣的輸出結(jié)構(gòu)任務(wù)開(kāi)始提示Agent 正在處理的任務(wù)描述思考過(guò)程Agent 如何理解任務(wù)工具調(diào)用與觀察結(jié)果如果調(diào)用了工具會(huì)顯示工具輸入和返回值任務(wù)最終輸出Agent 的最終回答。如果某個(gè)環(huán)節(jié)的輸出明顯不符合任務(wù)描述中的要求比如“本應(yīng)輸出 Markdown 列表實(shí)際輸出了純文本”這就說(shuō)明任務(wù)描述不夠嚴(yán)格。所有任務(wù)描述都必須顯式聲明 expected_output否則大模型不知道交付標(biāo)準(zhǔn)結(jié)果會(huì)非常不穩(wěn)定。6.2 結(jié)果判斷的三種方式第一種是人工閱讀。適合調(diào)研報(bào)告、內(nèi)容生產(chǎn)判斷標(biāo)準(zhǔn)是信息準(zhǔn)確、邏輯清晰、沒(méi)有幻覺(jué)。第二種是結(jié)構(gòu)化字段校驗(yàn)。適合數(shù)據(jù)抽取、分類(lèi)、工單處理??梢园裈ask配置output_pydantic或output_json讓 Agent 輸出 JSON 格式然后在Crew.kickoff()返回結(jié)果中用 Pydantic 模型校驗(yàn)字段完整性和類(lèi)型。第三種是外部斷言。適合自動(dòng)化任務(wù)比如 Agent 判斷“某事件風(fēng)險(xiǎn)等級(jí)為高危”下游系統(tǒng)再拿著這個(gè)結(jié)論觸發(fā)不同告警通過(guò)業(yè)務(wù)規(guī)則確保輸出被正確消費(fèi)。6.3 第一優(yōu)先級(jí)看的失敗點(diǎn)如果運(yùn)行失敗不要急著改 Prompt。先按以下順序排查看 API Key 是否配置、是否欠費(fèi)或限流。這是大多數(shù)第一次運(yùn)行失敗的根因。看依賴(lài)版本。CrewAI 與 LangChain 生態(tài)版本耦合較緊升級(jí)某個(gè)包可能導(dǎo)致內(nèi)部接口不兼容??慈蝿?wù)之間的上下文變量名是否正確。占位符寫(xiě)錯(cuò)不會(huì)直接報(bào)錯(cuò)但會(huì)輸出原始字符串到下游??磛erbose日志里 Agent 最后執(zhí)行到哪個(gè)節(jié)點(diǎn)。如果某個(gè) Agent 從頭到尾沒(méi)有輸出大概率是它的任務(wù)描述沒(méi)有進(jìn)到 Agent 的執(zhí)行上下文。7. CrewAI 常見(jiàn)問(wèn)題與排查思路我整理了多智能體開(kāi)發(fā)過(guò)程中出現(xiàn)頻率最高的幾個(gè)問(wèn)題。這張表可以直接作為你排錯(cuò)時(shí)的檢查單。問(wèn)題現(xiàn)象可能原因排查方式解決方案第一次運(yùn)行報(bào)錯(cuò) 401/429API Key 錯(cuò)誤、額度不足或觸發(fā)限流單獨(dú)調(diào)用模型 SDK 驗(yàn)證 Key檢查賬號(hào)余額更新 Key提高限流閾值或切換模型供應(yīng)商Agent 沒(méi)有調(diào)用工具工具描述不清晰或任務(wù)描述未提示工具查看 verbose 日志中 Agent 是否“考慮”過(guò)工具調(diào)用的可能性?xún)?yōu)化工具描述在任務(wù)描述里明確“允許使用知識(shí)庫(kù)搜索”流程中途報(bào)錯(cuò)“Could not parse LLM output”大模型返回內(nèi)容不滿(mǎn)足 JSON、代碼塊等結(jié)構(gòu)化要求查看報(bào)錯(cuò)前后 LLM 原文確認(rèn)是否超過(guò)上下文長(zhǎng)度縮小任務(wù)粒度配置output_json或output_pydantic更換更強(qiáng)模型下游任務(wù)引用了空上下文context 任務(wù)未執(zhí)行或任務(wù)描述中變量名寫(xiě)錯(cuò)先獨(dú)立運(yùn)行上游任務(wù)確認(rèn)輸出非空檢查引用變量名檢查 Task 列表順序和 context 關(guān)系任務(wù)結(jié)果很好但耗時(shí)太長(zhǎng)/費(fèi)用過(guò)高任務(wù)鏈過(guò)長(zhǎng)、層級(jí) Manager 反復(fù)調(diào)度、Agent 反復(fù)重試在 verbose 日志中統(tǒng)計(jì)每個(gè)環(huán)節(jié)步數(shù)查看 API 用量面板減少 Agent 數(shù)量用順序流程替代層級(jí)流程降低重試次數(shù)不同 Agent 之間格式不統(tǒng)一每個(gè) Task 都未規(guī)定 expected_output查看多個(gè) Task 的返回結(jié)果在 expected_output 中規(guī)定 Markdown/JSON/列表等格式Flow 中l(wèi)isten方法不執(zhí)行監(jiān)聽(tīng)的方法名寫(xiě)錯(cuò)或監(jiān)聽(tīng)方法拋異常被吞掉檢查裝飾器中的函數(shù)引用是否與實(shí)際情況一致添加 try/except 打印異常修正監(jiān)聽(tīng)參數(shù)對(duì)異常做顯式捕獲生產(chǎn)環(huán)境頻繁變更導(dǎo)致流程不可用模型版本、提示詞、Agent 配置沒(méi)有版本管理檢查是否有配置文件和流程代碼的版本標(biāo)簽將 Agent/Task 配置納入 Git對(duì) Prompt 變更做回歸測(cè)試這里單獨(dú)強(qiáng)調(diào)兩個(gè)新手最容易出的問(wèn)題。第一個(gè)是任務(wù)越寫(xiě)越大。很多人覺(jué)得一個(gè) Agent 一次做多個(gè)步驟能省錢(qián)實(shí)際結(jié)果往往相反——大模型在長(zhǎng)任務(wù)里的注意力和指令遵循能力會(huì)下降一步錯(cuò)步步錯(cuò)。更合理的拆法是一個(gè) Agent 只完成“一個(gè)思維動(dòng)作”檢索就檢索分析就分析寫(xiě)就寫(xiě)審就審。第二個(gè)是沒(méi)有給 Agent 定義清晰的“不做什么”。一個(gè) Agent 的 backstory 里只寫(xiě)了“你擅長(zhǎng)寫(xiě)文章”它就可能在需要調(diào)用工具時(shí)選擇自己“編內(nèi)容”。所以在 backstory 中要明確加一句邊界比如“你只能依據(jù)資料輸出不臆造事實(shí)”“如果缺少必要信息明確說(shuō)明缺少哪些信息”。8. 多智能體系統(tǒng)開(kāi)發(fā)最佳實(shí)踐與工程建議從“代碼能跑”到“系統(tǒng)能上線(xiàn)”中間還差著一整套工程化約束。下面是我認(rèn)為在多智能體系統(tǒng)開(kāi)發(fā)中比較重要的幾條建議。8.1 為任務(wù)設(shè)計(jì)明確的外部上下文邊界多智能體系統(tǒng)穩(wěn)定性的最大隱患是上下文污染。當(dāng) Agent 數(shù)量變多、任務(wù)鏈變長(zhǎng)如果一個(gè)早期任務(wù)的輸出含錯(cuò)誤信息后續(xù) Agent 可能會(huì)在錯(cuò)誤前提上繼續(xù)生成而且錯(cuò)誤會(huì)被逐步放大。因此不要把所有歷史結(jié)果都傳給下游。每個(gè) Task 的 description 只保留完成任務(wù)所需的關(guān)鍵上下文即可。必要時(shí)可以在任務(wù)間加入“信息抽取”環(huán)節(jié)讓一個(gè)專(zhuān)門(mén) Agent 從上游長(zhǎng)文本中抽取出精煉的結(jié)構(gòu)化信息再傳給下游。這會(huì)讓 Token 成本更可控也會(huì)顯著提高結(jié)果穩(wěn)定性。8.2 用最小授權(quán)和沙箱隔離工具權(quán)限如果你給 Agent 掛載了能執(zhí)行代碼、訪問(wèn)數(shù)據(jù)庫(kù)或調(diào)用內(nèi)部 API 的工具必須遵循最小權(quán)限原則。一個(gè)做內(nèi)容分類(lèi)的 Agent 不需要?jiǎng)h除數(shù)據(jù)庫(kù)的權(quán)限一個(gè)做數(shù)據(jù)查詢(xún)的 Agent 不應(yīng)獲得生產(chǎn)環(huán)境的寫(xiě)權(quán)限默認(rèn)只讀。工具調(diào)用應(yīng)該有三層護(hù)欄第一層是在代碼層做好參數(shù)校驗(yàn)和權(quán)限校驗(yàn)第二層是在工具描述中明確邊界第三層是核心操作前加入人工審批或條件約束。8.3 日志、追蹤和評(píng)估是生產(chǎn)上線(xiàn)的前提傳統(tǒng)的單元測(cè)試很難覆蓋自然語(yǔ)言輸出的不確定性。多智能體項(xiàng)目上線(xiàn)前需要至少做到每個(gè)任務(wù)的輸入、輸出、Token 用量、延遲都記錄到日志里對(duì)結(jié)果做結(jié)構(gòu)化評(píng)估例如 JSON 字段校驗(yàn)、關(guān)鍵詞規(guī)則、核心指標(biāo)是否出現(xiàn)準(zhǔn)備一組典型用例作為回歸集修改 Prompt 或任務(wù)步驟后用同一組用例重新跑一遍數(shù)據(jù)敏感時(shí)做脫敏后再記錄日志。8.4 Prompt 和配置要納入版本管理多智能體系統(tǒng)的核心其實(shí)是提示詞工程和任務(wù)編排。Agent 的 role、goal、backstory、Task 的 description本質(zhì)上都是代碼的一部分需要走 Git 管理。實(shí)際操作中可以把 Agent 和 Task 配置抽成 YAML 文件再通過(guò) CrewAI 的配置加載機(jī)制讀取避免把大量自然語(yǔ)言配置散落在 Python 類(lèi)的文件里。8.5 固定模型版本和 Provider 配置同一個(gè) Prompt 在不同模型上的表現(xiàn)差異很大。團(tuán)隊(duì)在開(kāi)發(fā)階段如果用高配模型驗(yàn)證效果但生產(chǎn)環(huán)境為了省錢(qián)換了小模型很可能出現(xiàn)規(guī)則不穩(wěn)定的現(xiàn)象。更穩(wěn)妥的做法是在配置中心統(tǒng)一管理模型選擇評(píng)估階段固定一組模型輸出結(jié)果全部保留對(duì)比記錄生產(chǎn)切換模型時(shí)必須做回歸。8.6 控制并行度和異步任務(wù)粒度CrewAI 支持任務(wù)異步執(zhí)行。當(dāng)多個(gè)相互獨(dú)立的任務(wù)存在時(shí)可以用async_executionTrue讓它們?cè)谕粋€(gè) Crew 內(nèi)并行執(zhí)行減少總耗時(shí)。但并行并不是越多越好并行度太高短時(shí)間內(nèi)的 Token 消耗會(huì)猛增同一個(gè)模型供應(yīng)商的限流也會(huì)導(dǎo)致大面積失敗。建議從 2 到 3 個(gè)并行任務(wù)開(kāi)始觀察 API 每分鐘請(qǐng)求數(shù)和 Token 消耗再逐步調(diào)高。9. 總結(jié)與后續(xù)學(xué)習(xí)方向回到這篇文章開(kāi)頭提出的判斷CrewAI 的真正價(jià)值是把多智能體系統(tǒng)從“研究玩具”推進(jìn)到“工程化任務(wù)編排工具”的位置。它用 Crew、Agent、Task、Process、Flow 這幾個(gè)清晰的概念讓開(kāi)發(fā)者能用聲明式代碼搭建一條可運(yùn)行的自動(dòng)化工作流。從實(shí)際項(xiàng)目經(jīng)驗(yàn)來(lái)看這不只是省掉了一部分調(diào)度代碼更是改變了多智能體系統(tǒng)的維護(hù)方式——你不再需要讀完幾千行調(diào)度邏輯才能理解系統(tǒng)在干什么看配置就能知道哪些角色、按什么順序、完成哪些任務(wù)。如果你是第一次接觸 CrewAI下一步可以按這個(gè)路徑實(shí)踐-先復(fù)現(xiàn)第 5.1 節(jié)的最小示例跑通環(huán)境把第 5.2 節(jié)的內(nèi)容生產(chǎn)流水線(xiàn)改成你自己的業(yè)務(wù)場(chǎng)景找一個(gè)小型工具按第 5.4 節(jié)的方式把它封裝成 Agent 工具如果流程進(jìn)入分支和循環(huán)再開(kāi)始用 Flow。值得繼續(xù)深入研究的方向有三個(gè)一是 CrewAI 與 MCP 協(xié)議的集成方式這決定 Agent 能否接入企業(yè)內(nèi)外部豐富的工具生態(tài)二是多智能體系統(tǒng)的評(píng)測(cè)體系因?yàn)樗苯佑绊懩隳懿荒馨严到y(tǒng)從開(kāi)發(fā)環(huán)境穩(wěn)定遷移到生產(chǎn)環(huán)境三是記憶機(jī)制的設(shè)計(jì)什么時(shí)候需要短期記憶、什么時(shí)候用長(zhǎng)期記憶、什么時(shí)候干脆不要記憶需要基于業(yè)務(wù)做取舍。建議你把這篇文章收藏下來(lái)作為一個(gè)從零搭建多智能體系統(tǒng)的索引。遇到具體問(wèn)題比如模型調(diào)用失敗、任務(wù)上下文丟失、Agent 輸出格式不對(duì)優(yōu)先查第 7 節(jié)的排查表再回來(lái)看對(duì)應(yīng)章節(jié)的示例代碼。多智能體開(kāi)發(fā)是一條需要反復(fù)調(diào)試的路但只要你把基本概念和最小示例跑通了往后加角色、加任務(wù)、加工具都只是在這個(gè)框架里做增量擴(kuò)展而已。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧成人精品一区二区三区| 人妻少妇无码 | 欧美日韩*字幕一区| 四虎永久在线精品免费网址| 国产精品黄色三级av| 99少妇内射| 欧美97日韩| 亚洲黄色网址视频| 黄片不用下载在线观看| 日韩欧美午夜一区二区| 国产精品美女在线一区| 天天综合中文字幕 91| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 日韩一区二区精彩视频| 伊人久久88国产女| 青青草在线视频欧美| 熟女被操视频网址| 91搞逼视频| 大香蕉伊人75| 久久久久久十| 精品无码少妇| 久久久久久中文| 日韩精品人妻中文字幕久久久| 国产精品欧美日韩久久| 国产精品一区av在线| 96久久久| 日韩黄色片子| 大学生美女口爆| 人妻少妇无码 | 色噜噜综合在线| 国产精品探花色| 亚洲在线91| 欧美精品三区| 青青久操| 粘花网06av视频| 久久久一区二区三区四曲免费听 | 精品一二三区久久AAA片| 中文字幕国产在线天堂| 青青久草| 偷拍 亚洲 欧美| 综合情欲网| 97在线资源| 内射卯月麻衣| 超碰这里有精品| 国产精品久久久999| 欧美中文字幕男人天堂久久精品| 女人天堂AV五区在线| 久久久精品国产亚洲伊人| 欧美婷婷| 97超级久久强资源| 麻豆精品久久久久久久| 婷婷三区| 亚洲天堂自拍| 熟妇人妻一区二区三在线| 顶级少妇BT天堂| 热久久精品| 99999精品视频| 91女网站| 香蕉综合网| 亚洲色图欧美一区二区不卡| 三级日本一区二区三区| 亚洲密乳AV| www.久久制服糖| 91操人| 一级啊性爱在线视频| 亚洲最大AV网| 久久99热这里只频精品6学生| 99ri精品| 懂色综合久久久| 日本色婷婷| 欧美日韩狠狠爱| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 亚洲宗合网| 久久精品人妻一区二区| 在线不欧美| 欧美国产精品久久九九| 牛牛操视频逼| 久久精品店| 亚洲国产日韩欧美熟妇在线| 91女网站| 999九九九九国产动| 亚洲人妻色图| 天天操夜夜操狠很操| 日韩AV一起草| 中文字幕乱码人妻一区二区三区,99精品 | 97精品在线| 黑人性欧美| 日本韩国国产精品一区| 情趣丝袜无码操逼视频| 91性高潮久久久久久久久| 吻戏激情性巴克| 动漫区日韩区欧美区| 青草伊人久久| 精品中文字幕一区二区| 久久男人的天堂国产| 97在线国产精品| 亚洲天堂少妇| 国产精品人妻熟女aⅴ| 日天天九九天堂666| 嗯嗯啊好大| 狠狠干2020| AVE乱伦| 能看的AV| 久久禁| 自拍偷拍 日韩欧美| 久久久精品国产亚洲AV无码| 麻豆2区1区天美| 国产高清在线自在拍69| 蜜臀AV午夜精品久| 一级黄色影片| 人妻大香蕉| 午夜亚洲WWW湿好大| 香蕉久久国产AV一区二区| 久久久婷| 亚洲啪AⅤ永久无码| 99这里有精品视频| 天天澡天天爽日日av| 午夜噜噜噜| 在线中文字幕极品av| 蜜臀精品1区2区| 日本熟妇自慰性高潮一区二区三区| 97综合网| 亚洲、日韩、综合、另类| 婷婷人妻激情| 少妇高潮99p| 天天干人人乐| 天天干,夜夜爽| 欧美日韩天堂| 强奸乱伦av电影| 黄色十八禁| 操日韩第| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 1区2区3区中文字幕日韩| 天天肏天天干| 91大胆欧美| 大象AV在线| 久久极品一区二区| 久久久一区二区三区四区五区| 操逼逼福利视频| 亚洲区限制级| 亚洲精品第一| 欧美情色男人的天堂| 成人毛片免费| 91影视亚洲| 欧美另类综合久久| 午夜美女诱惑电源网| 99操视频| A 天堂| 歐美一級亂黃99在綫精品| 欧美日韩久久精品爱爱| 国产精品乱码久久久久久久久久久久| 黄片免费视频2019| 激情四射婷婷六月天| 国产美女高潮叫床视频| 国产精品另类一区大香蕉| 亚洲女毛多水多21P| 中出后入| 综合啪啪| 欧美日韩不卡a片| 91丨精品丨国产丨丝袜| 国产在线视视频有精品| www.亚洲黄色| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 伊人骚琪琪亚洲天堂网站| 久久人妻丝袜一区二区三| 亚洲色图欧美色图另类图片| 熟女AV一区| 国产成人自拍视频在线| 日韩一二三区| 欧美色综合图片| 白嫩国模丰满一二三区| 日韩精品色呦呦| 中文字幕免费看| 五月天伊人| 综合欧美亚洲| 久久草视频污视频| 蜜色网色哟哟| 欧美疯狂做爰xxxx| 亚洲人体视频在线观看| 欲香欲色综合天天伊人| 粉嫩久久久久| 安徽熟妇视频| 玖玖爱综合网| 日韩av熟女一区二区三区成人| 少妇一区二区三区精选| 麻豆三极片| 免费97视频| 三级网色| 亚州欧美在线| 91 国产丝袜在线放观看| 性爱视频无打码在线观看| 97精品视频在线播放| 91 刺激在线| 日韩精品永久在线观看| 人人性爱视频免费| 丝袜 中出 制服 人妻 美腿 中文字幕| 欧美日韩人人精品| 久久色情| 天堂蜜桃无码视频一区二区| 美女91在线观看| 中韩中文字幕在线观看| 2017超碰| 自拍亚洲综合| 中文字幕高清20页视频| 久久久久国产一区二| www亚洲免费| 欧美亚洲图片| 亚洲AV色图| 青草视频人妻在线观看| 手机久操欧美综合色码| 97超碰jingpin| 少妇超碰在线| 盗摄 精品 另类 一区| 国产69精品久久久久99尤物| 久久久久免费看少妇A片特黄| 欧色网址| 日本三级韩国三级美三级91| 色婷婷视频| 亚洲操人| 青青草好吊色| 蜜乳AV一区| 日韩欧亚中文在线| 一牛影视成人片免费| 熟女一区二区三区| 3P乱轮视频| 97AV在线免费观看| 国产自产一区视频在线| 91黄射| 亚洲色 国产 欧美 日韩| 亚洲无码精品AV久久久| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 开心激情站| 欧美一二三区四五区| 伊人一级免费黄片| 欧美在线 亚洲| 国内毛片婷婷六月色| 性欧美精| 91oumei| 91国模| 天天爱天天韩国日本牛牛牛牛| 91精品老女人| 在线观看A啊啊啊| 欧美日韩国产高清在线一二三区 | 中文字幕亚洲热播人妻| AV男人天堂网| 99久久无色码| 看黄片视频免费| 超碰天天操| 国产欧美亚洲精品a第2页| 情色大香蕉| 东京热激情视频一二三区| 成人国产二区三区在线,男女精品。| 亚洲综合色男人网| 男人的天堂午夜av| 蜜桃臀av一区二区| oumeizonghese,www| 无码国产精品午夜不卡(| 亚洲久久久久| 蜜桃久久久久久久久久久久 | 97资源站国产精品| 伊人青青一区成人视频在线观看区| 国产精品不卡高清在线观看| 国产外初女出血视频| 91久久精品国产| 八戒午夜福利理论片| 天天干夜夜| 麻豆黄色五月天| 国产网红精品| a亚洲欧美色欲| 亚州九九九精品视频| 91oumei| 九九视频黄色片| 亚洲区 欧美区| 我中文字幕6区| 2020视频1区2区3区| 久草网站免费在线观看| 亚洲中文字幕在现观看| 久久三区四区| 影音资源男人日韩| 都市激情人妻一区二区青青操视频| 久/久精品99看9| 国产精品无码久久久久2025| 凹凸视频在线一区二区| 精产品久久| 欧美熟妇亚洲版| 熟妇高潮一区二区免费视频| 青青草影视蜜久久| 狠色婷婷久久一区二区三区_| 夜夜嗨AV一区天天| 精品久久久久,69国产成人精| 天天做日日爱夜夜爽| 手机看片日韩人妻| 一级人妻性爱视频| 亚洲精品一区二区精华| 亚洲男人天堂网| 人人妻人人澡人人爽人人精品浪潮| 超碰到97情色| 欧美啪啪天堂| 中文字幕日韩情色| 四虎免费在线播放| 中文字幕一二三av| 18精品一二区| 外国免费性情大片| 欧洲一区二区| 好爽视频在线观看| 五月天婷婷社区| 亚洲男人在线观看天堂| 人妻熟女一区二区三区视频| www欧美91| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 亚洲一卡2卡3卡4卡乱码网站| 国产在线视频二区| 欧美专区日本专区| 日本3级一区二区免费| 屁屁影院一区二区三区国产| 不卡一区二区日本视频| 草莓精品视频在线免费观看| 91在线视频观看国产| 草草影院日本第一页| 亚洲 欧美 制服 另类 自拍| 在线强奷到舒服的无码视频| 伊人女女资源在线观看| 久久婷婷热| 亚卅熟女乱色| 亚洲色图91欧美日韩| 欧美亚洲综合色| 亚洲aV无码成人在线观看| 精品伊人久久久大香线蕉小说| 大屁股人妻女教师撅着屁股| 久久无码成人| 在线人人人人人人精品超| 一区二区三区视频在线观看免费| 激情五月天丁香社区| 色色色色综合网| 天天操夜夜操| 精品免费一区二区三区在线亚洲人成| 国产精品视频在线播放| 激情啪啪视频| 欧美双插| 欧美强奸一区二区诱惑| 男人亚洲91首页在线| 亚洲91色在线| 国产精品国产| 久久网亚洲| 欧美色图校园春色| 中文字幕av亚洲精品| 欧美大香蕉同搞| 色五月婷婷在线| av亚洲天堂资源网站| 国产午夜福利电影免费在线观看| 在线色导航| 欧洲色| 国产视频三区四区| 久久久久久久久九九久孕交| 色色97爱| 亚洲国产婷婷在线播放| 欧美色三级片91| 蜜臀久久久国产| 夜色综合| 人妻99p| 蜜色网色哟哟| 色97欧美| 国产成人免费观看在线视频| 日韩另类色图| 成人资源中文字幕在线观看| 色欲Av人妻精品一区二| 午夜人妻精品综合在线| 欧美综合传媒| 日韩黄片视频试看| 最新AVzaixian| 91性高| 东京热大香蕉| 99视频精品| 久久久久密臀视频| 91性高朝久久久久久久久| 国产精品香蕉热久久新品| 欧美中文字幕男人天堂久久精品| 五十路成人在线视频二区三区| 91免费看一区二区三区| 激情五月天婷婷| 九九九九97| 91亚洲欧美激情| 亚洲欧美一区二区三区一猛片| 亚洲美女精品| 好一吊区二区| 免费在线观看国内色片网站网址| 91夜夜蜜桃臀1区2区3区| 啊啊在线| 日本操BAV| 美女91在线观看| 欧美黄页| 99国内精品| 91熟女丨91老女人| 精品区9| 国内外激情在线| 最新国产亚洲精品精品国产亚洲综合| 91视频综合在线| 草草影院最新网址| 99re在线观看| 国产一级内射无挡观看| 97超久碰| 日本欧美一区二区三区免费| 久久久少妇诱惑精品视频| 日韩美女操b| 欧美影音在线| 国产精品自在线发布| 欧美色图在线视频少妇| 韩日无码在线观看| 青青草五月份天| 999亚洲国产视频| 岛国不卡超碰护士AV在线播放| 国产操逼视频在线观看| 色偷综合| 一本大道青青| 亚洲久热| 2020久久免费视频| 蜜桃中文字日产乱幕4区| 99re9| 天天亚洲综合| 日韩不卡毛片Av免费高清| 91熟女少妇| 91 亚洲 欧美 日韩 国产 综合| 玖玖超碰熟| 国产精品成人无码av| 精品少妇一区二区| 青青国产精品在线| 美国黄片aaa| 亚洲精品一区二区免费在线观看| 黄片www.| 曰韩中文人妻视频| 精品人妻视频一区二区三区蜜桃视频| 亚欧视频在线| 欧美日韩欧美| 久久AV无码1区2区3区| 在线观看免费视频国产| 久久久久久99999国产精品| 国产午夜激片Av毛片不卡| 天天天干977| 国产久久久9999| 日本 色 导航| 亚洲天堂精品日韩电影| a人片中文字幕一区二区| 日本 欧美 国产一区| 日韩欧美日韩| 青青草久久| 天堂精品在线| 婷婷去俺也去六月色| 亚洲图片欧美偷拍| 日本一天色道久久久精品视频| 久久精品三级影视| 国内毛片国产欧美拍| 久久久一二三四区| 97超碰热线| 国产精品午夜高潮呻吟久久av| 欧美在线91| 91无摭挡| 日逼五月天| 国产后入精品| 国语对白在线播放视频| jazzjazz国产精品麻豆| 精品国产乱码久久久影院| 欧州激情视频在线一区二区| A片 AV一级在线播放观看免费 | 九九无码视频| 日韩在线国产字幕| 凹凸 69堂 在线播放| 日韩情色AV| 久久99黄色卞西瓜| 97香蕉碰碰人妻国产欧美| 欧美在线永久天堂| 国产成人精品网站| x97av| 久久久蜜桃一区二区三区| 国产成人bd在线观看| 国产在线综合网| 国产久久天堂资源| 色偷偷超碰亚洲| 亚洲精品欧洲精品| 天天淫人人妻日日色| 一区二区三区视频在线观看免费| 国产精品午夜AV完会免费| 成人九九| 亚洲欧美国产成人综合不卡| 中国乱伦一区二区| 国产性爱乱伦AV| 成人精品久久久午夜福利| 亚洲图片欧美色| 久久精品无码一区二区三区| 天天操福利视频综合网站| 青草园大香蕉| 美女丝袜激情小说| 97就爱干| 久久精品老司| 国厂麻豆77q4| 男人的天堂2000| 懂色AV中文| 大香蕉欧美伊| 91亚州欧美| 一区二区三区蜜桃成人撸久久东京热| 亚洲日韩av一区二区三区百合| 自拍大香蕉乱插| 亚洲无码超碰免费| 人人操人人干xxx| 天天视频黄| 日韩成人高清一区二区| 熟女激情综合网| 国产一区二区成人av在线播放| WWW.操逼.COM| 日韩字幕一区| 日韩激情毛片一级久久久| 亚洲春色欧美激情自拍| 成人一级性爱| 久久精品国产亚洲AV无码电影| 户外裸露刺激视频第一区| 色综合久久88色综合久久天天| 五月婷网站| 无码操逼网| 牛牛aV| 日本三级日本三级99| 五月婷婷啪啪| 丝袜内射| 欧美在线色| 欧美大干日韩| 国产精品成人午夜福利| 日产操逼| 999亚洲国产视频| 亚洲最大的综合性av| 性爱av网站| 啊啊啊好爽快点啊啊啊嗯嗯| 黄色小说亚洲| 亚州大图综合色图| 射久久| 欧美日产国产在线成人第一区| 五月天婷精品激情| 91爱综合| 啊啊啊啊啊啊啊啊啊在线观看| 欧美色老汉| 深夜福利黄片| 国产成人精品必看| 插日本熟女视频| 青青草操逼逼视频| 欧美在线l亚洲| 一摸二插三插| 无码 黑人一区二区三区| 69精品久久久久中文字幕| 亚洲精品美女久久久久久久久| 天天摸,夜夜摸| 女人的天堂大香蕉网| yazhououmeizongya| 2025年A片视频精品| 在线观看黄色电话| 麻豆人妻精品一区二区| 天天操天天7| 日本中文熟女视频| 岛国精品视频在线观看| 亚洲精品骚逼| 午夜精品人妻二区三区| 亚洲一区二区在线观看91| 日韩乱伦视频| 国产亚洲日本| 黑人免费福利视频| 屌逼麻豆| 国产视频大全| 岛国黄片网站| 一本一道人妻久久一区二区三区| 久9久精品视频| 精品九九九九| 色人久久| 91黄射| 91AV入口| 久久久久久久久久久久久久久性生活视频 | 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 啊啊啊好爽快点啊啊啊嗯嗯| 熟女露脸激情自拍视频| 一起草日韩| 亚洲欧美性生活| 亚洲人天堂| 日韩欧美中文日韩欧美色| 5252色欧美在线| 中欧人妻丝袜中文字幕| 99色在线| 欧美热图99| 丁香啪啪| 熟女人妻精品一区二区视频| 91一区二区| 青草精品视频-日本久久久久网站| 无码国产精品午夜不卡(| 欧美久久人体| 久热婷婷| 亚洲同性aV综合| 中文字幕在线高清男人的天堂| 久久骚| 99热这里是精品| 看黑人AV不卡| 成人无码电影在线观看网| 国产91精品久久久久久久网曝门| 无码一区二区精品视频久久久春药| 亚州成人a∨| 超清福利精品视频在线| 精品9区| 免费黄色A片| 欧美性色欧美| 97操97色| 18禁免费视频| 深夜激情| 一区二区三区四区五区高清无码永久视频| 另类图片欧美激情综合| 天堂伊人久久| 国产热RE99久久6国产精品首| 97视频免费播放| 青青欧美在线| 日韩无码黄色片| 精品二区久久| 99国产精品在线观看| 自怕偷自怕亚洲精品| 国内一区二区三区| www.欧精品| 日本不卡高清视频| 日韩综合97p| 91精品成人| 日本中文字幕在线视频| 久久伊人最新网址视频| 综合网97| 欧美大码在线视频| 欧美人妻一区| 91肉片| 9ⅰ久久久天天| 99久久这里只有精品| 中日亚韩免费视频| 一区二区影视| 日韩 欧美 国产 麻豆| 男人的天堂啪啪| 亚洲字幕一区二区| 97综合在线| 国产外初女出血视频| 久久久工口| 久久AV无码网址| 国产精品人妻无码久久久老鸭窝| WWW美腿丝袜香蕉中文| 爆乳免费黄网站| 日本精品第一视频在'| 91精品无码久久久久久久| 亚洲熟妇白浆无码AV| 鸥美精品一区二区久久婷婷| 久青草影院| 亚洲少妇综合在线播放| 午夜男女爽爽大片免费观看| 600国产精品视频| 久久久久久久久国产| 熟妇亚洲一区二区三区| 免费一级毛片在线视频观看| 91午夜无码| 日本色色色网站免费看不卡| 日本ZZ高免费A级视频| 一级婬片120分钟试看| 精品国产99999| 久久视频,这里只有精品 | 国产精品一区二区黄片| 无码最新| 成人无码在线超碰网| TS人妖另类精品视频系列| 亚洲综合嫩| 精品二区三四区五电影 | 97干天天| 激情图片亚洲色图| 婷婷三区| 欧美人妻精品| 日韩草久视频| 性色一线| 欧美综合自拍成人自拍第二十页| 丁香六月激情综合| 99九九久久| 色噜噜婷婷| 综合色99| 99热色精品| 91五月天| 又大又白奶子| 青娱乐 成人娱乐在线| 亚洲欧美激情另类色图| 精品久久久无码| 人人爽天天爽| 天天天肏屄欧美| 日韩超碰精品综合| 极品内射| 啊好爽快点-国产一区二区三区撒尿在线-成人AV | 免费?级毛片无码?∨蜜芽试看| 日韩av在线精品观看| 久久老女人| 中文?日韩?免费?精品| 明星性猛交ⅹxxx乱大交| 日本伦乱九九九综合| 久久国产AⅤ| 日韩熟女乱伦中出| 美女午夜福利免费视频| www成人啪啪18秘 免费| 久久激情五月| 中文字幕老熟妇黄色视频| 97蜜桃综合| 一区二区三区四区久久视1| 丝袜美腿校园春色| 久久久久深夜无码| 久久久久久999| 日本色色色网站免费看不卡| 一区二区三区在线美女| 啪啪啪综合| 人妻无码视频一区二区三区久久| 67914亚洲精品| 成人97人人超碰人人| 国桃视频产巨乳精品一区二区在线| 玖玖爱免费观看视频| 综合欧美色图| 九九夜精品九九在线| 亚洲蜜桃V妇女| WWW.操逼.COM| 日本三级韩国三级美三级91| 国产在线76页| 91精品国产日韩欧美综合| 欧美91变态| 本道在线| 老司机久久| 亚洲av在线免费观看| 3P乱轮视频| 色屁屁影院www国产| 日日爽熟女| 大香蕉日亚洲日本亚大 | 亚洲性刺激| 91日产欧美| 亚洲一二三四区机械| 91精品久久久久久77777| 久久五月天婷婷丁香中文字幕| 花花AV导航| 熟妇色99| 日本精品五区| 加勒比aⅴ| 九九九久久久W精品| 欧美综合亚洲| 春色校园综合网| 99少妇内射| 人妻天堂综合网| 国产黄色视频久久| 欧日韩在线观看| 亚洲国产麻豆一区二区三区| silk lablo在线观看一区二区| 欧美色999| 91久久久亚洲| 国产精品福利视频播放| 色天使亚洲综合在线观看| 无码人妻丰满热妇又大又粗| 国产精品老熟女一区二区| 99精品高潮| 9国产超碰| 操逼啊啊啊91| www.久久爱| 乱色老一区二区三区的观看方式| 五月天色电影| 黄色激情电影在线观看| 午夜小电影在线插入淫高潮| 婷婷激情丁香| 乱伦熟女区| 在线观看av区| 99久久99久久综合| 久久九九网| 中文字幕成人理论在线| 大香蕉www.超碰| 乱伦熟女专区| 日韩精品在线视频在线观看| 99无码狠狠久久| 天堂亚洲精品久久老牛| 韩国嫰模上门援交视频| 国产欧美一区激情交| 亚洲色图91欧美日韩| 91影视亚洲| 中文伊人大香蕉视频| 五月天婷精品激情| 欧美精品99久久久**| 亚洲熟女人妻中文字幕一区二区| 欧美一区二区成人一卡| 国产精品熟女AV中文字幕在线播放| 日韩午夜精品一区二区三区电影| 欧美天天干| 无码国产精品午夜不卡(| 欧美色院| 大香蕉黄色一级片免费看| 亚洲中文一区二区三区| 激情综合五月| 欧美A√综合网| 78操B| 国产三级资源在线观看| 五月天伊人| 日韩精品电影| 久久久亚洲Av| 人妻少妇视频在线播放| 精彩久久中文| 日本成人免费一区二区三区| 久久人人爽人人爽人人片Ⅴ| 啪啪91| 欧美亚洲今日在线| 黄色区免费观看中文字幕| 九九九综合精品| 亚洲有码视频二区| 国产激情综合| 超碰97资源网亚洲| 黄网色一区二区三区四区精品| 综合色图亚洲欧美| 青娱乐 青青青操 日逼| 人妻偷拍一区二区三区| 久极品在线观看| 亚洲综合在线91| 最近的最新的中文字幕视频| 福利一级版子| 精品少妇人妻av久久免费| 亚洲自拍欧美国产首页网曝| 成人自拍三级在线观看| 久草精品一区| 自慰白浆在线观看| 玖玖久久久| 日韩精品区二区三区不卡| 变态综合色| 一区二区三区国产精产| 国产人伦a片信息免费片| 国产诱惑| 超碰97爽| 影音先锋少妇| 密臀成人视频久久久| 人人扣人人操| 69av一区二区三区| 蜜桃精品视频一区二区三区| 欧美另类综合久久| 亚洲风情在线观看| 精品九九淫乱男| 99热超碰| 老熟女乱子伦中文字幕一区二区 | 久久e6只有精品| 人妻一区视频| 超碰97欧美| 校园春色美腿丝袜| 一区二区 电影 亚洲| 色五月激情综合网| 国产中文字幕在线点播| 岛国天天午夜影院传媒网| 60秒免费小视频| 超碰久久性爱| 精品久久視頻在线| 五月丁香综合激情| 国产乱人伦AVA麻豆软件.| 三级精品三级在线观看| 黑人在线91| 欧美一品道| AV在线资源| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 亚洲视频一二区| 日本综合色图| 丁香六月婷婷综合| 美女被艹尤物视频| 久久曰曰| 欧美日韩超碰在线| renqi久久久久久久久久久久| 这里都是精品在线观看| 大香蕉黄色一区| 亚欧Av| 深爱激情五月天| 美女尤物福利视频| 日本天堂网| 美女91在线观看| 亚洲成人色情五月天丁香花| 欧美日韩少妇色情| 4虎在线视频| 97中文字幕一区| www.男人的天堂| 啊啊啊好想要| WWW啪啪的com| 亚洲人妻中文高清| 国产这里只有精品| 久久综合女优| 91色s| 色五月av| 国产精品爱欲| 日本精品一区二区中文字幕| 2020视频1区2区3区| 欧美 亚洲 大香| 国产夫妻性生活视频| 久久国产精品m码| 亚洲成人性爱网站在线播放| 亚洲最大的综合性av| 天天爽天天爽| 97超碰伊人| 日韩一级免费性爱| 美女毛片999| 日韩极品无码B| 精品人妻一区二区免费蜜桃| 国产精品丝袜在线| 人人摸人人干人人拍97| 精品射1999| 国产精品福利视频| 人妻啊啊人妻啊| 91在线观看,天天综合| 在线观看色视频| 五月天开心网| 色欧洲97| 亚洲欧洲中文日韩女优乱码| 少妇国产不卡| 久久久久久久久久久久97| 国内毛片国产专区二| 91日产欧美| 欧美十八禁视频| 欧美AB在线观看| 久艹日日日| 超碰97精品在线| 国产在线观看一区二区三区| 久久乐| 麻豆精品一区二区三区四区免费观看| 伊人五月天| 秘书高跟黑色丝袜国产91在线| 欧美国产欧美在线观看| 加勒比av中文| 色香色欲天天综合网天天来吧| 天天操美美| 色爱国产| 不卡视频一区蜜桃视频| 日韩97超碰中文字幕| 国产97亚洲| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 欧美精品四区| 成人性爱免费播放| 蜜臀AV成人精品蜜臀AV久久| 97在线观看播放视频| 99在线啪| 啊啊啊啊啊在线观看网址 | 久久精品一区| 国产女人操逼视频| 97香蕉网| 大香蕉92| 乱理日韩中文| 国产激情av女片自拍| 日韩一卡二卡三卡| 熟啊v色欧美热| 欧美视频在线视频免费va| 操逼网站网站| 97在线观看视频| 91人妻视频| 婷婷久久大香蕉| 草草影院最新网址| 91丝袜在线播放| 日本高清熟女久久一区| 欧美日不卡| 免费A V在线| 国产av强奸美女| 一本色道综合久久欧美| 国产精品97超碰| 夜精品久无码| 在线观看A啊啊啊| 久久久com| 国产 热久久久久国产精品| 26uuu欧美日韩| 国产真实野战在线视频| 99操逼| 嗯嗯,啊啊,国产精品| 日韩精品9999| 欧美色图亚洲色,麻豆| 性色综合网| 2019精品国产无码成人| 国产无码久久高清| 亚洲欧美综合区自拍另类| 日本123区操B视频| 久久本道| 91国产在线精品| 亚洲久久久| 992视频一区| 午夜精品久久久久久久久久久久久 | 日本三级黄页| 日韩国产品视频中文字| 国产91精品久久久久久久网曝门| 男女打扑克高清网站| 欧色综合| 超碰在线在公开超碰在线在公开| 超碰一区二区| 青青草好吊色| 操逼视频国产无套| 青青操狠狠撩| 久久国产99精品72福利| 老司机免费视频在线91| 久射吧| 欧美传媒| 超碰99在线观看| 亚洲综合在线高清| av日韩中文字幕| 亚洲春色欧美激情自拍| 五月丁香社区婷婷日韩欧美精品影院| 激情五月婷婷| 色男人色天堂东京热| 午夜超碰| 国产精品自产拍在线观看社区| 九九热精品在线| 熟女高潮精品一区二区| 久久中文字幕一区不卡| 996热| 日本孕妇孕交| 国产亚洲精品精AV.| 99热9| 国产精品动态一区二区三区四四| 综合夜夜| 另类在线| 国产精品一区二区三区四区五区| 九九干| 青青草国产盗摄一二三区| 思思热一热婷婷热一热| 秋霞一级A片黄色视频| 超碰九色| 欧洲天天在线| 国产精品久久久亚洲第一牛牛_在线观看| 日韩av免费一级电影| 老女人爆菊| 91丝袜美女视频| 丁香久久| 99999re| 丝袜美腿欧美| 9久久精品| 成人夜夜爽| 97精品全部| 五月婷婷AV| 欧美九九九九九| 99热这里只有精| 精品人妻一区二区三区在| 东北夫妻性偷拍| 内射夫妻三片| 欧美精品三区| 国产超碰在线| 思思热在线视频在线| 久久久草草精品| 亚洲午夜AV| 欧美呦呦性爱| 性性久久| 91在线视频观看国产| 97人人爱人人乐| 116美女午夜| A片三级无码| 亚洲美女AV无码| 亚洲日韩黑丝| 91九九九馒头| 中文字幕一区日韩精| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 国产强奸超碰AV| 大色综合| 欧美后入式| 精品无码人妻一区二区免费蜜桃| 久久精品国产亚洲AV高级北京| 人人操人人肉久久精品| 丝袜视频一区二区在线播放国产中文| 久久老子无码午夜伦不卡| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 熟女色图在线| 超碰99在线观看| 久久久精品无码亚免费| 97资源亚洲| 亚欧美无遮挡| 91强在线播放| 中文字幕av久久爽Av| 99性爱视频| 国产精品网址| 一二三区操逼国产91| 亚洲色图超碰在线| 人妻熟女av国产网站| 国内偷自视频区视频综合| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 国产久久av| 久久男人精品| 国产区91柔拿会所技师| 日本精品成人无码| 伊人AAA| 国产性感骚丝袜在线| 九九99精品视频在线观看| 日韩AV一起草| 操逼网站视频漫画国产| 亚洲中文一区二区三区视频| 99精品欧美一区二区三区桃色| 国产女人与拘做受视频免费| 国产日韩无码一区二区三区久久区| 天天草天天日| 中文字幕精品探花视频| 亚洲码在线中文在线观看| 综合国产影视三级| 国产成人综合在线播放| 韩国成人精品久久久免费看| 91人妻Pr| 视频二区美腿丝袜制服人妻欧美| 91九色丨国产丨爆乳| 亚殴在线| 麻豆天美AV传媒第一页| 4tube欧美女厕所| 51国产午夜精品视频| 中文字幕在线日亚州9| 日韩紧密久久| 中文字幕视频在线观看| 亚洲天堂中文字| 青青草国产亚洲精品久久| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 天天色综合图片| 性九九九九九九| 69XX一中文字幕人妻91| 午夜免费视频1000| 97资源站久久| jk白丝没脱就开始啪啪| 亚洲中文制服诱惑| 日本综合色图| 日本色色的视频| 骚逼自拍99| 日韩av免费一级电影| 艳美熟妇先锋一二三区| 亚洲风情在线观看| 国内毛片无码一级毛片| 精品无码一二三四区| 日本操逼视频不卡直接放| 久久免费老司机精品| 欧美日韩狠狠爱| 999狠狠综合| v91av| 天天日日本| 欧美gv在线观看| 九九九久久久久| 日韩性爱人人爱人人操| 青娱乐手机日韩在线视频| 欧美瑟综合| 婷婷国产精品九区| 极品欧美一区二区三区| 大香蕉欧美伊| 成人 日本A片无码8888| 欧洲自拍色图gif在线| 97超级久久强资源| 98久久| 精品综合久久久久久97| 看一级黄色视频| 清纯唯美亚洲综合| 蜜桃久久久久久久久久久久| 18禁免费视频| 久久超碰av在线| 亚洲五月婷| 色欲久久久久综合网| 911粉嫩人妻| 中文字幕人成乱码熟女香港| 九热超碰| 很黄很污的免费网站| 777奇米影视777四色| 伊人影院日本| AV女优男人的天堂| 人妻天天爽夜夜爽2| 情色大香蕉| av影片在线观看不卡| 婷婷丁香六月| 最新av中文字幕高清| 白嫩妹子国产骚| 五月花婷婷| 国产无马av| 中文字幕一区二区日韩网| 欧美99999| 四虎免费在线播放| 丝袜色综合| 2019亚洲男人天堂| 夜夜爽妓女| 色色色色色色色色色色色色色色综合| 另类TS人妖一区二区三区|