ax-llm/ax

The pretty much "official" DSPy framework for Typescript

해결하는 문제

Ax는 LLM 애플리케이션 구축을 위한 언어에 구애받지 않는 통합 프로그래밍 모델을 제공합니다. TypeScript, Python, Java, C++, Go, Rust를 위한 네이티브 라이브러리로 컴파일되는 단일 시맨틱 코어를 제공함으로써, 서로 다른 프로그래밍 언어 간의 수동 프롬프트 엔지니어링 및 반복적인 보일러플레이트의 필요성을 제거합니다.

작동 방식

Ax는 "Signatures"를 사용하여 문자열 DSL 또는 플루언트 빌더를 통해 타입이 지정된 구조화된 생성(입력 및 출력)을 정의합니다. 이러한 시그니처는 여러 AI 서비스(OpenAI, Anthropic, Gemini 등)를 지원하는 프로바이더 추상화를 통해 실행됩니다.

더 복잡한 로직을 위해 다음을 제공합니다:

  • AxAgent: 시그니처를 샌드박스 JS 런타임, 메모리 및 기술을 갖춘 도구 사용 액터로 변환하는 3단계 파이프라인(distiller, executor, responder)입니다.
  • AxFlow: 분기, 루프 및 병렬 실행을 지원하며 노드를 프로그램 그래프로 체인화할 수 있는 타입 지정 워크플로우 러너입니다.
  • Optimizers: 모델 성능을 개선하기 위한 GEPA 및 few-shot bootstrapping과 같은 도구.

대상

여러 언어 생태계에서 실행되어야 하는 견고하고 타입 안전한 LLM 애플리케이션을 구축해야 하는 개발자 또는 수동 프롬프트 엔지니어링에 대한 구조화된 프로그래밍 방식의 대안을 원하는 개발자.

주요 특징

  • 다국어 지원: TypeScript, Python, Java, C++, Go, Rust를 위한 컴파일된 네이티브 라이브러리.
  • 타입 지정 구조화 생성: 엄격한 출력 검증 및 자동 재시도를 위한 Zod, Valibot, ArkType 지원.
  • 프로바이더 무관: 코드 변경 없이 OpenAI, Anthropic, DeepSeek와 같은 프로바이더 간을 원활하게 전환.
  • 고급 에이전트 아키텍처: 긴 컨텍스트를 관리하기 위한 재귀적 런타임(RLM), 샌드박스 실행 및 통합 메모리/기술 포함.
  • 멀티모달 및 오디오: 이미지, 오디오 및 실시간 음성 스트림에 대한 내장 지원.
  • Flow-as-Code: 타입 지정된 그래프 또는 Mermaid 다이어그램을 통해 복잡한 워크플로우를 정의하는 기능.