RFC 9457 준수 오류 응답으로 에이전트 토큰 비용 98% 절감하기 (새 탭에서 열림)

Cloudflare는 AI 에이전트가 에러 발생 시 불필요한 토큰을 낭비하지 않도록 RFC 9457 표준을 준수하는 마크다운(Markdown) 및 JSON 형식의 구조화된 에러 응답 기능을 도입했습니다. 기존의 무거운 HTML 페이지 대신 기계가 읽을 수 있는 지침을 제공함으로써 에러 응답의 페이로드 크기와 토큰 사용량을 98% 이상 절감했습니다. 이를 통해 AI 에이전트는 에러의 원인을 정확히 파악하고 재시도 여부나 대기 시간 등을 즉각적으로 판단하여 효율적인 워크플로우를 유지할 수 있게 되었습니다.

기존 HTML 에러 응답의 문제점

  • 기존의 에러 페이지는 브라우저를 사용하는 사람을 위해 수백 줄의 HTML, CSS, 마크업으로 구성되어 있어 AI 에이전트에게는 불필요한 데이터가 너무 많았습니다.
  • 에이전트가 HTML을 파싱하더라도 단순히 "접근 거부"와 같은 상태만 알 수 있을 뿐, 재시도가 가능한지 또는 얼마나 기다려야 하는지에 대한 실행 가능한 지침을 얻기 어려웠습니다.
  • 에이전트 개발자들은 사이트별로 각기 다른 에러 페이지를 처리해야 하는 번거로움이 있었으며, 이는 높은 비용과 비효율성을 초래했습니다.

RFC 9457 기반의 구조화된 응답 도입

  • Cloudflare는 HTTP API의 에러 보고 표준인 RFC 9457(Problem Details for HTTP APIs)을 준수하는 응답을 제공합니다.
  • 에이전트가 요청 헤더에 Accept: text/markdown, Accept: application/json, 또는 Accept: application/problem+json을 포함하면 Cloudflare는 그에 맞는 구조화된 응답을 반환합니다.
  • 현재 DNS 오류, WAF 차단, 속도 제한(Rate limiting) 등을 포함하는 모든 '1xxx' 클래스 에러에 적용되었으며, 향후 Cloudflare가 생성하는 4xx 및 5xx 에러로 확대될 예정입니다.

에이전트를 위한 실행 가능한 지침 제공

  • 마크다운 형식: 기계가 읽을 수 있는 YAML 프론트매터(Frontmatter)와 사람이 읽을 수 있는 구체적인 지침(What happened, What you should do) 섹션으로 나뉩니다.
  • 핵심 데이터 필드: 응답에는 error_code, retryable(재시도 가능 여부), retry_after(재시도 대기 시간), owner_action_required(소유자 조치 필요 여부) 등 에이전트의 제어 흐름에 직접 활용 가능한 필드가 포함됩니다.
  • 표준화된 스키마: RFC 9457의 type, status, title, detail, instance 멤버를 사용하여 특정 API에 의존하지 않고도 범용적으로 에러를 해석할 수 있게 설계되었습니다.

효율성 및 구현 방식

  • 실제 '1015(속도 제한)' 에러 응답을 기준으로 측정했을 때, HTML 대비 페이로드 크기와 토큰 사용량이 98% 이상 감소했습니다.
  • 이 기능은 Cloudflare 네트워크 전반에 자동으로 적용되므로 사이트 소유자가 별도로 설정할 필요가 없습니다.
  • 클라이언트가 명시적으로 마크다운이나 JSON을 요청하지 않는 한, 일반 브라우저 사용자에게는 이전과 동일한 HTML 페이지가 제공되어 하위 호환성을 유지합니다.

AI 에이전트나 자동화 도구를 개발하고 있다면, 요청 헤더에 적절한 Accept 타입을 설정하는 것만으로도 인프라 비용을 획기적으로 줄이고 에러 처리 로직의 신뢰성을 높일 수 있습니다. 이는 더 이상 에러 페이지가 단순한 '차단벽'이 아니라 에이전트를 위한 '실행 지침'으로 기능함을 의미합니다.