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 缩容。
  • 容错能力:内置重试、超时机制,以及使用内容地址化引用的持久化资源存储。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目