maze-agent/Maze

A distributed framework for LLM agents

해결하는 문제

Maze는 에이전트 프로그램을 관측 가능하고 확장 가능한 워크플로우로 전환하기 위한 분산 프레임워크입니다. CPU, GPU, I/O와 같은 이종 컴퓨팅 리소스에서 복잡한 LLM 에이전트 작업을 관리하는 문제를 해결하며, 실행, 복구, 모델 서빙을 위한 유일한 API를 제공합니다.

작동 방식

Maze는 "Runs"를 관리하는 중앙의 Core와 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 스케일인을 적용.
  • 장애 내성: 내장된 재시도, 타임아웃, 콘텐츠 기반 주소화된 참조를 사용한 지속적 아티팩트 저장.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트