Skip to main content
Views 48

에이전트가 대신 장바구니 채우는 시대 🛒, Universal Commerce Protocol(UCP)로 준비해보세요

Summary

요즘 쇼핑을 할 때 종종 이런 상상을 합니다.
내가 직접 검색하고 비교하는 대신, 내 AI 에이전트가 내 소비 패턴을 알고 알아서 최적의 상품을 고르고, 포인트와 쿠폰까지 계산해서 결제 직전까지 다 끝내놓는 그림이죠.

문제는, 이 멋진 그림이 기술이 없어서가 아니라 각 쇼핑몰, 각 결제사, 각 플랫폼이 다 따로 놀기 때문에 잘 안 돌아간다는 데 있습니다.

이 글에서 이야기할 Universal Commerce Protocol(UCP)은 이 파편화된 커머스 세계를 하나의 공통 언어로 이어보겠다는 시도입니다.
개발자 입장에서도 흥미롭고, 비개발자에게도 꽤 직접적인 영향을 줄 수 있는 변화라서, 개인적으로 꽤 눈여겨보고 있는 프로젝트입니다.

먼저 전체 그림을 간단히 정리하자면 UCP는

  • 이커머스의 전 과정을 표준화된 프로토콜로 표현하고

  • AI 에이전트가 사람 대신 쇼핑을 진행할 수 있게 설계되어 있고

  • 구글, 쇼피파이, 월마트 등 굵직한 플레이어들이 함께 만들고 있는

  • 오픈소스, 오픈 프로토콜입니다.

공식 사이트와 스펙 문서는 여기서 직접 보실 수 있어요.

이제 하나씩, 조금 천천히 풀어보겠습니다.

🧭 UCP가 노리는 문제: 왜 또 새로운 프로토콜인가

처음 UCP를 봤을 때 들었던 생각은 이거였습니다.
결제나 주문 연동 규격은 예전부터 많았는데, 이건 뭐가 다르지?

요즘 이커머스를 떠올려 보면, 사실상 거대한 섬들의 집합입니다.
아마존, 쿠팡, 11번가, 각 브랜드 자사몰, 인스타 쇼핑, 오프라인 매장 앱까지 전부 API도 다르고, 인증 방식도 다르고, 심지어 주문 상태 명칭조차 제각각이죠.

개발자 입장에서는 이런 상황 때문에 매번 이런 일을 반복합니다.

  • 플랫폼마다 다른 결제 API 문서 읽기

  • 서로 다른 주문 구조를 백엔드에서 다시 매핑

  • 각자의 OAuth, 토큰, 웹훅 방식에 맞춰 커스텀

  • 새로운 입점처가 생길 때마다 또 한 번의 통합 프로젝트

여기에 AI 에이전트까지 끼어들려고 하니 난이도가 확 튀어 오릅니다.
에이전트가 인간처럼 클릭 한 번으로 화면을 이해하는 것도 아니고, HTML 파싱해서 추론하는 것도 한계가 있으니까요.

UCP가 겨냥하는 지점은 아주 명확합니다.

  • 이커머스 전 과정에 대해 공통 언어를 만들고

  • 사람이 아니라 에이전트가 쓰기 쉬운 형태로 정의하고

  • 어떤 플랫폼이든 이 언어만 이해하면 서로 얽혀서 돌아가게 하자

라는 방향성이죠.

개인적으로는 HTTP라는 공통 언어가 생기면서 웹이 폭발적으로 성장했던 것과 비슷한 느낌을 조심스럽게 떠올리고 있습니다. 물론 아직은 초기 단계지만요.

🧩 기존 이커머스 통합과 UCP의 결정적 차이

기존 이커머스 통합을 해보신 분들이라면 공감하실 텐데, 대부분의 패턴은 어떤 특정 플랫폼의 API에 종속되는 방식이었습니다.

예를 들어,

  • 쇼피파이 앱을 만들려면 쇼피파이 API에 딱 맞춰 설계

  • 아마존 셀러 통합을 하려면 또 완전히 별도의 연동

  • 국내 오픈마켓은 각자 자체 스펙

이렇게 각각의 플랫폼이 작은 세계를 통째로 제공하고, 우리는 거기에 맞춰 들어가는 방식이죠.

UCP는 관점을 완전히 뒤집습니다. 중심이 플랫폼이 아니라 Capability, 즉 기능 단위입니다.

간단히 말해서

  • 체크아웃

  • 주문

  • ID 연동

같은 기능을, 특정 회사가 아닌 프로토콜 차원에서 표준화해 두고, 누가 구현하든 이 규격만 맞추면 에이전트나 다른 시스템이 똑같은 방식으로 사용할 수 있게 만드는 구조예요.

여기서 크게 눈에 들어온 부분이 세 가지였습니다.

1️⃣ 기능 단위로 쪼개고, 표준 이름을 붙인다

UCP는 API 엔드포인트를 서비스별로 다르게 두는 대신

  • Checkout

  • Identity Linking

  • Order

처럼 의미 있는 기능 단위(Capability)를 표준으로 선언합니다.

에이전트 입장에서 보면, 이 판매자가 쇼피파이를 쓰는지, 자체 빌드를 했는지, 다른 SaaS를 쓰는지는 전혀 신경 쓸 필요가 없습니다.

UCP의 Checkout Capability만 지원하면,

  • 장바구니 구성

  • 옵션/배송비/세금 계산

  • 결제 세션 완료

까지를 한 공통 인터페이스로 다룰 수 있죠.

이게 왜 중요하냐면, 앞으로 에이전트 기반 커머스가 커질수록, 에이전트는 수십, 수백 개의 상점을 한 번에 뒤져야 할 텐데, 이때마다 각기 다른 API 형태를 이해해야 한다면 사실상 스케일링이 불가능하기 때문입니다.

2️⃣ 비즈니스가 스스로 기능을 광고하고, 에이전트는 자동으로 발견한다

지금까지의 API 연동은 늘 이런 패턴이었습니다.

  • 개발자 포털 가입

  • API 문서 읽고

  • 키 발급받고

  • 샘플 코드 보면서 연동

UCP에서는 비즈니스 측이 프로필에 자기 기능을 선언해둡니다. 어떤 Capability를 지원하는지 표준 포맷으로 기술해 놓고, 에이전트는 이를 보고 자동으로 연동할 수 있습니다.

즉,

  • 기능을 제공하는 쪽은 '나는 Checkout, Order, Identity Linking을 이렇게 지원해요'
    라고 스스로 명함을 내밀고

  • 기능을 사용하는 쪽은 '이 판매자는 Checkout과 Order만 되네? 그럼 이렇게 쓰자'
    하는 식으로 역으로 판별합니다.

이렇게 되면 API 연동이라는 행위 자체가 문서 기반 수동 작업에서, 프로토콜 기반 자동화에 가까워집니다.

이 부분은 스펙 개요 페이지에서도 핵심 가치로 강조하고 있어서, 관심 있으시면 천천히 읽어보셔도 좋습니다.

3️⃣ 사람 클릭이 아닌, 에이전트 사용을 전제로 설계

기존 쇼핑몰은 기본적으로 사람이 브라우저에서 클릭한다는 가정을 전제로 만들어졌습니다.

  • 버튼 위치

  • 결제 페이지 이동 흐름

  • 팝업으로 뜨는 약관 동의

이런 것들이 전부 사람 눈을 위한 디자인이죠.

UCP는 아예 처음부터 에이전트가 주체라는 관점으로 설계되어 있습니다.

  • Agent Payments Protocol(AP2) 기반 결제 권한 위임

  • Verifiable Credentials를 활용한 신뢰 가능한 자격 증명

  • 사용자를 대신해서 장바구니 구성, 세금 계산, 결제 승인까지 처리

즉, 사람이 하는 클릭 시퀀스를 그대로 복제하는 게 아니라, 에이전트가 바로 이해하고 실행할 수 있는 수준으로 추상화한 프로토콜이라는 점이 핵심입니다.

이게 실제로 구현되기 시작하면, 사용자는 에이전트에게

  • 이번 달 생필품, 지난달이랑 비슷한 구성으로 최저가로 주문해줘

  • 출장 가기 전날 도착하도록 공항 근처 호텔에서 쓸 물건만 골라줘

같은 자연어 명령만 내리고, 나머지는 전부 백엔드에서 에이전트들끼리 통신하면서 알아서 돌아가게 될 가능성이 큽니다.

🛠 UCP가 제공하는 핵심 기능 세 가지

UCP는 커머스 전체를 다 하겠다고 욕심 부리기보다, 초기 버전에서 세 개의 핵심 Capability에 집중하고 있습니다. 개인적으로도 이 선택이 꽤 현실적이라고 느꼈습니다.

🧾 Checkout: 결제 버튼이 아니라, 결제 프로세스 전체

Checkout Capability는 단순히 결제 요청 한 번 보내는 수준이 아닙니다.

여기에는

  • 장바구니의 각 상품 정보

  • 수량, 옵션, 가격

  • 세금, 배송비, 할인

  • 배송 옵션 선택

같은 것들이 하나의 Checkout 세션 안에 포함됩니다.

UCP의 예시 JSON을 보면 감이 금방 옵니다.

  • ucp 버전

  • 체크아웃 id와 상태

  • currency

  • buyer 정보

  • line_items 배열

  • fulfillment 옵션

이런 필드를 표준 스키마로 고정해 두니, 에이전트는 더 이상 필드 이름을 추론하거나 HTML을 파싱할 필요 없이, 바로 구조화된 데이터를 읽고 판단할 수 있습니다.

스펙에서 말하는 것처럼, 여기서 중요한 포인트는

  • 에이전트가 이 구조를 기반으로 자체 UI를 그릴 수도 있고

  • 판매자가 제공하는 결제 UI를 임베딩 형식으로 호출할 수도 있다는 점입니다.

즉, 완전 자동화와 판매자 고유 UX 사이에 적당한 유연성을 남겨둔 셈입니다.

🧑‍💻 Identity Linking: OAuth 2.0 기반, 에이전트를 위한 계정 연동

에이전트가 우리 대신 뭔가를 하려면, 결국 나의 계정 권한을 일부 위임해야 합니다.

  • 이전 주문 내역 조회

  • 적립 포인트 사용

  • 특정 멤버십 할인 적용

이런 것들은 모두 그 상점 내 내 계정과 연결되어야 가능한 일입니다.

UCP는 이 부분을 완전히 새로 발명하지 않고, OAuth 2.0을 기반으로 Identity Linking Capability를 정의합니다.

핵심 아이디어는

  • 사용자는 자신의 계정을 직접 에이전트에게 넘기는 것이 아니라

  • 상점이 발급하는 토큰을 통해 에이전트에게 필요한 권한만 위임하고

  • 이 위임 상태는 언제든 회수 가능해야 한다

는 겁니다.

OAuth에 익숙한 개발자라면, 비교적 쉽게 이해할 수 있는 구조일 거라 생각합니다.
관련 표준은 여기를 참고해보셔도 좋습니다: https://oauth.net/2/

📦 Order: 주문의 전 생명주기를 표준 구조로

Order Capability는 말 그대로 주문의 라이프사이클 전체를 다룹니다.

  • 주문 생성

  • 결제 완료

  • 배송 준비, 배송 중, 배송 완료

  • 반품 및 교환 처리

이 모든 상태를 UCP 표준 구조 안에서 표현할 수 있게 설계되어 있습니다.

여기에 웹훅(Webhook)이 결합되면서, 에이전트는 주문 상태 변경을 바로바로 받아볼 수 있습니다.

사용자 입장에서는

  • 배송이 예상보다 지연될 가능성이 보이면

  • 에이전트가 선제적으로 알림을 보내고, 필요하다면 고객센터 연결이나 옵션 변경까지 제안하는 그림도 충분히 가능해집니다.

개발자로서 느끼는 장점은, 각 쇼핑몰마다 다른 주문 상태 코드와 이벤트 명칭을 하나씩 매핑하는 대신, UCP Order 스키마만 기반으로 내부 도메인 모델을 설계할 수 있다는 점입니다.

🧬 기술적인 포인트: Transport 자유, 확장 가능, 그리고 보안

개발자 모드로 넘어가서, 기술적인 포인트도 한 번 짚어볼게요.
UCP가 흥미로운 지점 중 하나는, 특정 기술 스택에 묶여 있지 않다는 점입니다.

🔌 Transport Agnostic: REST만이 답은 아니다

UCP의 정의는 네트워크 전송 계층에 종속적이지 않습니다.
말 그대로 Transport Agnostic입니다.

즉, 같은 프로토콜 스펙을 두고도

  • HTTP/REST API 형태로 구현할 수도 있고

  • JSON-RPC 스타일로 갈 수도 있고

  • Model Context Protocol(MCP)을 통해 LLM과 연동할 수도 있고

  • 에이전트 간 직접 통신(A2A, Agent-to-Agent)으로도 이용할 수 있습니다.

MCP에 대해 궁금하신 분은 이쪽도 한 번 보셔도 좋고요.
https://modelcontextprotocol.io

에이전트 간 직접 통신 개념은 이런 방향과 잘 맞습니다.
https://discuss.pytorch.kr/t/google-ai-a2a-agent-to-agent/6761

개인적으로 이 부분이 특히 마음에 들었습니다. 초기에 REST로 시작했다가, 나중에 MCP나 A2A 쪽으로 확장하고 싶어질 가능성이 충분히 있다고 보기 때문입니다.

🔒 보안과 권한 위임: AP2 Mandates와 암호학적 증명

결제는 말 그대로 돈이 왔다 갔다 하는 영역이다 보니, 보안 모델이 허술하면 이 전체 구상이 의미가 없어집니다.

UCP는 기본 인증/인가에 OAuth 2.0을 쓰되, 결제 권한 위임에 대해서는 AP2 Mandates라는 개념을 도입합니다.

핵심은,

  • 사용자의 명시적인 동의를 전제로

  • 누가 누구에게 어떤 범위의 결제 권한을 위임했는지

  • 이것이 암호학적으로 검증 가능해야 한다

는 점입니다.

이렇게 되면 에이전트가 내 계좌나 카드 정보를 직접 가지지 않고도, 정해진 한도와 범위 내에서 결제를 대신 수행할 수 있는 구조가 만들어집니다.

개인적으로는, 이 영역이 제대로 구현되면 에이전트 기반 핀테크 서비스들이 엄청나게 많이 나올 수 있겠다는 생각이 듭니다.

🧱 Extension 구조: 필요한 만큼만, 점진적으로 확장

UCP는 Core Capability 외에 Extension이라는 확장 구조를 별도로 둡니다.

예를 들어,

  • Discounts

  • Fulfillment

  • 쿠폰, 프로모션 로직 등

은 필수는 아니지만 대부분의 서비스에 중요한 기능이죠.

이런 것들을 Extension으로 분리해두면,

  • 초기에는 Checkout, Order만 단순하게 붙이고

  • 서비스가 성장하면 Fulfillment, Discounts 등을 붙이는 식으로
    점진적인 도입이 가능해집니다.

개발자로서 실제 프로젝트를 진행할 때, 이런 단계적 도입이 가능하냐 아니냐가 채택 여부에 꽤 큰 영향을 주기 때문에, 이 설계는 현장감 있는 선택이라고 느꼈습니다.

🧾 예시 JSON으로 보는 UCP Checkout 구조

문서에 나온 Checkout 세션 예시 JSON을 한 번 곱씹어 보면서,
실제로 어떤 그림인지 감을 잡아볼게요.

구조는 대략 이런 식입니다.

  • ucp 버전

  • 체크아웃 id

  • 상태 (예: ready_for_complete)

  • currency

  • buyer 정보 (이메일, 이름 등)

  • line_items: 각 상품과 수량 정보

  • fulfillment: 배송 옵션과 선택된 옵션

이걸 보고 든 생각은, LLM 기반 에이전트를 염두에 두고 굉장히 명시적으로 설계했구나 하는 느낌이었습니다.

에이전트는 이 구조를 받아서

  • 장바구니 요약 UI를 그리거나

  • 어떤 배송 옵션을 추천할지 판단하고

  • 결제 진행 여부를 사용자에게 묻거나

같은 액션을 취하기가 쉬워집니다.

또 하나 흥미로운 지점은, 이 구조가 특정 PG사, 특정 결제 수단에 묶여 있지 않다는 점입니다.

프로토콜의 관점에서는

  • 이 주문에 어떤 항목이 포함되어 있고

  • 지금 상태가 어디까지 진행되었고

  • 다음에 가능한 액션은 무엇인지

이 정도까지만 표준화하고, 실제 결제 수단과 결제창은 구현체에서 선택하도록 여지를 남겨둡니다.

장기적으로 보면 이 유연성이 UCP의 생존력과 직결될 거라고 생각합니다.

📜 라이선스와 생태계: 왜 오픈소스가 중요한가

UCP는 Apache License 2.0으로 공개되어 있습니다.
라이선스 전문은 GitHub에서 확인할 수 있습니다.

https://github.com/Universal-Commerce-Protocol/ucp/blob/main/LICENSE

Apache 2.0의 장점은

  • 상업적 이용 가능

  • 포크와 수정 후 재배포 가능

  • 특허 관련 조항도 깔끔한 편

이라서, 커머스처럼 사업성이 짙은 분야에서 채용되기에 꽤 적합한 라이선스입니다.

개인적으로 중요하게 보는 부분은, 이 프로토콜을 누가 독점할 수 없다는 점입니다.

만약 특정 빅테크가 폐쇄적으로 밀어붙이는 표준이라면, 결국 또 다른 종속 구조가 생길 수밖에 없겠죠.

오픈소스, 오픈 프로토콜이라는 점 덕분에

  • 작은 스타트업도 UCP를 도입해 글로벌 에이전트 생태계에 합류할 수 있고

  • 커뮤니티 차원에서 구현체나 SDK, 테스트 도구를 만들어도 라이선스 걱정이 적고

  • 특정 회사의 비즈니스 전략 변화에 프로토콜이 흔들리지 않을 가능성이 큽니다.

이런 구조가 장기적으로는 커머스 인프라를 더 개방적인 방향으로 끌고 갈 수 있지 않을까 기대하게 됩니다.

🧠 개인적인 인사이트: 개발자와 서비스 기획자가 미리 생각해볼 포인트

AI 개발자 입장에서 UCP를 보면서 들었던 생각들을 조금 정리해 보겠습니다.
아직은 초기지만, 미리 고민해두면 좋은 지점들이 꽤 보입니다.

1. 에이전트 친화적인 커머스 도메인 설계가 빨리 필요해진다

지금까지의 커머스 설계는 대부분 사람 눈을 기준으로 했습니다. 페이지 구조, 버튼 배치, 이벤트 배너, 팝업 등등.

앞으로는

  • 에이전트가 이해하기 좋은 데이터 구조

  • 상태 전환이 명확한 주문/결제 모델

  • 권한 위임, 취소, 재시도에 대한 명시적인 규칙

이런 것들을 먼저 고민해야 할 가능성이 큽니다.

UCP는 이 방향성을 꽤 선명하게 던져주고 있어서, 커머스 관련 서비스를 기획하거나 개발하신다면 한 번쯤 스펙을 천천히 읽어보는 걸 추천합니다.

https://ucp.dev/latest/specification/overview

2. 기존 커머스에게는 위협이자 기회

기존 대형 플랫폼 입장에서는 UCP 같은 표준이 처음엔 부담스러울 수 있습니다.

  • 지금까지 쌓아온 폐쇄적인 생태계가 느슨해질 수 있고

  • 에이전트가 가격 비교와 조건 비교를 훨씬 잘하게 되면

  • 브랜드/판매자가 플랫폼 종속에서 조금 더 벗어날 수 있기 때문이죠.

반대로, 중소 상점이나 브랜드 입장에서는 꽤 큰 기회가 될 수 있습니다.

  • UCP를 지원하는 순간

  • 글로벌 에이전트 생태계의 후보군 중 하나가 되고

  • 검색, 추천, 자동 구매 플로우의 일부가 될 수 있기 때문입니다.

이런 의미에서, UCP는 기술 프로젝트를 넘어 커머스 권력 구조에도 영향을 줄 수 있는 변화라고 느껴집니다.

3. 실제 구현은 결국 개발자의 몫, 조기에 손대볼 만하다

프로토콜이 아무리 좋아도, 결국 구현체, SDK, 샘플 코드, 테스트 환경이 따라와야 실전에서 쓸 수 있습니다.

UCP GitHub를 보면 스펙과 문서가 중심이지만, 앞으로는 아마 이런 것들이 자연스럽게 따라붙을 겁니다.

  • 언어별 SDK

  • 샌드박스 상점 구현

  • 레퍼런스 에이전트

  • 테스트 툴과 시뮬레이터

지금 시점에서 개발자들이 할 수 있는 일은

  • 스펙을 읽어보고

  • 작은 PoC 수준의 구현을 해보면서

  • 도메인 모델과 내부 시스템을 UCP에 맞춰보는 연습을 해보는 것

이라고 생각합니다.

GitHub 저장소는 여기서 바로 볼 수 있습니다.
https://github.com/Universal-Commerce-Protocol/ucp

🔎 마무리: UCP, 지금 당장 써야 할까?

정리해보면, Universal Commerce Protocol(UCP)은

  • 에이전트 기반 차세대 커머스를 전제로 설계된

  • 오픈소스, 오픈 프로토콜이며

  • Checkout, Identity Linking, Order라는 핵심 Capability부터 탄탄히 다지는 중이고

  • Transport에 독립적이고, 확장 가능하며, 보안 모델까지 고려한 설계입니다.

개인적으로 느끼는 포인트는 이렇습니다.

  • 지금 당장 모든 서비스를 UCP로 갈아탈 시점은 아니다.

  • 하지만, 앞으로 커머스 관련 도메인을 설계할 때 UCP의 구조를 의식하면서 모델링을 해두면 몇 년 뒤 에이전트 생태계가 본격화될 때 큰 이점을 얻을 수 있다.

  • 특히 AI 에이전트를 만들거나, 커머스 API를 설계하는 분이라면 한 번쯤은 스펙을 보면서 자신의 시스템과 어떻게 맞물릴 수 있을지 상상해볼 만하다.

결국 질문은 이런 것 같습니다.

앞으로 쇼핑의 기본 단위가 페이지가 아니라 프로토콜이 되고, 사용자가 아니라 에이전트가 고객의 첫 접점이 되는 시대가 온다면, 우리는 지금 무엇을 준비하고 있어야 할까.

UCP는 그 질문에 대한 하나의 구체적인 제안이라고 느껴집니다.

시간 나실 때 공식 문서 한 번 쭉 훑어보시고, 내 서비스에 이걸 어디까지, 어떻게 가져올 수 있을지 한 번 생각해보시면 좋겠습니다.

저도 시간이 허락하는 대로, 간단한 데모 쇼핑몰과 에이전트를 UCP 기반으로 붙여보면서
실제 구현기를 한 번 더 정리해 볼까 생각 중입니다.

에이전트가 대신 장바구니 채우는 시대 🛒, Universal Commerce Protocol(UCP)로 준비해보세요