跳到正文
AWS Machine Learning Blog· Cher Simon·· 3 小時前精選AI 評分61

如何以 Anchor Browser 與 Amazon Bedrock AgentCore payments 建立可處理 x402 付款的 AI 智能體

Building agents that transact with Anchor Browser and AgentCore payments

AI 導讀

Anchor Browser 整合 Amazon Bedrock AgentCore payments,讓 AI 智能體可在同一瀏覽器工作階段自動支付受 x402 保護的網頁和 API。

推薦理由

文章梳理 Anchor Browser 與 AgentCore payments 處理 x402 付款的端到端流程,説明預算控制及私鑰簽署如何由受管基礎設施承擔。

正文 · 繁體中文

AI Agent 越來越需要存取按次收費的網絡資源。例如,高級數據集會按查詢收費,研究 API 會按呼叫次數計費,而設有付費牆的出版商則會要求用戶付款才能存取內容。當 AI Agent 遇到這類資源時,伺服器會傳回 HTTP 402 Payment Required。Agent 沒有內置付款機制,工作階段沒有附帶預算,也沒有以程式方式完成付款請求的方法。任務因此停滯,需要人工介入。

搭配 Agentic Payments 的 Anchor Browser 代替 Agent 處理機器對機器付款流程。這項服務由 Anchor Browser 與 AWS Generative AI Innovation Center Partner Agent Factory 合作開發,現已在 AWS Marketplace 上架。本文介紹 Anchor Browser 如何整合 Amazon Bedrock AgentCore payments,讓 AI Agent 能夠自主支付存取受 x402 保護的網頁和 API。x402 協定是基於 HTTP 的機器對機器付款開放標準。伺服器會傳回 402 Payment Required,並附上金額、接受的付款方式及付款地址,供 Agent 完成交易。

Anchor Browser 是專為 AI Agent 打造的雲端瀏覽器自動化方案。每個 Agent 工作階段都會在受管理的瀏覽器環境中執行,該環境會保留驗證狀態、處理頁面導覽、擷取網絡請求,並提供頁面互動的即時檢視。

Amazon Bedrock AgentCore 提供大規模建置、連接及最佳化 Agent 的功能。Amazon Bedrock AgentCore payments 是 AgentCore 內完全託管的功能,AI Agent 可藉此自主發現、存取及支付 API、Model Context Protocol (MCP) 伺服器和網頁內容。AgentCore payments 會管理錢包連線,在基礎架構層強制執行可設定的支出上限,並透過 x402 協定處理付款。它亦會透過 Amazon CloudWatch,提供付款嘗試、核准、拒絕及結算狀況的可觀測性。

當在 Anchor Browser 中執行的 Agent 遇到 402 回應時,AgentCore payments 會在已設定的預算內核准並完成交易。工作流程會繼續執行,不受影響。

挑戰

當自主運作的 Agent 遇到受 x402 保護的資源時,工作流程便會停滯。Agent 發出請求,例如取得高級研究報告或呼叫收費數據擴充 API,而伺服器則傳回 HTTP 402 Payment Required。由於沒有付款機制,本應自主執行的任務現在需要人工介入。

目前,開發人員必須自行建構整套付款系統。這項工作涉及四類複雜問題:

付款協定處理

  • 從 HTTP 回應中偵測並解析 402 挑戰,並分辨需要付款的回應與其他 4xx 錯誤。
  • 按照商戶要求的確切格式,建構包含密碼學證明的正確付款標頭。
  • 支援多種付款方案(exact、upto 及協定變體),避免在 Agent 中硬編碼特定供應商的邏輯。
  • 確保與各種 x402 商戶實作兼容,因為它們的挑戰格式、支援的穩定幣或結算時間可能各有不同。

安全與金鑰管理

  • 儲存用於簽署付款的私鑰,並確保在會接收不可信輸入的環境中安全儲存金鑰。
  • 管理錢包生命週期操作,包括金鑰輪替、憑證更新及服務供應商故障轉移。

運作韌性

  • 在保留工作階段狀態、Cookie 及請求上下文的同時,重新提交附有付款標頭的原始請求。
  • 提供冪等性,這對錢包操作至關重要。
  • 為每個工作階段及每筆交易設定支出上限,並即時追蹤多個 Agent 並行執行時的預算。

可觀測性與合規

  • 在審計記錄中記錄每次付款嘗試、批准、拒絕及結算,以供合規審查及對賬。

若沒有受管理的付款服務,Agent 必須自行承擔整個付款技術堆疊。每次 x402 保護的呼叫傳回 402 回應時,Agent 都必須在內部協調完整付款流程,包括:

  • 簽署證明。
  • 附加正確的標頭。
  • 重試請求。
  • 結算交易。
  • 記錄結果。

每個步驟都需要自訂程式碼,開發人員必須自行編寫、保護及維護。圖 1 展示此架構。Agent 包含八個緊密耦合的元件(錢包、私鑰、預算控制、簽署證明、附加標頭、重試邏輯、結算付款及記錄)。Agent 連接至 x402 API;402 挑戰回傳,而重試請求則向前傳送。

Agent payment stack with eight embedded components connecting to an x402 API, showing a 402 challenge returning and a retry sent forward

圖 1:Agent 付款技術堆疊

安全方面的考量不止於工程工作量。

失控支出。若沒有在基礎架構層級強制執行的硬性支出上限,錯誤、重試迴圈、提示詞注入或意外存取都可能觸發非預期付款。Agent 若在迴圈中重試收費端點,便會持續授權付款,直至有人手動介入。

金鑰暴露。當私鑰存放在 Agent 執行環境內時,便會與不受信任的網頁、第三方工具及外部相依項目共用執行環境。這些途徑可能會意外洩露控制實際資金的憑證。

簽署流程暴露。若執行環境可存取簽署基礎架構,威脅行為者便可嘗試存取金鑰,或將付款重新導向至由未經授權者控制的地址。有效的緩解措施必須確保金鑰從一開始就不會進入執行環境。

瀏覽器型 Agent 帶來額外限制:付款必須在同一個瀏覽器工作階段內進行。否則,工作階段錄影及即時畫面便不再反映實際執行的操作。

解決方案

Anchor Browser 和 AgentCore payments 透過將整個付款技術堆疊移至受管理的基礎架構,處理這些複雜性。

不同於無狀態工具呼叫,Anchor Browser 提供真正的雲端瀏覽器,具備持續存在的身分、可重複且具確定性的工作流程,以及可靠登入、瀏覽及完成工作的所需工作階段上下文。驗證、瀏覽、網絡請求、錄影及即時畫面均在同一個瀏覽器工作階段內進行。需要付款時,交易便會在該工作階段內完成。錄影會記錄從請求、402 回應、付款到內容傳送的完整流程。Anchor Agent 內置 x402 工具,可在瀏覽器上下文中直接處理收費 API 呼叫。此內置工具無需變更現有的 Playwright、Puppeteer 或基於 Chrome DevTools Protocol 的工作流程。

AgentCore payments 作為付款層。服務的核心是 Payment Manager,這是負責協調 AWS 帳戶付款操作的頂層資源。建立 Payment Manager 時,必須指定授權器類型及 IAM 角色。AgentCore 隨後會在 Amazon Bedrock AgentCore Identity 中佈建相應的工作負載身分。

其餘元件負責連接 Payment Manager 與外部錢包基礎架構:

  • PaymentConnector 將 Payment Manager 與外部錢包供應商整合,供應商可以是 Coinbase Developer Platform (Coinbase CDP) 或 Stripe Privy。
  • PaymentCredentialProvider 在 AgentCore Identity 中安全地儲存錢包供應商憑證。
  • PaymentInstrument 用來識別扣款所用的特定錢包地址。

Anchor Browser 透過 AgentCore payments,使用受支援的錢包供應商設定錢包,不會將錢包機密或私鑰放入 Agent 執行環境。AgentCore payments 透過已設定的供應商處理錢包操作。至於端點探索,AgentCore 透過 Amazon Bedrock AgentCore Gateway 提供精選的 Coinbase x402 Bazaar MCP 伺服器,讓 Agent 以程式化方式探索可用的按次付費 x402 端點。

AgentCore payments 重構了付款架構。敏感操作從 Agent 執行環境移至受管理的服務層。Anchor Agent 只保留兩個與付款相關的元件:預算工作階段及 x402 工具。包括驗證、錢包機密、付款限額、可觀測性及付款證明簽署在內的基礎架構,均位於 AgentCore payments 層。圖 2 顯示 Anchor Agent 如何連接至 AgentCore payments 受管理層;該層負責與 Coinbase CDP 或 Stripe Privy 整合錢包供應商。

Anchor Agent connecting to the AgentCore payments managed layer, which integrates with Coinbase CDP or Stripe Privy wallet providers

圖 2:Anchor Browser 與 AgentCore payments 整合

付款流程如何運作

以下步驟説明整個流程:從瀏覽器工作階段遇到受 x402 保護的資源,到 Agent 收到回應並繼續執行任務。

  1. Anchor Browser 為瀏覽器工作階段建立專屬的 AgentCore PaymentSession。工作階段啟動時若已啟用 x402,Anchor Browser 便會透過 AgentCore payments 佈建 PaymentSession,將瀏覽器工作階段連結至已設定的付款工具及預算。
  2. 瀏覽器收到 HTTP 402 Payment Required 回應。Agent 前往某個 URL,或發出 fetch 或 XMLHttpRequest (XHR) 請求。商戶會以 402 挑戰回應,列明金額、接受的付款方式及付款地址。
  3. 瀏覽器選擇相容的付款方式。Anchor Browser 讀取 402 挑戰內容,並將要求的付款方式與連結至 PaymentSession 的付款工具比對。
  4. AgentCore 核實工作階段預算,並產生加密付款證明。AgentCore payments 會確認付款金額沒有超出工作階段的支出限額。然後,服務會使用已設定的錢包供應商(Coinbase CDP 或 Stripe Privy)為交易簽署,並傳回加密證明。金鑰資料不會進入瀏覽器或 Agent 執行環境。
  5. 瀏覽器在付款標頭中附上付款證明,重試原始請求。瀏覽器會將已簽署的證明附加為 PAYMENT-SIGNATURE(x402 v2)或 X-PAYMENT(x402 v1),然後只重試原始請求一次。
  6. 商戶驗證並結算付款,然後傳回受保護資源。商戶會驗證密碼學證明、在鏈上結算交易,並提供內容。Agent 會繼續執行任務。

整個流程中,錢包憑證均由 AgentCore 和已設定的錢包供應商保管。

先決條件

開始之前,請確保你擁有有效的 Anchor Browser API 金鑰(ANCHOR_API_KEY)。如要建立金鑰,請參閲 Anchor Browser 快速入門指南。

設定自動 x402 付款

為 Anchor Browser 設定代理式付款需要設定一項工作階段屬性。將 session.x402 設為 true。該屬性的預設值為 false。啟用後,瀏覽器工作階段便可自動存取受 x402 保護的網站,付款由 AgentCore payments 簽署,並在同一瀏覽器工作階段內重試。啟用 session.x402 即表示授權瀏覽器使用已設定的付款工具進行實際付款。

以下範例示範如何使用 cURL 和 JavaScript,為 Anchor Browser 建立啟用付款功能的工作階段:

cURL

curl --request POST
--url https://api.anchorbrowser.io/v1/sessions
--header "anchor-api-key: $ANCHOR_API_KEY"
--header "content-type: application/json"
--data '{"session":{"x402":true}}'

JavaScript

const response = await fetch('https://api.anchorbrowser.io/v1/sessions', {
  method: 'POST',
  headers: {
    'anchor-api-key': process.env.ANCHOR_API_KEY,
    'content-type': 'application/json',
  },
  body: JSON.stringify({ session: { x402: true } }),
});
const { data: session } = await response.json();
console.log(session.cdp_url);

透過 Chrome DevTools Protocol 連線後,Agent 可如常瀏覽。你無需在自動化程式碼中加入錢包密鑰或付款標頭。瀏覽器會以透明方式處理 402 挑戰、付款簽署,以及文件瀏覽、fetch 和 XHR 要求的重試。

付款工作階段的限制和行為

Anchor Browser 透過 AgentCore payments 整合,在工作階段層級實施以下防護措施。每個已啟用付款功能的瀏覽器工作階段,均受已設定的支出和時間限制約束。如需瞭解具體限制,請參閲 Anchor Browser 技術文件。

如果商戶回應格式錯誤、沒有提供相容的網絡、預算用盡,或 AgentCore payments 拒絕付款,瀏覽器便會將原始 402 回應原封不動地傳回頁面。之後,你的自動化程式碼可像處理標準 HTTP 錯誤一樣處理 402。

x402 工作階段屬性只控制向第三方資源付款。該屬性不會取代 Anchor credits,也不會支付瀏覽器工作階段的費用。

Anchor Browser 的自動化程式碼

你的 Anchor Browser 自動化程式碼無需變更。以下範例示範不需要加入付款專用程式碼:

const { chromium } = require('playwright');
// Connect to the x402-enabled session via CDP
const browser = await chromium.connectOverCDP(session.cdp_url);
const page = await browser.newPage();
// Navigate to an x402-protected resource exactly as with a free page
await page.goto('https://premium-research.example.com/market-report');
// The page loaded, the payment was handled automatically
// Extract content as normal
const content = await page.textContent('article');

無需處理錢包邏輯、建立付款標頭或編寫重試程式碼。Agent 只需前往網址。如果伺服器傳回 402,Anchor Browser 便會與 AgentCore payments 協調,簽署付款證明、在要求中加入適當的付款標頭並重試,然後將內容交付頁面。自動化程式碼會收到最終呈現的頁面,當中不會顯示曾進行付款。

這種模式同樣適用於設有付費牆的新聞內容、授權金融數據、設有存取限制的 API 文件、按用量計費的研究數據庫,以及其他透過 402 挑戰限制內容存取的資源。

使用內置 x402 工具呼叫 API

付費資源不只限於網頁。許多資源都是預期使用 POST、PUT 或其他 HTTP 方法的 API。常見例子包括數據增補服務、付費推理端點,以及授權內容 API。對於這些用途,Anchor Browser Agent 內置 x402 工具,可在瀏覽器環境中像標準 HTTPS API 一樣呼叫。

你的 Agent 會透過 fetch 或 XHR 發出 API 呼叫。如果伺服器傳回 402 挑戰,瀏覽器便會透過 AgentCore payments 協調付款簽署,並在請求中加入已簽署的付款標頭後重試。你的程式碼收到回應時,就如同該端點免費一樣。這項工具不受特定供應商、模型或框架限制。付款功能以工作階段層級的能力形式,運作於現有工具之下,而且無須更改 Agent 程式碼。

// Fetch call to a paid API endpoint within the x402-enabled session
const response = await page.evaluate(async () => {
  const res = await fetch('https://data-enrichment.example.com/api/v1/enrich', {
    method: 'POST',
    headers: { 'content-type': 'application/json' },
    body: JSON.stringify({ company_domain: 'example.com' }),
  });
  return res.json();
});
// If the API returned 402, AgentCore handled payment automatically
// The response contains the enriched data
console.log(response);

你的自動化程式碼不會取得錢包憑證。只有在將 session.x402 設為 true 時,才可使用自動付款;此外,付款仍受上一節所述的支出及到期限制約束。

主要優點

這項整合將付款功能從應用程式程式碼移至基礎架構層:

無須建置付款基礎架構。 無須整合錢包 SDK、撰寫 402 回應剖析器、實作重試迴圈、維護標頭建構邏輯,亦無須建置自訂審計記錄功能。AgentCore payments 會管理整個付款技術堆疊。

無須更改現有工具。 Playwright 指令碼、Puppeteer 自動化流程、Chrome DevTools Protocol 命令,以及 Anchor Browser 中的 Agent 流程,均會如常運作。付款是附加於瀏覽器的工作階段功能,而非對 Agent 邏輯、提示詞或工具定義作出修改。

私密金鑰不會進入執行環境。 簽署及結算都在 AgentCore payments 內進行。此服務會透過 AgentCore Identity 中的安全憑證儲存功能,與 Coinbase CDP 或 Stripe Privy 通訊。Agent 執行環境無法存取可用來轉移資金的金鑰資料。

基礎架構層會強制執行預算。 每個工作階段都會在指定支出限額內運作,AgentCore 會在授權付款前強制執行限額。Amazon Bedrock AgentCore Observability 會透過 Amazon CloudWatch 提供完整的付款審計記錄。工作階段達到支出限額時,AgentCore payments 會拒絕付款。

付費工作可順利完成。 付費 GET 網頁會載入,付費 API 呼叫會傳回回應。Agent 會完成工作流程,而非停在 402 回應,等待人手介入。

帳單集中處理。 Anchor Browser 會以點數結算第三方 x402 費用,並與瀏覽器工作階段時間列於同一張發票。你無須另行管理加密貨幣託管、監察 USDC 餘額,也無須讓財務團隊核對鏈上結算。

總結

Anchor Browser 與 AgentCore payments 整合後,AI Agent 可自主處理有付費牆的網頁及付費 API 端點所提出的 x402 付款挑戰。錢包憑證不會進入 Agent 程式碼,而且無須建置自訂付款基礎架構。

隨着網絡上愈來愈多服務採用按請求收費,缺乏付款機制的 Agent 便無法完成涉及付費資源的工作。這項整合填補了這個缺口:Agent 可由始至終完成付費工作流程,在指定預算內運作,並透過 AgentCore Observability 全面監察,而且金鑰資料不會進入執行環境。

如要開始使用,請參閲以下資源:


作者簡介

Cher Simon

Cher Simon

Cher 是 AWS 的首席深度學習架構師,協助客戶、初創企業及 AWS 合作夥伴建立大規模、高效能的 AI/ML 解決方案。她曾出版著作,專長是將 AI 研究轉化為可投入生產環境的解決方案。

Guy Ben Simhon

Guy Ben Simhon

Guy 是 Anchor Browser 的聯合創辦人兼首席產品官(CPO),負責領導產品及策略。他專注於建構基礎架構,讓 AI 代理能夠可靠地與網絡互動,並大規模操作實際電腦環境。

Elay Gelbart

Elay Gelbart

Elay 是 Anchor Browser 的創始工程師兼首席工程師,負責開創其瀏覽器基礎架構及核心工程。他專長於大規模瀏覽器基礎架構、分佈式系統,以及為 AI 代理建構可靠的執行環境。

Chethan Shriyan

Chethan Shriyan

Chethan 是 AWS 的首席產品經理(技術)。他在產品及業務管理方面擁有超過 12 年經驗。Chethan 熱衷於開發和推出能為客戶生活帶來實質影響的科技產品。

Peter Jiang

Peter Jiang

Peter 是 AWS 的高級軟件開發人員,常駐西雅圖(WA)。他是 Amazon Bedrock AgentCore 支付計劃背後工程團隊的核心成員;該計劃為 AI 代理提供支付功能。Peter 在金融及支付行業擁有超過 8 年經驗,曾推出多個從零開始的項目,涵蓋銀行、加密貨幣及代理式系統。

來源:AWS Machine Learning Blog · aws.amazon.com