pile·
프론트엔드·vercel-blogVercel Blog·

HTTP 콘텐츠 협상으로 에이전트 친화적 페이지 만들기

AI 에이전트가 웹 페이지를 크롤링할 때 HTML 전체를 받아 파싱하는 방식은 토큰 낭비가 크다. HTTP 표준의 콘텐츠 협상(Content Negotiation)을 활용해 에이전트에게는 마크다운 형식으로 직접 응답하면 동일 URL에서 브라우저와 에이전트가 각자 최적의 포맷을 받을 수 있다는 걸 Next.js 구현으로 보여준다. 500KB HTML을 3KB 마크다운으로 줄여 99.37% 페이로드를 감소시킨 실제 적용 사례다.

핵심 포인트
  • 에이전트가 `Accept: text/markdown` 헤더를 보내면 서버가 HTML 대신 마크다운을 반환하는 콘텐츠 협상 방식이다.
  • Next.js `next.config.ts`의 rewrite 규칙에서 Accept 헤더를 검사해 마크다운 전용 엔드포인트(`/md/` 경로)로 라우팅한다.
  • 라우트 핸들러에서 CMS 리치 텍스트를 마크다운으로 변환해 제공 — 코드 블록 문법, 제목 계층, 링크가 모두 보존된다.
  • 500KB HTML → 3KB 마크다운(99.37% 감소)으로 토큰 제한 에이전트가 더 많은 콘텐츠를 처리하게 된다.
  • 계층적 마크다운 사이트맵을 함께 제공해 에이전트가 사이트 구조를 파악하고 필요한 콘텐츠를 탐색하게 한다.
상세 정리
  • 배경: AI 에이전트가 웹 페이지를 읽을 때 HTML 전체(CSS, JS, 광고 포함)를 파싱해야 해서 토큰 낭비가 심하고 맥락 창을 빠르게 채운다.
  • 콘텐츠 협상 원리: HTTP `Accept` 헤더는 클라이언트가 선호하는 MIME 타입을 서버에 알리는 표준 메커니즘 — 브라우저는 `text/html`, 에이전트는 `text/markdown`을 요청한다.
  • Next.js 설정: `next.config.ts`의 `rewrites` 함수에서 요청 헤더를 검사해 `Accept`에 `text/markdown`이 있으면 같은 URL을 `/md/{slug}` 경로로 내부 재작성한다.
  • 마크다운 라우트 핸들러: `/md/[slug]/route.ts`에서 CMS API를 호출해 리치 텍스트 데이터를 마크다운으로 변환, `Content-Type: text/markdown` 헤더와 함께 반환한다.
  • 포맷 보존: 코드 블록의 언어 힌트(문법 하이라이팅), 제목 계층(`#`, `##`), 하이퍼링크가 마크다운에서도 그대로 표현된다.
  • 성능 수치: 동일 글 기준 HTML 약 500KB vs 마크다운 약 3KB — 99.37% 페이로드 감소. 에이전트가 같은 컨텍스트 창에서 훨씬 많은 페이지를 처리할 수 있다.
  • 마크다운 사이트맵: 전체 콘텐츠 트리를 계층적 마크다운 목록으로 노출해 에이전트가 사이트맵을 먼저 읽고 필요한 페이지만 선택적으로 크롤링하게 한다.
  • 점진적 도입 가능: 기존 HTML 라우트는 그대로 두고 마크다운 엔드포인트만 추가하는 방식이라 브라우저 사용자 경험에 영향을 주지 않는다.
왜 읽나Next.js 기반 서비스에 AI 에이전트 친화적 API를 최소 변경으로 추가하려는 프론트엔드/풀스택 개발자에게 실전 구현 레퍼런스.
vercel-blog
Vercel Blog 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 프론트엔드·LINE EngineeringLINE Engineering·

    AI로 웹 엔지니어 없이 LINE 앱 안에서 그룹 영상 통화 서비스 만들기

    LINE Planet 팀의 PM과 Android 엔지니어 두 명이 웹 전문 엔지니어 없이 LINE 앱 내에서 그룹 영상 통화 서비스를 개발한 과정을 다룬다. LIFF(LINE Front-end Framework)와 LINE Planet SDK를 활용해 React/Vite 기반 웹 앱을 구성했고, Firebase Cloud Functions로 별도 서버 인프라 없이 구현을 완료했다.

    #react#webrtc#firebase+2
  2. 프론트엔드·vercel-blogVercel Blog·

    Vercel과 Shopify의 Hydrogen 전면 재설계

    Vercel과 Shopify가 Hydrogen을 오픈소스·런타임 무관 프레임워크로 전면 재설계했다. 기존 Hydrogen은 빠른 헤드리스 스토어프런트 배포를 지원했지만 플랫폼 종속성이 있었고, 새 버전은 Svelte, Nuxt, Next.js 등 어느 JavaScript 프레임워크에서도 동작한다. 3레이어 아키텍처(코어/클라이언트/서버)로 재구성하면서 각 레이어가 명확한 역할을 분담한다.

    #react#nextjs#i18n+2
  3. 프론트엔드·토스 SLASH토스 SLASH·

    es-toolkit: 사내 소형 라이브러리에서 글로벌 프로젝트로

    토스 프론트엔드 팀이 사내 공유 유틸리티 라이브러리를 발전시켜 만든 es-toolkit이 주간 npm 다운로드 2,000만 건을 넘기며 글로벌 오픈소스 프로젝트로 자리 잡은 과정을 다룬다. lodash의 구조적 한계를 넘어 현대 웹 개발 환경에 최적화된 유틸리티 라이브러리를 처음부터 설계한 경험을 정리한다.

    #lodash#open-source#tree-shaking+2