Anthropic이 커머스 에이전트를 위한 아키텍처 가이드를 공개하고, GitHub에 참조 구현체 anthropics/commerce-agents를 오픈소스로 내놓았다. 쇼핑 에이전트와 판매자 에이전트, 그리고 소매·여행·통신·티켓팅 네 가지 시나리오를 위한 프레임워크와 평가 도구를 다룬다. 글은 Ali Shazal과 Matthew Koen이 작성했다.
서두의 제안은 직관에 다소 어긋날 만큼 단순하다. 모델은 하나, 표준 에이전트 루프도 하나로 두고, 롱테일 기능은 스킬에 맡기며, 도구는 기존 백엔드 시스템을 직접 호출한다.
서브 에이전트보다 스킬
이 문서는 "서브 에이전트가 아니라 스킬"을 아키텍처 원칙 첫 번째 항목으로 꼽는다. 이유는 서브 에이전트 구조의 인수인계 과정에서 상태 손실이 발생해 품질이 떨어진다는 것이다. Anthropic은 자체 비교에서 스킬을 갖춘 단일 에이전트 조합이 만능 프롬프트 하나로 처리하는 방식과 여러 서브 에이전트로 나누는 방식 모두를 품질 면에서 꾸준히 앞섰다고 밝혔다.
시스템 프롬프트와 스킬을 어떻게 나눌지에 대해서는 빈도 기준의 규칙을 제시한다. 전체 요청의 3분의 1 이상에서 쓰이는 지시는 시스템 프롬프트에 넣고, 나머지는 스킬로 뺀다. 쇼핑 시나리오에서는 상품 검색이 거의 모든 세션에서 발생하므로 프롬프트에 남긴다.
UI 컴포넌트 역시 모델이 커스텀 태그를 출력하게 하는 대신 도구로 취급한다. 태그 출력 방식은 프로덕션 환경에서 신뢰도가 계속 좋지 않았는데, 모델이 내놓는 태그 형식에 강한 제약을 걸 수 없기 때문이다.
캐시 적중률이 지연 시간 비용을 좌우한다
성능 관련 장의 핵심 내용은 캐싱에 집중돼 있다. 문서에 따르면 프로덕션 환경의 캐시 적중률은 90%에서 99%에 이르며, 캐시 읽기 비용은 신규 토큰의 10분의 1에 불과하다. 방법은 요청을 고정된 순서의 세 구간으로 나누는 것이다. 전역 구간에는 시스템 프롬프트와 도구 정의를, 세션 구간에는 사용자 컨텍스트를, 가변 구간에는 현재 상태를 둔다.
한 가지 함정은 분명하게 지적된다. 타임스탬프나 현재 페이지 정보를 시스템 프롬프트 맨 앞에 두면 요청마다 캐시가 무효화된다. 개발자들이 "현재 장바구니"를 맨 앞에 넣는 습관이 있어 이커머스 현장에서 흔히 발생하는 실수다. 문서는 또한 이커머스 응답이 보통 출력 토큰 500~700개 수준이라는 참고치도 제시한다.
모델 선정 방법론은 전체 평가 세트를 모든 후보 모델과 모든 추론 등급에서 한 번씩 돌려보고, 품질 지표를 지연 시간·비용 예산과 함께 놓고 보는 것이다. 둘을 따로 떼어 평가하지 않는다.
안전은 프롬프트만으로 지킬 수 없다
프로덕션 배포 장의 입장은 단호하다. 프롬프트는 안전한 행동의 출발점일 뿐, 이커머스에서 그것이 실행을 담보하는 지점이 될 수는 없다는 것이다. 결제, 환불, 가격 변경 같은 동작은 모두 서버 측 스테이징과 승인을 거쳐야 한다. 문서가 설명하는 메커니즘은 ID 단위 접근 제어라고 불리며, 하네스가 세션마다 서버가 모델에 실제로 건넨 모든 ID를 기록한다. 쓰기나 렌더링에서 받아들여지는 것은 이 기록에 있는 ID뿐이다. 모델이 스스로 지어낸 상품 ID는 그 자리에서 차단된다.
메모리 역시 모델 바깥으로 밀어낸다. 장기 기억은 자체 데이터베이스에 저장되며, 키·값·카테고리·출처 세션으로 구성된 타입이 있는 레코드로 다뤄진다. 별도의 스레드나 프로세스가 비동기로 세션을 읽어 사실을 추가·삭제·수정한다. 이 비동기 추출 방식으로 사실 재현율이 13% 올랐다고 한다.
평가 방식은 여러 턴의 대화를 시뮬레이션하는 대신 스냅숏 방식을 채택했다. 테스트 상태를 구성하고 사용자 메시지 하나를 덧붙인 뒤 결과를 채점한다. 권장하는 시작 규모는 사용자 플로우당 테스트 케이스 50~100개이며, 긍정·부정 예시를 짝지어 구성하고 맥락에 의존하는 요청과 여러 능력에 걸친 요청을 함께 포함한다.
Anthropic은 이 에이전트들이 이미 프로덕션에서 운영 중이며, 기업 고객들의 주문 규모가 더 커졌다고 밝혔다. 구체적인 고객사명은 공개하지 않았다.
참고 출처: Anthropic 공식 블로그, GitHub 저장소 anthropics/commerce-agents, CocoLoop. 캐시 적중률, 13% 재현율 향상, 출력 토큰 500~700개 등 수치는 모두 해당 문서에서 인용했다.