Mastra: TypeScript 기반 AI 에이전트 프레임워크

Mastra 프레임워크 소개

최근 AI 기술이 발전하면서 다양한 AI 애플리케이션을 빠르게 개발할 수 있는 프레임워크들이 등장하고 있습니다. 하지만 대부분의 AI 프레임워크는 Python 중심으로 개발되어 있어, TypeScript/JavaScript 개발자들에게는 다소 진입 장벽이 있었습니다. Mastra는 TypeScript 기반의 AI 에이전트 프레임워크로, 친숙한 환경에서 LLM(대규모 언어 모델)을 활용한 AI 애플리케이션을 쉽게 구축할 수 있도록 돕습니다.

특히, Mastra는 워크플로우 기반의 에이전트 시스템, RAG(Retrieval-Augmented Generation), 다양한 서드파티 API와의 통합 기능 및 LLM 평가 시스템(Evals)까지 포함한 종합적인 AI 개발 프레임워크입니다. AI 에이전트 개발이 필요하지만 Python 환경에 익숙하지 않거나, TypeScript 기반으로 통합된 개발 경험을 원하는 분들에게 매우 유용한 도구가 될 것입니다.

Mastra의 주요 목표는 다음과 같습니다:

  • TypeScript 친화적인 AI 프레임워크 제공
  • 에이전트 중심의 AI 개발 지원
  • 워크플로우 기반 AI 운영을 쉽게 구현
  • 서드파티 API 통합 및 LLM 평가 시스템(Evals) 내장
  • 로컬 및 클라우드 환경에서 실행 가능

Mastra는 Vercel AI SDK를 활용한 모델 라우팅을 지원하여 OpenAI, Anthropic, Google Gemini 등의 다양한 LLM 공급자와 원활하게 통합됩니다. 이를 통해 개발자는 원하는 LLM을 선택하여 사용할 수 있으며, 스트리밍 방식으로 응답을 받을 수도 있습니다.

Mastra의 주요 기능

Mastra는 AI 애플리케이션 개발을 위해 필요한 핵심 기능들을 통합적으로 제공합니다.

LLM 모델 라우팅

  • Mastra는 Vercel AI SDK를 활용하여 OpenAI, Anthropic, Google Gemini 등 다양한 LLM과의 통합을 지원합니다.

  • 개발자는 LLM 공급자와 특정 모델을 선택하고, 응답을 스트리밍 방식으로 받을지 여부를 결정할 수 있습니다.

  • 지원하는 LLM 모델들은 Vercel SDK 문서 사이트에서 확인할 수 있습니다: AI SDK Providers

AI 에이전트 (Agents)

  • 에이전트는 LLM이 일련의 작업을 수행하도록 설계된 시스템입니다.

  • Mastra의 에이전트는 다양한 도구(Tools), 워크플로우(Workflows), 동기화된 데이터(Synced Data)를 활용할 수 있습니다.

  • 에이전트는 사용자의 API를 호출하거나, 타사 API를 활용하거나, 지식 베이스를 검색할 수 있습니다.

도구 (Tools)

  • 에이전트 및 워크플로우에서 실행할 수 있는 함수

  • 통합된 API 액세스 및 매개변수 검증 지원

  • 각 도구는 명확한 스키마를 정의하고, 실행 로직을 포함하며, 필요한 통합을 자동으로 설정

워크플로우 (Workflows)

  • 내구성이 뛰어난 그래프 기반 상태 머신

  • 루프, 분기, 오류 처리, 재시도, 구문 분석 등의 기능 제공

  • 코드 작성 또는 비주얼 에디터를 활용한 워크플로우 구성 가능

  • OpenTelemetry 기반의 트레이싱 지원

RAG (Retrieval-Augmented Generation)

  • 에이전트가 사용할 수 있는 지식 베이스 구축 가능

  • 문서를 전처리하고, 임베딩을 생성한 후, 벡터 검색을 활용하여 정보를 제공

  • 특정 질의에 대해 적절한 문서를 검색하고, LLM의 응답 품질 향상

서드파티 API 통합 (Integrations)

  • Mastra는 자동 생성된 타입 안전한 API 클라이언트를 제공하여 다양한 서드파티 서비스와 쉽게 통합할 수 있습니다.

  • 이러한 API 클라이언트는 에이전트의 도구(Tools)로 사용되거나, 워크플로우의 일부로 포함될 수 있습니다.

평가 시스템 (Evals)

  • Mastra는 자동화된 평가 시스템을 제공하여 LLM 응답을 검증합니다.

  • 모델 기반 평가, 규칙 기반 평가, 통계적 평가 등의 방법을 활용하여 점수를 매깁니다.

  • 각 평가 결과는 0~1 사이의 정규화된 점수로 반환되며, 기록 및 비교 가능합니다.

  • 개발자는 자신만의 평가 프롬프트 및 점수 계산 로직을 사용자 정의 가능합니다.

라이선스

Mastra는 Ealstic License 2.0(ELv2) 라이선스를 따르고 있습니다. ELv2 라이선스는 오픈소스와 상업적 이용의 중간 형태를 갖는 제한적인 자유 라이선스(Free but Restricted License)입니다.

기본적으로 사용 및 변경이 자유롭지만, SaaS 형태의 서비스 제공 금지 및 라이선스 키 기능 제거/변경/우회 금지, 라이선스 및 저작권 표시를 유지해야 하는 등의 몇 가지 제한 사항이 있습니다. 자세한 내용은 라이선스 원문을 읽어주세요.

:house: Mastra 홈페이지

:github: Mastra GitHub 저장소

:books: Mastra 공식 문서 사이트




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:kr:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:gift: 아래:arrow_lower_right:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: