에이전트 커머스 디스커버리 (Agent commerce discovery): A2A, AP2, 그리고 ACP
요약
AI 에이전트가 커머스 사이트와 거래하기 위해 필요한 세 가지 기계 판독 가능 인터페이스(A2A 에이전트 카드, AP2 선언, ACP 디스커버리 문서)를 설명합니다. 각 프로토콜의 역할과 버전 차이에 따른 구현 주의사항을 다룹니다.
핵심 포인트
- A2A 에이전트 카드는 에이전트의 기능과 기술을 명시하는 JSON 파일입니다.
- AP2 v0.1은 에이전트 카드 내 확장을 사용하지만, v0.2는 체크아웃과 결제 중심으로 재구성됩니다.
- ACP 디스커버리 문서는 에이전틱 커머스 프로토콜의 핵심 구성 요소입니다.
- 버전 및 URI 표기법(대소문자 등)의 엄격한 준수가 스캐너 검증의 핵심입니다.
AI 에이전트가 사이트와 거래를 하기 전에, 해당 사이트가 무엇을 지원하는지 그리고 어떻게 접속해야 하는지를 먼저 파악해야 합니다. 세 가지 기계 판독 가능 (machine-readable) 인터페이스가 해당 정보를 담고 있습니다: A2A 에이전트 카드 (Agent Card), AP2 선언 (declaration), 그리고 ACP 디스커버리 문서 (discovery document)입니다. 각각은 서로 다른 질문에 답하며, 에이전트는 단 하나의 커머스 요청을 보내기 전에 이들을 읽습니다.
A2A 에이전트 카드 (The A2A Agent Card)
A2A 에이전트 카드는 보통 /.well-known/agent-card.json에 위치하는 JSON 파일로, 에이전트 인터페이스를 설명합니다. 이 파일은 에이전트의 이름, 버전, 설명, 노출되는 인터페이스(각각 서비스 URL과 프로토콜 바인딩 포함), 선언된 기능 (capabilities), 그리고 제공하는 기술 (skills)을 명시합니다. 각 기술은 ID, 이름, 설명을 포함합니다. Agent2Agent 프로토콜은 한 에이전트가 다른 에이전트를 발견하고 어떻게 접속할 수 있는지 알 수 있도록 이 카드를 사용합니다.
이 카드는 기술 (skills)이 서비스 카탈로그나 연락처 정보와 같이 에이전트가 이미 접근할 수 있는 인터페이스를 반영할 때 가장 유용합니다. 아무 곳도 가리키지 않는 기술은 기술이 아예 없는 것보다 더 나쁩니다.
AP2와 중요한 버전 (AP2 and the version that matters)
AP2는 에이전트 결제 프로토콜 (Agent Payments Protocol)입니다. 현재 배포된 사이트와 스캐너들이 여전히 검증 기준으로 삼고 있는 v0.1 사양 (specification)에 따르면, 판매자 (merchant)는 지원 여부를 별도의 파일이 아닌 A2A 에이전트 카드 내부의 확장 항목 (extension entry)으로 선언합니다. 이 항목은 확장 URI, 판매자와 같은 역할 (role), 그리고 필수 여부를 표시하는 플래그를 포함합니다.
사람들을 혼란스럽게 만드는 세부 사항은 바로 URI입니다. 일부 도움말 가이드에서는 이를 github.com/google-agentic-commerce/AP2/tree/v0.1.0와 같이 대문자를 포함한 이름과 세 부분으로 구성된 버전으로 작성합니다. 하지만 v0.1 사양은 github.com/google-agentic-commerce/ap2/tree/v0.1와 같이 소문자를 사용하며 버전은 v0.1입니다. 해당 사양을 기준으로 검증하는 스캐너는 다른 모든 것이 올바르더라도 대문자 형식을 거부합니다. 수정 메시지가 아닌 사양 (spec)에서 직접 URI를 복사하십시오.
현재의 AP2 사양인 2026년 4월 버전 v0.2는 체크아웃 (checkout) 및 결제 (payment) 의무 사항을 중심으로 프로토콜을 재구성하며, 에이전트 카드 (Agent Card) 확장을 완전히 제거했다는 점에 유의하십시오. 현재 배포된 디스커버리 (discovery) 관례와 스캐너들은 여전히 v0.1을 따르고 있으므로, 오늘날의 발견 가능성 (discoverability)을 위해서는 v0.1 선언을 게시하되, v0.2 채택이 이루어짐에 따라 이 인터페이스가 변경될 것임을 예상해야 합니다.
ACP 디스커버리 (discovery) 및 체크아웃 (checkout)
ACP는 에이전틱 커머스 프로토콜 (Agentic Commerce Protocol)이며, 혼동하기 쉬운 두 가지 부분으로 구성되어 있습니다. 첫 번째는 /.well-known/acp.json에 위치한 디스커버리 (discovery) 문서로, 이는 제안 단계의 RFC로 시작하여 2026-04-17 스냅샷과 함께 정식 사양 (specification)으로 포함되었습니다. 두 번째는 해당 문서가 가리키는 체크아웃 (checkout) API입니다.
디스커버리 (discovery) 문서는 작고 엄격합니다. 이 문서는 프로토콜 이름인 acp와 버전, api_base_url, transports 배열, 그리고 capabilities.services 배열을 명시합니다. services 값은 제품 객체의 목록이 아니라 checkout과 같은 닫힌 문자열 집합 (closed set of strings)입니다. 잘못된 유형을 보내는 것은 문서가 나머지 부분에서 완벽하더라도 검증 (validation)에 실패하는 가장 흔한 원인입니다.
디스커버리 (discovery) 체크는 보통 그 뒤에 있는 체크아웃 (checkout) 엔드포인트가 아니라 문서만을 읽습니다. 이 때문에 사이트가 구현하지 않은 서비스를 선언하고 싶은 유혹이 생길 수 있는데, 체크 자체는 어느 쪽이든 통과하기 때문입니다. 하지만 문서를 신뢰하고 체크아웃 (checkout) URL을 호출하는 에이전트는 결국 아무것도 도달하지 못하게 됩니다.
최소한의 정직한 체크아웃 (checkout)
체크아웃 (checkout) 엔드포인트가 실제적이기 위해서 반드시 즉시 결제 (instant payment)를 지원해야 하는 것은 아닙니다. ACP 체크아웃 세션 (checkout session)은 status 필드를 포함하며, 그 값 중 하나는 not_ready_for_payment입니다. 서면 견적을 통해 판매하는 사이트는 실제 세션을 생성하고, 해당 상태로 반환하며, 먼저 서면으로 계약이 확인되어야 한다는 메시지를 첨부할 수 있습니다. 이렇게 하면 에이전트는 비즈니스가 실제로 작동하는 방식을 반영하는 잘 구성된 세션을 받게 되며, 엔드포인트가 응답하기 때문에 디스커버리 (discovery) 주장도 유효하게 유지됩니다.
진실된 것을 게시하십시오
이러한 인터페이스(surfaces)는 에이전트가 추측 없이 행동할 수 있도록 존재하며, 이는 모든 주장(claim)이 실제 무언가로 해결될 때만 유효합니다. 기술(skills)이 아무 곳으로도 연결되지 않는 카드는 응답하지 않는 결제(checkout)와 마찬가지로 작동을 멈추는데, 에이전트가 신호를 따라갔으나 아무것도 발견하지 못하기 때문입니다. 진실된 것을 게시하고, 각 선언(declaration)을 응답 가능한 인터페이스(surface)로 뒷받침하십시오.
turva.dev는 독립적인 스캐너에 의해 검증된, 작동 가능한 결제 엔드포인트(checkout endpoint)를 포함하는 A2A 에이전트 카드(Agent Card), AP2 가맹점 선언(merchant declaration), 그리고 ACP 디스커버리 문서(discovery document)를 게시합니다. 사이트의 에이전트 커머스 인터페이스(agent commerce surface)에 대한 감사가 필요하면 info@turva.dev로 문의하십시오.
관련 항목 (Related)
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기