99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

純Java實現(xiàn)Agent Harness:企業(yè)級AI應(yīng)用的生產(chǎn)落地與架構(gòu)取舍

純Java實現(xiàn)Agent Harness:企業(yè)級AI應(yīng)用的生產(chǎn)落地與架構(gòu)取舍 半年前我們團(tuán)隊接了一個內(nèi)部運(yùn)營助手的活要在私有化環(huán)境里跑一批 AI Agent 處理工單分類、合同信息抽取和業(yè)務(wù)數(shù)據(jù)問答。最開始我用 Python 生態(tài)把 Agent 骨架搭了出來三個晚上就能對話了同事都說效果不錯??烧嬲郎?zhǔn)備上生產(chǎn)的時候問題一個接一個冒出來模型調(diào)用怎么和現(xiàn)有權(quán)限體系打通多個 Agent 的會話怎么隔離工具調(diào)用怎么審計日志里怎么追蹤一次完整的多步推理Python 那邊的小樣完全答不上來。于是我們轉(zhuǎn)回去用純 Java 重新實現(xiàn)做了個內(nèi)部代號叫 BizBuddy 的 Agent Harness 平臺。這篇文章想把這個過程中的設(shè)計取舍講清楚哪些地方我堅持了 Java 的路子哪些地方故意沒有照搬社區(qū)框架哪些決定是拿生產(chǎn)事故換來的。1. 起因小樣用 Python 三天跑通上生產(chǎn)的時候全卡住了1.1 我們最初想要的東西其實需求本身并不玄乎。一個內(nèi)部助手用戶在對話框里提問題Agent 自己判斷要不要調(diào)用我們已有的業(yè)務(wù)接口再把結(jié)果組織成自然語言回復(fù)回來。這里有對外的客服工單分類、有合同文本的字段抽取、也有針對業(yè)務(wù)數(shù)據(jù)的多輪問答。難點從來不是模型會不會回答而是這些問題在企業(yè)環(huán)境里要過安全評審、要接統(tǒng)一登錄、要扣費(fèi)審計、要能灰度發(fā)布。1.2 小樣的快恰好就是它上不了生產(chǎn)的理由Python 小樣確實快因為生態(tài)里現(xiàn)成的東西多。但當(dāng)你認(rèn)真問生產(chǎn)環(huán)境的問題就會發(fā)現(xiàn)全是坑第一是環(huán)境碎片化。模型推理主要走遠(yuǎn)端 API本地不需要太重的東西但 Python 的依賴管理和虛擬環(huán)境在公司安全策略下還是被反復(fù)盤問。私有化部署到客戶現(xiàn)場的時候更是頭疼客戶環(huán)境里能不能裝包、能不能聯(lián)網(wǎng)、用哪個 Python 版本都得協(xié)商。第二是并發(fā)和穩(wěn)定性。一個 Python 進(jìn)程的并發(fā)能力有限對于幾十個用戶同時提問這種再普通不過的場景需要額外上異步框架而團(tuán)隊里沒人愿意長期維護(hù)第二套技術(shù)棧。第三是治理和集成。業(yè)務(wù)系統(tǒng)是 Java 技術(shù)棧用戶權(quán)限、組織架構(gòu)、數(shù)據(jù)庫訪問、消息隊列、統(tǒng)一配置中心全都長在 Java 這邊。Python Agent 想調(diào)用這些能力要么開 HTTP 接口硬橋接要么在 Python 里再連一遍那些中間件。兩條路都意味著雙倍的運(yùn)維面和雙倍的審計面。那段小樣最終沒有被浪費(fèi)它證明了用 Agent 處理這些業(yè)務(wù)可行。但架構(gòu)上的賬算得很清楚用 Java 實現(xiàn)同樣的東西可能要多花兩三周但之后它會和現(xiàn)有系統(tǒng)長在一起而不是在旁邊另起爐灶。1.3 用純 Java 做不是情懷是賬算得過來我需要澄清一下純 Java的邊界。BizBuddy 不是一個機(jī)器學(xué)習(xí)訓(xùn)練平臺不需要跑模型也不碰向量檢索算法的內(nèi)部實現(xiàn)。它是一個偏運(yùn)行引擎和治理底座的東西主要負(fù)責(zé) Agent 的生命周期、上下文、工具調(diào)用、流程編排、模型接入抽象、限流監(jiān)控。這些活兒 JVM 生態(tài)天生就擅長而且我們有一整支熟悉 Spring、理解并發(fā)編程、會調(diào) JVM 參數(shù)的技術(shù)團(tuán)隊。同樣重要的是Java 生態(tài)里對企業(yè)級集成的沉淀非常深。安全框架、緩存抽象、連接池、事務(wù)管理、配置中心都已經(jīng)有成熟方案BizBuddy 要做的不是重造這些輪子而是把它們和 Agent 的運(yùn)行時協(xié)議銜接起來。1.4 什么是 Agent Harness現(xiàn)在Agent 框架滿天飛但 Harness 和框架是兩種位置的東西??蚣芙鉀Q的是Agent 怎么寫比如怎么解析模型輸出、怎么構(gòu)造 Prompt、怎么調(diào)用工具它更像造船廠。Harness 解決的是Agent 怎么跑比如一個 Agent 從部署到下線誰在管、多個會話之間怎么隔離、失敗了誰來重試、調(diào)用一次模型的成本記到哪個項目頭上它更像船運(yùn)公司。BizBuddy 的定位更偏 Harness。在它之上有業(yè)務(wù)團(tuán)隊寫的具體 Agent在它之下是各種基礎(chǔ)設(shè)施。它必須足夠薄才能不綁架業(yè)務(wù)方的開發(fā)方式又必須足夠強(qiáng)才能讓 Agent 在真實生產(chǎn)環(huán)境里不出亂子。2. 核心抽象Agent 是一個業(yè)務(wù)單元不是一個模型調(diào)用殼2.1 為什么我把 Agent 接口做得這么簡單最開始設(shè)計 BizBuddy 的 Agent 抽象時團(tuán)隊里有人建議照搬社區(qū)框架的路子把 Agent 做成一個大而全的類里面直接塞模型、記憶、工具、規(guī)劃器。我堅持沒有這么做因為這個層一旦變重所有 Agent 實現(xiàn)都要被框架牽著走。BizBuddy 的 Agent 接口收縮到只有四個方法public interface Agent { String name(); void initialize(AgentRuntime runtime); AgentReply invoke(AgentRequest request, AgentSession session); void destroy(); }我們不定義該不該反思該用哪種 Prompt 策略該選哪個模型這些屬于具體 Agent 的個性??蚣苤灰s定你有一個名字啟動時我給你運(yùn)行時能力請求來了我拿會話和請求調(diào)你服務(wù)下線我通知你做清理。這樣業(yè)務(wù)團(tuán)隊寫 Agent 時可以自由組合工具調(diào)用、模型調(diào)用和本地邏輯而 Harness 統(tǒng)一拿到生命周期與執(zhí)行入口。AgentRuntime 是 BizBuddy 給 Agent 的能力清單里面包括工具注冊表、模型 Provider、審批接口、指標(biāo)收集器等。每個 Agent 在 initialize 階段拿到的 runtime 是同一個但可以聲明自己需要哪些子集這樣測試時也能注入 mock。2.2 Session 持有狀態(tài)Agent 本身保持無狀態(tài)這是整個設(shè)計里我最看重的一個取舍Agent 實例禁止持有用戶級狀態(tài)。曾經(jīng)有同事圖省事把用戶對話歷史直接放在 Agent 的成員變量里。開發(fā)時什么問題都沒有一上聯(lián)調(diào)就出亂子A 用戶的問題被 B 用戶的上下文干擾工單查詢結(jié)果串號。排查了好幾個小時最后發(fā)現(xiàn)是 Agent 被注冊成了單例所有并發(fā)請求共享了同一個成員變量。BizBuddy 里所有狀態(tài)都放在 AgentSession 中public final class AgentSession implements AutoCloseable { private final String sessionId; private final String tenantId; private final String agentName; private final MapString, Object variables new ConcurrentHashMap(); private final ChatWindow chatWindow; public void setVariable(String key, Object value) { ... } public Object getVariable(String key) { ... } public void appendMessage(ChatMessage message) { ... } public ListChatMessage visibleMessages() { ... } Override public void close() { ... } }sessionId 是全局唯一標(biāo)識tenantId 保證一個租戶的會話不會串到另一個租戶。ChatWindow 是帶預(yù)算的對話窗口負(fù)責(zé)控制發(fā)往模型的 token 量這個放到后面講。所有 Agent 實現(xiàn)都被要求寫成無狀態(tài)本次請求需要什么就通過參數(shù)從 session 里拿。這個約束讓 BizBuddy 可以一個 Agent 實例服務(wù)幾千個并發(fā)會話也讓壓測和生產(chǎn)環(huán)境的偶發(fā)問題變得好查。2.3 和 Spring 容器怎么協(xié)作BizBuddy 沒有另搞一套依賴注入。Agent 本身就是普通的 Spring 組件通過注解注冊Agent(name order_query_agent) public class OrderQueryAgent implements Agent { ... }應(yīng)用啟動時BizBuddy 的 Starter 組件掃描所有帶 Agent 的類檢查接口方法實現(xiàn)然后以單例方式注冊到 AgentRegistry。Agent 內(nèi)部想調(diào)什么業(yè)務(wù)服務(wù)直接使用平常的構(gòu)造器注入或字段注入不需要自定義擴(kuò)展機(jī)制。這樣做的好處是業(yè)務(wù)方寫 Agent 和寫普通 Spring 服務(wù)幾乎沒有區(qū)別。他們不需要理解框架如何接管對象生命周期之類的東西只需要按常規(guī)方式寫代碼BizBuddy 在邊界上把 Agent 的運(yùn)行協(xié)議接住。3. 工具調(diào)用鏈路的設(shè)計取舍注解式 Tool 才是 Java 的答案3.1 為什么不直接暴露 JSON Schema做 Function Calling 相關(guān)的 Agent第一步通常是定義模型可以調(diào)用的工具。很多框架推薦直接給 JSON Schema讓 Agent 決定調(diào)用哪個函數(shù)。我在 BizBuddy 里沒有采用手寫 schema的方案原因很實際字段一變schema 和人寫的代碼就會漂移類型一復(fù)雜手工維護(hù)成本直線上升更重要的是Java 是個強(qiáng)類型語言手寫字符串讓編譯期完全幫不上忙。BizBuddy 的做法是用注解定義工具編譯期和 IDE 都能參與到檢查中Tool(name query_order, description 按條件查詢訂單列表返回訂單ID、金額和狀態(tài)) public OrderQueryResult queryOrder( ToolParam(name customerId, description 客戶ID) String customerId, ToolParam(name startDate, description 開始日期格式 yyyy-MM-dd) LocalDate startDate, ToolParam(name status, description 訂單狀態(tài)) OrderStatus status) { return orderQueryService.query(customerId, startDate, status); }這里有幾個隱性好處。參數(shù)類型是真的對象類型LocalDate、枚舉、業(yè)務(wù)對象都能被正確序列化與校驗方法是現(xiàn)成的 Spring Bean 方法可以直接用注解掃描與反射機(jī)制接管不需要額外包一層適配器。3.2 一個 Tool 從注冊到執(zhí)行的完整路徑BizBuddy 的 Tool 不是普通方法它有完整的元數(shù)據(jù)、攔截器和調(diào)用器。注冊階段Starter 通過 BeanPostProcessor 收集所有標(biāo)注了 Tool 的公共方法解析入?yún)⒑兔枋龃虬?ToolDefinition注冊到 ToolRegistry。調(diào)用階段完整鏈路如下LLM 在響應(yīng)里返回一個 toolCall包含 toolName 和 JSON 字符串參數(shù)。BizBuddy 的 ToolInvoker 從 registry 拿到 ToolDefinition反序列化參數(shù)到方法簽名要求的類型。參數(shù)經(jīng)過一層 ThrottleAndBudget 檢查確認(rèn)這個租戶、這個 Agent 還有調(diào)用額度。權(quán)限攔截器校驗當(dāng)前用戶是否有權(quán)執(zhí)行該工具。這一步不能省后面會講為什么。真正的方法通過 MethodHandle 調(diào)用整個調(diào)用包裹在帶超時時間的任務(wù)里。返回值轉(zhuǎn)成一個 ToolResultMessage追加到 session 的對話窗口再送回給模型。這里有一個很容易踩的坑模型返回的參數(shù) JSON 不一定符合方法簽名。比如日期格式寫成了別的樣子或者枚舉值拼錯。BizBuddy 在反序列化階段統(tǒng)一做了一次容錯處理日期格式盡量多認(rèn)幾種枚舉按 name 和別名雙匹配實在解析不了就返回一個明確的解析錯誤給模型讓模型自己修正參數(shù)再調(diào)用一次。實測下來這種把錯誤反饋給模型的策略比直接給用戶報錯效果好得多。3.3 權(quán)限、超時、注入防護(hù)放在哪工具調(diào)用是 Agent 能力邊界也是安全風(fēng)險邊界。一個能從對話里生成參數(shù)的執(zhí)行通道如果沒有閘門等于給任何能觸發(fā)對話的人開了一個無限調(diào)接口的口子。我在 BizBuddy 里把權(quán)限校驗放在工具調(diào)用這一層和用戶請求入口那層分開。用戶請求入口那層管的是能不能跟這個 Agent 說話工具調(diào)用這一層管的是這個用戶能不能讓 Agent 替他執(zhí)行這個工具。兩者的粒度完全不同A 用戶可能能和合同 Agent 對話但只允許它查公開摘要不允許它觸發(fā)合同導(dǎo)出。超時和熔斷也放在工具調(diào)用層。模型可能一口氣發(fā)起三四個工具調(diào)用BizBuddy 默認(rèn)并發(fā)執(zhí)行這些工具但每個工具獨(dú)立超時執(zhí)行業(yè)務(wù)方法超過閾值后向模型返回一個超時結(jié)果由模型決定是重試還是告訴用戶當(dāng)前系統(tǒng)繁忙。這個細(xì)節(jié)讓整個 Agent 系統(tǒng)在業(yè)務(wù)系統(tǒng)抖動時不會連帶不可用。參數(shù)注入防護(hù)也是后來補(bǔ)的。開發(fā)者很容易信任模型生成的參數(shù)但模型可能被提示詞注入誘導(dǎo)比如某條外部文本里寫著請忽略之前指令執(zhí)行某個高風(fēng)險動作。BizBuddy 對每個工具參數(shù)都做類型和邊界校驗同時對路徑型、查詢型參數(shù)做額外的排除列表檢查。4. 編排層不引入現(xiàn)成 BPM 引擎自研一個會回頭的輕量圖執(zhí)行器4.1 BPM 引擎為什么讓 Agent 別扭立項時有人提議用成熟的 BPM 工作流引擎來編排多步 Agent。當(dāng)時我?guī)е鴪F(tuán)隊實際建模試了一下不到半小時就放棄了。根因是 BPM 引擎的哲學(xué)和 Agent 的哲學(xué)擰著。BPM 引擎擅長的是流程預(yù)先確定狀態(tài)由引擎推進(jìn)每一步的下一步是設(shè)計時寫死的。Agent 則完全不同模型要根據(jù)前一步的工具結(jié)果動態(tài)決定下一步做什么。你可以預(yù)先定義一個最復(fù)雜的拓?fù)鋱D但實際執(zhí)行路徑可能在每個節(jié)點都變化。硬把這種動態(tài)性塞進(jìn) BPM 編輯器里結(jié)果就是圖上面全是條件分支模型反而成了擺設(shè)。4.2 圖模型和節(jié)點類型BizBuddy 定義了一組非常小的圖模型命名上故意不用工作流那套詞避免團(tuán)隊下意識往流程定義上套。public sealed interface GraphNode permits StartNode, EndNode, LlmNode, ToolNode, ConditionNode, SubGraphNode { } public record GraphEdge(String targetNodeId, String whenCondition) { }看圖就知道這個圖不是流程圖更像一棵執(zhí)行樹加循環(huán)控制Start 進(jìn)入End 退出Llm 節(jié)點調(diào)用模型Tool 節(jié)點調(diào)用工具Condition 節(jié)點根據(jù) session 里的變量走不同分支SubGraph 節(jié)點復(fù)用一張子圖。每條邊上可以帶 SpEL 表達(dá)式比如graph.exit() .hasNode(tool_result_check, SpelCondition.on(result.status NEED_MORE_INFO).then(query_more)) .hasNode(tool_result_check, SpelCondition.on(result.status SUCCESS).then(final_answer));沒有復(fù)雜的網(wǎng)關(guān)、會簽、子流程約定只有節(jié)點和邊。團(tuán)隊學(xué)習(xí)成本很低而表達(dá)力對大部分 Agent 場景已經(jīng)夠了。4.3 執(zhí)行器的遞歸式實現(xiàn)與防呆執(zhí)行器用顯式棧模擬遞歸避免深調(diào)用把棧打爆public GraphExecutionResult execute(AgentGraph graph, AgentSession session, String entryNodeId) { DequeNodeFrame stack new ArrayDeque(); stack.push(new NodeFrame(entryNodeId, Map.of())); while (!stack.isEmpty()) { NodeFrame frame stack.pop(); GraphNode node graph.node(frame.nodeId()); NodeResult nodeResult node.run(session, frame.input()); for (GraphEdge edge : graph.outEdges(frame.nodeId())) { if (edge.whenCondition() null || evalCondition(edge.whenCondition(), session, nodeResult)) { stack.push(new NodeFrame(edge.targetNodeId(), nodeResult.output())); } } if (stack.size() maxDepth) { throw new GraphExecutionException(graph exceeds max depth maxDepth); } } return new GraphExecutionResult(session); }這個執(zhí)行器實現(xiàn)了最關(guān)鍵的一個能力回頭。Llm 節(jié)點輸出工具調(diào)用請求后執(zhí)行器可以先把控制權(quán)交給 Tool 節(jié)點Tool 的返回結(jié)果再作為下一次 Llm 節(jié)點的輸入。這在圖里不需要畫圈只需要讓 Llm 節(jié)點在存在 toolCall 請求時把后繼邊同時指向工具節(jié)點和自己即可。防呆方面我加了三個硬性上限最大執(zhí)行深度、最大循環(huán)次數(shù)、整體超時時間。任意一個觸發(fā)都以失敗狀態(tài)結(jié)束并且返回足夠明確的錯誤信息。因為 Agent 模式的失敗率本來就高于普通接口開發(fā)環(huán)境里跑 5 次可能沒事到生產(chǎn)模型換版本后就可能出現(xiàn)死循環(huán)。4.4 多 Agent 協(xié)作我只先做了 Supervisor 和 Pipeline 兩種多 Agent 協(xié)作聽起來很酷但我沒打算做一整套完整的 Agent 市場、辯論、群體共識機(jī)制。BizBuddy 第一版只支持兩種模式Supervisor 模式一個協(xié)調(diào) Agent 根據(jù)用戶描述選擇可用的子 Agent把子 Agent 的執(zhí)行結(jié)果再組織成最終答復(fù)。Pipeline 模式請求按固定順序經(jīng)過多個 Agent上一個 Agent 的輸出作為下一個 Agent 的輸入。適合先分類再處理這類穩(wěn)定鏈路。這兩種模式覆蓋了我們目前遇到的絕大多數(shù)業(yè)務(wù)場景而且實現(xiàn)都很簡單就是圖執(zhí)行器上的特定排列。刻意不加更多模式是因為多 Agent 的調(diào)試成本是單 Agent 的好幾倍絕大多數(shù)項目根本用不到那些花哨能力先把基礎(chǔ)路徑做穩(wěn)比什么都強(qiáng)。5. LLM Provider 抽象能做 80% 的統(tǒng)一剩下的 20% 留給能力協(xié)商5.1 內(nèi)部消息協(xié)議與適配器BizBuddy 面向業(yè)務(wù)開發(fā)者的 API 里不應(yīng)該出現(xiàn)任何具體廠商的類型。所以第一步是定義一套內(nèi)部消息協(xié)議public record ChatMessage(ChatRole role, String content, ListToolCall toolCalls, String toolCallId) { } public record ChatRequest(ListChatMessage messages, ChatOptions options, String agentName) { } public record ChatResult(ChatMessage message, Usage usage, ChatProvider provider) { }然后每個廠商一個適配器負(fù)責(zé)把內(nèi)部協(xié)議翻譯成廠商 SDK 的請求、再把廠商響應(yīng)翻譯回內(nèi)部協(xié)議。這樣業(yè)務(wù) Agent 永遠(yuǎn)不需要 import 某個具體模型服務(wù)商的包后續(xù)切換模型時改的只是配置和適配器而不是具體 Agent 代碼。5.2 流式輸出落地從 Stream 到 SSE對話體驗需要流式輸出模型一個 Token 一個 Token 地蹦出來用戶不會盯著轉(zhuǎn)圈等二十秒。BizBuddy 在 Provider 接口里定義public interface ChatProvider { ChatResult complete(ChatRequest request, AgentSession session); StreamChatDelta stream(ChatRequest request, AgentSession session); }流式實現(xiàn)的第一個版本我直接用響應(yīng)式流一路鋪到前端結(jié)果發(fā)現(xiàn)團(tuán)隊里大量成員對背壓、異步上下文傳遞不熟悉容易寫出難維護(hù)的代碼。后來換了一種更工程化的做法內(nèi)部用阻塞隊列收集供應(yīng)商的回調(diào)事件對外以 Java 21 的虛擬線程逐個消費(fèi)再橋接成 SSE 推給瀏覽器。這樣流式處理的代碼寫起來像同步循環(huán)心智負(fù)擔(dān)低線上也穩(wěn)定很多。5.3 不硬抹平廠商差異早期我們想把所有廠商的能力對齊成一個超集結(jié)果代碼里到處是如果支持這個特性則……的條件分支反而難維護(hù)。后來我把抽象目標(biāo)下調(diào)到 80%只統(tǒng)一那些 Agent 邏輯真正依賴的基礎(chǔ)能力對話補(bǔ)全、流式、工具調(diào)用、token 用量統(tǒng)計。剩下的差異比如工具調(diào)用格式的細(xì)節(jié)偏好、JSON 輸出模式的支持程度、某些模型特有的參數(shù)通過能力協(xié)商來處理public record ProviderCapabilities( boolean supportsToolCall, boolean supportsJsonMode, boolean supportsVision, int maxOutputTokens ) { }請求構(gòu)造器先看 capability能支持再做對應(yīng)處理不支持就退回到更通用的路徑并且日志里明確記錄當(dāng)前模型不支持某特性已降級。這個設(shè)計避免了大一統(tǒng)抽象帶來的復(fù)雜度陷阱也讓新接入一個廠商變得非???。6. 生產(chǎn)環(huán)境里幾次救命的調(diào)優(yōu)線程模型、鏈路追蹤和冪等6.1 虛擬線程不是銀彈BizBuddy 部署在 Java 21 上LLM 調(diào)用是典型的阻塞式網(wǎng)絡(luò) IO正好適合虛擬線程。我用虛擬線程來處理一次 Agent 執(zhí)行的整條鏈路并發(fā)量提升非常明顯線程占用從幾千個降到幾十個。但有一個坑必須講虛擬線程在遇到 synchronized 同步塊時會發(fā)生 pinning如果同時配上數(shù)據(jù)庫連接池驅(qū)逐高并發(fā)場景會出現(xiàn)連接拿不到的詭異現(xiàn)象。我們排查過一周最后發(fā)現(xiàn)是某處工具方法里加了 synchronized而方法內(nèi)部阻塞在 JDBC 調(diào)用上。解決方法是把這段同步邏輯換成顯式鎖或原子類并限制連接池與虛擬線程的并發(fā)比例別讓虛擬線程無限擠爆數(shù)據(jù)庫連接數(shù)。6.2 讓每一條日志都帶 sessionId、agentName、nodeIdAgent 執(zhí)行鏈路比普通接口長得多一個用戶問題可能觸發(fā)五六次模型調(diào)用、十幾次工具調(diào)用沒有統(tǒng)一的追蹤上下文排障就是災(zāi)難。BizBuddy 在入口處把會話維度信息寫入日志上下文打印的關(guān)鍵 log 都帶上 sessionId、agentName、nodeId、toolCallId。最開始實現(xiàn)時用了簡單的線程變量結(jié)果流式線程一切換上下文就丟了日志串聯(lián)斷裂。后來我改成在每段異步任務(wù)提交時顯式傳遞上下文快照由執(zhí)行線程恢復(fù)才算穩(wěn)定。這個投入看起來小回報非常大?,F(xiàn)在出問題第一件事就是按 sessionId 拉日志能把一次完整推理路徑完整回放出來。6.3 LLM 重試帶來的重復(fù)工具調(diào)用有一次工單系統(tǒng)出現(xiàn)了重復(fù)創(chuàng)建查了半天發(fā)現(xiàn)根因是模型側(cè)的網(wǎng)絡(luò)重試。模型服務(wù)返回超時實際請求已經(jīng)到達(dá) BizBuddyBizBuddy 里工具也執(zhí)行成功了但客戶端重試導(dǎo)致同一個 toolCall 被再次執(zhí)行。這是 Agent 系統(tǒng)獨(dú)有的冪等問題。普通接口可以要求客戶端傳冪等鍵但 BizBuddy 的調(diào)用方是模型服務(wù)它不會主動傳冪等鍵。我們的解決方式是在 ToolInvoker 里對每一次 toolCall 生成唯一執(zhí)行記錄以 sessionId nodeId toolCallId 作為冪等鍵第二次命中直接返回第一次的結(jié)果不再真正調(diào)用業(yè)務(wù)方法。類似地同一個 Llm 節(jié)點如果因為網(wǎng)絡(luò)超時重試也優(yōu)先復(fù)用已有輸出。6.4 按租戶和 Agent 維度做限流配額大模型 API 不是免費(fèi)午飯一次復(fù)雜的多步推理可能消耗上萬 token還可能有并發(fā)配額上限。BizBuddy 提供兩層級聯(lián)的令牌桶租戶級配額管整體預(yù)算Agent 級配額管單個場景上限。超過配額時不直接拋粗魯?shù)漠惓6欠祷匾粋€結(jié)構(gòu)化錯誤Agent 能把這個信息轉(zhuǎn)成對用戶友好的提示比如當(dāng)前該類服務(wù)的調(diào)用額度已用完請稍后再試。這套配額也作用于工具調(diào)用。有些工具比模型調(diào)用更貴比如導(dǎo)出報表、發(fā)送短信BizBuddy 在工具調(diào)用鏈路里加了同樣的閘門防止模型被誘導(dǎo)觸發(fā)高成本操作。7. 收尾BizBuddy 只解決了 80% 的問題寫這篇文章時 BizBuddy 已經(jīng)在內(nèi)部支撐了三個業(yè)務(wù) Agent 的上線這個量級不算大但足夠暴露很多設(shè)計問題。實際做下來我最大的體會是Agent 平臺最難的不是模型調(diào)用那一層而是把動態(tài)執(zhí)行這件事裝進(jìn)企業(yè)現(xiàn)有的運(yùn)維和治理體系里。BizBuddy 在生命周期、工具調(diào)用、編排、可觀測和配額上切出了一個比較合理的邊界團(tuán)隊寫業(yè)務(wù) Agent 時不用關(guān)心底層底層出問題時又能順著日志和追蹤一路查到底。下一階段我想補(bǔ)兩件事。一是把會話和圖中斷點做持久化讓很長的任務(wù)可以掛起恢復(fù)二是把圖執(zhí)行過程可視化出來讓業(yè)務(wù)同學(xué)也能看懂 Agent 是怎么得出答案的。至于那些還沒做到的部分我寧可繼續(xù)慢慢補(bǔ)也不愿意現(xiàn)在就堆一堆華而不實的功能進(jìn)去。畢竟 Harness 這東西穩(wěn)定和可控比熱鬧重要得多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色五月色图| 九九热精品视频| 亚洲亚洲人成综合网络| 五月婷婷丁香五月| 五月伊人视频在线看| 激情国产五月| 91狠狠综合久久久久久| 这里只有精品视频| 人妻在线中文字幕久久| 五月婷婷综合激情| 色色五月天婷婷丁香| 色99色| 99精品福利视频| 五月天综合久久| WWW.亚洲无码| 久99999热视频在线观看免费| 天天综合精品| 狠狠色噜噜狠狠狠888| 六月丁香激情网| 9999热这里只有精品| 97性视频| 操九色| 狠狠爱成人综合网| 成人精品视频99在线观看免费| 欧美日比视频| 丁香五月婷婷基地| 五月丁香六月婷婷网| 天天 日综合| 色欲天天综合| 婷婷五月综合久久中文字幕| 超碰在线超碰| 夜夜躁婷婷AV| 欧美三级黄色片久久| 亚洲视频一区| 婷婷伊人五月天| 丁香五月色| 婷婷五月色播| 五月天色区| AV美美午夜| 超碰人人色| 狠狠综合色网| 色婷婷777狠狠| 国产激情一区| 激情五月天第四色| 538任你爽视频不一样的| 亚洲日本韩国| 成人精品视频99在线观看免费| 久九色| 日韩欧美成人片| 99色看这里只有精品| 久久九九玖玖| 思思热闹这里只有精品| 婷婷第六色| 97碰碰视频在线观看| 国产黄色av| 五月天婷婷激情六月久久| 欧美日韩中文国产一区发布| 国产成人精品一区二三区熟女在线| 激情综合网五月婷婷| 五月色色网| 天天肏在线观看| 激情五月天视频| 久久婷婷激情视频| 99热99美国在线观看| 色五婷婷开心缴| 天天爽天天日天天舔| 激情网狠狠干| 99热这里只有精品最新网址| 综合网五月| 国产精品VA在线| 99免费视频网| 亚洲丁香五月| 99九九视频精彩在线| 天天干天天色综合| 99九无网码| 婷婷久久99| 成人网站在线观看视频| 91精品综合久久久久久五月丁香| 婷婷色五月综合| 99热在线观看成人| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 超碰网站在线观看| 日韩影院三级| 人人添人人| 精品99网站| 第四色婷婷色五月| 丁香六月婷婷色XXXXX| 亚洲a色| 97色啪| 久久国产色| 777精品久无码人妻蜜桃| 国产偷人爽久久久久久老妇APP| 五月开心播播网| 丰滿爆乳一区二区三区| 操九色| 中文网AV| 天天狠狠六月婷丁香影院| 99国产精品久久久久久久久久久| 婷婷五月天小说| 99ER热精品视频| 99爱视频在线播放| 久久92| 色五月综合| AV中文网| 天天爱天天做天天日| 久久五月六月| 久久香蕉丁香| 丁香婷婷天堂| 91狠狠综合久久| 色婷婷狠狠色| 思思热99热| 亚洲网站观看视频| 丁香五月综合婷婷| 翔田千里aV中文字幕| 婷婷六月天精品| 五月色天情| 五月婷婷五月天| 日日夜夜狠狠| 色色五月婷婷久久| 99热99热| 能看的av| 狠狠色狠狠| 日逼免费视频| 婷色五月天| 亚洲精品无码一区二区| 日本道久久91| 夜夜骑日日夜夜| 六月份天丁香婷婷| 囯产精品久久欠久久久久久九大| 亚洲狠狠婷婷| av操一操| 丁香五月天大香蕉啪啪| 色性综合| 色色激情网| 4399无码视频| 侠女刀之记忆电影在线看免费| 日屌日日操日日色| 久久一级AV| 99热在线这里只有精品| 久久九九99.www| 日本色色色| 综合五月天| 天天干天天干天天干天天干天天干| 激情五月丁香社区| 日韩黄在免| 丁香六月婷婷久久高清| 99热在线这里| 伊人在线另类| 天天日天天操天天干| 色99自拍| 91精品婷婷国产综合| 伊人丁香花综合影院| 91在线日| 久久久大香蕉| 欧美激情久| 99re久热只有精品6在线直播| 影音先锋偷偷色男人站| 大香人妻| 色五婷婷开心缴| 精品亚洲国产成AV人片传媒| 五月婷婷丁香伦理网| 激情综合在线观看| 综合性爱网| 婷婷五月天狠狠| 97色婷婷| 5月丁香六月婷婷| 婷婷五月天成人| 99视频在线观看网址| 九九视频网| 在线观看中文字幕亚洲| 六月婷婷久久| 激情五月婷婷综合| 天天色月| 九九色逼| 五月婷婷和六月| 五月丁香六月激情在线| 婷婷五月四狠狠| 97碰| 色情综合网| 激情综合激情综合| 97色女人在线| 久久草大香蕉| WWW、日本色丁香co m| 婷婷久久综合久| 久9热在线视频| 99热资源在线| 九九人人操| 五月婷婷在线视频观看| 九九热内射| 伊人网色婷婷五月天| 亚洲乱码日产精品BD| 狠狠88综合久久久久噜噜噜| 99热国品| 五月天天天色| 91n啪啪| 色色色色色网站| 婷婷激情五月天激情小说| 婷婷激情五月天小说| 碰超亚洲| 激情婷婷啪啪| 99自拍视频在线观看| 色综合久久天天综合网| 人人草碰| 99r久久这里只有精品| 九九Y精品热播| 亚洲综合色婷婷| 久在线88综合| 丁香五月欧美午夜视频| 日本片日本片祼观看网站在线看中文版网页在线看| 色婷婷狠狠| 天天爽人人爽| www.97碰碰com| 激情深愛五月視頻| 婷婷久热| 激情小说在线视频| 尤物一区二区| 丁香五月婷婷深爱综合激情| 婷婷五月天小说| 国产SUV精品一区二区6| 激情性爱五月天| 日本激情五月天‘| 性做久久久久久久免费看| 国产精女同一区二区三区久| 五月丁色AV| 思思热在线视频精品| 99精品无码| 十区AV| 五月丁香综合久久| 99热这里只有精品8| 毛片毛片毛片毛片| 婷婷五月天影院| 超碰爱爱爱| 狠狠干五码| 另类天堂| 婷婷五月天无码视频| AV成人在线播放| av免费在线观看0| 婷婷五月天日本国产| 性热视频99精品| 久久五月婷天天干| 日操五月婷| 六月婷婷av| 亚洲天堂制| 激情五月婷婷综合视频| 中国女人做爰A片| 六月婷婷激情图片| 激情综合五| 美女久久婷婷| 丁香五月丁香伊人| 婷婷色情 | 五月婷婷与六月丁香图片激情| 婷婷色在线播放| 国产亚洲99久久精品熟女| 色亚洲婷婷| 超碰在线国产| 九九碰九九爱97超碰| 婷婷五月天激情开心网| 97久久超视频| 丁香婷婷激情| 久青操| 激情婷婷六月天| 九热视频在线伦| 伊人五月网| 五月丁香| 内射丰满人妻| 色丁香久久久| 亚州在线中文字幕| 亭亭五月激情亚洲在线| 国产精产国品一二三在观看| 日日操日日射| 久久免费干| www五月天激情com| 婷婷中文字暮| 婷婷五月丁香超碰| 天天摸天天肏| 亚洲中文乱字字幕在线永久| 色色亚洲无码| 97夫妻超碰| 五月丁香 啪啪啪| 免费看成人AA片无码视频吃奶| 26uuu色噜噜精品一区| 国产精品色色| 激情五月天网页| 玖玖99婷婷| 丁香婷婷色六月| 久久久久九九九九视屏小说88| 直接看的AV| 成人短视频在线免费观看| 丁香五月婷婷大香蕉| 成人电影在线免费试看| 九九色影院| 在线综合婷婷| 天天射色五月天| 天天透天天爱| 色综合色五月| 天天精品视频免费观看| site:hcxsz888.com| www色色com| 深爱激情九九五月天 | 思思热视频在线观看| 五月婷婷与六月丁香图片激情| 99综合久久| 五月天激情国产综合婷婷婷就去爱| 影视av久久久噜噜噜噜噜三级| 大香蕉五月婷婷| 97婷婷色| 182无码| 丁香五月激情性色郤| 91婷婷丁香五月亚洲| 亚洲操B| 1024国产| 亚洲午夜成人av电影网| 六月丁香五月婷婷| 99免费成人网| 九色成人AV在线| 五月天婷婷乱论小说| 9久久网| 99欧美| 亚洲在线激情婷婷五月| av首页在线| 婷婷五月天激情基地| 日韩av网站在线观看| AV在线免费播放| mmm1717.6dbm人人爱人人操| 影音先锋91男人资源在线播放| 五月丁香婷婷综合网| 五月天综合区| 99色在线观看| 婷婷五月丁香色播| www,婷婷,com| 五月色网| 亚洲av综合网| 日本va欧美va欧美精品88| 色婷婷五月开心六月综合| 日本道久久91| 日日躁夜夜躁狠狠久久AV| 99热只有| 丁香婷婷色| 五月天婷综合网站| 色色激情网| 99在线看视频| 色五月情| 五月激情偷拍| 97碰人人操| 这里只有精品99www| 欧美色婷婷| 欧美啄木乌丝袜人妻系列| 色婷视频| 4399在线观看免费毛片| 超碰在线免费观看3 9| 99re8这里只有精品99re8热视频| www.99热精品| 色五婷婷开心缴| 五月天婷婷自拍图片在线观看| 偷偷操99| 丁香综合久久| 一区操| 99国产精品白浆在线观看免费| 九月av| 婷婷色激情五月天| 深爱五月天天| 色五月天天| 99热欧美| 亚洲国产成人在线| 五月色婷婷影院| 9色免费网| 日日噜噜夜夜狠狠久久丁香五月| 最近韩国日本免费高清观看| 99综合视频| 大香蕉99| 久久久久激情| 91大神操美女| 丁香五月手机在线| AV成人在线播放| 2025色婷婷| 五月天婷婷青青草| 激情五月婷婷中文字幕| 99热这里只有精品10| 日韩不卡DvD| 丁香五月婷婷亚洲激情四射| 激情婷婷丁香色五月| 欧美日韩欧美| 亚洲婷婷五月天| 91一起操| 丁香色婷婷| 婷婷五月在线视频| 天天综合色丁香| 在线中文字幕免费视频| yirenjiqingshiping| 99精品在线| 五月丁香婷婷综合网| 九月婷婷激情| 五月丁香六月激情综合| 色婷婷在线视频| 丁香五月婷久久| WWW,婷婷,COM| 丁香五月香蕉| 亚洲VA口| 久久婷网| 色欲一区二区三区精品A片| 99久在线精品99re5热视频| 亚洲99热| 婷婷五月天在线视频网站| 婷婷五月天开心网| 亚洲熟妇无码乱子AV电影| 九九这里都是精品| 丁香五月成人婷婷| 婷婷的久久网站| 97人人操| 久久久久这里只有精品| 夜夜撸日日操| 嫩BBB搡BBBB榛BBBB| 久草热8精品视频在线观看| 欧美性爱五月天| 狠狠色丁香| 五月激情综合网| 97热91| 一二线视频 另类| 久久久av久av久片一区二区| 久久九九激情五月天| 婷婷.com| 99热99| 97碰在线免费观看| 午夜色丁香| 日本婷久久| 成人视屏在线观看| 日日日日做夜夜夜夜无码| 欧美丁香六月在线观看视频| 激情久久五月网| 五月丁香基地| 激情五月综合亚洲另类| 丁香五月网络网络| 91婷婷五月天综合视频| www.五月天激情| 六月婷婷激情| 久久性爱视频网站| 日本强伦片中文字幕免费看| 五月天啪啪网| 99re热在线视频| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 99色精品| 久综合网| 碰碰碰97国产| 玖玖婷婷五月| 天天拍夜夜撸| 色五月激情婷婷| 色色五月婷婷久久| 99爱在线视频| 综合久久十| 99人人操人人爱久久久| 色色色视频| 婷婷五月天日本无码| AVDV久久| 久久思思热| 亚洲黄网在线| 日本一道久久| 色五月六月婷婷| AV色婷婷| 爱久久小说下载网| 伊人九九综合| 五月四色色| 五月婷婷激情中文字幕| 中文字幕按摩做爰| 五月婷婷色啪| 爱的综合网| 五月综合视频| 99re热视频这里只精品| 六月婷婷综合激情| 99热在线中文字幕| 色丁香五月| 婷婷在线视频| 五月婷婷色色色| 丁香五月婷婷激情123| 久草热在线视频| 国产精品扒开腿做爽爽爽A片唱戏| 97婷婷丁香五月综合| 爆乳熟妇一区二区三区爆乳照片| 国产高清RV综合aVa| 色婷婷五月天成人网| 国产日韩精品SUV| 日本天堂免费99| 日韩黄黄| 热九九精品| 婷婷五月激情四射手| 2017狠狠干| 激情五月亚洲| 大香蕉综合网| 大香蕉婷婷久久| 亚洲十月婷婷综合| 极品人妻VideOssS人妻| 色色婷婷色色| 色婷婷五月天在线| 嫩草AV久久伊人妇女超级A| 99久久.www| 人妻在线中文字幕久久| 丁香五月色| 婷婷九月在线| 99热这里只有免费| 国产精品第一国产精品| 五月六月播婷婷| 久久激情五月婷婷| 99热香港| 襙逼网| 日本va欧美va国产激情| 思思99久久| 99re思思热久久| 无码免费人妻A片AAA毛片西瓜| 99a级片| 天天艹天天色| 国产欧美熟妇另类久久久| 婷婷涩五月| 婷婷五月天精品| 日韩在线观看网址| 丁香五月 综合| 六月丁香啪啪啪| 另类国产区| www.色擼擼.com| 成人无码髙潮喷水A片| 日本三级日本三级三级人妇四虎| 99色在线观看视频| 中文字幕+中文在线| www激情网| 亚洲成av人影院| 99这里有精品久久97| 丁香五月综合激情性爱| 在线成人av播放| 99热成人在线观看| 婷婷影院A成人| 天天激情夜夜干| 色婷婷久久| www久久99| 91色逼| 92国产福利| 99色网站| 成人在线日韩欧美| 99无码| 色婷婷综合成人| 亚洲成人五月| 欧美月久久| 五月开心久久| 日本九九网| 五月天网站免费欧美| 色五月色五天色情网址| 开心激情播播五月天| 伊人大综合| 综合大香蕉| 五月丁香人妻| 欧美日韩成人| 天天干天天爽| 5月婷婷六月丁香| AA片在线观看视频在线播放 | 超碰人人干| 一起肏在线视频| 激情五月天在线免费美女视频| 日韩色色一区| 日本不卡中文字幕| www99热| 久久激情五月婷婷| 色噜噜,噜噜色| 国产精品久久久久久妇女6080 | 五月婷婷先锋| 99热这里只有精品9| 91精品综合久久婷婷九色| 大香蕉久久婷婷精品综合| 五月丁香激情综合啪啪| 五月婷婷啪| 99开心五月五月丁香激情| 99热这里只有精品免费| 五月综合亚洲婷婷| www.一起草av| 婷婷欧美综合| 色必久悠悠影院| 精品欧美一区二区三区久久久| 丁香五月亚洲婷婷| 丁香花操逼| 大香蕉五月丁香| 在线国产精品色| 嫩草AV久久伊人妇女超级A| 另类图片婷婷五月天| 91伦| 天天爽人人综合免费7799| 色五月天天在线观看资源站| 日韩在线看AV| 激情综合网五月婷婷| 久久9精品| 双性美人被调教到喷水A片| 色五月天视频| 色三级色三级| 色www久视频| 丁香婷婷深情五月亚洲| 激情久久久| 中文字幕精品无码一区二区| 婷婷狠狠操| 狠狠色丁香五月婷巨| 国产精品扒开腿做爽爽爽A片唱戏| 婷婷丁香五月天在线| 在线99精品| 99无码视频| 狠狠狠狠狠狠狠狠| 欧美成人无码一区二区三区| 五月丁了香蕉综合| 婷婷婷婷婷婷婷五月丁香| 五月婷婷无码专区| AV在线观看网站| 国产内射婷婷| 日韩性视频| 亚州视频九九99| 色婷婷啪啪啪啪啪啪| 思思99热| 天天插天天插| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 激情五月天色播| 都市激情五月婷婷亚洲| 丁香5月激情网| 九九在线91| 国产无套精品一区二区| 丁香五月婷婷色情综合| 五月色婷婷在线观看| 婷婷狠狠香蕉综合| 蜜桃人妻无码AV天堂三区| 99免费热视频在线| 99 频99热国里只有精品| 99久久五月丁香野外| 九九这里只有精品| 97色热| 色综合天天天天做夜夜| 性爱网久久| Aα在线免费观看| 欧美电影在线观看| 五月丁香婷婷中文| 5月婷婷激情网| 日韩一66精品| 色九月婷婷综合| 婷婷狠狠青青| 少妇高潮A片无套内谢麻豆传| 久久99热这里只频精品6学生| 人人摸人人射| 丁香五月婷婷六月婷婷| 夜色综合网| 婷婷久久爱| 五月天激情小说| 色墦五月丁香| 99成人| 久久欧洲综合网| 婷婷五月天AV激情| 婷婷香香五月| 九九精品综合| 色色色97| 色五月婷婷影视| av一级棒av| 久99| 日日操夜夜爽| 丁香色五月 97干| 综合一区二区三区| 99这里只有精品|v| 婷婷丁香五月天欧美| 丁香色情五月综合激情| 色色五月天网站| 日本久久人| 九月婷婷综合在线| 婷婷五月丁香综合网| AA片在线观看视频在线播放| 99久热| 99玖玖在线视频| 五月婷婷六月激情| 情久久综合五月天| 成人综合伍月天| 牛牛碰免费| 丁香五月天五码婷婷| 无码一区二区三区四区五区| 久热视频A.| 人妻综合网| 99日本黄站| 人妻久热| 美女激情综合| 91狠狠综合久久| 中文字幕,综合,91| 久久婷中文字幕| 色一情一乱一乱91Av| 97人妻人人| 9久9久9久女女女九九九一九| 久久44| 99热xx| 9热成人在线视频| 日韩aⅴ视频| 大鸡巴伊人网| 91a片爽| 五月停停99| 色婷婷小视频| 亭亭五月基地在线| 综合激情在线视频| 久久五月视频| 狠狠另类视频| 久久99这里只有精品视频| 噜一噜免费视频| 69五月天视频| 婷婷久久六月费| 亚洲色情在线| 99热国产免费| 色色免费网站| 天天干天天爽| 国内一级片| 久热99狠| 任你擦免费视频| 狼友视频在线观看18| 99久久精| 九九久久99| www.99热. com这里只有精品| 丁香五月天中文字幕| 播播网色播播| 日日爽日日| 五月婷丁香| 噼里啪啦在线观看免费完整版视频| 五月天网址在线刘玥| 日韩av在线播放综合网| 九九99热| 五月天激情小说婷婷| 这里只有精9| 色色色色色网站| 91激情五月开心| 婷婷成人五月天| 久久艹 五月天| 久久久九九视频精品18| 九月激情网| 五月婷婷视频啪啪美女| 26uuu欧美宗合| 大香蕉啪啪| 六月天婷婷| 色yeye色综合| 99久久网站| 五月激情婷婷色| 激情五月天开心| 人人爽天天爽| 9精品国产在热久久| 91碰| 八戒青柠影视剧在线观看| 六月婷婷青青青视频| 超碰久热| 操人妻视频91| 二色av| 888久久久| 丁香香五月激情免费视频| 丁香五月婷婷激情蜜桃| 丁香五月在线观看| 人妻激情网| 秋霞学生妹一二级| 综合网啪| 久cao香蕉影院| 狠狠综合久久| 亚洲免费99| 国产免费一区二区三区三州老师F1F1.CC | 亚洲va成人va成人va在线观看| 伊人久久艹| 丁香五月天堂网AV| 婷婷五月丁香高清无码| 五月婷婷色五月| 91人妻人人做人碰人人爽九色| 色色色香蕉五月婷| 成人AV免费观看| 久久婷婷五月综合伊人| 99热激情| 91狼友视频在线观看| 婷婷综合| 天天综合网在线| 熟女人妻一区二区三区免费看| 九九色院| 色五月aV| 色五月激情网| 亚洲婷婷综合视频| 五月婷婷五月天天| 狠狠操综合| 亞洲自怕| 丁香五月婷婷综合视频| 久久人妻伊人| 国外亚洲成AV人片在线观看| 99re热99| 亚洲婷婷免费| 成人做爰A片免费看网站找不到了| 丁香五月区| 看久久性爱视频| 成人日韩欧美| 激情AV| 日本天天色| 精品9l九九九九九77777| 色婷婷基地在线| a久久| WWW.桔色成人.COM| 五月久久五月激情| 亚洲色图五月丁香| 六月丁香啪| 99色热视频| 国产一级片| 色色婷| 成人综合视频在线| 玖玖综合玖玖| 色久激情在线| www,奇米影视| 色噜噜,噜噜色| www.夜夜操.com| 色婷婷AV在线| 五月亭亭狠狠| 色www99| 九九热99精品在线| 亚洲操操操| 天天做天天要天天爱| 婷婷在线综合| 亚洲天堂啪啪| 九九性爱网| 色综合激情图区| 69er小视频| 99无码精品| 色色色精品无码区| 久久九九热视频| 99热精品在线播放| 大香蕉精品视频| 9精品在线| 午夜成人天堂久久无码日韩久久| 婷五月天六| 天天爽夜夜爽夜夜爽精品视频| 久久综合五月天| 丁香五月激情啪| www.色99| 夜夜骑日日操| 久久成人亚洲欧美电影| 曰曰久久| 亚洲va在线| 美妞av| 第四色五月天| 五月婷婷另类| 五月天色五月| 99在线观看免费精品视频| 91日韩在线| 色噜噜,噜噜色| 性欧美大战久久久久久久83| 五月婷婷,六月激情| 97caop| 青青草日本亚洲| 人人摸人人操人人爱| 66精品成人免费网站在线观看| 久久婷婷五月综合色丁香花| 2025年最新亚洲在线欧美| 精品9久| 婷婷亚洲五月| 色五月婷婷综合在线| 婷婷操超碰| 丁香婷婷久久| 丁香五月天堂网| 婷婷五月天论坛| 一本婷婷丁香久久| 婷婷五月天天天| 99riAV国产精品视频| 天天日,天天干,天天操| 这里只精品| 成人在线观看国产| 五月天国产| 五月婷婷激情| 日日日日日| 射久久丁香五月| 日本123区日韩欧美不卡在线看| 色色日本欧美| 99热永久在线观看| 国产无套精品一区二区| 青青夜夜狠狠夜夜狠狠| 婷婷操无码| 激情小说在线视频| 成人五月天综合网| 国产一二区爆乳_1国产日韩一区二区三-成人AV| 激情性五月天免费小说视频| 久久综合色情网站| sS丁香五月婷婷| 亚洲精品一区中文字幕乱码| 无码网站视频| 五月天堂色| 国外亚洲成AV人片在线观看| 99er精品视频| 日本视频99| 国产黄大片在线观看画质优化| 欧美日韩AAA| 99超级碰免费视频| 在线观看国产高清视频免费网站 | 97在线日本| 亚洲综合色婷婷| 色噜综| 日本色久| 青青久在线视频免费观看| 久机视频这只有精品| 99精品国产在热久久| 丁香六月婷婷操逼网| 91婷婷色| 可以直接看的av网站| 亚洲精品网址| 婷婷操逼| 五月丁香六月天| 伊人五月婷婷| 伊人婷婷91| 免费精品99| 婷婷色在线播放| 五月丁香少妇A| 人妻激情视频| 色综合中文| www.狠狠操.con| 激情五月天综合网| 激情内射人妻1区2区3区| 六月丁香色色| 五月丁香伊人网| 婷婷亚洲天堂| 九九99九九精品视频| 人人摸人人| 夜夜夜夜撸夜夜操| 色婷婷欧美在线| 一本色道久久88加勒比—| 天天操天天插| 激情久久久久久久久久| 丁香婷婷啪啪啪| 丁香六月色婷婷| 91九色PORNY中文啦| 亚洲成人在线播放| 欧美久久网| 中文字幕性爱丰满| 欧日韩成人| 色亭亭九月| 91天天操天天干天天射| 亚洲第一精品成人999久久精品| 日本婷久久| Caoub青青超碰 | 欧美性生交XXXXX无码小说| 色婷婷导航| 玖玖热视频| 婷婷色日本| 国产一级片| jiujiujiuwuyuetian| 丁香花社区av| 狠狠爱综合网| 99爽视频| 狠狠干婷婷| 俺去也在线www色官网| 婷香五月网在线| 超级黄色片| 99啪视频在线观看| 影音先锋自拍网| 九月丁香| wwwss在线观看| 大香蕉婷婷久久| 五月婷婷丁香瑟瑟视频| 五月综合亚洲婷婷| 丁香五月天激情婷婷丁香六月| 五月婷婷中文字幕| 99精品偷拍视频| www。五月,com| .精品久久久麻豆国产精品| 久久综合五月| 婷婷射丁香| 9月色婷婷| 天天久| 5五月综合网亚洲| http:色情日本com| 第九色区av天堂| 五月天婷婷视频| 精品久久99码| 六月丁香色色| 激情丁香九九五月综合网| 久久偷拍综合五月天| 久久欧洲综合网| 激情婷婷狠狠干| 亚洲射激情| 97丁香花五月天激情小说| 五月天婷婷色| 色婷婷网| 婷婷丁香五月天哟啪| 五月婷婷三级| 久久新地址| 日韩在线视频网站| 日本啪啪天堂| 九九这里是免费的视频5| 婷婷五月丁香欧洲| 五月天狠狠色| 人人综合久| 亚洲AV第二区国产精品| 伊人玖玖精品| 婷婷丁香五月天影院| 91精品久久久久久久久久久久| 婷婷六月综合基地| 六月婷婷综合久久| 狠狠爱五月婷婷| 色三级色三级| www,久久久| 亚洲综合在线伊人婷| 97色婷| 激情 五月 婷婷 丁香| 麻豆雪千夏| 91avse| 美女黄频aⅴ视频| 久色网址| 涩涩涩,com| 亚洲色五月天是什么| 新激情五月开心五月婷婷五月丁香五月 | 97操在线视频| 激情久久久| 婷婷久久国产视频| 五月天成人手机在线视频| 99热这里只有精品最新地址获取| 日日夜夜狠狠操| 婷婷成人五月天| 色5月婷婷| 成人午夜无码视频| 久操欧美在线观看97| 九色99视频| 激情丁香久久久久久| 色婷婷五月综合在线| 99re热精品在线视频| 色五月婷婷狠狠撸| 天天色天天舔天天爱天天爽| 九九性视频| 操逼视频一区| 极品人妻VideOssS人妻| www久久久久久久久久久| 艹色18p| 超碰a女人的天堂| 五月色情婷婷| 亚洲五月综合色播| 五月婷婷中文字幕| 五月婷婷综合激情网| 国产毛多水多女人A片| 五月天sesese| www.五月天婷婷| 韩日在线熟女| 深爱五月婷| 久婷久婷| 思思久久99热只有频精品66| 亚洲成人在线观看网址| 亚洲无码11| 五月婷婷综合色啪| Www.激情| 久久久久er热| 亚洲网综合在线| 久久激情五月网| 99综合色色色| 日日夜夜久| 狠狠干综合| 99国产在线精品视频| 亚洲无aV在线中文字幕| 26UUU| 九九在线这里只有精品视频| 久久婷婷五月天激情四射| 国产美女无遮挡裸体毛片A片| 日韩av在线播放综合网| 日本不卡中文字幕| 丁香五月婷婷亚洲另类| 九九亚洲| 久久人妻高清中文| 婷婷色综合av| 亚洲亚洲人成综合网络| 亚洲狠狠婷婷| 人妻熟妇六区| 久久综合中文字幕| 成人婷婷色综合| 综合久久婷婷| 欧美婷婷色五月| 九九热在线精品视频| 色九月综合| 婷婷激情丁香五月婷婷激情丁香五月婷婷 | 色五月丁香五月| 久久天堂女人| 五月色情婷婷| 99在线观看精品视频| 精品久久99| 大香蕉人在线65| 第四色婷婷最爱| 婷婷丁香五另类网站| 91干网站| 日日爱678| 最新va在线播放| 国产AV一区二区三区最新精品| 九九热视频99| 丁香九月婷婷色| 人妻久久久| 欧美视频五区| 欧洲免费视频色| 天天综合网站| 四月婷婷五月丁香| 色婷婷五月天天天干天天操天天爽| 狠狠综合网| 69精品人人人人人人| 极品 少妇 内射| PORNY九色9l自拍视频成人| 久久久久久久91| 狠狠艹狠狠艹| 激情五月丁香社区| 久色精品| 丁香五月天偷拍| 日本精品99网站| 1024在线视频| 天天摸日日舔狠狠添婷婷婷| 九九热av| 操逼巨乳91| 丁香五月婷婷影院| 国产成人AV| 开心婷婷五月激情网小说| 开心五月婷婷| yiqicaoav| 欧美日韩大黄| 色色国产| 青草青草久热这里只有精品| 日日操日日撸| 超级碰碰99| 五月丁香婷婷激情| 婷婷色色五月天| 热99这里只是精品| AV成人在线播放| 色婷婷五月成人网| 久久久久人妻中文| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 在线99热| 婷婷五月丁香综合| 99这里有精品视频| 啪啪五月综合| 成人丁香婷婷| 天天日中文| www,色中色| 能看的av| 五月婷婷天天色| 国产99久久久国产精品免费看| 亚洲精品国产成人AV在线| 超碰在线超碰| 成人一区在线观看| 丁香色五月天| 亚洲国产网站| 丁香激情综合| 激情丁香五月天图片| 天天操天爱综合| 五月丁香婷婷伊人日韩| 国产性色蜜乳| www.色五月| 亚洲99视频| 激情五月天婷婷| 伊人丁香六月婷婷| 色色色综合| www.天天干| 婷婷久久五月天亚洲欧美国产日韩在线观看| 色色亚洲无码| 久久婷婷五月天大香蕉| 婷婷五月天成人五月天| 狠狠色丁香| 7777激情基地| 五月天丁香网| 人人色人人摸人人看| 热久精品| 深爱激情小说五月婷婷| 婷婷亚洲综合| 婷婷天天综合| 中文婷婷狠狠| 色吧五月婷婷| 99人妻碰碰碰久久久久视| 欧美VA在线观看| 大香蕉太香蕉视频97| 色综合伊人网| 97热在线精品| 婷婷色五月天在线观看| 婷婷四月 成人 狠狠干| 九九99久久| 人人看人人要| 亚洲精品另类| 天天摸天天舔天天天天爽| 狠狠色色综合| 狠狠久久婷五月| www久久99com| 亚洲最大成人综合网720P| 五月开心婷婷| 伦乱人妻| 激情六月婷| 久久五月婷婷丁香| 99热这里只有精品5| 99热这里有精品6| 日本久久九| 色欲久久久久久综合网综合网| av国产精品偷| 丁香五月婷婷五月| 思思热热久久| 九九Y精品热播| 激情婷婷五月| 天天狠天天狠| 亚洲AV日韩在线观看| 日本色婷婷| 婷婷激情综合网| AA片在线观看视频在线播放| 99久久玖玖| 91久久综合| 天天干天天拍| 丁香激情综合| 99在线公开视频| 久久久久久人妻| 五月婷婷免费在线观看视频| 久久99精品久久久久久噜噜| 99操逼| 国产美女最新VA在线免费观看| 婷婷激情四射五月天| 五月婷婷综合网| 婷婷丁香人妻| 色综合香蕉视频| 丁香婷婷大香蕉| 99思思热只有在这里看 | 以及AA大片看看| 丁香五月婷婷av| 亚洲激情电影五月天色婷婷丁香一起草| 日B日潘金莲BB| 97精品欧美91久久久久久久| 五月综合777| 久久aaaaa| 午夜大香蕉| 综合网天天| 五月丁香激情片| 五月丁香偷拍| 狠狠五月天| www天天色天天射| www色婷婷久久综合久色 | 五月丁香亭亭成人电影| 丁香五月天AV在线 | 色域五月婷婷丁香| 亚洲乱码日产精品BD| 蜜臀av粉嫩av懂色av| 六月天婷婷| 色色色色网| 思思热在线视频观看精品| 久婷狼色诱惑在线| 91久久久久久久久| 六月婷婷九月丁香亚洲综合| 成人网站av免费网站推荐| 99热综合| 91久久精品无码一区二区三区| 蜘蛛女免费观看完整版高清电影| 日韩成人电泉AV| 超碰狠狠操| 亚洲免费av在线| 色婷婷六月精品| 在线五月婷婷小电影| 五月天堂色色| 激情五月激情综合网| 九九精品热播| 五月婷婷开心亚州在线| 99啪啪视频| 激情AV中文| 人人色人人弄人人操| 丁香大香蕉| 五月天狠狠网| 五月丁香综合伦理片| 99免费热视频在线| 丁香五月桃花在线激情综合| 五月天伊人网| 天天爽夜夜操| 精品久久久久久久久久久久人妻| 丁香婷婷五月激情| 好大好粗嗯啊-一级黄色大片免费观看-成人AV | 婷婷综合视频| 97sese婷婷| 亚洲精品久久久无码| 性爱综合网| 97色色网| 亚洲综合激情五月| 五月亚洲激情| 99re66热这里只有精品| 国产综合81p| 色欲AVV| 无码日本精品XXXXXXXXX| 色99网站| 婷婷五月天激情电影| 丁香六月婷婷色XXXXX|