Zod 및 AI SDK 5와 함께 쓰는 TypeScript 성능 문제
Zod 및 AI SDK 5와 함께 쓰는 TypeScript 성능 문제
AI SDK 5와 Zod를 함께 쓰면 TypeScript 타입 체크가 느려지거나 서버가 멈추는 문제가 있을 수 있어요. 여기서 그 원인과 해결책을 정리해 드릴게요.
출처: 문서
본문
문제 (Issue)
AI SDK 5를 Zod와 함께 사용할 때 다음과 같은 현상을 겪을 수 있습니다.
- TypeScript 서버가 멈추거나 (crash/hang) 동작하지 않음
- AI SDK 함수를 import하는 파일에서 타입 체크가 극도로 느려짐
- "Type instantiation is excessively deep and possibly infinite" 같은 오류 메시지
- AI SDK 코드를 다룰 때 IDE가 응답하지 않음
배경 (Background)
AI SDK 5에는 Zod 버전과의 특정 호환성 요구사항이 있습니다. 표준 import 경로(import { z } from 'zod')로 Zod를 import하면 TypeScript의 타입 추론이 과도하게 복잡해져 성능 저하나 크래시가 발생할 수 있습니다.
해결책 (Solution)
Zod를 4.1.8 이상으로 업그레이드
가장 기본적인 해결책은 모듈 해석 문제가 수정된 Zod 버전 4.1.8 이상으로 업그레이드하는 것입니다.
pnpm add zod@^4.1.8
이 버전은 서로 다른 모듈 해석 설정 때문에 TypeScript가 같은 Zod 선언을 두 번 불러와 값비싼 구조 비교가 발생하던 근본적인 문제를 해결합니다.
대안: TypeScript 설정 업데이트
Zod 업그레이드가 어렵다면 tsconfig.json에서 moduleResolution: "nodenext"를 사용하도록 설정할 수 있습니다.
{
"compilerOptions": {
"moduleResolution": "nodenext"
// ... other options
}
}
이렇게 하면 표준 Zod import를 계속 사용하면서도 TypeScript 성능 문제를 해결할 수 있습니다.
더 알아보기 (Learn more)
- AI SDK 공식 문서에서 다른 트러블슈팅 항목도 확인해 보세요.