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 형태의 서비스 제공 금지 및 라이선스 키 기능 제거/변경/우회 금지, 라이선스 및 저작권 표시를 유지해야 하는 등의 몇 가지 제한 사항이 있습니다. 자세한 내용은 라이선스 원문을 읽어주세요.
Mastra 홈페이지
Mastra GitHub 저장소
Mastra 공식 문서 사이트
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다.
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~