AI 코드 리뷰로 React 성능 최적화 자동화!
Vercel의 react-best-practices 스킬을 활용해 React/Next.js 프로젝트의 성능 최적화를 자동화하는 방법을 소개
GitHub Actions 기반의 AI 코드 리뷰에 룰셋을 연결하여 PR 단계에서 성능 검증을 자동화하는 Shift Left 전략(Shift Left Strategy)을 제시
초기 로드 크기(Bundle Size) 최대 70% 감소, LCP 17% 개선, TTI 19% 감소 등 유의미한 성능 향상을 확인
AI 기반 코드 리뷰를 통해 성능 최적화가 개발 프로세스에 통합되어, 개발 생산성 향상 및 기술 부채 감소를 기대
향후 프로젝트 상황에 맞는 스킬 조합을 통해 AI 에이전트 활용 역량이 중요해질 것으로 전망
Vercel Skills: AI 에이전트 생태계의 부상
Vercel은 AI 에이전트가 자동으로 발견하고 사용할 수 있는 재사용 가능한 오픈 포맷(Open Format)의 스킬 패키지인 Skills를 발표했다. Skills는 CLI 도구, 표준화된 스킬 정의 포맷, 그리고 레지스트리로 구성된다. 특히, skills.sh는 다양한 오픈소스와 기업이 공개한 스킬을 모아놓은 허브 역할을 하며, '스킬이 하나의 배포 단위가 되는 흐름'을 보여준다. react-best-practices는 Vercel 엔지니어링 팀의 React/Next.js 성능 최적화 노하우를 담은 스킬로, 57개의 규칙을 제공한다.
react-best-practices 스킬의 핵심 기능
react-best-practices는 10년 이상 축적된 React/Next.js 성능 최적화 노하우를 바탕으로, 57개의 규칙을 제공한다. 각 규칙은 체크리스트와 Do/Don't 예시 코드로 구성되어 있으며, 영향도(Impact) 중심으로 우선순위가 정렬되어 있다. 이 스킬은 개발자가 useMemo, useCallback과 같은 마이크로 최적화에 과도하게 시간을 쏟는 대신, 네트워크 워터폴(Network Waterfalls)이나 거대한 번들 사이즈(Bundle Size)와 같은 구조적 병목을 먼저 해결하도록 유도한다. 즉, 가장 적은 노력으로 가장 큰 성능 향상을 이끌어낼 수 있는 순서대로 최적화 작업을 안내한다.
GitHub Actions 기반 자동 코드 리뷰 시스템 구축
react-best-practices 룰셋을 GitHub Actions 기반 Claude Code Review에 연결하여, PR 단계에서 자동으로 성능 관점의 점검을 수행하도록 구성했다. 이는 검증 시점을 배포 단계에서 개발·리뷰 단계로 앞당기는 Shift Left 전략(Shift Left Strategy)의 일환이다. AI는 57개 규칙을 기준으로 코드를 스캔하고, 위반 사항을 우선순위별로 분류해 구체적인 개선안을 제시한다. 규칙 위반 시에는 명확한 근거와 개선 방향을 제시하며, 규칙 준수 시에는 해당 규칙의 영향도와 참고 링크를 제공하여 리뷰의 질을 향상시킨다.
성능 개선 효과 및 구체적인 사례
react-best-practices 스킬 적용 결과, 초기 로드 JavaScript 크기가 최소 19%에서 최대 70%까지 감소하는 효과를 보였다. 특히, 덩치가 큰 팝업 컴포넌트를 별도 청크로 분리하고, Dynamic Import를 적용하여 트리 쉐이킹(Tree-shaking) 효율을 높였다. 사용자 체감 성능 지표(Core Web Vitals)도 개선되어, LCP는 17%, TTI는 19%, TBT는 17% 감소했으며, 전체 Performance 점수는 3점 상승했다. 이러한 결과는 4개의 Critical 이슈 수정만으로 달성되었다.
AI 기반 성능 최적화의 미래
AI 기반의 성능 최적화는 더 이상 특정 개발자의 '개인기'가 아닌, 팀 전체가 공유하는 '시스템'으로 자리 잡을 것이다. Vercel이 제공하는 다양한 스킬을 조합하여 프로젝트의 성격과 상황에 맞는 최적화 전략을 구성하는 것이 중요해질 것이다. 이는 개발자가 어떤 라이브러리를 선택할지 결정하는 것만큼 중요한 판단이 될 것이다. AI 시대에는 성능 최적화가 별도의 큰 작업이 아니라, PR 단계에서 자동으로 점검되는 기본 절차가 될 것이다.