스크립트
00:00:00안녕하세요, 여러분. 반갑습니다. 저는 Stripe의 수석 엔지니어 Prasad Vangikar입니다.
00:00:11오늘 저는 에이전트 경제에 진입하려면 무엇이 필요한지 설명해 드리고자 합니다.
00:00:18지난 1년간 저는 한 가지 질문에 사로잡혀 있었습니다.
00:00:23에이전트가 우리를 대신해 구매를 시작하면 커머스는 어떻게 변화할까요?
00:00:29우리는 이미 필요한 요소들을 구축하고 있습니다. API, MCP 서버, 그리고 이미 잘 작동하는
00:00:39서비스들을 만들고 있죠. 그렇다면 에이전트는 어떻게 우리를 찾을까요? 현재 에이전트는 무언가를 찾는 데
00:00:48서툽니다. 여러분에게서 구매할 수도, 결제할 수도 없다면 까다로워지죠. 하지만 그 상황도
00:00:56곧 바뀔 것입니다. 이것이 앞으로 어떻게 작동할지 보여드리겠습니다. 매장 입구마다 걸려 있는
00:01:03'영업 중' 표지판을 아실 겁니다. 표지판이 걸려 있으면 손님이 들어오고, 그렇지 않으면
00:01:11발길을 돌립니다. 오늘날 대부분의 비즈니스에는 에이전트를 위한 비슷한 표지판이
00:01:19없습니다. 훌륭한 API, 훌륭한 MCP 서버, 유용한 데이터, 뛰어난 제품이 있을지 모릅니다. 하지만
00:01:30에이전트가 여러분을 찾아내기 전까지는 아무 의미가 없습니다. 에이전트가 여러분에게서 구매하고 결제할 수 있을 때까지는요.
00:01:37이 발표가 끝날 때쯤이면, 그 표지판을 '영업 중'으로 뒤집는 방법을 알게 되실 겁니다. 혹시 이 중에서
00:01:49주말 프로젝트로 앱을 밤새 코딩해 보신 분 계신가요? 좋네요. 저도 그렇습니다. 저는 마라톤 러너인데요, 미국 50개 주 전체에서 마라톤을 완주하겠다는 엄청난 목표가 있습니다. 그래서
00:02:07어느 토요일 아침, 에이전트와 함께 앉아 마라톤용 앱을 만들려고 시도했습니다. 진행 상황을 추적하고, 대회를 찾아주고,
00:02:18훈련 계획을 세우고, 스마트워치나 링에서 데이터를 가져오며, 유명 브랜드의 용품을 판매하고,
00:02:27결국에는 이 데이터로 이점을 얻을 수 있는 다른 앱에 익명화된 데이터를 판매하는 앱이었죠. 아까
00:02:37많은 분이 손을 들어주셨으니, 확실히 공감하실 수 있을 겁니다. 토요일 저녁의 제 모습인데요,
00:02:47장벽에 부딪히는 바람에 코딩 에이전트에게 소리를 지르고 있었습니다. 무려 5개의 장벽에 부딪혔죠. 오늘 발표는
00:02:54그 앱 자체에 관한 이야기는 아닙니다. 제가 만난 장벽들과 이를 어떻게 극복했는지 말씀드리고자 합니다.
00:03:03그럼 시작해 보겠습니다. 코딩은 쉽습니다. 요즘엔 에이전트가 우리 대신 확실히 해낼 수 있죠. 하지만 앱 소유자로서
00:03:12우리는 첫날부터 앱이 배포되기를 원합니다. 바로 실험을 시작하고, 사용자들로부터 초기
00:03:19피드백을 받고 싶어 하죠. 그러려면 인프라 역시 구축하기 시작해야 합니다. 에이전트는
00:03:27코딩에 능숙하지만, 과연 인프라도 구축해 줄 수 있을까요? 한번 살펴보죠.
00:03:38Stripe Projects입니다. 터미널에서 작업하는 방식인데요. 단 하나의 명령어로 한 인프라
00:03:46벤더를 설정할 수 있습니다. 3개의 서로 다른 벤더와 3개의 청구 계정이 필요한데, 제 코딩 에이전트는
00:03:53그런 양식을 작성하는 데 서툽니다. 그렇다면 어떻게 인프라를 구축할까요?
00:04:00한번 살펴보겠습니다. Stripe Projects입니다. 서비스당 명령어 하나면 끝납니다. 원시 자격 증명, 실제 계정까지
00:04:09모두 터미널에서 프로비저닝됩니다. 1일 차 출시 파트너인 Vercel을 포함해 현재 52개 제공업체가 제공되고 있습니다.
00:04:16제 에이전트는 코드를 작성하는 것과 동일한 방식으로 인프라를 프로비저닝합니다. 한 번에 하나씩 명령어를 실행하면서요.
00:04:25그리고 청구서 하나로 처리됩니다. 전체 스택에 대해 청구서 단 한 장만 발행되죠. 한번 보시죠.
00:04:55참고로 클립에 소리가 나와야 하는데요. 제가 설명해 드리겠습니다. 데이터베이스와
00:05:03인증을 만들었습니다. 그리고 마지막으로, 이렇게 완성되었네요. 아주 좋습니다. 무엇이 만들어졌는지 확인해 볼까요?
00:05:20데이터베이스 호스팅과 인증이 모두 활성화되었습니다. 자격 증명은 Stripe 보안 저장소에 들어갑니다. 세 가지 모두 하나의 Stripe
00:05:28계정을 통해 청구됩니다. 그게 전부입니다. 이제 인프라 작업은 끝났습니다. 코딩 에이전트가 애플리케이션
00:05:39로직을 구축하는 데 본격적으로 박차를 가하고 있죠. 하지만 또 다른 장벽에 부딪힙니다. 실시간 엔드포인트에서 라이브 데이터를 가져와야 하는데,
00:05:48존재하는 모든 서비스를 어디서 찾아야 할까요? 한번 살펴보죠.
00:06:00저에게는 마라톤 대회 데이터, 고도 정보, 지역 코치 정보가 필요합니다. 인터넷 어딘가에 존재한다는 건 알지만
00:06:07제 코딩 에이전트는 어디를 찾아봐야 할지 전혀 모릅니다. 웹 검색은 비결정적이고 신뢰할 수 없죠.
00:06:16예를 들어, MCP는 이러한 도구들을 호출하기 위한 공통 언어를 제공해 주었습니다. 하지만 그러려면 도구들이
00:06:23어디에 있는지 알아야 합니다. 호출할 엔드포인트가 어디에 있을까요?
00:06:30에이전트가 들어본 적도 없는 서비스들은 어떨까요? 이를 위해 Stripe Directory가 있습니다.
00:06:38인터넷 비즈니스를 위한 검색 가능한 레지스트리입니다. 제 에이전트가 마라톤 대회 데이터 API를 검색하면,
00:06:48이러한 서비스와 엔드포인트를 호출하는 데 필요한 모든 정보가 담긴 구조화된 JSON을 반환받습니다. 유료
00:06:54엔드포인트인지, 어떻게 결제하는지도 포함해서요. 모든 게 한곳에 있습니다. 웹 스크래핑도, 추측도 필요 없죠. 어떻게 작동하는지 보겠습니다.
00:07:03이제 에이전트가 서비스를 탐색하는 과정을 보여드리겠습니다. 내부에서 정확히 어떤 일이 일어나는지 보여드리기 위해 Stripe CLI를 사용하겠습니다.
00:07:26여러 서비스를 찾아냈습니다. 이제 간결한 비교 결과를 받아보겠습니다.
00:07:40여기 있네요. 3개의 서비스입니다. 각 서비스가 무엇을 지원하는지, 에이전트가 최적의 선택을 내리는 데 필요한 모든 정보가 있습니다.
00:07:49Stripe 네트워크상의 비즈니스라면 연동은 이미 끝난 셈입니다. 대시보드에서 설정 하나만 켜면 되죠.
00:07:58이처럼 제 코딩 에이전트는 데이터를 가져오기 위해 호출해야 하는 API를 찾아냈습니다.
00:08:05호출 방법도 알고, 비용이 얼마인지도 압니다. 하지만 결제하는 방법을 모릅니다. 적어도 아직까지는요.
00:08:16왜 코딩 에이전트는 서비스 결제를 하지 못할까요? 혹시 코딩 에이전트에게 선뜻
00:08:26신용카드를 내어줄 수 있는 분 계신가요? 계신가요? 좋습니다. 몇 분 계시네요. 손을 들어주신 분들은
00:08:36제게 메시지를 보내주세요. 베타 테스터를 찾는 스타트업을 알고 있거든요. 하지만 명백한 이유로, 저는 제 코딩 에이전트에게
00:08:44제 신용카드를 주지 않을 겁니다. 그 정도로 신뢰하지는 않으니까요. 하지만 한번 생각해 보죠. 에이전트에게
00:08:53신용카드를 주는 문제의 핵심은 단순한 신뢰가 아닙니다. 한도도 없이 지출 권한을
00:09:01어떻게 줄 것인가의 문제죠. 그렇다면 어떻게 안전하게 만들 수 있을까요? 정답은 Link Agent Wallet입니다. 설정하는 데
00:09:1030초밖에 걸리지 않으며, 신용카드를 건넬 필요도 없습니다. 지갑에 연결되는 안전한 링크만 있으면 됩니다. 시연을 보시죠.
00:09:23제 코딩 에이전트입니다. 방금 마라톤 대회 일정 모듈 구축을 마쳤습니다.
00:09:27모든 테스트를 통과했고, 이제 다음 단계인 라이브 API에서 데이터를 가져오는 작업을 진행하려 합니다.
00:09:35에이전트가 요청을 보냈고, 요청당 15센트인 유료 API라는 것을 방금 파악했습니다. 그런데 에이전트에게는
00:09:44아직 지갑이 없습니다. 에이전트에게 지갑을 만들어 주겠습니다. Stripe의 Link Agent Wallet을 써보죠.
00:09:55이 코딩 에이전트가 나를 대신해 제 Link 지갑을 사용할 수 있도록 인증하고 있습니다.
00:10:14하지만 모든 구매에는 제 승인이 필요합니다. 어떻게 작동하는지 보시죠. 내 모든 결제 수단이 등록되어 있는지 확인합니다.
00:10:28좋습니다. 이제 에이전트가 제 모든 결제 수단을 볼 수 있습니다. 보통은 에이전트가 이 모든 과정을 처리하지만, 여기서 어떤 일이
00:10:35일어나는지 명확히 보여드리기 위해 직접 수동으로 진행하고 있습니다. 이제 에이전트로 돌아가 지갑이
00:10:43생겼다고 알려주겠습니다. 시도해 보죠.
00:10:51이제 코딩 에이전트가 15센트 지출 요청을 생성합니다. 저에게 허가를 요청할 것입니다.
00:10:57여기 나오네요.
00:11:13훌륭합니다. 요청이 확인되었으니 승인하겠습니다.
00:11:22생체 인증 완료.
00:11:27에이전트가 API 결제를 마치고 데이터를 받아왔습니다.
00:11:34실제 돈을 지출했고, 제가 이를 승인했습니다.
00:11:39모든 지출에는 제 확인이 필요합니다. 단 30초 만에 에이전트에게 지갑이 생겼고, 이제 돈을
00:11:47쓸 수 있게 되었습니다. 물론 돈을 쓰려고 할 때마다 제가 수동으로 확인해 주어야 합니다.
00:11:54책임을 완전히 다 넘기지는 않으면서 권한을 주는 셈이죠.
00:12:01따라서 이러한 모든 결제 요청은 여전히 제가 승인합니다. 지금까지는 코딩 에이전트가 저를 위해 구매를 해왔습니다. 하지만 이제
00:12:12시간을 앞으로 돌려보죠. 몇 달 후, 앱이 출시되었습니다. 사용자들도 매우 만족해하고, 예를 들어
00:12:19수백만 명의 사용자가 앱을 이용하고 있습니다. 이제 제 앱 자체가 하나의 에이전트가 됩니다. 사용자들이 앱에서
00:12:28용품을 구매하고 싶어 한다고 해보죠. 앱은 사용자들에게 몇 가지 제품을 추천하고 판매할 수 있습니다. 하지만
00:12:39오늘날의 구매 경험이나 체크아웃은 모두 웹페이지 형태입니다. 에이전트나 제 앱은 웹페이지가
00:12:47아니죠. 그렇다면 우리 주변의 모든 에이전트와 판매자를 위해 체크아웃 경험을 어떻게 표준화할 수
00:12:57있을지 알아보겠습니다. UCP가 그 해답입니다. 유니버설 커머스 프로토콜(UCP)은 Stripe가
00:13:07주도적으로 정립해 나가고 있는 개방형 표준입니다. 제 앱은 사용자를 대신해 판매자로부터 제품을 구매해야 합니다. 하지만 오늘날의 체크아웃은
00:13:18브라우저를 사용하는 인간을 위해 설계되어 있습니다. UCP는 이 문제를 해결합니다. 에이전트가 단 하나의 웹페이지도 열지 않고
00:13:26상품을 탐색하고, 장바구니에 담고, 결제를 완료할 수 있는 표준화된 방법을 제공합니다.
00:13:33게다가 Stripe의 ACS는 에이전트 이커머스에 참여할 수 있는 가장 쉬운 방법입니다.
00:13:39모든 Stripe 판매자가 에이전트 이커머스 생태계에 빠르게 진입할 수 있는 통로죠. 이제 제 앱은 Stripe의
00:13:48모든 ACS 판매자로부터 상품을 찾아보고, 장바구니를 채우고, 구매를 완료할 수 있습니다. 결제할 때가 되면
00:13:55공유 결제 토큰을 생성합니다. 일종의 '이 사용자가 이 판매자에게서 구매하길 원하며,
00:14:03한도는 이만큼이다'라고 말하는 토큰으로 생각하시면 됩니다. 이에 대해선 곧 자세히 설명해 드리겠습니다. 어쨌든 에이전트가
00:14:11상품을 제안하면 사용자가 승인하고, 판매자는 대금을 받습니다. 모두에게 윈-윈-윈이죠.
00:14:21그럼 공유 결제 토큰을 살펴보겠습니다. 기본적으로 토큰 형태로 래핑된 결제 수단입니다.
00:14:31에이전트가 토큰을 받아서 판매자에게 전달합니다. 토큰이 담고 있는 내용은 기본적으로 똑같습니다.
00:14:39'사용자가 이 판매자에게 이 금액만큼의 결제를 승인했다'는 내용이며, 원시 신용카드 정보가 아닌
00:14:46이 토큰이 판매자에게 전달됩니다. 즉, 에이전트와 판매자 간의
00:14:52통신 채널이 PCI 준수 범위 외부에 존재하게 됩니다. 따라서 에이전트와 판매자가 훨씬 쉽게 소통할 수 있죠.
00:15:01그리고 실제 자격 증명은 이러한 민감한 정보를 다루는 데 우리 모두가 신뢰하는 주체에 안전하게
00:15:08보관됩니다.
00:15:13이제 제 앱은 판매자로부터 물건을 살 수 있고, 수백만 명의 사용자를 보유하게 되었습니다. 그리고 사용자들은 매일
00:15:22이 앱을 사용하며 러닝 기록을 남기고 있죠. 그리고 이제는 이 데이터를 유용하게 활용할 수 있는
00:15:29다른 대상에게 판매할 수도 있습니다. 대회 결과, 운동 이력, 회복 패턴 등 모든 데이터가 다른
00:15:36에이전트와 서비스에 매우 유용할 수 있죠. 한번 생각해 보죠. 코칭 앱이 페이스 데이터를 원하고, 연구
00:15:43플랫폼이 회복 트렌드를 원한다고 가정해 봅시다. 그 사람들은 저희 웹사이트에 직접 와서 가입하고, API 키를 발급받거나
00:15:50결제 설정을 하는 번거로운 과정을 거치고 싶어 하지 않습니다. 그들이 정말 원하는 것은 단지
00:15:57접속해서 서비스 요청을 보내고 데이터를 받아가는 것입니다. 그게 전부죠. 그리고 저는 이를 통해 수익을 창출하고 싶고요. 그렇다면 단 한 번의
00:16:07API 호출에 대해 어떻게 과금할 수 있을까요? 한번 살펴보죠. 제가 정말 좋아하는 개념인데요, 바로 HTTP 402 Payment Required(결제 필요)입니다.
00:16:171997년 시작부터 표준 규격에 명시되어 있던 코드입니다. 당시 창립자들은 기계가 HTTP를 통해
00:16:25기계에 결제하는 미래의 사용 사례를 위해 이 상태 코드를 넣어두었습니다. 다만 이를 실행할 인프라가 없었을 뿐이죠.
00:16:35하지만 이제는 갖추어져 있습니다. 과금은 어떻게 해야 할까요? 머신 페이먼트 프로토콜, 즉 MPP입니다. HTTP 402를
00:16:45이용한 머신 간 결제를 위한 개방형 표준입니다. 미들웨어 코드 5줄이면 충분합니다. 어제까지만 해도
00:16:52무료였던 이 엔드포인트로 이제 수익을 낼 수 있게 된 것이죠. 프로토콜의 작동 방식을 아주
00:16:59빠르게 짚어드리겠습니다. 클라이언트가 서버에 HTTP 요청을 보냅니다. 서버는 그것이 유료 API임을 알고 있죠.
00:17:06따라서 데이터 대신 챌린지 정보가 포함된 402 응답을 보냅니다. 그리고 그
00:17:13챌린지에는 클라이언트가 결제를 완료하는 데 필요한 모든 정보가 들어있죠. 클라이언트는 402 코드와
00:17:20챌린지를 확인하고 결제를 진행합니다. 결제가 완료되면, 결제 증빙을 첨부하여
00:17:27동일한 요청을 다시 보냅니다. 모든 과정이 HTTP상에서 이루어집니다. 리다이렉트도, 회원가입도,
00:17:36그 어떤 것도 필요 없으며, 사람이 개입할 필요도 없습니다. 실제로 어떻게 보이는지 시연을 통해 보시죠.
00:17:48서버가 정상적으로 실행 중입니다. 쿼리당 50센트인 엔드포인트 하나가 있죠. 그 사이에
00:17:56에이전트가 나타납니다. 엔드포인트를 찾았고 데이터를 받으려고 합니다.
00:18:04일반 HTTP GET 요청을 보내자, 402 Payment Required 응답이 돌아옵니다. 그리고 서버 측을 보면 챌린지가
00:18:20생성된 것을 확인할 수 있습니다. 에이전트는 MPPX를 통해 결제하는 방법을 알고 있습니다. 결제를 진행하도록 해보죠.
00:18:27좋습니다. 50센트가 결제되었습니다. 에이전트는 원하는 데이터를 얻었고, 백엔드에서는 결제가 수신되었습니다.
00:18:51대시보드로 이동해서 확인해 보겠습니다. 네, 보시다시피 수신되었습니다. 이 모든 것은 MPP와
00:19:02미들웨어 코드 5줄 덕분에 가능했습니다.
00:19:07이 앱은 주말 프로젝트로 시작했습니다. 스스로를 구축하기 위해 여러 서비스를 소비했죠. 그리고 이제는 세상에 제공할
00:19:16서비스를 갖추게 되었습니다. 제 앱은 그 자체를 구축하기 위해 Stripe Directory를 활용했습니다. 그리고 이제 제 앱은 다른 이들이
00:19:29찾아낼 수 있도록 디렉터리에 등록되어 있습니다. 어떻게 보이는지 보시죠. Stripe Directory에 등록된
00:19:37제 앱은 호출되고 결제를 받을 준비가 되었습니다. 에이전트 이커머스, 즉 머신 간 경제는
00:19:48다가올 미래가 아닙니다. 이미 바로 지금 여기에 존재합니다. 그리고 우리에게는 여러분이 이를 위해 구축할 수 있도록 돕는 도구들이 있습니다. 여러분은 에이전트를 맞이할
00:19:56준비가 되셨나요? 오늘 Stripe와 함께라면 가능합니다. 질문이 있으시면 저희 부스를 방문해 주세요. 감사합니다.
00:20:05감사합니다.