AI 에이전트에게 실제 상점에서 구매하게 했더니 실제로 문제가 되는 부분들
요약
AI 에이전트의 실제 쇼핑 및 구매 흐름을 테스트하는 [AgentiQA]라는 오픈 소스 도구를 소개합니다. 기존의 정적 검사 방식으로는 알 수 없는, 실제 상점 환경에서의 에이전트 '준비성'을 진단할 수 있습니다. 이 도구는 에이전트가 웹사이트를 탐색하고 구매 과정을 완료하는 실질적인 능력을 테스트하며, 결제 보안을 위해 코드 레벨의 안전 장치를 강조합니다.
핵심 포인트
- 에이전트 준비성은 단순한 마크업 검사를 넘어 실제 상점 환경에서 테스트해야 합니다.
- AgentiQA는 에이전트가 웹페이지를 읽고 클릭하고 텍스트를 입력하는 과정을 시뮬레이션합니다.
- 실제 스토어에서는 깨끗하게 기능할 경우, 에이전트도 정상적으로 결제를 완료했습니다.
- 에이전트 실패의 진짜 원인은 '장바구니 변화 없음' 등 인간에게는 명확하지만 에이전트가 감지하기 어려운 UI 신호입니다.
AI 에이전트들이 사람들을 대신해 쇼핑을 시작하고 있습니다. ChatGPT는 웹을 돌아다니며 클릭하는 기능을 가지고 있고, Perplexity는 '구매' 버튼을 제공합니다. Anthropic과 다른 회사들은 에이전트를 실제 결제 흐름에 연결하고 있습니다. 만약 온라인 스토어를 운영한다면, 미래 고객 중 일부는 사람이 직접 클릭하여 구매하는 것이 아니라 인간을 대신해 행동하는 에이전트가 될 것입니다.
이는 제가 제 프로젝트를 진행하면서 답할 수 없었던 질문을 던졌습니다: AI 에이전트가 실제로 이 상점에서 구매를 완료할 수 있을까?
제가 찾은 모든 '에이전트 준비성(agent-readiness)' 도구들은 단지 마크업만 검사합니다. robots.txt가 에이전트 크롤러를 허용하는지, 구조화된 데이터(structured data)가 있는지, 이런 종류의 것입니다. 유용하지만, 그것은 다른 질문에 답할 뿐입니다. 깔끔한 마크업이 에이전트가 여러분의 구매 흐름을 탐색할 수 있다는 것을 의미하지 않는 것처럼, 유효한 HTML 이력서가 당신이 그 일을 할 수 있다는 것을 의미하지 않습니다. 알아내는 유일한 방법은 에이전트를 보내보고 어디에서 실패하는지 지켜보는 것입니다.
그래서 저는 AgentiQA를 만들었습니다. 이것은 오픈 소스(MIT)입니다. 작동 방식과 — 더 흥미롭게도 — 실제 상점에 적용했을 때 제가 발견한 것들을 소개합니다.
두 가지 계층 (Two layers)
정적 검사(Static checks) (stdlib만 사용, API 키 불필요): robots.txt가 에이전트 사용자 에이전트(Claude-User, ChatGPT-User, OAI-SearchBot, PerplexityBot)를 허용하는지, JSON-LD의 Product/Offer 데이터가 있는지, OpenGraph 태그가 있는지, 도달 가능한 사이트맵(sitemap)이 있는지를 확인합니다. 이것은 비용이 적게 드는
에이전트는 read_page, click(element_id), type_text(element_id, text), goto(url), record_milestone(stage)라는 작은 도구 세트를 얻고 루프를 반복합니다: 페이지 읽기, 결정하기, 행동하기, 다시 읽기. 텍스트만 처리하는 것이 비전보다 저렴하고, 결정론적이며, 어차피 에이전트 쇼퍼가 실제로 작동하는 방식과도 비슷합니다.
중요한 안전 장치: 결제 방어는 프롬프트가 아닌 코드다
체크아웃 과정을 거쳐 브라우저를 구동하는 모든 도구는 절대로 결제 데이터에 접근해서는 안 됩니다. 이를 위해 시스템 프롬프트에 의존할 수 없습니다. 프롬프트는 제안일 뿐이며, 모델이
솔직히 말씀드리자면, 기대했던 것과는 달랐습니다.
실제 공개 데모 스토어 세트를 대상으로 벤치마크를 실행했습니다. 이 스토어들은 테스트용으로 구축되었으며 실제 장바구니 및 결제 흐름을 갖추고 있습니다. 저는 에이전트들이 어디서든 실패할 것이라고 가정했었습니다. 하지만 그렇지 않았습니다.
깨끗하고 기능적인 스토어에서는 에이전트가 정상적으로 결제를 완료했습니다. 상품 선택 → 장바구니 담기 → 결제까지, 아무 문제 없이 진행되었습니다. 제가 실행한 배치 중 '실패'로 나온 것은 사실 에이전트의 문제가 아니라 Cloudflare SSL 오류를 발생시킨 먹통 서버였습니다.
진짜 실패 사례는 단순히 '에이전트가 멍청하다'라는 수준보다 더 어리석고 조용합니다:
- 인간의 클릭에는 작동하지만, 에이전트가 감지할 수 있는 상태를 생성하지 못하는 '장바구니 담기' 버튼 — 장바구니 개수 변화도 없고, 확인 메시지도 없고, 눈에 띄는 신호도 없습니다. 인간은 장바구니가 늘어난 것을 보고 다음 단계로 넘어갑니다. 하지만 에이전트는 작동했는지 알 방법이 없어 재시도하거나 멈춥니다.
- 탐색 메뉴 어디에도 장바구니 링크가 없음. 인간이라면 오른쪽 상단을 확인하는 방법을 압니다. 에이전트에게는 발견 가능한 경로가 필요합니다.
- 에이전트가 파싱할 수 없는 상품 데이터 — 가격과 재고 여부가 시각적으로는 명확하지만 DOM 텍스트에는 포함되어 있지 않은 방식으로 표시됩니다.
이러한 문제들은 마크업 린터(markup linter)에서는 감지되지 않습니다. 그리고 제가 발견한 핵심은 이겁니다: 한 스토어는 정적 준비도(static readiness) 점수에서 4점 만점에 1점을 받았지만, 에이전트는 여전히 완벽하게 결제를 완료했습니다. 정적 점수는 에이전트의 성공을 예측하지 못했습니다. 행동 테스트와 마크업 테스트는 서로 다른 것을 측정합니다. 따라서 행동 테스트가 필요합니다.
귀하의 스토어에서 시도해 보세요
pip install -r requirements.txt
playwright install chromium
...
HTML 보고서를 받게 됩니다: 에이전트가 결제를 완료했는지 여부를 알려주는 판정 배너, 우선순위별 수정 목록, 퍼널(funnel) 분석, 그리고 에이전트가 수행한 모든 단계의 전체 스크립트 기록. 또한 여러 스토어 목록을 실행하고 종합 리더보드를 생성하는 배치 모드도 있습니다.
소유하거나 테스트 권한이 있는 스토어에만 실행하세요.
이 기능의 활용 분야
에이전트 기반 상거래(Agentic commerce)는 초기 단계입니다. 현재 흥미로운 점은 '사람에게 작동하는 것'과 '에이전트에게 작동하는 것' 사이의 격차가 작고 눈에 보이지 않는 요소들로 이루어져 있으며, 아직 아무도 이를 퍼널 테스트(funnel-testing)하고 있지 않다는 것입니다. 이 도구는 오픈 소스이며, 제 샘플은 작고 데모 스토어가 복잡한 실제 운영 환경보다 쉽기 때문에 귀하의 스토어에서 무엇이 망가지는지 정말 알고 싶습니다.
레포지토리(Repo), 데모 GIF, 그리고 전체 보고서 형식: https://github.com/OmkarPalika/agentiqa
만약 귀하가 이커머스 스토어를 운영하고 있고 AI 에이전트가 귀하의 상점에서 구매할 수 있는지 알고 싶거나, 아니면 단순히 에이전트가 결제 과정을 거치며 작동하지 않는 버튼에서 포기하는 모습을 보고 싶다면, 해당 사이트를 지정해주시고 발견한 것을 저에게 알려주세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기