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

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(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)取舍 半年前我們團隊接了一個內(nèi)部運營助手的活要在私有化環(huán)境里跑一批 AI Agent 處理工單分類、合同信息抽取和業(yè)務(wù)數(shù)據(jù)問答。最開始我用 Python 生態(tài)把 Agent 骨架搭了出來三個晚上就能對話了同事都說效果不錯??烧嬲郎蕚渖仙a(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ā)布。1.2 小樣的快恰好就是它上不了生產(chǎn)的理由Python 小樣確實快因為生態(tài)里現(xiàn)成的東西多。但當(dāng)你認真問生產(chǎn)環(huán)境的問題就會發(fā)現(xiàn)全是坑第一是環(huán)境碎片化。模型推理主要走遠端 API本地不需要太重的東西但 Python 的依賴管理和虛擬環(huán)境在公司安全策略下還是被反復(fù)盤問。私有化部署到客戶現(xiàn)場的時候更是頭疼客戶環(huán)境里能不能裝包、能不能聯(lián)網(wǎng)、用哪個 Python 版本都得協(xié)商。第二是并發(fā)和穩(wěn)定性。一個 Python 進程的并發(fā)能力有限對于幾十個用戶同時提問這種再普通不過的場景需要額外上異步框架而團隊里沒人愿意長期維護第二套技術(shù)棧。第三是治理和集成。業(yè)務(wù)系統(tǒng)是 Java 技術(shù)棧用戶權(quán)限、組織架構(gòu)、數(shù)據(jù)庫訪問、消息隊列、統(tǒng)一配置中心全都長在 Java 這邊。Python Agent 想調(diào)用這些能力要么開 HTTP 接口硬橋接要么在 Python 里再連一遍那些中間件。兩條路都意味著雙倍的運維面和雙倍的審計面。那段小樣最終沒有被浪費它證明了用 Agent 處理這些業(yè)務(wù)可行。但架構(gòu)上的賬算得很清楚用 Java 實現(xiàn)同樣的東西可能要多花兩三周但之后它會和現(xiàn)有系統(tǒng)長在一起而不是在旁邊另起爐灶。1.3 用純 Java 做不是情懷是賬算得過來我需要澄清一下純 Java的邊界。BizBuddy 不是一個機器學(xué)習(xí)訓(xùn)練平臺不需要跑模型也不碰向量檢索算法的內(nèi)部實現(xiàn)。它是一個偏運行引擎和治理底座的東西主要負責(zé) Agent 的生命周期、上下文、工具調(diào)用、流程編排、模型接入抽象、限流監(jiān)控。這些活兒 JVM 生態(tài)天生就擅長而且我們有一整支熟悉 Spring、理解并發(fā)編程、會調(diào) JVM 參數(shù)的技術(shù)團隊。同樣重要的是Java 生態(tài)里對企業(yè)級集成的沉淀非常深。安全框架、緩存抽象、連接池、事務(wù)管理、配置中心都已經(jīng)有成熟方案BizBuddy 要做的不是重造這些輪子而是把它們和 Agent 的運行時協(xié)議銜接起來。1.4 什么是 Agent Harness現(xiàn)在Agent 框架滿天飛但 Harness 和框架是兩種位置的東西??蚣芙鉀Q的是Agent 怎么寫比如怎么解析模型輸出、怎么構(gòu)造 Prompt、怎么調(diào)用工具它更像造船廠。Harness 解決的是Agent 怎么跑比如一個 Agent 從部署到下線誰在管、多個會話之間怎么隔離、失敗了誰來重試、調(diào)用一次模型的成本記到哪個項目頭上它更像船運公司。BizBuddy 的定位更偏 Harness。在它之上有業(yè)務(wù)團隊寫的具體 Agent在它之下是各種基礎(chǔ)設(shè)施。它必須足夠薄才能不綁架業(yè)務(wù)方的開發(fā)方式又必須足夠強才能讓 Agent 在真實生產(chǎn)環(huán)境里不出亂子。2. 核心抽象Agent 是一個業(yè)務(wù)單元不是一個模型調(diào)用殼2.1 為什么我把 Agent 接口做得這么簡單最開始設(shè)計 BizBuddy 的 Agent 抽象時團隊里有人建議照搬社區(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 的個性。框架只要約定你有一個名字啟動時我給你運行時能力請求來了我拿會話和請求調(diào)你服務(wù)下線我通知你做清理。這樣業(yè)務(wù)團隊寫 Agent 時可以自由組合工具調(diào)用、模型調(diào)用和本地邏輯而 Harness 統(tǒng)一拿到生命周期與執(zhí)行入口。AgentRuntime 是 BizBuddy 給 Agent 的能力清單里面包括工具注冊表、模型 Provider、審批接口、指標收集器等。每個 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 是全局唯一標識tenantId 保證一個租戶的會話不會串到另一個租戶。ChatWindow 是帶預(yù)算的對話窗口負責(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)造器注入或字段注入不需要自定義擴展機制。這樣做的好處是業(yè)務(wù)方寫 Agent 和寫普通 Spring 服務(wù)幾乎沒有區(qū)別。他們不需要理解框架如何接管對象生命周期之類的東西只需要按常規(guī)方式寫代碼BizBuddy 在邊界上把 Agent 的運行協(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ù)雜手工維護成本直線上升更重要的是Java 是個強類型語言手寫字符串讓編譯期完全幫不上忙。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 方法可以直接用注解掃描與反射機制接管不需要額外包一層適配器。3.2 一個 Tool 從注冊到執(zhí)行的完整路徑BizBuddy 的 Tool 不是普通方法它有完整的元數(shù)據(jù)、攔截器和調(diào)用器。注冊階段Starter 通過 BeanPostProcessor 收集所有標注了 Tool 的公共方法解析入?yún)⒑兔枋龃虬?ToolDefinition注冊到 ToolRegistry。調(diào)用階段完整鏈路如下LLM 在響應(yīng)里返回一個 toolCall包含 toolName 和 JSON 字符串參數(shù)。BizBuddy 的 ToolInvoker 從 registry 拿到 ToolDefinition反序列化參數(shù)到方法簽名要求的類型。參數(shù)經(jīng)過一層 ThrottleAndBudget 檢查確認這個租戶、這個 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)一做了一次容錯處理日期格式盡量多認幾種枚舉按 name 和別名雙匹配實在解析不了就返回一個明確的解析錯誤給模型讓模型自己修正參數(shù)再調(diào)用一次。實測下來這種把錯誤反饋給模型的策略比直接給用戶報錯效果好得多。3.3 權(quán)限、超時、注入防護放在哪工具調(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 默認并發(fā)執(zhí)行這些工具但每個工具獨立超時執(zhí)行業(yè)務(wù)方法超過閾值后向模型返回一個超時結(jié)果由模型決定是重試還是告訴用戶當(dāng)前系統(tǒng)繁忙。這個細節(jié)讓整個 Agent 系統(tǒng)在業(yè)務(wù)系統(tǒng)抖動時不會連帶不可用。參數(shù)注入防護也是后來補的。開發(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隊實際建模試了一下不到半小時就放棄了。根因是 BPM 引擎的哲學(xué)和 Agent 的哲學(xué)擰著。BPM 引擎擅長的是流程預(yù)先確定狀態(tài)由引擎推進每一步的下一步是設(shè)計時寫死的。Agent 則完全不同模型要根據(jù)前一步的工具結(jié)果動態(tài)決定下一步做什么。你可以預(yù)先定義一個最復(fù)雜的拓撲圖但實際執(zhí)行路徑可能在每個節(jié)點都變化。硬把這種動態(tài)性塞進 BPM 編輯器里結(jié)果就是圖上面全是條件分支模型反而成了擺設(shè)。4.2 圖模型和節(jié)點類型BizBuddy 定義了一組非常小的圖模型命名上故意不用工作流那套詞避免團隊下意識往流程定義上套。public sealed interface GraphNode permits StartNode, EndNode, LlmNode, ToolNode, ConditionNode, SubGraphNode { } public record GraphEdge(String targetNodeId, String whenCondition) { }看圖就知道這個圖不是流程圖更像一棵執(zhí)行樹加循環(huán)控制Start 進入End 退出Llm 節(jié)點調(diào)用模型Tool 節(jié)點調(diào)用工具Condition 節(jié)點根據(jù) session 里的變量走不同分支SubGraph 節(jié)點復(fù)用一張子圖。每條邊上可以帶 SpEL 表達式比如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é)點和邊。團隊學(xué)習(xí)成本很低而表達力對大部分 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 市場、辯論、群體共識機制。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í)行器上的特定排列??桃獠患痈嗄J绞且驗槎?Agent 的調(diào)試成本是單 Agent 的好幾倍絕大多數(shù)項目根本用不到那些花哨能力先把基礎(chǔ)路徑做穩(wěn)比什么都強。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) { }然后每個廠商一個適配器負責(zé)把內(nèi)部協(xié)議翻譯成廠商 SDK 的請求、再把廠商響應(yīng)翻譯回內(nèi)部協(xié)議。這樣業(yè)務(wù) Agent 永遠不需要 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)團隊里大量成員對背壓、異步上下文傳遞不熟悉容易寫出難維護的代碼。后來換了一種更工程化的做法內(nèi)部用阻塞隊列收集供應(yīng)商的回調(diào)事件對外以 Java 21 的虛擬線程逐個消費再橋接成 SSE 推給瀏覽器。這樣流式處理的代碼寫起來像同步循環(huán)心智負擔(dān)低線上也穩(wěn)定很多。5.3 不硬抹平廠商差異早期我們想把所有廠商的能力對齊成一個超集結(jié)果代碼里到處是如果支持這個特性則……的條件分支反而難維護。后來我把抽象目標下調(diào)到 80%只統(tǒng)一那些 Agent 邏輯真正依賴的基礎(chǔ)能力對話補全、流式、工具調(diào)用、token 用量統(tǒng)計。剩下的差異比如工具調(diào)用格式的細節(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)到達 BizBuddyBizBuddy 里工具也執(zhí)行成功了但客戶端重試導(dǎo)致同一個 toolCall 被再次執(zhí)行。這是 Agent 系統(tǒng)獨有的冪等問題。普通接口可以要求客戶端傳冪等鍵但 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ù)雜的多步推理可能消耗上萬 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í)行這件事裝進企業(yè)現(xiàn)有的運維和治理體系里。BizBuddy 在生命周期、工具調(diào)用、編排、可觀測和配額上切出了一個比較合理的邊界團隊寫業(yè)務(wù) Agent 時不用關(guān)心底層底層出問題時又能順著日志和追蹤一路查到底。下一階段我想補兩件事。一是把會話和圖中斷點做持久化讓很長的任務(wù)可以掛起恢復(fù)二是把圖執(zhí)行過程可視化出來讓業(yè)務(wù)同學(xué)也能看懂 Agent 是怎么得出答案的。至于那些還沒做到的部分我寧可繼續(xù)慢慢補也不愿意現(xiàn)在就堆一堆華而不實的功能進去。畢竟 Harness 這東西穩(wěn)定和可控比熱鬧重要得多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲国产精品有声| 亚洲男人天堂2013| 亚洲精品黑丝| 国产成久久综合片| 97舔舔| 激情人妻另类| 天天色黄色影院天天操| 久久九七| 岛国视频免费在线观看| 日本999精品视频| 高精欧美色| 新版天堂中文资源8在线| 日欧美色| 水多多映视AV| 成人无码专区精品视频| 性色亚洲| 久久,精品一二三| av草草在线电影| 天天操夜夜嗨| 美女网站黄页| 影音先锋中文字幕日本好一区二区| 大香蕉AV丝袜| 国产A v无码专区| 夜夜爽妓女| 日韩欧美日韩| 青青青操| 五月丁香黄色网| 黄片无码在线制服| 大色网久久| 日本一级二级三级网站| 色哟哟av网址| 亚洲午夜AV| 蜜桃午夜视频一区二区| 日日爽夜夜爽| 成人精品无码| 激情综合av| 国产Aα| 亚洲图片 激情小说| 蜜臀一区二区三区在线| 日韩精品怡红院| 淫荡少妇免费| 激情欧美97| 99精品在线播放| 玖玖无码超碰| 国产女上位好爽在线| 啊啊啊在线观看| 成年女人一区| 中文字幕一区二区免费在线| 天堂精品| 中日无幕一二三四区| 人人弄人人摸| 亚洲成人妻日韩在线| 国产精品久久久久久照片| Julia Annxxxxx| 免费伦费视频在线观看| 97干在线视频| 91久久免费视频互動交流| 日本精品88888888| 日韩性爱电影一区| 国产熟妇 码视频户外直播| 人人澡人人弄| 欧美日韩第一页| 天天做天天爱| 国产精品丝袜在线| 91久久国外网| 东京热熟女亚洲视频网站| 淫荡少妇免费| 欧美色偷偷| 色天堂综合| 牛黄色久午久| 国产主播福利| 欧美91在线| 色九九九综合| 伊人综合色网| 超碰人人干| 91无遮挡| 欧美亚州综合网图片| 久久男人的天堂国产| 中文字幕一区二区三区字幕| 人妻精品一区二区| 日韩高清一二三| 天天日日舔舔| 婷婷五月天丁香花| 无码日韩人妻av一| 欧美区亚洲区偷拍区| 影音资源男人日韩| 欧美 综合| 亚洲国产麻豆一区二区三区 | 懂色av色欲av蜜臀av| 欧美亚洲在线| 粉嫩av在线| 欧美激情亚洲情色| 亚洲诱惑天堂 | 亚洲一区中文精品| 精品人妻一区二区三区四区不卡在| 亚洲素人网| 99热超碰| 人妻少妇久久久| 国产精品久久99日日| 欧美高清色| 亚洲清纯唯美| 精品中文日韩字幕视频| 丝袜美腿校园春色| 日韩精品人妻中文字幕久久久| 久久嫩草国产成人一区| 超碰97精品在线| 天综合网| 国产精品96久久久久久| 黄网在线播放| 黄色一区三区| 成人三一级一片aaa| 国产精品视频| 中国操逼无码| 黄色二级片网站| 密乳AV免费观看| 99热99re超碰精品| 熟女这里只有精品6| 天天舔九色婷婷| 91精品女厕偷拍视频| 97精品第3页| jk白丝没脱就开始啪啪| 久久精品操| 色婷婷激情| 超碰免费人妻在线| 色婷婷狠狠| 91国产操逼视频| 亚洲精品国产精品乱码不卡| 精品性爱一二三区| 91综合天天| 四虎 精品 WWW| 97超碰欧美| 国产欧美日韩女同性恋ww喷水精品 | 中国操逼无码| 天天干干天天干干| 欧美亚洲韩国视频十五区 | 久久香蕉网| 无码不卡亚洲成?人片| 欧美 日韩 另类 亚洲| 日本日逼视频网| 男人的天堂2019| 人妻一区久久二区三区色播| 日韩激情电影中文字幕| chaopen97久久| 日韩国产十八禁| 激情第四色| 大香蕉视频一二三区| 97久久超碰日韩精品| 97在线观视频免费观看| 嗯嗯嗯不要不要免费视频| 亚洲成人福利电影免费| 免费无码婬片AAAA片直播色戒| 日日操免费视频| 玖玖爱综合网| 美日韩一二三区| 亚洲 欧美 中文 日韩超碰 | 色色操| 国内毛片婷婷六月色| 日韩欧美福利视频看看| 一本色道无码DVD中文字幕| 天天天操天天天爱| 久久亚洲熟妇在线视频| 亚洲日韩肥臀视频在线观看| 老女人日韩美91| 麻豆精品久久久久久久| 欧美78p| 亚洲第一页色| 1024亚洲中文字幕久在线看片你懂的| 日本青青草在线| 伊人青青一区成人视频在线观看区| 色蜜AV| 99自拍视频在线| 探花精品视频| 国产欧美美女免费观看视频| 男人天堂新在线| 99久在线精品99re8| 国产精品午夜福利| 日韩成年人性爱视频| 久久精品国产亚洲AV清纯| 74成人在线| 国产情侣自拍在线播放| 久久久久无码| 亚洲激情欧美色图 | 操B在线观看| 久久久国产成人一区二区三区在线| 97天堂| 日韩ab网 | 日韩专区久久久| 插入逼91| 午夜天堂啪啪| 亚州色图欧美| 蜜臀久久99精品久久久久久无删减| 亚洲国产美女久久久久| 蜜臀国产AV中文字幕| 欧美在线|亚洲| 午夜男人av| 欧洲天天在线| 超碰吊日色| 成人影院永久免费观看网址| 成人性爱电影一区二区| 欧美亚洲美少妇一区二区| 欧美丝袜美女电影一二三四区| 岛国黄片网站| 黑人中出21连凳花野真衣| 亚洲高清欧美总合| 亚洲综合情色| 久久黄片国产一区二区| 91网站18在线| 久久亚洲欧美中文字幕国语| 亚洲永久永久永久永久一级一级一级精品| 久九九九九九九九热| 欧美黄片欧美黄片xxx| 日韩精品三级片长长久久| 久久伊人最新网址视频| 97天天爽| 国产中文大片资源中文字幕| 自拍丝袜美腿人妻| 日韩在线一区高清在线| 日本三级韩国三级美三级91| 丁香六月啪啪| a级免费在线观看| 一区二区娱乐网站| 欧亚 另类 久| 制服乱伦| 日本道不卡| 黄色小说亚洲| 婷婷丁香五月天综合东京热| 色欧美色交综合| 国产AV高清AV无码| 九月丁香综合网| 狠狠操狠狠燥| 成人女人国产| 日日碰狠狠添天天爽超| 91情色在线| 成人综合色网| 国产精品一级片在线看| 后入综合久久| 精品国产91久久久久久一区黄无| 国产无马av| 18禁免费视频| av一区二区三区不卡| 欧美少妇高潮| 啊啊啊啊啊啊啊在线| julia高潮后不停追击中出| 中文字幕日韩专区精品系列| 97操B| 亚洲免费日韩在线一区二区| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 狠综合网| 四虎永久在线精品免费网址| 欧美亚洲激情小说| 97久久久| 蜜乳AV色欲AVAV无码| 欧美不卡在线一区二区| 一二三啪啪专区| 欧美精品在线观看| 豆花视频操逼网址| 91爱看| 亚洲αv一区二区三区| 欧美一二在线| 97国产高清视频在线观看| 老司机天天操| 欧美日韩电影成人在线| 狠狠操狠狠燥| 五月天综合网| 91 手机在线播放 绯色| 激情五月婷婷| 五月天婷婷色色| 亚洲欧美国产其他二区| 99re久久| 超碰97玖玖爱| 欧美黑人168页欧美黑人167| 色吊丝 日日骚 清纯唯美| 2024年最新色情网站在线观看| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 成人无码电影在线观看网| 精品欧美А∨无码黑人大荫蒂 | 日本久久999| 天天干夜夜| 韩国黄片aaaa| 亚洲熟女偷拍在线观看| 99久久久久久亚洲精品不卡| 91蜜臀在线久久久久| 人妻 欧美亚洲| 久久三| 欧美 日韩 另类 亚洲| 国产精品美女视频诱惑| 婷婷在线视频| 2019天天干| 精品女人999| 九七色图| 97玖玖人妻| 一级性爱视频免费观看| 第四色色综合91| 91在线免费精品视频| 人妻久热在线| 无码137片内射在线影院| 欧美激情视频一区二区三区不卡| www久久国产精品| 久久成年精品| 亚洲啪啪性视频| 国产熟女一区二区| 91欧美美女日韩国产婷婷| 国产狂喷潮在线精品| 亚洲综合九| 不卡免费av在线播放| 亚州性9| 天天碰操中国年青熟妇| 中文字幕日韩人妻视频一区二区三区交换夫妻| 99热这里只有精品1| 操老熟女AV| 在线 制服丝袜中出 人妻| 久久婷婷电影网| 男女性扦B| 99999精品视频| 国产精品免费日韩| 日韩AV无码网站| 亚洲天天精品| 99久久综合| 日本免费亚洲欧美| 中国女人内射6XXXXX| 高清视频一区| 亚洲在钱| 超碰一区二区| 欧美日韩国产电影| 啊啊啊啊啊操我视频| 天天日天天干天天整| 日本熟女不卡视频| 丰满熟女一区二区三区在线播放| 天天碰久久入| 久久人妻一区二区三区高清| 好舒服视频| 97超碰色屌| 蜜桃中文字日产乱幕4区| 久久久成人国产精品无码| 国产色综合亚洲色综合吹潮| 中文字幕一二三| 91网站18禁| 日本不卡中文| 国产99999| 中文字幕视频二区| 亚洲加勒比| 超碰欧美97| 久久精品国产亚洲AV清纯| 清纯唯美亚洲综合| 亚洲AV麻豆Aⅴ无码电影一| 色逼综合| 久操网线| 99色在线视频| 天天享受天天看| 999综合色| 99精品无码| 欧美日韩欧美| 国产精品无码av嫩草| 国产福利在线视频网站| 日本岛国黄色网址| 欧美美女啪啪视频| 欲色啪| 熟妇熟女一区二区三区| 沈阳熟女高潮对白视频| 欧美视频一区二区在线| 丝袜喷水在线| 午夜操操操| 精品午夜福利| 日本淫乱女一区二区三区视频| 天堂伊人久久| 久久蜜桃一区二区| 99热这里只有精| 欧美一级黄色免费专区| 一直超碰| 91精品大奶人妻| 国产精品午夜AV完会免费| 超碰精品| 人妻少妇久久久| 性暴力欧美猛交在线直播| 97欧美色综合| 一区二区三区黄色片a| 天天夜夜rb| 蜜桃精品视频一区| 六月丁香啪啪啪| 欧美性爱第一区| 亚洲AV成人无码一区二区三区在线观看 | 婷婷色导航| 97欧美视频| 激情婷婷丁香网| 欧美激情一区二区| 91丨国产丨白浆秘 洗澡动漫| 五月综合色| 色图四区| 色欲三区| 啊啊啊用力在线观看| 女人喷水视频在线观看| 五月激情综合网| 丁香五月性爱| 欧美一级二级三级| 亚洲国男人的天堂| 97手机日韩| 五月天激情小说网| 国产成人在线观看网址| 欧美综合骚| 色色毛片| 亚av顶级裸体一区二区三区四区五区| 八戒午夜福利理论片| 国产传媒美日韩av| 国产h片在线观看视频| 激情婷婷丁香| 丁香五月天啪啪| 成人久久久| 日日干男人的天堂| 九久9精品| 蜜臀久久99精品久久久电影| 欧美日韩电影一区二区| 亚洲国产婷婷在线播放| 久久精品国产亚洲av水密被窝| 99色在线观看| 91香蕉视频在线观看免费| 91色堂| 久久九九综合| 色在线亚洲视频www| 亚洲色图图片| av麻豆啪啪| 一区二区 韩日AV| 成人a v在线播放免费| 精品无码产区一区二| www.狠狠干.coom | 色一区二区三区综合| 超碰亚洲欧美日韩无| 伊人黄色视频免费观看| 情趣丝袜无码操逼视频| 射久久| 熟女少妇一区二区三区| 99爱爱| 性生活无遮挡纯毛片在线看| 成人熟女视频一区二区三区| 久久伊人五月天| 爆操无码| 日本精品第一视频在'| 超碰在线观看av不卡| 久久专区| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 国产欧洲精品亚洲午夜拍精品| 九九玖玖精品| 强上我不卡卡| 麻豆久久久久久久久丝袜 | 亚洲牲交| 欧美色综合| yw尤物av无码点击进入麻豆| 欧美中文综合| 97视频在线看| 免费观看国产小粉嫩喷水精品午| 久久久久久久久久va| 91美女网站| 人人玩人人添人人澡免费| 亚洲天堂久久久久久粉红视频| 亚洲天堂男人的天堂| 1区2区3区视频| 精品人妻一区二区三区在| 成人精品在线免费视频| 在线观看一级α片刺激高潮视频| 国产精品熟女九色九色蜜臀| 口爆吞精在线观看| 亚洲高潮少妇| 久操 高清| 免费99精品国产自在在线| 人妻少妇无码| 久久国产逼| 国产极品一区二区三区三州| 五月激情综合网| 中文字幕78| 国产91美女视频| 国产隔壁老王影院在线| 久久精品99| 秋霞男人网| 色97欧美| 精品偷拍13p欧美dodk视频| 国产亚洲99久久精品| 夜夜操av亚洲一区二区| 欧美高清16| 美女尤物人人操| julia在线观看久久| 91精品在线播放| 日韩欧美大力操| 国产欧美第五页| 97精品中文字幕| 日本精品网站在线中文| 中文字幕在线观看网页| 91色欧美| 69人妻精品一区二区绯色| 精品九九九九九九九九九| 亚洲欧美日韩激情不卡| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 国产v片在线免费观看| 色区久久| 51久久夜色精品国产麻豆| 亚洲成人帖图| 久久久久久久久久久久黄色| 另类在线| 日本三级R| 一个国产在线综合网站| 久热最新在线杭州| 超碰97.com| 亚洲国产精品久久久男人的天堂| 亚洲欧综合另类无码一区| 国产18精品亚洲精品| 亚洲男人天堂Av| 欧美高潮在线| 欧美亚州综合网图片| 欧美牲| 噜噜噜无码AV一级一级久久影院| 久久做97| 啊啊啊想要| 国产尹人在线视频免费| 毛片麻豆91糖心精品毛情片| 欧美日韩在线视频网站| 丁香六月综合激情| 国产精品自在自拍视频| 操逼短片| 日本高清一区二区在线| 亚洲91射| 99久久婷婷| 国产伦精品| 天天综合~91入口| 国产一级舔足在线观看| 丁香六月激情综合| 一区二区影视| 欧美性爱一内片一区二区三区| 东京热综合久久一区二区| 欧美人妻久久精品二区三区| 国产综合久久久鬼色| 青青在线视频免费| SUV一区二区在线看| 日日夜夜青青草母狗| 色999偷自拍拍| 自拍欧美| 日本免费一区二区不卡| 99热线麻豆 | 欧美97se| 玖玖久久久| 插入逼91| 91丨国产丨白浆秘 洗澡动漫| 玖玖综合网| 东京热一区二区中文字幕| 综合网亚洲| 久久国产熟女影院| 黄色大香焦1级‘′‘| 久久这里只精品99re66图 | 97精品综合久久网| 天美精品一区二区三区四区在线观看| 久久久久密臀视频| 欧美日韩国产中文精品字幕自在自线| 自怕偷自怕亚洲精品| 人人妻人人爽 97人人看碰人免费公开视频| 欧美传媒| 日韩人妻精品久久久久| 91嫩草欧美| 91日韩网站| 亚洲无992tv| 国产亚洲美日韩Aⅴ中文字幕无码成人| 97爱啪| 久久网亚洲| 久久久久国产一区二| 国产女人与拘做受视频免费| 久久久久久久久久久免费精品| 国产精品午夜AV完会免费| 加勒比综合88| 久操电影| 日韩在线地址一| 免费少妇一区二区| 国产精品干干干| 欧美一级久久久久久久大片动画 | 日韩精品亚洲专区在线影视| 日本高清一区二区在线| 成人精品在线观看| 九九热免费国产视频婷婷伊人| 欧美性猛交美女自慰91| 久久超碰、| 欧美999999| av草草在线电影| 91色夜| 97精品免费| 人妻一区二区三区视频| 免费作爱一级视频| 亚洲一区二区三区播放在线| 综合网91| 久热影视| 亚洲午夜福利视频| 日产狠狠干| 九九英色视频| 老鸭窝日丰县女人| 色综91| 久久久久久国产成人| 日韩精品1区2区中文字幕| 精品一二三区久久AAA片| 九月色婷婷| 亚洲永久AV无码精品秋霞| 中文字幕诱惑制服人妻丝袜美丝袜美 | 五十路熟女工口| 日本精品一区二区三| 草草草视频| 国产女人高潮嗷嗷嗷叫小说| 99久在线精品99re8| 啪啪91| 久久人体一区二区| 网友自拍第一页| 奇米狠999| 欧美后进式| 97精品久久久久中文字幕| 男人的天堂VA| 日韩精品在线观看观看| 欧美精品第3页| 欧美猛交黑寡妇中文字幕| 亚洲天天自拍| 天天艹天天日| 青青草九九九九九| 久久精品无码熟妇一区二区三区视频导航 | 影音先锋日本乱伦| 熟女乱伦二区| 亚洲色图 图片| 久久69| 91人妻Pr| 久久草视频污视频| 国产精品999aaa| 六十路日本| 婷婷美人网| 无遮挡男女激烈动态图| 亚洲欧美中文日韩视频中国语| 综合 青草 伊久久 影院 综合 | 超碰97人妻免费在线| 精品国产无码中文| 黄色成品网站| 欧美自拍偷拍综合图片| 亚洲精品久| 日本亚欧爱爱| 性爱综合一区二区| 久久9精品视频| 久久伊人影院| 婷婷久久五月天| 日本久久久精品电影| 人干人人人操人人摸| 国产传媒美日韩av| 无码一区免费在线不卡| 欧日韩不卡视.频| 97视频播放| 97久久超碰| 色路综合| 五月婷婷五月天| 91女日逼| 一区二区偷拍拍视频| 天天欧美| 国产精品老熟女一区二区| 一本色道久久综合精品婷婷| 99操碰| 600国产精品视频| 日本一级一级一级一级| 高清无码91| 男人的天堂啪啪啪啪啪蜜桃不卡| 91国产丝袜白虎| 97色婷| 久久系列| 91丝袜美腿网站| 欧美v亚洲v综合v国产v妖精| 97超碰色屌| 国产精品视频麻豆入口| 久久久噜噜噜久久久| 日韩99999| 殴美牲| 精品国产Av无码久久久亚洲| 日本 免费 一区二区三区 久久香蕉| 久久超碰国产一区二区三区| 东北女人| 熟女人妇一区二区三区| 超碰色大香蕉| 极品丝袜无码| 伊人精品久久网站| 91综合天天看| 亚洲图片欧美日韩| 亚洲 欧美 制服 另类 自拍| 亚洲男人的天堂网| 日韩人妻无码专区| 亚洲中文字幕在线视频一区二区| 欧美日韩国产电影| 果冻国产精品麻豆成人av| 亚洲小说视频| 麻豆福利视频导航| 日本精品高清一二区一本到| 久久久久99999| 日本丝袜美腿人妻九九| 综合操逼| 色吧91| 91美女視頻| 91久久精品蜜臀| 女同女同恋久久级三级| 99精品无码| 草b在线 | 最新精品久久蜜桃| 亚洲欧美中文日韩视频中国语| 成人线上超碰| 久久久熟女一区| 久妇网| 小情侣高清国产在线视频| 屁股久久久久久久久久| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 激情抓乳插进去啪啪啪日韩 | 久久精品视| 丰满少妇一区二区三区专区| 国产中文字幕曰本毛片| 精品国产三级av韩国在线| 玖玖综合视频| 亚洲五区熟女| 亚洲中文字幕97久久精品少妇| 午夜AV人气不卡| 亚洲天堂一区| 婷婷人妻激情| 制服丝袜第二页| 久久精品亚洲东京热色播| 激情av| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 欧美72网页| 天堂九九九九九九九九九| 翔田千里无码一区| 青青草日本中文字幕 | 亚洲成人ab| 久久精品一区一起草| 欧美白嫩在线放| 中文字幕91综合| 九九热免费视频| 日本一本道A级黄色毛片试看60分钟| a片在线播放| 天天做天天爱| 蜜臀久久久99久久久久| 蜜臀99久久精品| 久久成人网站| 亚洲男人的天堂网| 久久伊人青青草| 超碰1024久久| 99天天超碰| 黄色小说亚洲| 日本天堂网| 亚洲精品一区二区三区新线路| 99热这里都是精品| 丁香色婷婷| 国产无马av| 人人扣人人操| 九九伊人网| 激情婷婷| 麻豆天美电影一区二区| 欧美亚洲综合色| 性色avv| 国产人伦精品一区二区三区| 久久久亚洲精品电影免费看| 日韩99神马视频播放片在线播放| 又大又白奶子| 午夜情侣自拍网站| 亚洲AV资源| 丰满精品人妻少妇久久字幕| 欧美日韩亚洲五月天婷婷| 久久伦理视频久久大香蕉视频| 色九九九综合| 另类专区加勒比| 在线啊啊啊| 亚洲色电影在线| 麻豆天美91| 欧美一二三级精品在线| 欧美强奸乱能| 色五月首页| 九色 人妻 大香蕉| 粉嫩少妇自慰在线| 亚洲国产亚洲天堂| 易易A毛视频| 九九九热| 操逼逼福利视频| 欧美在线干| 骚乳在线| 欧美亚洲综合999| www.男人的天堂| AV乱伦国产| 色欲蜜臀AV| 综合熟女| 欧美少妇性乱| 91N综合网| 欧美区亚洲区偷拍区 | rivers-china.com| 国产激情在线| 经典丝袜一区| 欧美78P| 为用户提供免费看黄网址在线观看| 18禁的网站在线| 久久久一区二区三区四曲免费听| 欧美成人亚洲精品| 久久精品综合| 日本αv| 色欲天天综合网| 97香蕉人人乳| 国产麻豆91欧美一区二区久久婷婷国产精品 | 8x福利精品第一福利视频导航| 国产无码一二三区| 九一综合精品视品av| 97伦乱| 国产精品日本无码A片| 黑人无码一区二区| 天美一二三在线观看Av| 一本色道人妻久久| 色天使亚洲综合在线观看| 亚州伊人色综台| 97视频新免费| 99re免费视频精品全部| 综合激情婷婷| 蜜桃狠狠色伊人亚洲综合 | 91P0RNY大屁股人妻| 九久9精品| 在线小视频| 69XX一中文字幕人妻91| 久久婷婷五月天| 中文熟女五十乱码在线| 日韩成人精品| 大香蕉手机在线视频| 天天舔日美女视频| 久久久久亚洲Aⅴ无码| 91国产大片| 国产在线视频午夜精华在| 性爱综合网| 色哟哟av| 乱伦3P视频| 9999九九九久久久| 天天视频网站黄| 观看视频图片一区二区三区| 丰满人妻-区二区三区免费看 | 日韩AV电影网站| 亚洲中文字幕熟女少妇一区二区| 欧美疯狂做爰xxxx| 夜夜做夜夜爽精品视频| 久草免费福利在线播放| 少妇人妻精品| 日本人妻中文字幕精品| 97色欧州| 涩涩涩综合| 极品粉嫩少妇视频| 69少妇一区二区| 中出789在线视频| 日本黄色大片一级视频免费麻豆| 人妻啊啊人妻啊| 日韩精品熟妇| 操操逼视频| 91/欧美| 思思热er精品视频| 91女优在线观看| 国产精品免费视频人成| 国产又长又大又粗的视频| 26uuu国产免费观看| 超碰 国产熟女精品一区| aaaa少妇高潮大片| 日日AAvv| 婷婷六月色| 超碰免费97| 人妻美腿丝袜制服诱惑综合天堂-| 黑人娇小av在线播放| 国产天天骚| AA级电影三区| 人妻素股| 超碰碰碰碰| 亚欧色图在线激情| 男人久久精品| 极品色www影院| 色综合天天爱去电影网| 欧美天天谢综合网| 四虎影视永久在线免费| 欧美日日人人天天| A久久| 激情婷婷综合久久| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 99熟女| 国产无码成人无码| 亚爽爽爽爽爽爽爽爽| 免费A V在线播放| 9久久精品| 精品人妻视频一区二区三区蜜桃视频| 思思热在线cao| 欧美操逼录像国产黄色国产| 久久久不能久久久久| 成年女人黄网站| 性91| 使劲用力艹少妇视频一区二区| 国产高潮AA片免费看| 试看日韩黄片| 青青草国产一区二区三区| 大胆91| yellow网站免费观看日韩高清无码| 殴美色网| 欧美天堂超碰97| 久久99网站| 麻花豆传媒剧国产MV出差| 欧美一区二区| 香蕉免费一区二区三区不读 | 91丝袜在线观看| 九七人妻在线| 青青草吊丝| 九九久久99| 在线a亚洲视频播放在线| 久久久工口| 96久久精品一二三区色欲| 精品无码久久久久久久久果冻糖心| 超碰在线97国产| 乱人伦 国语对白:视频直接看| 无码天天操| 亚洲精品国产精品成人| 91日韩网站| 一区二区三区色综合| 日本天天吊| 久操大香蕉| 伊人激情五月天一区二区| 精品人妻中文字幕高清| 人妻激情视频| 日韩高清一二三| 怡春苑东京热| 日本免费不卡二区| 狠狠操狠狠| 丁香五月激情综合国产| 2020中文在线一区二区三区| 中文字幕三四区| 亚洲交性| 熟女少妇视频| 限制级中的三级片中的黑粗大屌屌日人妻熟女| 五月天色电影| 欧美日韩理论一区| 少妇高潮99p| 欧美夜夜狠| 狠狠干狠狠色| 五月天丁香网| 国产大学生高潮在线播放| 久草国产在线视频| 国产亚洲美日韩Aⅴ中文字幕无码成人| WWW.操逼.COM| 亚洲网站一区二区在线| 伊人加勒比| 好属操| 天堂性色| 亚洲欧美999| 天天综合网91| 又粗又长又大国产不卡| 96久久久| 成年无码动漫av片无尽在线| 亚洲天天操| 精品九九九| 国内偷拍精品一区二区| 大学生美女口爆| 日本视频在线中文字幕| 色综合加勒比| AV一起草在线| 少妇啪啪自拍| 综合免费无码中文| 日本高清_区二区三区| 亚洲成人性爱在线观看| 激情接吻视频久久久久久| 日本护士高潮| 91狠狠综合久久| 男人天堂2019亚洲| 欧美日韩国产中文精品字幕自在自线, | 欧美中文字幕一区| 亚洲第一二区另类图| 噜噜噜亚洲精品| 久久久久人| 欧美九九九| V A在线| 免费一级精品啪啪视频| 强奸乱伦中文字幕AV| 综合五月婷婷| 少妇毛片久久| 精品欧美日韩在线观看| 加勒比海人人操超碰在线| 啪啪视频免费在线观看| 欧美综合娱乐久久| 久久久国产三级黄色片| 久久国色天香香蕉| 亚洲综合九| 大干人妻| 亚洲色图日韩丝袜制服一区二区五月在线| 俞拍自拍| 欧亚日韩中文在线| 操www| 国产精品久久久久久久久AV大片| 欧美精品第3页| 自拍欧美| 欧美色图另类图片| 亚洲春色一区二区三区| 日本高清有码网址视频| 亚洲 欧美都市激情| 伊人991| 美女高潮国产高清| 岛国大片国产| 色婷婷亚洲婷婷| 久久m| 日本媚薬中文字幕在线| 欧美性爱18观看| 丁香婷婷啪啪| 国产熟女二区| 最近二区三区视频大全| 国产精品999zyz| 午夜精品99久久久久传媒| 国产一区二区久久| 99热在线播放| 99热只有这里有精品| 男人天堂站| 成人青青草原伊人| 久久人人舔人人爽舔人人av片| 亚洲色图久久成人| 欧美丰满少妇交换91欧美精品| 国产视频人人网| 综合婷婷| 任我爽在线视频免费观看| 国产性爱强奸乱伦大全| 五月丁香激情啪啪| 射丝袜大香蕉| 黑人精品一区二区在线播放| 婷婷六月色| 久久久久幕乱码| 尤物黄色在线观看网站| 91女网站| 欧美色图第一页| 免费啪啪啪网站18岁| 啊啊啊不要啊啊受不了了视频在线| 青娱乐91| 九九综合久久| 伊人嫩草| 凸凹视频在线观看| 久草精品一区| 亚欧性爱无码| 少妇人妻无码| 亚洲日韩人妻中文字幕一区| 久久极品一区二区| 自拍六区| 婷婷性爱| 青青草色AV| 丰满的三级少妇欧美久久久| 欧美午夜视频| 人人妻人人爽 97人人看碰人免费公开视频| 亚洲第一页色| 久久 精品| 天天爱天天韩国日本牛牛牛牛 | 伊人黄色片| 欧美久久久15P| 国产传媒午夜理伦精品| 天天综合网在线| 无码人妻一区二区三区色欲aⅴ| 97超碰色五月| 思思热一热婷婷热一热| 亚洲激情色片 | 性欧美第一页| 欧美日韩999| 亚洲 欧美 色图| 国产欧美美女免费观看视频| 国产强奸乱伦无码视频| 亚洲美女精品| 飘花国产午夜精品不卡| 国产又黄又爽| 97色欧洲| 国产原创自拍| 日韩欧美性吧婷婷乱伦大香蕉| 亚洲AO在线| 国产性爱在线视频一区二区| 嗯嗯啊啊好大好爽| 中文字幕免费看大片| 97鸡把在线视频| 久久国产精品91| 国产又黄又爽又刺激久久久久久 | 日韩在线一区高清在线| 亚洲青青草| 一级黄色影片| 欧美成人性爱视频在线播放 | 中日韩熟女| 色综合天天爱去电影网| xxx亚洲午夜天堂| 可能人人看人人摸| 亚洲精品国产拍免费91在线| 精品.99999| 青娱乐国产精品| 日日骚中文字幕| 中文幕97| 狠狠操狠狠| 人人摸.人人色| 骚鸭AV| 黑人天8A∨高清网站| 黄色网址在线免费观看| 97AV在线观看| 一区二区三区成人| 东京日日夜夜| 欧美亚洲色图另类国产| 97久久久久| 和协影院中文字幕三区| 激情五月天婷婷| 可以在线观看的黄色网址| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 免费国产电影一区二区| 婷婷九月丁香| 亚洲综合有玛| 操操啪| 超碰成人公开| 久久久久九九九| 国产又长又大又粗的视频| 台湾佬中文娱乐自偷自拍| 999国产精品999| 国产又色又粗又黄又爽| 久久久久久加勒比| 99热日| 久久偷拍人| 91在线页| 一区二区娱乐网站| 精品人妻1区| dy888午夜老子影视达达兔 | 五月激情影院| 熟女色综合久久| 国产中文字幕在线点播| 91老熟女视频| 亚洲成人在线乱码色午夜| 成人十八禁日韩欧美一二三| 久久熟女人| 狠狠穞A片一區二區三區| 亚洲αv一区二区三区| 久久 国产 无码| 精品亚洲| 中文久久久| 亚洲小说视频| 日韩欧美~中文字| 日产123区精品免费观看| 1区2区3区中文字幕日韩| 91女人的网站| 蜜桃视频精品一区二区| 激情四射五月天| 欧美v亚洲v日韩v最新在线二区| 日韩精品一区二区日韩| 十八禁视频一区二区| 日韩欧美性爱电影在线观看| 夜色91| 91色婷婷综合久久中文字幕二区| 熟妇高潮二区三区| 97天天插| 尤物视频偷拍免费| 肉丝中文无码高清| 99re热| 东京热大香焦| 99999这里都精品| 毛片麻豆91糖心精品毛情片| av72网| 无毛精品| 国产suv精品一区二六| 欧美日韩亚洲国产中文永久天天看| 9 9无尺码天堂网| 亚洲熟女乱色一区二区三区久久久| 欧美性爱一区| 黄资源| 熟妇精品juliaannAV| 亚洲欧美成人在线| 成片免费观看视频大全| 新亚洲无码| 亚洲欧美成人网站AAA| 午夜爽爽爽| 大香蕉狠狠爱| 大香蕉欧美| 人妻一区二区三区熟女| 极品白嫩美少妇在地板上位骑射淫水泛滥| 亚洲国产综合图区中文字幕| 麻豆天美91|