TypeScript AI 에이전트 — Vercel AI SDK, Mastra, LangGraph.js 무엇을

Maru

@maru

TypeScript AI 에이전트 — Vercel AI SDK, Mastra, LangGraph.js 무엇을 쓸까

TypeScript AI 에이전트 — Vercel AI SDK, Mastra, LangGraph.js 무엇을 쓸까

최근 TypeScript 진영의 AI 에이전트 생태계는 각기 다른 아키텍처 설계 사상을 지닌 세 가지 흐름으로 빠르게 재편되고 있습니다. 무상태 에지 스트리밍에 최적화된 Vercel AI SDK, 내장형 내구성 워크플로우를 자랑하는 Mastra, 그리고 정밀한 제어가 가능한 저수준 상태 머신인 LangGraph.js가 그 중심에 있습니다. 개발팀이 마주한 비즈니스 요구 사항과 런타임 환경에 따라 어떤 도구를 선택해야 오버헤드를 줄이고 빠르게 프로덕션에 배포할 수 있을지 핵심 아키텍처와 트레이드오프를 중심으로 살펴봅니다.

Vercel AI SDK v6/v7: 무상태 에지 스트리밍에 최적화된 표준 레이어

Vercel AI SDK 최신 v6 및 v7 버전은 즉각적인 반응 속도가 필요한 실시간 웹 서비스에 최적화된 도구입니다. 프레임워크 핵심에 ToolLoopAgent 클래스를 도입하여 에이전트의 다단계 도구 실행 루프를 직관적인 기본 추상화로 제공합니다. 이를 통해 복잡한 상태 머신 없이도 모델이 스스로 도구를 호출하고 결과를 판단하는 자율 실행 루프를 쉽게 구현할 수 있습니다.

비교적 가벼운 추상화와 스트리밍 중심 API를 제공해 서버리스 및 웹 애플리케이션에 적용하기 쉽습니다. 다만 실제 콜드 스타트와 응답 시간은 런타임, 번들 구성, 배포 리전과 모델 제공자의 지연 시간에 따라 달라집니다.

Vercel AI SDK v6 기본 ToolLoopAgent는 메모리 안에서 실행되므로 프로세스가 종료되면 진행 상태를 잃을 수 있습니다. 그러나 v7에서는 @ai-sdk/workflowWorkflowAgent를 통해 도구 호출과 승인 단계를 지속성 워크플로로 실행할 수 있습니다. 따라서 단순한 실시간 에이전트에는 ToolLoopAgent, 장애 복구와 장기 실행이 필요한 작업에는 WorkflowAgent를 선택할 수 있습니다.

Mastra v1.x: 견고한 내장 워크플로우와 뛰어난 로컬 개발자 경험

과거 Gatsby.js 개발팀이 구축한 Mastra는 자율적인 에이전트 추론과 결정론적인 워크플로우를 하나로 통합한 배터리 내장형 프레임워크입니다. 여러 외부 라이브러리를 복잡하게 조립할 필요 없이 상태가 유지되는 내구성 워크플로우를 기본으로 제공하여 개발 생산성을 높여줍니다. .then() 이나 .parallel() 같은 메서드 체이닝 방식을 사용해 복잡한 실행 흐름을 직관적으로 작성할 수 있습니다.

특히 사람이 직접 개입하여 승인할 때까지 작업을 일시 정지했다가 재개하는 suspend/resume 원시 타입을 프레임워크 수준에서 네이티브하게 지원합니다. 내장된 Memory Gateway를 활용하면 PostgreSQL이나 LibSQL 같은 데이터베이스에 대화 상태를 손쉽게 직렬화하여 저장할 수 있습니다. 로컬 시각적 디버거인 Mastra Studio를 통한 시각화와 디버깅 인터페이스도 뛰어난 개발자 경험을 선사합니다.

다만 서버리스 배포 환경에서는 명확한 트레이드오프가 존재합니다. Mastra는 애플리케이션이 구동되는 시점에 복잡한 Zod 스키마를 동적으로 생성하는 과정을 거칩니다. 이로 인해 서버리스 콜드 스타트 상황에서 초기 지연 시간이 다소 늘어나는 한계가 있으므로, 상시 실행 서버 환경이나 컨테이너 기반 아키텍처에 배포할 때 최고의 성능을 기대할 수 있습니다.

LangGraph.js v1.0: 강력하지만 무거운 정밀 제어 상태 머신

LangGraph.js v1.0은 복잡한 다중 에이전트의 순환 루프를 정밀하게 제어해야 할 때 강력한 성능을 발휘하는 저수준 상태 머신 도구입니다. 모든 에이전트 노드의 상태 변화가 PostgreSQL이나 Redis 같은 체크포인터에 직렬화되어 영구 저장되므로, 시스템 장애가 발생해도 특정 시점부터 다시 실행할 수 있는 시간 여행 디버깅을 안정적으로 지원합니다.

하지만 대다수 TypeScript 개발팀이 겪는 가장 큰 장벽은 개발자 경험입니다. LangGraph.js는 파이썬 버전의 아키텍처를 자바스크립트로 그대로 이식한 프레임워크에 가깝기 때문에, 자바스크립트 생태계에 어울리지 않는 비직관적인 패턴을 많이 사용합니다. 상태를 정의하고 노드를 연결할 때 엄격한 타입 단언을 매번 요구하여 개발 생산성을 크게 저하시킵니다.

또한 AWS Lambda 같은 서버리스 환경에서 운영할 때 인프라 수준의 호환성 문제가 자주 발생합니다. SQLite 체크포인터는 별도 패키지로 제공되며 로컬 개발과 실험에 적합합니다. Lambda처럼 인스턴스가 교체되고 로컬 파일 시스템을 공유할 수 없는 환경에서는 PostgreSQL이나 Redis 같은 외부 체크포인터를 사용하는 편이 안전합니다. 텔레메트리 전송 방식은 LangSmith 사용 여부와 런타임 종료 정책에 맞춰 별도로 검토해야 합니다.

프로덕션 배포와 아키텍처에 따른 기술 선택 제안

일반적으로 LangGraph.js는 그래프 상태와 전환을 명시적으로 설계해야 하므로 초기 구현량이 많아질 수 있습니다. 반면 Mastra는 워크플로 조합 API와 Studio를 함께 제공해 TypeScript 팀의 초기 프로토타이핑을 단순화할 수 있습니다. 실제 생산성 차이는 팀 경험과 요구되는 제어 수준에 따라 달라집니다.

따라서 아키텍처 설계 단계에서 다음과 같은 기준으로 기술 스택을 선택하는 것을 권장합니다.

  • Vercel AI SDK: 응답 속도와 에지 배포가 최우선이고, 상태가 필요 없는 실시간 웹 스트리밍 서비스를 구축할 때 가장 완벽한 기본 레이어입니다.
  • Mastra: 사람의 승인이 필요한 일시 정지 기능이나 데이터베이스 기반의 영속성 워크플로우를 빠른 타임투마켓으로 검증하고자 하는 개발팀에 훌륭한 선택지입니다.
  • LangGraph.js: 초기 빌드와 인프라 설정 비용이 크더라도, 복잡한 다중 에이전트 간의 정밀한 순환 제어와 완벽한 장애 복구 능력이 필수적인 대규모 엔터프라이즈 환경에서만 도입하는 것이 현명합니다.

결론: 2026년 TypeScript AI 생태계의 성숙과 권장사항

2026년 TypeScript AI 생태계는 파이썬 도구의 단순한 대안을 넘어 고유한 아키텍처와 성능적 이점을 제공하는 독립적인 런타임으로 완전히 성숙했습니다. 프레임워크를 선택할 때는 애플리케이션의 상태 지속성 요구 사항과 프로덕션 배포 환경의 물리적 제약을 가장 먼저 고려해야 합니다.

실시간 반응 속도와 무상태 스트리밍 UI가 핵심인 서비스에는 에지에 최적화된 Vercel AI SDK가 가장 빠르고 가벼운 선택입니다. 인간 개입 승인 단계가 포함된 장기 실행 워크플로우를 구축할 때는 강력한 로컬 디버거를 갖춘 Mastra가 생산성 면에서 유리하며, 정밀한 상태 머신 제어와 다중 에이전트 그래프가 필수적인 엔터프라이즈 환경에서만 인프라 설정을 보완하여 LangGraph.js를 도입하는 것을 권장합니다.


참고 링크

(수정됨)