PrefectHQ/marvin

an ambient intelligence library

What it solves

Marvin은 LLM으로부터 구조화된 데이터를 얻고 복잡하고 에이전트형 AI 워크플로를 구축하는 과정을 단순화하도록 설계된 파이썬 프레임워크입니다. AI 출력의 예측 불가능한 특성과 전통적인 소프트웨어 요구 사항 사이의 격차를 메우며, 결과가 타입 안전하고 검증되도록 보장합니다.

How it works

Marvin은 AI 행동을 오케스트레이션하기 위한 고수준 유틸리티와 핵심 추상화를 제공합니다:

  • Structured-Output Utilities: extract, cast, classify, generate와 같은 간단한 함수들을 통해 사용자는 비구조화 텍스트를 파이썬 타입(예: 정수, Enum, TypedDict)으로 빠르게 변환할 수 있습니다.
  • Tasks: 작업의 기본 단위입니다. Task는 명확한 목표, 지시사항 및 필요한 결과 타입을 정의합니다. 작업은 외부 데이터나 시스템과 상호작용하기 위한 커스텀 도구(파이썬 함수)를 장착할 수 있습니다.
  • Agents: 특정 지시, 성격 및 모델을 캡슐화한 휴대 가능한 LLM 설정입니다. 에이전트는 작업에 할당되어 전문 지식을 제공합니다.
  • Threads: 여러 작업을 오케스트레이션하기 위해 사용되는 컨텍스트 매니저로, AI 작업 시퀀스 전반에 걸쳐 히스토리와 컨텍스트를 공유할 수 있게 합니다.
  • Planning: 프레임워크는 marvin.plan을 사용해 복잡한 목표를 일련의 종속 작업으로 자동 분해할 수 있습니다.

Who it’s for

프롬프트 엔지니어링을 많이 작성하거나 LLM 응답을 수동으로 파싱하지 않고도 AI 기반 애플리케이션을 구축하고자 하는 파이썬 개발자와, 관찰 가능하고 관리 가능한 워크플로를 갖춘 멀티 에이전트 시스템을 구축해야 하는 사람들을 위해 만들어졌습니다.

Highlights

  • Type-Safe Results: Pydantic AI를 사용해 검증된 구조화 출력을 제공합니다.
  • Task-Centric Architecture: 복잡한 워크플로를 관찰 가능하고 개별적인 단계로 분해합니다.
  • Multi-Agent Orchestration: 단일 스레드 내에서 여러 특화된 에이전트를 조정할 수 있습니다.
  • Tool Integration: AI 에이전트가 커스텀 파이썬 함수를 실행해 실제 작업을 수행하도록 합니다.
  • Broad Model Support: OpenAI와 Anthropic을 포함한 모든 Pydantic AI 모델을 기본적으로 지원합니다.