TechFeedTechFeed
AI/LLM

Mastra 실전 가이드 — TypeScript로 AI 에이전트 만들기, LangChain·PydanticAI와 비교

Gatsby 창업팀이 만든 TypeScript-first AI 에이전트 프레임워크 Mastra 완전 분석. 에이전트·워크플로우·메모리·도구 구성, LangChain JS·PydanticAI와의 실전 비교, Next.js 통합, Mastra Cloud vs 셀프호스팅 선택 기준까지 코드 중심으로 정리.

Mastra는 TypeScript로 AI 에이전트를 만드는 오픈소스 프레임워크다. Gatsby 창업팀이 만들었고, 2026년 1월 1.0을 정식 출시하면서 22k+ GitHub 스타를 달성했다. Python 중심의 LangChain·PydanticAI와 달리 TypeScript 개발자가 기존 Next.js·Node.js 스택 위에서 바로 에이전트를 만들 수 있다는 것이 핵심 차별점이다.

이 글이 필요한 사람: Node.js/TypeScript 기반 백엔드·풀스택 개발자 중 AI 에이전트를 프로덕션에 붙여보려는 사람, LangChain을 Python 없이 써보고 싶은 사람, PydanticAI를 대체할 TypeScript 솔루션을 찾는 사람.

Mastra란 무엇인가

Mastra는 에이전트(Agent), 워크플로우(Workflow), 도구(Tool), 메모리(Memory)를 TypeScript 타입 시스템 위에서 조합할 수 있도록 설계된 AI 에이전트 프레임워크다. Gatsby의 창업자 Kyle Mathews가 이끄는 팀이 개발했으며, 2024년 말 오픈소스로 공개한 뒤 2026년 1월 v1.0을 정식 릴리즈했다.

핵심 철학은 '타입 안전한 에이전트 개발'이다. 도구 입력·출력, LLM 응답 스키마, 워크플로우 상태를 모두 Zod 스키마로 정의해 컴파일 타임에 오류를 잡는다. OpenAI·Anthropic·Gemini·Mistral 등 40개 이상의 LLM 프로바이더를 통일된 인터페이스로 지원하며, 벡터 스토어·외부 API 연동을 위한 통합 레이어도 포함한다.
Mastra AI 에이전트 프레임워크 구조 다이어그램
Mastra의 핵심 구성: Agent, Tool, Workflow, Memory가 TypeScript 타입 시스템으로 연결된다

LangChain·PydanticAI와 무엇이 다른가

에이전트 프레임워크 선택에서 가장 많이 비교되는 조합이 LangChain(JS), PydanticAI, Mastra다.
LangChain JS는 생태계가 크지만 API가 복잡하고 타입 정의가 느슨하다. PydanticAI는 Python 팀에 최적화되어 있어 Node.js 스택과 통합하기 어렵다. Mastra는 TypeScript 개발자를 위해 처음부터 설계된 점이 가장 큰 강점이다. Next.js API Route나 Express 핸들러 안에서 에이전트를 함수처럼 호출할 수 있다.

핵심 개념 — 에이전트, 도구, 워크플로우, 메모리

Mastra의 4가지 핵심 개념을 코드로 확인해보자.
에이전트 + 도구 기본 구성 (TypeScript)
import { Mastra, Agent, createTool } from '@mastra/core'; import { z } from 'zod'; import { openai } from '@ai-sdk/openai'; // 1. 도구 정의 — 입출력 타입이 Zod로 보장됨 const searchTool = createTool({ id: 'search-docs', description: 'Search technical documentation', inputSchema: z.object({ query: z.string().describe('Search query'), limit: z.number().default(5), }), outputSchema: z.object({ results: z.array(z.object({ title: z.string(), url: z.string(), snippet: z.string(), })), }), execute: async ({ context }) => { // 실제 검색 로직 const results = await fetchDocs(context.query, context.limit); return { results }; }, }); // 2. 에이전트 정의 const techAgent = new Agent({ name: 'tech-assistant', instructions: 'You are a technical assistant. Use search-docs tool to find accurate information.', model: openai('gpt-4o'), tools: { searchTool }, }); // 3. Mastra 인스턴스에 등록 const mastra = new Mastra({ agents: { techAgent }, }); // 4. 에이전트 호출 const response = await mastra.getAgent('techAgent').generate( 'TypeScript 6.0에서 달라진 점을 정리해줘' ); console.log(response.text);
워크플로우는 여러 스텝을 그래프 형태로 연결한다. 스텝 간 데이터 흐름을 타입으로 보장하며, 병렬 실행·조건 분기·에러 핸들링을 선언적으로 정의할 수 있다. 메모리는 대화 히스토리(버퍼), 시맨틱 메모리(벡터), 엔티티 기억을 내장하며 Postgres·Pinecone·Weaviate 등과 연결된다.
워크플로우 정의 예시
import { Workflow, Step } from '@mastra/core'; import { z } from 'zod'; const researchWorkflow = new Workflow({ name: 'research-and-summarize', triggerSchema: z.object({ topic: z.string() }), }); // 스텝 1: 검색 researchWorkflow.step(searchStep, { variables: { query: { step: 'trigger', path: 'topic' }, }, }); // 스텝 2: 검색 결과 기반 요약 (searchStep 완료 후 실행) .then(summarizeStep, { variables: { content: { step: searchStep, path: 'results' }, }, }) .commit(); // 워크플로우 실행 const run = researchWorkflow.createRun(); const result = await run.start({ triggerData: { topic: 'Mastra AI framework' } }); console.log(result.results.summarizeStep.output);
Mastra 워크플로우 실행 흐름 시각화
Mastra 워크플로우: 스텝 간 데이터 흐름과 의존성을 시각화한 대시보드 화면

설치부터 첫 에이전트 실행까지

Mastra는 CLI로 프로젝트를 초기화하는 방식을 권장한다. 기존 Next.js 또는 Node.js 프로젝트에 추가하거나, 새 프로젝트로 시작할 수 있다.
설치 및 프로젝트 초기화
# 신규 Mastra 프로젝트 생성 npx create-mastra@latest my-agent # 기존 프로젝트에 추가 npm install @mastra/core # LLM 프로바이더 설치 (OpenAI 예시) npm install @ai-sdk/openai # 환경변수 설정 (.env) OPENAI_API_KEY=sk-...
Next.js API Route에서 에이전트 호출
// app/api/agent/route.ts import { mastra } from '@/mastra'; import { NextRequest, NextResponse } from 'next/server'; export async function POST(req: NextRequest) { const { message, threadId } = await req.json(); const agent = mastra.getAgent('techAgent'); // 메모리 포함 스트리밍 응답 const stream = await agent.stream(message, { threadId, // 대화 컨텍스트 유지 resourceId: 'user-1', // 사용자별 메모리 분리 }); return stream.toDataStreamResponse(); }
주의: Mastra는 Node.js 18+ 환경이 필요하다. Edge Runtime(Vercel Edge, Cloudflare Workers)에서는 일부 메모리 기능이 동작하지 않는다. Serverless 배포 시 @mastra/core/edge 서브패키지를 사용하거나 Mastra Cloud를 활용한다.

실무에서 유용한 Mastra 기능 5가지

1. Observability 내장
모든 LLM 호출, 도구 실행, 워크플로우 스텝이 자동으로 추적된다. OpenTelemetry 기반으로 Langfuse, Braintrust, 자체 백엔드에 연결 가능하다.

2. RAG 파이프라인 내장
MastraVector를 사용하면 Pinecone, Postgres(pgvector), Weaviate를 공통 API로 다룬다. 문서 청킹·임베딩·검색을 함수 한 줄로 처리한다.

3. Multi-Agent 오케스트레이션
에이전트가 다른 에이전트를 도구로 호출하는 패턴을 공식 지원한다. 오케스트레이터 에이전트가 하위 에이전트를 위임·조합하는 계층 구조를 만들 수 있다.

4. 타입 안전한 통합 레이어
GitHub, Slack, Google Drive, Notion 등 외부 서비스 연동을 위한 공식 통합 패키지(@mastra/github 등)가 제공되며, 도구 입출력 타입이 자동 생성된다.

5. 로컬 개발 서버
npx mastra dev로 에이전트·워크플로우 테스트 UI를 로컬에서 실행할 수 있다. 프롬프트 실험, 스텝별 디버깅, 메모리 확인이 GUI로 가능하다.
Mastra 로컬 개발 서버 UI
npx mastra dev로 실행한 로컬 개발 서버 — 에이전트 테스트와 워크플로우 디버깅을 GUI로 수행

Mastra Cloud vs 셀프호스팅 — 무엇을 선택할까

Mastra는 오픈소스 코어(무료)와 유료 클라우드 서비스를 병행한다.
스타트업 초기나 사내 도구를 빠르게 만들어야 할 때는 Mastra Cloud가 유리하다. 이미 AWS·GCP 인프라가 있는 팀이나 데이터를 외부로 내보낼 수 없는 경우에는 셀프호스팅을 선택하면 된다. Vercel·Render·Railway에 셀프호스팅하는 예제가 공식 문서에 정리되어 있다.

실무 도입 시 고려사항

성숙도: v1.0이 2026년 1월 출시됐지만 빠르게 변하는 프레임워크다. 프로덕션 도입 전 마이너 버전 릴리즈 주기를 확인하고, 주요 API 변경 시 마이그레이션 비용을 고려한다.

LLM 비용: 멀티에이전트 오케스트레이션과 메모리 검색은 컨텍스트 토큰을 급격히 증가시킨다. 각 에이전트 호출에서 maxTokens와 메모리 윈도우 크기를 명시적으로 설정하는 것을 권장한다.

테스트: Mastra는 에이전트 단위 테스트를 위한 MockLLM을 제공한다. LLM 호출을 모킹해 단위 테스트 속도를 높이고, 통합 테스트에서만 실제 API를 호출하는 패턴을 권장한다.

Python 팀과 공존: Python 팀이 PydanticAI나 LangGraph를 쓰고 있다면 에이전트 서비스를 HTTP API로 분리해 Mastra 에이전트가 Python 에이전트를 REST로 호출하는 방식도 현실적인 선택이다.
공식 문서 참조:
• GitHub: github.com/mastra-ai/mastra
• 공식 문서: mastra.ai/docs
• 변경 이력: github.com/mastra-ai/mastra/releases
MastraTypeScriptAI 에이전트LLM에이전트 프레임워크LangChain워크플로우Next.js오픈소스AI

관련 도구

관련 포스트

Google ADK 실전 가이드 — Python·TypeScript로 AI 에이전트 만들기, LangChain·Mastra와 비교2026-04-07PydanticAI 실전 가이드 — FastAPI 방식으로 만드는 타입 안전한 AI 에이전트2026-04-03n8n 실전 가이드 — AI 에이전트 워크플로우 자동화, Zapier·Make와 비교, 셀프호스팅까지2026-04-06LangGraph 2.0 실전 가이드 — 그래프 기반 AI 에이전트, 체크포인팅, MCP 연동, 프로덕션 배포2026-04-18