化:Scepsy聚合LLM管道架構(gòu)與工程實(shí)踐)
1. 項(xiàng)目概述當(dāng)智能體工作流需要“上產(chǎn)線”最近在折騰大模型應(yīng)用落地的朋友估計(jì)都繞不開一個(gè)詞Agentic Workflows智能體工作流。簡(jiǎn)單說這不再是讓單個(gè)大模型LLM回答一個(gè)問題而是把多個(gè)LLM、工具、判斷邏輯像流水線一樣串聯(lián)起來完成一個(gè)復(fù)雜的、多步驟的任務(wù)。比如你給一個(gè)需求“分析上周的銷售數(shù)據(jù)并生成一份給CEO的PPT報(bào)告”一個(gè)智能體工作流可能會(huì)自動(dòng)分解為調(diào)用數(shù)據(jù)分析API、讓LLM總結(jié)洞察、再讓另一個(gè)LLM根據(jù)洞察生成大綱和文案最后調(diào)用PPT生成工具。想法很美好但當(dāng)你真想把這樣一套工作流部署上線提供穩(wěn)定、高效的服務(wù)Serving時(shí)頭疼的事就來了。單個(gè)模型的服務(wù)已經(jīng)夠復(fù)雜了現(xiàn)在是一整條動(dòng)態(tài)的、可能分支的“流水線”如何管理它們的生命周期、調(diào)度計(jì)算資源、保證端到端的延遲和穩(wěn)定性這就是Scepsy這個(gè)項(xiàng)目要啃的硬骨頭。它不是一個(gè)具體的開源工具目前看來更像一個(gè)概念或設(shè)計(jì)范式但其核心思想——使用聚合的LLM管道Aggregate LLM Pipelines來服務(wù)智能體工作流——為我們提供了一個(gè)極具參考價(jià)值的架構(gòu)藍(lán)圖。它直指當(dāng)前AI工程化中的核心痛點(diǎn)如何將實(shí)驗(yàn)階段的、脆弱的智能體鏈路變成可靠、可擴(kuò)展的線上服務(wù)。2. 核心思路拆解從“手工作坊”到“自動(dòng)化產(chǎn)線”要理解Scepsy的價(jià)值得先看看我們通常是怎么折騰智能體工作流的。2.1 傳統(tǒng)智能體開發(fā)的“阿喀琉斯之踵”在原型或小規(guī)模測(cè)試階段我們常見的做法是寫一個(gè)腳本用LangChain、LlamaIndex這類框架把幾個(gè)LLM調(diào)用和工具調(diào)用串起來。代碼可能長(zhǎng)這樣偽代碼def agentic_workflow(user_query): # 步驟1規(guī)劃 plan llm_a.call(f為這個(gè)任務(wù)制定計(jì)劃: {user_query}) # 步驟2執(zhí)行子任務(wù)1 result1 tool_b.execute(plan.step1) # 步驟3基于結(jié)果反思或決策 reflection llm_c.call(f評(píng)估結(jié)果: {result1}是否需要調(diào)整計(jì)劃) if reflection.need_adjust: plan llm_a.call(f調(diào)整計(jì)劃: {reflection.suggestion}) # 步驟4執(zhí)行子任務(wù)2... # ... return final_result這種模式我稱之為“手工作坊式”開發(fā)存在幾個(gè)致命問題資源管理黑洞每個(gè)llm.call()都可能占用大量GPU內(nèi)存且執(zhí)行時(shí)間不確定。當(dāng)多個(gè)工作流并行時(shí)極易因一個(gè)環(huán)節(jié)的阻塞或資源競(jìng)爭(zhēng)導(dǎo)致整個(gè)服務(wù)雪崩。狀態(tài)管理混亂工作流的中間狀態(tài)如planresult1通常保存在內(nèi)存變量中。一旦服務(wù)重啟或?qū)嵗龜U(kuò)容狀態(tài)丟失工作流無法恢復(fù)。可觀測(cè)性極差很難追蹤一個(gè)請(qǐng)求到底經(jīng)過了哪些LLM、調(diào)用了哪些工具、每個(gè)步驟耗時(shí)多少、消耗了多少Token。出了問題排查像大海撈針。擴(kuò)展性不足難以針對(duì)工作流中某個(gè)高頻或耗時(shí)的環(huán)節(jié)例如特定的工具調(diào)用進(jìn)行獨(dú)立擴(kuò)縮容。Scepsy提出的“聚合LLM管道”范式正是為了系統(tǒng)性地解決這些問題。它的核心思想是把一個(gè)智能體工作流建模成一個(gè)由多個(gè)LLM處理單元或更廣義的“處理器”組成的、有向無環(huán)的管道并對(duì)這個(gè)管道進(jìn)行整體化的調(diào)度、管理和服務(wù)。2.2 “聚合管道” vs. “簡(jiǎn)單串聯(lián)”本質(zhì)區(qū)別“聚合”Aggregate這個(gè)詞是關(guān)鍵。它不是簡(jiǎn)單地把幾個(gè)LLM調(diào)用順序執(zhí)行而是將整個(gè)工作流視為一個(gè)可被整體調(diào)度和優(yōu)化的計(jì)算圖。簡(jiǎn)單串聯(lián)視角是“控制流”。代碼順序執(zhí)行關(guān)注“下一步做什么”。資源是隨用隨申請(qǐng)用完即釋放缺乏全局視角。聚合管道視角是“數(shù)據(jù)流”和“資源流”。將工作流定義為一個(gè)靜態(tài)或動(dòng)態(tài)的計(jì)算圖每個(gè)節(jié)點(diǎn)是一個(gè)處理單元LLM、工具、判斷邏輯邊是數(shù)據(jù)依賴。一個(gè)中心的調(diào)度器擁有全局視圖負(fù)責(zé)將整個(gè)管道的工作負(fù)載映射到后端的GPU集群或其他計(jì)算資源上。管理節(jié)點(diǎn)間的數(shù)據(jù)流動(dòng)中間狀態(tài)。實(shí)施全局的并發(fā)控制、故障恢復(fù)和優(yōu)先級(jí)調(diào)度。這就好比從“每個(gè)工匠自己找工具、等材料”的手工作坊升級(jí)到了“中央調(diào)度系統(tǒng)根據(jù)工序圖紙將原料和任務(wù)分派到不同工位”的自動(dòng)化產(chǎn)線。3. Scepsy架構(gòu)的核心組件與設(shè)計(jì)原理基于上述思路我們可以勾勒出一個(gè)Scepsy風(fēng)格的服務(wù)系統(tǒng)應(yīng)有的核心組件。雖然具體實(shí)現(xiàn)可以多樣但其設(shè)計(jì)原則是相通的。3.1 工作流定義與編譯層首先需要一種方式來描述智能體工作流。高級(jí)框架如LangChain的LCEL已經(jīng)允許我們以鏈?zhǔn)交驁D式的方式定義流程。Scepsy系統(tǒng)需要能接收這種定義并將其“編譯”或“轉(zhuǎn)換”為內(nèi)部調(diào)度器能理解的、更底層的執(zhí)行圖。這個(gè)圖需要包含節(jié)點(diǎn)標(biāo)識(shí)一個(gè)處理單元。節(jié)點(diǎn)類型可以是LLM調(diào)用指定模型、參數(shù)、工具調(diào)用API、函數(shù)、條件判斷、循環(huán)控制等。邊標(biāo)識(shí)數(shù)據(jù)依賴和流向。邊上有數(shù)據(jù)格式的約定。資源需求標(biāo)注每個(gè)節(jié)點(diǎn)可以聲明其預(yù)估或所需的計(jì)算資源如GPU內(nèi)存大小、預(yù)期執(zhí)行時(shí)間。這是實(shí)現(xiàn)智能調(diào)度的基礎(chǔ)。實(shí)操心得在這一層定義語言的表達(dá)能力與簡(jiǎn)潔性需要權(quán)衡。過于復(fù)雜會(huì)影響用戶體驗(yàn)和編譯效率過于簡(jiǎn)單則無法描述復(fù)雜的Agent邏輯。一個(gè)可行的方案是支持主流框架的導(dǎo)出格式同時(shí)提供一套本系統(tǒng)的DSL領(lǐng)域特定語言用于描述更精細(xì)的控制和資源需求。3.2 全局調(diào)度器與資源管理器這是系統(tǒng)的大腦也是最復(fù)雜的部分。它需要對(duì)接一個(gè)GPU集群或其他異構(gòu)計(jì)算資源池并完成以下任務(wù)資源抽象與池化將集群中的GPU、CPU、內(nèi)存等資源統(tǒng)一抽象管理形成資源池。調(diào)度器掌握全局資源視圖。圖調(diào)度與任務(wù)分配當(dāng)一個(gè)工作流實(shí)例一個(gè)用戶請(qǐng)求到達(dá)時(shí)調(diào)度器分析其執(zhí)行圖根據(jù)節(jié)點(diǎn)資源需求、依賴關(guān)系以及當(dāng)前集群負(fù)載決定每個(gè)節(jié)點(diǎn)在哪個(gè)具體的物理設(shè)備上執(zhí)行。這涉及到經(jīng)典的任務(wù)調(diào)度算法如考慮數(shù)據(jù)局部性、避免資源碎片、滿足延遲約束等。狀態(tài)管理與持久化節(jié)點(diǎn)間傳遞的中間狀態(tài)即工作流的上下文不能只放在內(nèi)存。調(diào)度器需要將其與一個(gè)可靠的存儲(chǔ)系統(tǒng)如Redis、數(shù)據(jù)庫或?qū)ο蟠鎯?chǔ)對(duì)接實(shí)現(xiàn)狀態(tài)的持久化和跨節(jié)點(diǎn)的共享。這樣即使某個(gè)節(jié)點(diǎn)執(zhí)行失敗或?qū)嵗貑⒐ぷ髁饕部梢詮纳弦粋€(gè)持久化點(diǎn)恢復(fù)。生命周期管理負(fù)責(zé)工作流實(shí)例的創(chuàng)建、啟動(dòng)、暫停、恢復(fù)和終止。對(duì)于長(zhǎng)時(shí)間運(yùn)行的工作流例如需要等待外部回調(diào)的調(diào)度器需要能將其掛起以釋放資源待事件觸發(fā)后再喚醒。3.3 節(jié)點(diǎn)執(zhí)行引擎這是系統(tǒng)的“四肢”負(fù)責(zé)在指定的資源上實(shí)際運(yùn)行處理單元。它可能是一個(gè)輕量級(jí)的容器或進(jìn)程內(nèi)部封裝了與LLM API如OpenAI、 Anthropic、或本地部署的vLLM/TGI實(shí)例的交互邏輯。工具的執(zhí)行環(huán)境。從狀態(tài)存儲(chǔ)中讀取輸入數(shù)據(jù)并將輸出寫回狀態(tài)存儲(chǔ)。向調(diào)度器上報(bào)心跳、執(zhí)行進(jìn)度和結(jié)果。為了提高效率節(jié)點(diǎn)執(zhí)行引擎可以設(shè)計(jì)成支持批處理。調(diào)度器可以將多個(gè)工作流中相同類型的節(jié)點(diǎn)例如都是調(diào)用同一個(gè)GPT-4模型進(jìn)行摘要合并成一個(gè)批次一次性發(fā)給LLM服務(wù)端從而大幅提升GPU利用率和吞吐量。3.4 可觀測(cè)性與監(jiān)控層對(duì)于生產(chǎn)系統(tǒng)這是不可或缺的。需要收集全鏈路的指標(biāo)性能指標(biāo)每個(gè)工作流、每個(gè)節(jié)點(diǎn)的端到端延遲、Token消耗、GPU利用率。業(yè)務(wù)指標(biāo)工作流成功率、各節(jié)點(diǎn)失敗率、自定義的質(zhì)量評(píng)分。追蹤為每個(gè)請(qǐng)求生成唯一的Trace ID貫穿所有節(jié)點(diǎn)方便在分布式系統(tǒng)中定位問題。這些數(shù)據(jù)應(yīng)能接入Prometheus、Grafana等標(biāo)準(zhǔn)監(jiān)控棧并支持靈活的查詢和告警設(shè)置。4. 關(guān)鍵實(shí)現(xiàn)細(xì)節(jié)與避坑指南紙上談兵終覺淺我們來聊聊真正實(shí)現(xiàn)這樣一個(gè)系統(tǒng)時(shí)會(huì)遇到的“坑”和實(shí)戰(zhàn)技巧。4.1 工作流狀態(tài)存儲(chǔ)的設(shè)計(jì)狀態(tài)存儲(chǔ)是保證可靠性的基石。設(shè)計(jì)時(shí)需要考慮存儲(chǔ)選型高速KV存儲(chǔ)如Redis性能好適合存儲(chǔ)較小的中間狀態(tài)。但需注意數(shù)據(jù)結(jié)構(gòu)的序列化/反序列化開銷以及Redis內(nèi)存容量限制。對(duì)于包含大文本或文件的狀態(tài)可能不適用。文檔數(shù)據(jù)庫如MongoDB靈活能存儲(chǔ)復(fù)雜的嵌套結(jié)構(gòu)。但讀寫性能可能不如Redis。對(duì)象存儲(chǔ)如S3/MinIO 元數(shù)據(jù)索引將大的輸出如圖片、長(zhǎng)文本存在對(duì)象存儲(chǔ)只在元數(shù)據(jù)存儲(chǔ)如數(shù)據(jù)庫中保存引用和關(guān)鍵信息。這是一種混合策略適合狀態(tài)體量差異大的場(chǎng)景。狀態(tài)版本與快照工作流執(zhí)行中狀態(tài)是不斷演進(jìn)的。應(yīng)該支持保存關(guān)鍵節(jié)點(diǎn)的狀態(tài)快照以便快速回滾到某個(gè)檢查點(diǎn)而不是只能從頭開始。數(shù)據(jù)清理策略工作流完成后其狀態(tài)數(shù)據(jù)需要被清理否則存儲(chǔ)會(huì)無限增長(zhǎng)。可以設(shè)置基于TTL生存時(shí)間的自動(dòng)清理或由工作流定義最終節(jié)點(diǎn)觸發(fā)清理。踩坑記錄早期我們嘗試把所有狀態(tài)包括幾十KB的文本都塞進(jìn)Redis很快內(nèi)存就告急了。后來改為“小狀態(tài)存Redis大輸出超過10KB寫S3Redis只存S3路徑”成本降了80%。另一個(gè)坑是序列化格式開始用JSON后來發(fā)現(xiàn)對(duì)二進(jìn)制數(shù)據(jù)不友好換成了MessagePack體積和性能都有改善。4.2 GPU集群調(diào)度策略的權(quán)衡調(diào)度算法直接決定集群利用率和請(qǐng)求延遲。這里有幾個(gè)關(guān)鍵決策點(diǎn)調(diào)度粒度工作流級(jí)調(diào)度將一個(gè)工作流的所有節(jié)點(diǎn)盡量調(diào)度到同一臺(tái)物理機(jī)或鄰近的機(jī)器上以減少網(wǎng)絡(luò)傳輸開銷。適合節(jié)點(diǎn)間數(shù)據(jù)傳輸量大、對(duì)延遲敏感的場(chǎng)景。節(jié)點(diǎn)級(jí)調(diào)度將每個(gè)節(jié)點(diǎn)獨(dú)立調(diào)度到當(dāng)時(shí)最合適的資源上追求全局資源利用率最大化。適合節(jié)點(diǎn)間耦合度低、計(jì)算密集型為主的場(chǎng)景。混合策略通常是更優(yōu)解。調(diào)度器先嘗試進(jìn)行工作流級(jí)的“親和性”調(diào)度如果資源不滿足再拆開進(jìn)行節(jié)點(diǎn)級(jí)調(diào)度。資源預(yù)留 vs. 資源超售LLM推理的GPU內(nèi)存需求是相對(duì)固定的。預(yù)留策略安全但可能導(dǎo)致資源閑置例如一個(gè)需要40GB的模型占了一張A100但實(shí)際峰值使用可能只有30GB。超售基于歷史數(shù)據(jù)或?qū)崟r(shí)監(jiān)控讓多個(gè)任務(wù)共享GPU內(nèi)存能提升利用率但有OOM內(nèi)存溢出風(fēng)險(xiǎn)。一個(gè)折中的辦法是對(duì)延遲敏感的生產(chǎn)任務(wù)采用預(yù)留對(duì)批量任務(wù)或開發(fā)環(huán)境采用超售。隊(duì)列與優(yōu)先級(jí)必須實(shí)現(xiàn)多級(jí)優(yōu)先級(jí)隊(duì)列。高優(yōu)先級(jí)的用戶請(qǐng)求或關(guān)鍵業(yè)務(wù)工作流應(yīng)該能搶占或排到低優(yōu)先級(jí)任務(wù)前面。同時(shí)要為“研發(fā)測(cè)試”類的任務(wù)設(shè)置最低優(yōu)先級(jí)避免影響線上服務(wù)。4.3 故障處理與容錯(cuò)機(jī)制智能體工作流長(zhǎng)鏈路、多依賴故障是常態(tài)。系統(tǒng)必須具備韌性。節(jié)點(diǎn)級(jí)重試某個(gè)LLM調(diào)用因網(wǎng)絡(luò)抖動(dòng)或服務(wù)端限流失敗應(yīng)能在該節(jié)點(diǎn)自動(dòng)重試可配置重試次數(shù)和退避策略。工作流級(jí)恢復(fù)如果節(jié)點(diǎn)重試多次仍失敗或遇到了不可恢復(fù)錯(cuò)誤如工具API永久失效工作流不應(yīng)完全崩潰。可以設(shè)計(jì)備選路徑。例如在定義工作流時(shí)可以為關(guān)鍵節(jié)點(diǎn)指定“降級(jí)處理器”fallback handler當(dāng)主處理器失敗時(shí)自動(dòng)切換到降級(jí)方案比如換一個(gè)更穩(wěn)定的模型或返回一個(gè)友好的錯(cuò)誤信息給用戶。超時(shí)控制為每個(gè)節(jié)點(diǎn)和工作流整體設(shè)置超時(shí)時(shí)間。防止因某個(gè)環(huán)節(jié)“卡死”而耗盡系統(tǒng)資源。超時(shí)后應(yīng)觸發(fā)清理并返回明確的錯(cuò)誤。死信隊(duì)列對(duì)于經(jīng)過重試和恢復(fù)后仍然失敗的工作流實(shí)例不應(yīng)簡(jiǎn)單丟棄。應(yīng)將其上下文和錯(cuò)誤信息送入死信隊(duì)列供后續(xù)人工排查或自動(dòng)化分析這是改進(jìn)系統(tǒng)穩(wěn)定性的寶貴數(shù)據(jù)。5. 性能優(yōu)化與進(jìn)階技巧當(dāng)系統(tǒng)能穩(wěn)定運(yùn)行后下一步就是追求極致的性能和成本效率。5.1 批處理與持續(xù)批處理這是提升GPU利用率的“王牌”。原理是將多個(gè)請(qǐng)求的輸入動(dòng)態(tài)地組合成一個(gè)批次送給LLM推理引擎。靜態(tài)批處理適用于離線或延遲不敏感的場(chǎng)景。攢夠一定數(shù)量的請(qǐng)求或等待一段時(shí)間后統(tǒng)一處理。持續(xù)批處理這是在線服務(wù)的關(guān)鍵。以vLLM、TGI為代表的推理引擎支持這種模式。新請(qǐng)求到達(dá)時(shí)可以動(dòng)態(tài)插入到當(dāng)前正在進(jìn)行的批處理中已生成完部分Token的請(qǐng)求也可以提前退出批次實(shí)現(xiàn)請(qǐng)求的“亂序完成”。Scepsy的調(diào)度器需要與這類引擎深度集成才能發(fā)揮最大效能。實(shí)現(xiàn)要點(diǎn)調(diào)度器需要維護(hù)一個(gè)“就緒節(jié)點(diǎn)隊(duì)列”。當(dāng)隊(duì)列中有多個(gè)相同類型如相同模型、相同參數(shù)的LLM節(jié)點(diǎn)時(shí)將它們打包調(diào)用推理引擎的批處理API。同時(shí)需要精細(xì)控制批次大小避免因等待打包而引入過高的尾延遲。5.2 模型預(yù)熱與緩存策略模型預(yù)熱對(duì)于高頻使用的大模型可以在系統(tǒng)啟動(dòng)或空閑時(shí)提前將其加載到GPU顯存中避免第一個(gè)請(qǐng)求來時(shí)才加載造成冷啟動(dòng)延遲。調(diào)度器需要知道哪些模型是“熱”的并盡量將任務(wù)調(diào)度到已有模型的GPU上。結(jié)果緩存很多智能體工作流中不同用戶的請(qǐng)求可能包含相同或相似的子任務(wù)。例如查詢“北京今天的天氣”和“北京天氣怎么樣”經(jīng)過意圖識(shí)別后可能都會(huì)觸發(fā)同一個(gè)“獲取北京天氣”的工具調(diào)用。可以對(duì)確定性節(jié)點(diǎn)給定相同輸入必然產(chǎn)生相同輸出的節(jié)點(diǎn)如工具調(diào)用、某些模型調(diào)用的結(jié)果進(jìn)行緩存。這能極大減少對(duì)下游服務(wù)和計(jì)算資源的壓力。5.3 異構(gòu)計(jì)算與模型卸載不是所有環(huán)節(jié)都需要強(qiáng)大的GPU。工作流中的一些輕量級(jí)邏輯判斷、文本預(yù)處理/后處理完全可以在CPU上高效完成。智能卸載調(diào)度器應(yīng)能識(shí)別節(jié)點(diǎn)的計(jì)算類型。將LLM推理、大向量計(jì)算等任務(wù)調(diào)度到GPU而將JSON解析、字符串操作等任務(wù)調(diào)度到CPU資源池。這需要對(duì)集群進(jìn)行混合部署既有GPU節(jié)點(diǎn)也有高配CPU節(jié)點(diǎn)。邊緣計(jì)算結(jié)合對(duì)于一些對(duì)延遲要求極高、但計(jì)算量不大的初始環(huán)節(jié)如用戶輸入的安全過濾、基礎(chǔ)意圖分類甚至可以放在更靠近用戶的邊緣節(jié)點(diǎn)上執(zhí)行快速過濾無效請(qǐng)求減輕中心集群壓力。6. 從零搭建的簡(jiǎn)易實(shí)踐路線如果你被Scepsy的理念打動(dòng)想在自己的團(tuán)隊(duì)或項(xiàng)目中嘗試不建議一開始就追求大而全。可以遵循“演進(jìn)式架構(gòu)”的思路從簡(jiǎn)單開始逐步強(qiáng)化。第一階段單體應(yīng)用 任務(wù)隊(duì)列快速啟動(dòng)使用FastAPI或類似框架構(gòu)建一個(gè)Web服務(wù)作為入口。用Celery Redis作為Broker和結(jié)果后端管理異步任務(wù)。將整個(gè)智能體工作流封裝成一個(gè)Celery任務(wù)。在任務(wù)內(nèi)部仍然用你熟悉的LangChain等框架編寫工作流邏輯。狀態(tài)管理利用Celery的任務(wù)元數(shù)據(jù)或Redis臨時(shí)存儲(chǔ)中間狀態(tài)注意設(shè)置過期時(shí)間。優(yōu)點(diǎn)開發(fā)速度快利用成熟組件。缺點(diǎn)調(diào)度能力弱資源隔離差擴(kuò)展性有限。第二階段引入工作流引擎與資源隔離將“一個(gè)工作流一個(gè)Celery任務(wù)”拆解為“每個(gè)節(jié)點(diǎn)一個(gè)子任務(wù)”。引入如Prefect或Airflow這類更強(qiáng)大的工作流編排引擎來定義和調(diào)度節(jié)點(diǎn)間的依賴關(guān)系。使用Docker容器來封裝每個(gè)節(jié)點(diǎn)處理器的執(zhí)行環(huán)境實(shí)現(xiàn)資源隔離和環(huán)境一致性。開發(fā)一個(gè)中心化的“狀態(tài)服務(wù)”所有節(jié)點(diǎn)通過該服務(wù)讀寫共享的上下文。優(yōu)點(diǎn)具備了工作流編排、資源隔離和狀態(tài)管理的基本形態(tài)。缺點(diǎn)GPU調(diào)度仍需手動(dòng)管理缺乏全局優(yōu)化。第三階段自定義調(diào)度器與GPU集群管理當(dāng)?shù)诙A段的系統(tǒng)遇到性能瓶頸時(shí)考慮開發(fā)一個(gè)輕量級(jí)的自定義調(diào)度器。調(diào)度器監(jiān)聽待執(zhí)行節(jié)點(diǎn)隊(duì)列根據(jù)簡(jiǎn)單的策略如輪詢、最少負(fù)載將其分派到可用的GPU Worker節(jié)點(diǎn)上。GPU Worker節(jié)點(diǎn)是安裝了NVIDIA Docker Runtime的物理機(jī)或虛擬機(jī)負(fù)責(zé)拉取容器并執(zhí)行。使用Kubernetes來管理GPU Worker集群利用其自動(dòng)擴(kuò)縮容、健康檢查、故障恢復(fù)能力。你的調(diào)度器可以調(diào)用K8s API來啟動(dòng)Pod節(jié)點(diǎn)任務(wù)。優(yōu)點(diǎn)實(shí)現(xiàn)了基本的集群調(diào)度和彈性伸縮。此時(shí)你已經(jīng)擁有了一個(gè)簡(jiǎn)化版的Scepsy核心架構(gòu)。在整個(gè)演進(jìn)過程中可觀測(cè)性要從一開始就植入。在每個(gè)階段都要確保能收集到關(guān)鍵的日志、指標(biāo)和追蹤信息。構(gòu)建一個(gè)成熟的Scepsy式系統(tǒng)是一項(xiàng)復(fù)雜的工程涉及分布式系統(tǒng)、資源調(diào)度、AI工程等多個(gè)領(lǐng)域的知識(shí)。但它的愿景非常明確讓智能體工作流從實(shí)驗(yàn)室里的精巧玩具真正成長(zhǎng)為支撐核心業(yè)務(wù)的工業(yè)化生產(chǎn)線。這條路雖然漫長(zhǎng)但每解決一個(gè)實(shí)際問題都讓我們離這個(gè)未來更近一步。