AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

MongoDB에서 신뢰할 수 있는 에이전틱 커머스를 위한 권한 위임 원장

MongoDB Atlas에 변경불가능한 위임 원장을 구축하여 에이전트 상거의 신뢰 계층을 만들고 책임을 보장하는 방법을 알아보세요.

사용 사례: 인공 지능, 결제

산업: 소매

제품: MongoDB Atlas

파트너: Google Cloud

AI 에이전트는 제품 검색에서 최종 결제까지 작업을 자율적으로 관리하여 디지털 커머스를 변환시킵니다. 하지만 AI 에이전트가 고객을 대신하여 결제를 시작하면 기존 커머스의 기본 가정이 무너지고 신뢰 위기가 발생합니다.

기존 결제 시스템은 에이전트의 권한을 확인하거나, 고객의 진정한 의도를 인증하거나, 명확한 트랜잭션 책임을 정의할 수 없습니다. 이로 인해 주요 과제가 발생합니다.

  • 권한 부여: 고객이 특정 구매에 대해 에이전트에게 권한을 부여했는지 확인합니다.

  • 진정성: 오류 또는 환각 없이 에이전트의 요청이 고객의 진정한 의도를 정확하게 반영하는지 확인합니다.

  • 책임: 트랜잭션이 실패하는 경우 고객, 에이전트의 개발자, 상인 또는 발행자 중 누가 책임을 지는지 결정합니다.

이러한 과제를 해결하려면 고객, 상인 및 금융 기관을 포함하여 모든 참여자가 신뢰할 수 있는 공유 표준이 필요합니다.

Google의 에이전트 Payments 프로토콜 (AP2)은 판매자, 금융 기관 및 일반 고객을 위한 신뢰할 수 있는 에코시스템을 빌드하는 안전하고 상호 운용 가능한 개방형 프로토콜을 제공합니다.

신뢰 계층

그림 1. 신뢰 계층

AP2 는 에이전트가 생성하고 교환하는 변조 방지 기능이 있고 암호화된 JSON 페이로드인 확인 가능한 디지털 자격 증명(VDC)을 통해 트랜잭션을 보호합니다. AP2 는 이러한 VDC를 세 가지 핵심 의무로 분류합니다.

  • 의도 위임: 고객이 요구하는 사항을 간략하게 설명하고 AI 에이전트 고객을 대신하여 구매할 수 있는 조건을 정의합니다.

  • 카트 위임: 상인과 고객 모두가 서명한 디지털 영수증을 제공하여 사람이 있는 구매를 승인합니다.

  • 지불 위임: 지불 네트워크와 직접 공유되는 가시성 계층을 만들어 AI 에이전트 참여를 안전하게 신호합니다.

VDC는 영구적인 디지털 계약 역할을 합니다. 에이전트는 이러한 페이로드를 암호화하여 서명하여 고객 의도를 포착합니다. 이 과정은 쇼핑 경험의 모든 단계에 대해 부인정 감사 추적을 생성합니다.

모든 단계에서 확인 가능한 증거를 포함한 계약상 대화

그림 2. 모든 단계에서 확인 가능한 증거를 포함한 계약상 대화

사용자 인터페이스에서 대화 내에 각 의도가 어떻게 표현되는지 보여주는 의도 시각화

그림 3. 대화 내에서 각 인텐트가 어떻게 표시되는지 보여주는 사용자 인터페이스의 인텐트 시각화

이러한 암호화 VDC가 신뢰할 수 있으려면 시스템은 보안이 강화된 확인 가능한 환경에 저장해야 합니다. Mandate Ledger Service는 AI 에이전트와 데이터베이스 사이의 보호 미들웨어 역할을 합니다. 이 미들웨어 뒤에는 MongoDB Atlas가 있습니다.

Atlas는 변조 방지 감사 추적을 지원하도록 설계된 엔터프라이즈 급 보안을 제공합니다. 안전한 에이전틱 상거를 확장하는 데 필요한 불변의 신뢰 계층인 Mandate Ledger Service를 만들려면 이 아키텍처를 빌드하세요.

고객이 AI 도우미에게 새 스마트폰 쇼핑을 요청하는 상황을 상상해 보세요. 쇼핑 에이전트는 상인과 자율적으로 협상하여 최적의 거래를 찾습니다. 위임 레저 서비스는 모든 요청, 승인 및 결제 단계를 암호화된 JSON 위임으로 패키징하여 이 전체 과정을 기록합니다. MongoDB Atlas는 각 위임을 불변 문서로 저장합니다. 이 과정은 간단한 채팅을 영구적이고 불가역적인 의도 증명으로 변환합니다.

이 솔루션은 AP2 프로토콜 사용하는 아키텍처 위에 위임 원장 서비스를 빌드 방법을 보여줍니다.

AP2 은 보안과 명확한 트랜잭션 책임을 제공하도록 고안된 역할 기반 아키텍처를 사용합니다. 이 에코시스템의 각 액터는 통합을 간소화하고 고객 개인 정보를 보호하기 위해 고유한 책임을 집니다.

MongoDB Mandate Ledger Service 아키텍처

그림 4. MongoDB Mandate Ledger Service 아키텍처

이 아키텍처에 정의된 주요 역할을 검토합니다.

  • 고객: 쇼핑 에이전트와 직접 상호 작용하여 제품 검색 및 구매 요청을 시작합니다.

  • 쇼핑 에이전트: 고객과 직접 상호 작용하여 제품을 찾고, 카트를 협상하고, 위임장에 서명합니다.

  • 상인 에이전트: 판매자를 대리하여 인벤토리를 표시하고, 제안을 협상하고, 주문 이행을 보장하기 위해 의무를 체결합니다.

  • 자격 증명 제공자: 고객의 결제 방법을 보안이 관리하고 트랜잭션에 적합한 결제 토큰을 선택합니다.

  • 상인 결제 처리기: 트랜잭션 권한 부여 메시지를 직접 결제 네트워크와 발행자에게 구성하고 보냅니다.

  • 감사 에이전트: 트랜잭션 후 변경할 수 없는 감사 경로를 검사하여 읽기 전용 액세스를 사용하여 결제 및 서명을 확인합니다.

  • 위임 원장 서비스: AI 에이전트와 MongoDB Atlas 사이의 보호 미들웨어 역할을 하여 암호화된 서명이 포함된 위임을 JSON 문서로 원본 저장합니다. MongoDB Atlas는 중앙의 변경 불가능 레저 역할을 합니다.

이 솔루션은 에이전트간(A2A) 프로토콜을 사용하여 통신하는 다중 에이전트 아키텍처를 사용합니다. AP2 는 트랜잭션을 실행하기 위해 범용 상거 프로토콜(UCP)도 지원합니다.

원장 서비스는 상인 에이전트를 데이터베이스에 연결하는 보호 미들웨어 역할을 합니다. FastAPI 또는 gRPC를 사용하여 이 서비스를 빌드합니다.

Mandate Ledger Service 세부 아키텍처

그림 5. 위임 원장 서비스 세부 아키텍처

세 개의 다른 보안 계층을 통해 모든 에이전트 요청을 처리합니다.

  • 인증 계층: API 키를 검증하여 에이전트를 안전하게 식별합니다. 에이전트 유형별 역할 기반 접근 제어(RBAC)를 적용하여 엄격한 에이전트 권한을 시행합니다.

  • 비즈니스 로직 계층: 핵심 요청 유효성 검사 및 동시성 제어 실행합니다. 안전한 네트워크 재시도를 위해 멱등성을 시행하고 엄격한 위임 불변성을 지원합니다.

  • 데이터 액세스 계층: MongoDB 클라이언트와 최적화된 인덱싱을 사용하여 데이터베이스 작업을 실행합니다. 이 계층은 _id 필드를 변경 불가능하게 정의하고 스키마 유효성 검사를 통해 모든 업데이트 및 삭제 작업을 차단합니다.

모든 AP2 트랜잭션은 암호화된 서명이 있는 명령의 구조화된 순서를 거치답니다. 각 단계는 MongoDB Atlas에 변경되지 않는 기록을 생성하여 의도부터 지불까지 완전한 감사 추적을 만듭니다.

데이터 흐름

그림 6. 데이터 흐름

트랜잭션을 의도에서 결제로 이동하려면 AP2 에이전트는 다음 트랜잭션 시퀀스를 완료합니다.

  1. 고객의 의도를 파악합니다. 쇼핑 에이전트는 "러닝화"와 같은 자연 언어 설명을 고객의 요청을 구조화된 의도 임무로 변환합니다. 의도 임무는 대상 상인, 환불 가능 요구 사항, 장바구니 확인 기본 설정 및 만료 기간을 포함합니다. 쇼핑 에이전트는 고객을 대신하여 EdDSA를 사용하여 임무에 서명하고 상태가 signed 이고 내용을 잠그는 버전 해시를 포함하여 상인 에이전트에 보냅니다.

  2. 의도 위임을 저장합니다. 머천트 에이전트는 위임 원장 서비스를 통해 Atlas 에 인텐트 위임 쓰기 (write)를 합니다. 원장 서비스는 요청 의 유효성을 검사하고, RBAC를 적용, 기록 변경 불가능하게 추가합니다.

  3. 카트 위임장을 만듭합니다. 상인 에이전트는 풀 제품 세부 정보(항목 이름, 가격, 통화, 허용되는 결제 방법 및 만료 일자)가 포함된 카트 제안을 빌드합니다. 상인 에이전트는 이후 위임장 원장 서비스를 통해 Atlas에 저장합니다. 이곳에서 기록은 proposed 상태와 버전 해시를 받아 무결성을 보장합니다.

  4. 고객에게 장바구니를 제공합니다. 상인 에이전트는 제안된 장바구니 위임장을 쇼핑 에이전트에 반환하고, 쇼핑 에이전트는 사용가에게 사용 가능한 제품 옵션을 제시합니다.

  5. 장바구니 위임을 승인합니다. 고객이 옵션을 선택합니다. 쇼핑 에이전트는 hardware로 지원되는 장치 키를 사용하여 고객을 대신하여 카트 위임에 서명하고 승인된 위임장을 상인 에이전트에게 다시 보냅니다.

  6. 카트 위임장에 연서하고 최종 승인합니다. 상인 에이전트는 승인된 카트에 암호화 서명을 추가하고 완전히 이중 서명된 카트 위임장을 Atlas에 저장하여 signed 상태로 합의된 터를 잠겉니다.

  7. 지불 위임장을 만듭합니다. 쇼핑 에이전트는 적절한 지불 토큰을 조회하기 위해 자격 증명 제공자에게 쿼리합니다. 쇼핑 에이전트는 그 다음 고객을 대신하여 지불 위임장을 만들고 서명한 후 상인 에이전트에게 보냅니다. 자격 증명 제공자는 전체 크레딧 카드 번호를 반환하지 않습니다. 이로써 쇼핑 에이전트는 원시 데이터에 접근할 수 없습니다.

  8. 결제 위임장을 저장합니다. 상인 에이전트는 서명된 결제 위임장을 Mandate Ledger Service를 통해 Atlas에 쓰기 (write)합니다. 원장 서비스는 이 위임장을 금융 기관과 직접 공유하여 AI 에이전트 개입 여부를 표시하고, 결제 처리기는 이 위임장을 사용하여 결제 네트워크로 권한 부여를 라우팅합니다.

에이전트는 기존 기록을 수정하거나 삭제할 수 없습니다. MongoDB Atlas는 추가만 가능한 쓰기 (write)를 시행하므로 완전한 위임 체인(의도, 장바구닄니, 결제)이 그대로 유지되며 어떤 시점에서든 에이전트가 독립적으로 확인할 수 있습니다.

5개의 콜렉션을 사용하여 확장 가능한 전자상거래를 지원하는 MongoDB 데이터베이스 구조 설계:

  • mandate_ledger: 변경할 수 없는 의무 버전을 안전하게 저장합니다.

  • payments: 초소형 결제 완료 기록을 저장합니다.

  • api_keys에이전트를 안전하게 식별하기 위한 API 키 관리.

  • audit_log: 완전한 작업 감사 추적 경로를 유지합니다.

  • idempotency_records: 요청 데이터를 캐시하여 작업의 중복을 제거합니다.

mandate_ledger 컬렉션에는 세 가지 의무 유형이 하나의 컬렉션에 저장됩니다. entity_type 필드를 사용하여 쿼리 시점에 의무 유형을 구분할 수 있으므로 조인 또는 의무 유형별 별도 컬렉션이 필요 없습니다.

모든 문서는 공통된 엔벨로프 구조를 공유합니다.

{
"entity_id": "IntentMandate_955181ea-11c3-4379-92c4-3e27c5f278d3",
"entity_type": "IntentMandate",
"version": 1,
"status": "signed",
"transaction_id": "txn_fca7db66-c769-4206-b891-7140af37f8f4",
"user_id": "hunter-d53910cf-b9e2-4876-8668-8251c990e203",
"created_by_agent": "merchant_agent_dev",
"created_by_agent_type": "merchant-agent",
"current_version_hash": "4a822a01468a27dfd...",
"signatures": [...],
"mandate_data": { ... }
}

mandate_data 필드에는 유형 고유 페이로드가 포함되며, 각 원장 유형에 따라 다른 데이터 구조가 저장됩니다.

IntentMandate 문서는 고객의 구매 의도를 구조화된 데이터로 캡처합니다. 이 데이터에는 자연 언어 설명, 대상 상인, 특정 SKU, 환불 필요 사항 및 만료 창이 포함됩니다.

IntentMandate document
"mandate_data": {
"natural_language_description": "cheapest french press coffee maker",
"merchants": [],
"skus": [],
"requires_refundability": true,
"user_cart_confirmation_required": true,
"intent_expiry": "2026-04-18T20:00:03.651746+00:00"
}

쇼핑 에이전트는 EdDSA를 사용하여 이 문서에 서명한 후 상인 에이전트에 보냅니다. 문서는 "status": "signed" 페이로드와 내용을 잠겉는 current_version_hash 값을 가지고 레저에 입력됩니다.

CartMandate 문서에는 가격 및 통화가 포함된 항목, 배송 비용, 세금, 허용되는 결제 방법 및 장바구니 만료 창을 포함하여 전체 상업 제안이 제공됩니다.

CartMandate 문서
"mandate_data": {
"contents": {
"payment_request": {
"method_data": [{ "supported_methods": "CARD", "data": { "network": ["mastercard", "paypal", "amex"] }}],
"details": {
"display_items": [
{ "label": "Standard Laptop", "amount": { "currency": "USD", "value": 1203.50 }, "refund_period": 30 },
{ "label": "Shipping", "amount": { "currency": "USD", "value": 2.00 }},
{ "label": "Tax", "amount": { "currency": "USD", "value": 1.50 }}
],
"total": { "label": "Total", "amount": { "currency": "USD", "value": 1203.50 }}
}
},
"shipping_address": { "recipient": "Bugs Bunny", "address_line": ["123 Main St"], "city": "Sample City", "country": "US" },
"cart_expiry": "2026-04-17T20:29:05.197984+00:00"
},
"merchant_authorization": "eyJhbGciOiJSUzI1NiIs..."
}

이 문서는 "status": "proposed" 지정으로 원장에 입력됩니다. 고객이 제안을 수락하면 쇼핑 에이전트가 공동 서명합니다. 그러면 상인 에이전트는 동일한 transaction_id, 증가된 version, "status": "signed" 필드로 원장에 새 문서 를 쓰기 (write)를 합니다. 배열에 두 서명을 모두 포함하면 합의된 터밀이 양측 모두에 구속됩니다.

"signatures": [
{ "signer_type": "shopping-agent", "algorithm": "EdDSA", "signed_at": "2026-04-17T19:59:49Z" },
{ "signer_type": "merchant-agent", "algorithm": "JWT", "signed_at": "2026-04-17T19:59:50Z" }
]

PaymentMandate 문서는 자격 증명 제공자에서 조회된 특정 결제 토큰과 합의된 장바구니를 연결하고, 결제자의 배송 및 문의 상세 정보를 포함합니다.

PaymentMandate 문서
"mandate_data": {
"payment_mandate_contents": {
"payment_details_total": { "label": "Total", "amount": { "currency": "USD", "value": 1203.50 }},
"payment_response": {
"method_name": "CARD",
"details": { "token": { "value": "fake_payment_credential_token_5" }},
"shipping_address": { "recipient": "Bugs Bunny", "address_line": ["123 Main St"], "city": "Sample City" },
"payer_email": "bugsbunny@gmail.com"
},
"merchant_agent": "Generic Merchant",
"timestamp": "2026-04-17T20:00:22.603453+00:00"
},
"user_authorization": "fake_cart_mandate_hash_cart_fb1b4c86..._fake_payment_mandate_hash_812843b2..."
}

user_authorization 해시는 이 PaymentMandate를 승인된 CartMandate에 암호화적으로 연결하여 결제 토큰이 다른 트랜잭션에 대해 재생되는 것을 방지합니다.

transaction_identity_type 필드에 인덱스를 만듭합니다. 단일 쿼리로 모든 트랜잭션에 대한 전체 위임 체인을 조회할 수 있습니다.

payments 컬렉션에는 완료된 트랜잭션 단위로 하나의 문서가 저장됩니다. 이 컬렉션에는 확장 참조 패턴이 적용됩니다.

원장 전체 내용을 임베딩하는 대신 각 문서에는 세 개의 원장에 대한 원장 ID 및 승인 서명만 저장됩니다. 이 디자인은 지불 기록을 작고 읽기 쉬운 상태로 유지하면서 전체 감사 추적이 필요한 경우 mandate_ledger 컬렉션의 완전한 데이터에 대한 직접 포인터를 유지합니다.

{
"payment_id": "pay_123c25ac-7b56-4e45-8dd1-30cdcda944c7",
"transaction_id": "txn_6fbab918-2b5d-4ddd-89d8-fdb96e5648d9",
"user_id": "hunter-263b752e-92be-4001-ab9d-38847811c663",
"intent_mandate": { "mandate_id": "IntentMandate_41bbeacf-...", "signature": "0x_shopping_agent_sig_...", "timestamp": "2026-04-15T19:50:57Z" },
"cart_mandate": { "mandate_id": "CartMandate_c0e8f369-...", "signature": "eyJhbGciOiJSUzI1NiIs...", "timestamp": "2026-04-15T19:52:07Z" },
"payment_mandate": { "mandate_id": "PaymentMandate_33c39b8c-...", "signature": "fake_cart_mandate_hash_...", "timestamp": "2026-04-15T19:53:53Z" },
"amount": 28,
"currency": "USD",
"status": "SUCCESS",
"payment_method_type": "CARD",
"merchant_agent": "merchant_agent_dev",
"payment_processor_agent": "payment_processor",
"processed_at": "2026-04-15T19:54:14Z"
}

이 디자인은 문서를 의도적으로 작게 유지합니다. 전체 텀, 항목 및 암호화 증명은 mandate_ledger 컬렉션에 있습니다. 결제 기록은 트랜잭션이 완료되었음을 확인하고 전체 감사 체인을 재구성하는 데 필요한 세 개의 포인터를 제공하기 위해서만 존재합니다. 전체 추적이 필요한 경우 두 컬렉션을 연결하려면 transaction_id 필드를 사용합니다.

api_keys 컬렉션은 API 키를 managed하여 에이전트를 안전하게 식별합니다. 이 컬렉션을 사용하여 서비스를 호출하는 각 에이전트와 연결된 키를 저장합니다.

audit_log 컬렉션에는 컴플라이언스 및 디버그의 모든 API 작업이 저장됩니다. 이 컬렉션을 사용하여 위임 생성, 액세스 시도, 유효성 검사 결과 등 서비스 수준 이벤트를 기록합니다. 이 방식은 변경할 수 없는 위임 원장 자체가 확장되는 것을 방지합니다. TTL 인덱스를 추가하여 90 일 후 기록을 자동으로 제거합니다. 이렇게 하면 유용한 작업 경로를 유지하면서 컬렉션의 범위를 제한할 수 있습니다.

컬렉션에는 다음 주요 필드가 포함됩니다.

  • event_type예: mandate.created 등 작업 유형을 식별합니다.

  • entity_id: 관련 위임을 참조합니다.

  • actor_agent_id: 어떤 에이전트가 조치를 수행했는지 포찱합니다.

  • event_timestamp: 이벤트가 발생한 시간을 기록하고 TTL 정책을 지원합니다.

  • expires_at: MongoDB가 기록을 자동으로 삭제하는 시점을 정의합니다.

idempotency_records 컬렉션에는 작업 중복을 방지하기 위한 이덴포텐시 키가 저장됩니다. 이 컬렉션을 사용하여 클라이언트가 제공한 키, 요청을 수행한 에이전트 및 해당 작업에 대해 생성된 원장 기록을 유지할 수 있습니다. TTL 인덱스를 추가하여 24 시간 후 기록을 자동으로 제거합니다.

컬렉션에는 다음 주요 필드가 포함됩니다.

  • idempotency_key: 고유한 클라이언트 제공 키를 저장하고 인덱스가 필요합니다.

  • agent_id: 요청을 수행한 에이전트를 식별합니다.

  • ledger_entry_id: 원래 요청에 대해 생성된 위임을 참조합니다.

  • expires_at: MongoDB가 기록을 자동으로 삭제하는 시점을 정의합니다.

시작하기 전에 다음 항목이 설치되고 구성되어 있는지 확인합니다.

  • MongoDB Atlas 또는 자체 관리형 MongoDB 7.0 이상

  • Python 3.13 (버전 3.13.x)

  • 종속성 관리를 위한 uv

  • Google API 키 또는 Vertex AI 액세스

  • 서비스를 컨테이너로 실행 Docker

  • 프론트엔드 애플리케이션 위한 Node.js 및 npm

1
  1. 리포지토리 를 복제하고 Mandate Ledger Service를 설치하세요.

    git clone https://github.com/mongodb-industry-solutions/retail-agent-shopping-ap2-ucp.git
    cd retail-agent-shopping-ap2-ucp/mandate_ledger_service
    python3.13 -m venv .venv
    source .venv/bin/activate
    pip install -e .
  2. mandate_ledger_service/ 디렉토리에 .env 파일을 만듭니다.

    MONGODB_URI= # Your connection string
    MONGODB_DATABASE=mandate_ledger
    SERVICE_NAME=mandate-ledger-service
    ENVIRONMENT=development
    # Bootstrap Auth (dev only — set to false after Step 2)
    BOOTSTRAP_ADMIN_KEY=**** # Generate: openssl rand -hex 32
    ENABLE_BOOTSTRAP_AUTH=true
    ALLOWED_CORS_ORIGINS=*
    DEFAULT_RATE_LIMIT_PER_MINUTE=60
  3. 서비스 시작:

    uvicorn src.main:app --reload --port 5000
  4. 대신 Docker로 서비스를 실행하려면 다음과 같이 합니다.

    docker build -t mandate-ledger .
    docker run --rm \
    -p 5000:5000 \
    --env-file .env \
    mandate-ledger
2
  1. 새 터미널을 열고 실행.

    cd mandate_ledger_service
    source .venv/bin/activate
    PYTHONPATH=. python3 scripts/setup_agent_keys.py
  2. 출력에서 판매자 에이전트 API 키 를 복사합니다. .env 파일 에 ENABLE_BOOTSTRAP_AUTH=false 를 설정하고 서비스를 다시 시작합니다.

생산 노트: Google Secret Manager 또는 AWS Secrets Manager와 같은 시크릿 관리자를 사용하고 키 로테이션을 구현합니다.

3

/backend 서비스는 위임 원장 서비스와 상호 작용하여 새 위임을 원장에 푸시합니다. 이 서비스는 AP2 + A2A 샘플을 사용하여 Google의 AP2 리포지토리 에서 채택되었습니다.

  1. /backend.env 파일을 만듭니다. 를 4단계에서 MANDATE_LEDGER_API_KEY 생성된 값으로 mlsk_merchant_key 2 설정합니다.

    GOOGLE_API_KEY=
    MANDATE_LEDGER_SERVICE_URL=http://localhost:5000
    MANDATE_LEDGER_API_KEY=
  2. Vertex AI의 경우 첫 줄을 다음과 같이 바꾸십시오.

    GOOGLE_GENAI_USE_VERTEXAI=true
    GOOGLE_CLOUD_PROJECT=your-project-id
    GOOGLE_CLOUD_LOCATION=us-central1
  3. 백엔드 컨테이너 빌드 및 실행:

    docker build -f backend/Dockerfile -t retail-backend ./backend
    docker run --rm \
    -p 8000:8000 \
    -p 8001:8001 \
    -p 8002:8002 \
    -p 8003:8003 \
    -p 8004:8004 \
    --env-file backend/.env \
    retail-backend
  4. 백엔드 API는 http://localhost:8000 에서 시작되며 다음 AP2 에이전트를 자동으로 실행합니다.

    에이전트
    포트

    쇼핑 에이전트(주 백엔드에 통합됨)

    8000

    상인 에이전트

    8001

    자격 증명 제공자 에이전트

    8002

    상인 결제 처리 에이전트

    8003

    감사자 에이전트

    8004

4

프론트엔드는 /backend 서비스와 상호 작용하는 Next.js 애플리케이션입니다.

  1. 예시 .env 파일을 복사하고 백엔드 및 도우미 엔드포인트를 설정하세요.

    cd frontend
    cp EXAMPLE.env .env.local
  2. frontend/.env.local 을(를) 값으로 업데이트합니다.

    MONGODB_URI=<your-mongodb-string>
    MONGODB_DATABASE=<your-database-name>
    NEXT_PUBLIC_BACKEND_ENDPOINT=http://localhost:8000
    ASSISTANT_ENDPOINT=http://localhost:3333
  3. 종속성을 설치하고 프론트엔드를 실행합니다.

    npm install
    npm run dev
  4. 프론트엔드를 컨테이너로 실행하려면 루트 Dockerfile을 사용하세요.

채팅 UI 에서 추천 답변 활성화

채팅 인터페이스는 외부 도우미 마이크로서비스를 통해 추천 답변을 생성합니다. 이 기능을 사용하려면 데모를 시작하기 전에 도우미 마이크로서비스 를 설정하고 실행해야 합니다. 이 서비스가 없으면 앱이 로드되지만 추천 답변이 생성되지 않습니다.

5
  1. 별도 터미널에서 세 개의 서비스를 시작한 후 http://localhost:8080에서 앱을 엽니다.

  2. 백엔드 API는 http://localhost:8000.에서 계속 사용할 수 있습니다.

  3. 애플리케이션 내비게이션에 대한 완전한 지침은 사용 가이드 를 참조하십시오.

에이전틱 커머스에 대한 신뢰를 확립합니다. AI 트랜잭션을 고객 의도의 결정적이고 부인정적인 증명에 고정하여 신뢰 위기를 극복합니다.

  • 트랜잭션 불변성 확보: 임무 원장 서비스에 추가 전용 규칙을 시행하여 변조 방지 감사 경로를 만듭니다.

  • 암호화 서명 보존: MongoDB document model을 사용하여 에이전트가 생성한 것과 같이 깊이 중청된 JSON 명령을 원래 형식으로 저장합니다.

  • 에이전트 액세스 제어: 역할 기반 액세스 제어를 구현하여 AI 에이전트가 특정 역할에 따라 승인된 조치만 수행하도록 합니다.

  • 중복 청구 방지: 서비스 계층에 동일성 키를 시행하여 고객에게 이중 청구하지 않고 네트워크 재시도를 안전하게 처리합니다.

  • 엔젤리카 구에메스, MongoDB

  • Florencia Arin, MongoDB

  • Sakshi Garg, MongoDB

  • Genevive Broadhead, MongoDB

  • Antonio Membrides, MongoDB

  • 다니엘 자미르, MongoDB