Vercel이 최신 Next 릴리스에서 Turbopack 안정화보다 AGENTS.md 기본 포함과 에이전트 전용 브라우저 CLI를 앞세웠고, 프레임워크의 1순위 사용자를 사람에서 AI 에이전트로 바꾸고 있다는 신호가 뚜렷하다.
일주일 전 릴리스된 16.2의 헤드라인은 Turbopack 200건 수정이나 PPR 보안 패치가 아니다. create-next-app에 AGENTS.md가 기본 포함된다는 것, 그리고 next-browser라는 실험적 CLI가 등장했다는 것이다.
AGENTS.md — 에이전트에게 문서를 떠먹이는 구조
AGENTS.md는 짧은 텍스트 파일이지만 하는 일은 크다. AI 에이전트에게 node_modules/next/dist/docs/의 번들 문서를 먼저 읽으라고 지시하고, Vercel 벤치마크에서 eval 통과율을 79%에서 100%로 끌어올렸다. 문서가 존재하는 것과 에이전트가 자동 참조하게 만드는 것 사이의 간극을 프레임워크 레벨에서 메운 첫 사례다.
next-browser: 에이전트 전용 디버깅 레이어
next-browser는 더 노골적이다. Chromium 인스턴스를 띄워서 스크린샷, 네트워크 요청, 콘솔 로그를 구조화된 텍스트로 뱉는다. React DevTools까지 프리로드돼 있어서 컴포넌트 트리, props, hooks 상태, PPR 셸 정보까지 CLI로 꺼낼 수 있다. 누가 이걸 터미널에서 쓸까? 사람이 아니다. 에이전트다.
Playwright나 Puppeteer가 이미 있지 않냐고 할 수 있다. 맞다. 하지만 그것들은 범용 브라우저 자동화 도구고, Next의 내부 구조에 대해서는 아무것도 모른다. next-browser가 다른 건 PPR 셸과 클라이언트 하이드레이션 경계를 구분해서 보여준다는 점이다. 에이전트가 "이 컴포넌트가 서버에서 렌더링됐는지 클라이언트에서 렌더링됐는지"를 판단할 수 있게 된다. 이건 Playwright로는 불가능하다. 프레임워크 내부를 아는 도구만 할 수 있는 일이다.
구체적으로 어떤 차이가 나는지 예를 들어보자. 에이전트가 "장바구니 페이지에서 수량 변경 시 총액이 업데이트되지 않는 버그를 고쳐라"라는 지시를 받았다고 하자. Playwright로는 DOM 스냅샷을 찍고 텍스트가 바뀌는지 확인하는 수준이다. next-browser로는 해당 컴포넌트의 useCart hook 상태값, 부모 Server Component에서 내려온 초기 props, 그리고 하이드레이션 이후 클라이언트에서 오버라이드된 상태를 한 번에 볼 수 있다. 에이전트가 "아, 서버에서 내려온 initialPrice가 캐시된 값이고 클라이언트 상태와 싱크가 안 맞는구나"라고 추론할 수 있는 맥락이 생기는 것이다.
여기서 한 걸음 더 나가면, next-browser는 에이전트의 디버깅 루프를 근본적으로 바꾼다. 기존에는 에이전트가 코드 수정 → npm run dev → 브라우저 수동 확인 요청이라는 루프를 사람에게 위임해야 했다. 이제는 코드 수정 → next-browser screenshot /cart → 출력 파싱 → 재수정이라는 자율 루프가 가능하다. 사람이 끼는 지점이 사라진다. Vercel이 "에이전트 자율성"이라는 단어를 공식 블로그에서 쓰기 시작한 것도 이 맥락이다.
솔직히 이 방향이 불편하다. 3년간 Turbopack의 HMR이 Webpack만큼 안정되길 기다렸는데, Vercel은 에이전트한테 브라우저를 통째로 열어주는 데 리소스를 쏟고 있다. 200건 넘는 Turbopack 수정에 Fast Refresh, WASM Workers, Subresource Integrity, 동적 import 트리쉐이킹이 포함된 건 맞다. 근데 이게 16.0이 아니라 16.2에서야 나온다는 게 우선순위를 보여준다.
보안 패치: PPR 쓰고 있으면 지금 당장 올려라
CVE-2026-27979는 PPR 켜진 상태에서 next-resume: 1 헤더 요청이 메모리를 무한으로 먹는 DoS 취약점이다. CVE-2026-29057은 리라이트 프록시에서 chunked DELETE/OPTIONS로 내부 엔드포인트에 리퀘스트 스머글링이 가능한 문제. 둘 다 16.1.x 이하에서 터진다. PPR 프로덕션에 올렸으면 지금 당장 업데이트해라.
특히 CVE-2026-29057은 API 라우트를 내부 마이크로서비스 프록시로 쓰는 패턴에서 치명적이다. next.config.js의 rewrites로 내부 서비스를 노출하는 구조 — 스타트업에서 흔히 쓰는 그 패턴 — 가 정확히 공격 벡터에 해당한다. 임시 완화책은 리버스 프록시 단에서 chunked transfer encoding을 가진 DELETE/OPTIONS 요청을 드롭하는 것이지만, 근본적으로는 16.2로 올리는 게 맞다.
반론: 이게 정말 나쁜 방향인가
한 발 물러서 생각해보면, Vercel의 베팅이 틀렸다고 단정하기는 어렵다. GitHub Copilot Workspace, Cursor, Devin — 에이전트 제품들이 실사용 단계에 들어왔고, 이들이 가장 많이 건드리는 프레임워크가 Next다. 에이전트 친화성을 먼저 확보하면 나머지는 따라올 수밖에 없다. 프론트엔드 개발자의 미래가 "에이전트가 짠 코드를 리뷰하는 사람"이라면 이 진화는 합리적이다. 다만 Lighthouse 점수 1점 쥐어짜며 번들 쪼개는 나 같은 사람한테는, 프레임워크가 나보다 에이전트한테 먼저 인사하는 꼴이 좀 씁쓸하긴 하다.