1.0.0 ko public

스펙

RAWP-DPS

Data processing specification for RAWP integrations.

1. 개요 (Introduction)

RAWP-DPS 1.0은 RAWP 1.0의 데이터 평면(§6)을 대체하는 독립 스트리밍 규격이다. 기존 RAWP 1.0 §6(이하 RAWP-1.0-Legacy)은 단순 텍스트 스트림, 승인 상호작용, 사용량 지표, 에러 보고, 파일 전송만을 정의하였으며, 에이전트 코딩 도구(Claude Code 등)가 생성하는 도구 호출 결과, 계획 문서, 태스크 관리, 컨텍스트 압축, 서브에이전트 위임 등 다양한 출력 형태를 포괄하지 못한다.

RAWP-DPS 1.0은 다음 목표를 달성하기 위해 설계되었다:

  1. 완전성(Completeness): Claude Code를 포함한 에이전트 코딩 도구의 모든 출력 형태를 단일 프레임 규격으로 포맷화한다.
  2. 범용성(Generality): 특정 에이전트에 종속되지 않으며, 임의의 에이전트 도구 체계를 수용할 수 있는 확장 가능한 타입 시스템을 제공한다.
  3. 호환성(Compatibility): 알 수 없는 타입의 정방향 호환성(Forward Compatibility)과, RAWP-1.0-Legacy 대비 하위 호환성(Backward Compatibility)을 구조적으로 보장한다.

1.1. 요구사항 표기 규약

본 문서의 "MUST", "MUST NOT", "REQUIRED", "SHOULD", "SHOULD NOT", "OPTIONAL"은 RFC 2119를 따른다.

1.2. RAWP 1.0과의 관계

RAWP-DPS 1.0은 RAWP 1.0의 제어 평면(§1–§5, §7–§8)을 변경하지 않는다. 세션 초기화(§5.1), WebSocket 수립(§5.3), 보안 규격(§7)은 그대로 유지되며, 본 규격은 WSS 연결 수립 이후 교환되는 데이터 프레임의 포맷만을 재정의한다.

1.3. RAWP-1.0-Legacy 호환 모드

세션 초기화(§5.1) 시 Sec-WebSocket-Protocol 헤더로 프로토콜 버전을 협상한다:

  • rawp-dps-1.0: 본 규격 적용
  • rawp-1.0: RAWP-1.0-Legacy 적용 (기존 구현 호환)

서버와 클라이언트 모두 rawp-dps-1.0을 우선 제안해야 하며 (SHOULD), 상대가 미지원 시 rawp-1.0으로 폴백해야 한다 (MUST).

1.4. 용어 정의

본 문서에서 추가로 사용하는 용어:

용어 정의
Frame WSS를 통해 송수신되는 하나의 JSON 메시지 단위
Content Block 단일 Frame 내에서 독립적 의미를 가지는 출력 조각
Turn 에이전트의 단일 추론-행동 사이클 (프롬프트 수신 → 도구 사용 → 응답 완료)
Tool Invocation 에이전트가 외부 도구를 호출하는 행위와 그 결과의 쌍
Namespace 이벤트 타입의 계층적 분류 체계 (agent., tool., session. 등)

참조