maze-agent/Maze

A distributed framework for LLM agents

解決的問題

Maze 是一個分散式框架,旨在將代理程式轉換為可觀測、可擴展的工作流程。它解決了在異構計算資源(CPU、GPU 和 I/O)上管理複雜 LLM 代理任務的問題,同時提供統一的 API 用於執行、復原與模型服務。

工作原理

Maze 使用中央 Core 來管理「Runs」,並透過 Ray 在工作節點叢集中分發任務。它支援靜態 DAG(透過 @workflow 或規格定義)以及執行時動態追加任務的動態工作流程。

主要技術元件包括:

  • 異構排程:為 GPU、CPU 和 I/O 分別設置佇列,防止資源阻塞,採用 FCFS 或 HACS 排程演算法。
  • 分散式模型執行:自動偵測本地檢查點,並按需部署 vLLM 或 Transformers 實例,將任務路由至可用模型,而不會阻塞資源佇列。
  • 持久化狀態:在程序重啟後仍持續保存任務狀態、日誌與內容位址化資源,確保容錯性。
  • 統一介面:提供 Python SDK、視覺化 Workbench(DAG 編輯器)與 CLI,皆與同一 Core API 互動。

適用對象

專為需要分散式執行、視覺化工作流程編排與高效 GPU 資源管理的複雜 LLM 基礎代理之開發者與研究人員設計。

主要亮點

  • 視覺化工作流程開發:具備 DAG 編輯器、任務目錄與叢集監控的 Workbench。
  • 資源感知排程:為不同硬體資源設置專用佇列,優化吞吐量。
  • 動態與靜態工作流程:同時支援預先定義的 DAG 與執行時追加任務。
  • 自動模型生命週期管理:按需部署與擴展模型實例(vLLM/Transformers),支援 LRU 縮容。
  • 容錯能力:內建重試、逾時機制,以及使用內容位址化引用的持久化資源儲存。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案