AWS Machine Learning Blog

Building agents that transact with Anchor Browser and AgentCore payments

8.5内容质量
Building agents that transact with Anchor Browser and AgentCore payments

TL;DR · AI 摘要

AWS推出Anchor Browser与AgentCore支付系统,使AI代理可自主处理HTTP 402支付请求,无需人工干预。

核心要点

  • AgentCore支付系统支持x402协议,自动完成API和网页内容支付
  • Anchor Browser提供云浏览器环境,维护认证状态并捕获网络请求
  • AWS Marketplace已上线该解决方案,开发者无需自建支付堆栈

结构提纲

按章节快速跳转。

  1. AI代理在访问付费资源时因缺乏支付机制导致任务中断。

  2. 云浏览器环境维护认证状态并捕获网络请求,提供实时页面交互视图。

  3. ›AgentCore支付机制

    通过x402协议自动处理支付,管理钱包连接和预算限制。

  4. 现有系统需手动处理支付协议解析、加密证明生成等复杂流程。

  5. ›AWS解决方案

    集成Anchor Browser与AgentCore支付,实现端到端自动化支付流程。

  6. 适用于付费API调用、付费数据查询和付费内容访问等场景。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • AI代理支付自动化
    • 核心方案
      • Anchor Browser
        • 云浏览器环境维护认证状态
      • AgentCore支付
        • x402协议处理
        • 预算管理
    • 技术挑战
      • 支付协议解析复杂性
    • AWS生态
      • Amazon CloudWatch监控
      • AWS Marketplace发布

金句 / Highlights

值得收藏与分享的关键句。

#AWS#AI代理#支付系统#Amazon Bedrock#x402协议
打开原文

构建能够与 Anchor 浏览器和 AgentCore 支付系统进行交易的智能体 | 人工智能

构建能够与 Anchor 浏览器和 AgentCore 支付系统进行交易的智能体

AI 智能体越来越需要访问按请求计费的网络资源。例如,高级数据集按查询收费,研究 API 按调用次数计费,付费墙出版商则将内容置于支付之后。当 AI 智能体遇到这些资源时,服务器会返回 HTTP 402 支付要求。智能体本身没有内置的支付机制,会话中也没有预设预算,也没有程序化方式满足请求。任务会陷入停滞,需要人工干预。

Anchor 浏览器结合智能体支付功能,代表智能体处理机器与机器之间的支付流程。该功能由 AWS 生成式 AI 创新中心合作伙伴 Agent Factory 联合开发,现已在 AWS Marketplace 上架。本文将介绍 Anchor 浏览器如何与 Amazon Bedrock AgentCore 支付系统集成,使 AI 智能体能够自主支付访问 x402 保护页面和 API。x402 协议是基于 HTTP 的机器间支付的开放标准。服务器在返回 402 支付要求状态码时,会同时提供金额、接受的支付方式以及智能体完成交易所需的支付地址。

Anchor 浏览器是一款专为 AI 智能体打造的基于云的浏览器自动化解决方案。每个智能体会话都在一个托管的浏览器环境中运行,该环境可维护身份验证状态、处理导航、捕获网络请求,并提供页面交互的实时视图。

Amazon Bedrock AgentCore 提供了构建、连接和大规模优化智能体的功能。AgentCore 支付系统是 AgentCore 内的全托管功能,AI 智能体可利用其自主发现、访问并支付 API、模型上下文协议(MCP)服务器和网络内容。AgentCore 支付系统管理钱包连接,在基础设施层实施可配置的支出限制,并通过 x402 协议处理支付。它还通过 Amazon CloudWatch 提供对支付尝试、批准、拒绝和结算的可观测性。

当在 Anchor 浏览器中运行的智能体遇到 402 响应时,AgentCore 支付系统会在预设预算内完成交易授权和支付。工作流程不会中断。

挑战

当自主智能体遇到受 x402 保护的资源时,工作流程会陷入停滞。智能体发起请求(例如获取高级研究报告或调用付费数据增强 API),服务器返回 HTTP 402 支付要求。没有支付机制的情况下,原本应自主运行的任务现在需要人工干预。

目前,开发者必须构建整个支付系统。这项工作涉及四个复杂度类别:

支付协议处理

  • 从 HTTP 响应中检测并解析 402 挑战,区分支付要求响应与其他 4xx 错误。
  • 使用智能体预期的精确格式构建包含加密证明的正确支付头。
  • 在不将供应商特定逻辑硬编码到智能体中情况下,支持多种支付方案(精确支付、上限支付和协议变体)。
  • 在可能因挑战格式、支持的稳定币或结算时间差异而不同的 x402 商户实现之间保持兼容性。

安全与密钥管理

  • 存储用于签署支付的私钥,要求在暴露于不可信输入的环境中进行安全的密钥存储。
  • 管理钱包生命周期操作,包括密钥轮换、凭证刷新和提供商故障转移。

运营弹性

  • 在保留会话状态、Cookie 和请求上下文的同时,重新提交原始请求并附带支付头信息。
  • 提供幂等性,这是钱包操作的关键特性。
  • 通过实时预算跟踪,在并发代理执行期间强制实施每会话和每笔交易的支出限制。

可观测性与合规性

  • 在审计日志中记录每一次支付尝试、批准、拒绝和结算,以满足合规性和对账需求。

在没有托管支付服务的情况下,代理必须内部实现完整的支付堆栈。对于每个返回 402 响应的 x402 保护调用,代理必须在内部协调完整的支付流程,包括:

  • 签署证明。
  • 附加正确的头信息。
  • 重试请求。
  • 结算交易。
  • 记录结果。

这些步骤都需要开发者自行构建、安全防护和维护的自定义代码。图 1 展示了这种架构。代理包含八个紧密耦合的组件(钱包、私钥、预算控制、签署证明、附加头信息、重试逻辑、支付结算和日志记录)。代理通过 x402 API 与外部连接,402 挑战信息向后传递,重试请求向前传递。

图 1:代理支付堆栈

安全考量不仅限于工程实现。

不受控支出。如果没有在基础设施层面强制实施硬性支出限制,一个错误、重试循环、提示注入或意外访问都可能触发非预期的支付。代理在循环中不断重试已付费的端点,会持续授权支付直到人工干预。

密钥暴露。当私钥位于代理运行时环境中时,它们会与不可信网页、第三方工具和外部依赖共享执行环境。这些途径可能无意中泄露控制真实资金的凭证。

签名流程暴露。如果签名基础设施可以从运行时访问,攻击者可能尝试访问密钥或将支付重定向到未经授权控制的地址。有效的缓解措施要求密钥根本不会进入运行时环境。

基于浏览器的代理引入了额外限制:支付必须在同一个浏览器会话中进行。否则,会话录像和实时视图将不再与实际执行内容匹配。

解决方案

Anchor 浏览器和 AgentCore 支付通过将整个支付堆栈迁移至托管基础设施,解决了这一复杂性。

与无状态工具调用不同,Anchor 浏览器提供了一个具有持久身份、可重复且确定性工作流程以及可靠登录、导航和任务完成所需会话上下文的真实云浏览器。身份验证、导航、网络请求、录像和实时视图都在同一个浏览器会话中进行。当需要支付时,交易会在该会话内完成。录像会捕获从请求到 402 响应到支付到内容交付的完整流程。Anchor 代理内置了 x402 工具,可原生在浏览器上下文中处理付费 API 调用。内置工具无需对现有 Playwright、Puppeteer 或 Chrome DevTools Protocol 工作流进行任何修改。

AgentCore支付作为支付层,其核心是支付管理器。支付管理器是AWS账户支付操作的顶级资源,负责协调支付流程。创建支付管理器需要指定授权类型和IAM角色,随后AgentCore会在Amazon Bedrock AgentCore Identity中配置对应的负载身份。

其余组件负责将支付管理器与外部钱包基础设施连接:

  • 支付连接器(PaymentConnector)将支付管理器与外部钱包提供商集成,支持Coinbase Developer Platform(Coinbase CDP)或Stripe Privy。
  • 支付凭证提供者(PaymentCredentialProvider)在AgentCore Identity中安全存储钱包提供商的凭证。
  • 支付工具(PaymentInstrument)用于标识从哪个具体钱包地址划转资金。

Anchor Browser通过AgentCore支付使用支持的钱包提供商设置钱包,无需将钱包密钥或私钥写入代理运行时。AgentCore支付通过配置的提供商处理钱包操作。在端点发现方面,AgentCore通过Amazon Bedrock AgentCore Gateway提供经过筛选的Coinbase x402 Bazaar MCP服务器,使代理能够以编程方式发现可用的按使用付费x402端点。

AgentCore支付重构了支付架构。敏感操作从代理运行时移出,转为托管服务层处理。Anchor代理仅保留两个与支付相关的组件:预算会话和x402工具。基础设施部分(包括认证、钱包密钥、支付限制、可观测性及支付证明签署)均位于AgentCore支付层。图2展示了Anchor代理如何连接到AgentCore支付的托管层,该层负责与Coinbase CDP或Stripe Privy的钱包提供商集成。

图2:Anchor Browser与AgentCore支付集成

支付流程工作原理

以下步骤描述了从浏览器会话遇到x402保护资源到代理收到响应并继续任务的端到端过程:

  • Anchor Browser为浏览器会话创建专用的AgentCore支付会话(PaymentSession)。当会话启用x402时,Anchor Browser通过AgentCore支付配置支付会话,将浏览器会话与配置的支付工具和预算关联。
  • 浏览器收到HTTP 402 Payment Required响应。代理导航到URL或发起fetch/XHR请求,商户返回包含金额、支付方式和支付地址的402挑战。
  • 浏览器选择兼容的支付方式。Anchor Browser读取402挑战负载,将请求的支付方式与支付会话关联的工具匹配。
  • AgentCore验证会话预算并生成加密支付证明。AgentCore支付验证支付金额是否在会话支出限额内,随后使用配置的钱包提供商(Coinbase CDP或Stripe Privy)签署交易并返回加密证明。无任何密钥材料进入浏览器或代理运行时。
  • 浏览器携带支付头重试原始请求。浏览器将签名证明作为PAYMENT-SIGNATURE(x402 v2)或X-PAYMENT(x402 v1)附加到请求,然后精确重试一次原始请求。
  • 商户验证并结算支付,然后返回受保护的资源。商户验证加密证明,在链上结算交易并提供内容。代理继续执行任务。

钱包凭证在整个流程中始终保留在AgentCore和配置的钱包提供商处。

先决条件

开始之前,请确保您拥有有效的Anchor Browser API密钥(ANCHOR_API_KEY)。要创建一个密钥,请参阅Anchor Browser快速入门指南。

设置自动x402支付

为Anchor Browser设置代理支付需要一个会话属性。将session.x402设置为true。该属性默认为false。启用后,浏览器会话可以自动访问受x402保护的网站,通过AgentCore签名的支付并在同一浏览器会话中重试支付。启用session.x402后,浏览器有权使用配置的支付工具进行真实支付。

以下示例展示了如何使用cURL和JavaScript为Anchor Browser创建启用支付的会话:

cURL

code
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

code
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协议连接后,代理可以正常导航。您无需在自动化代码中包含钱包密钥或支付头信息。浏览器会透明处理402挑战、支付签名和重试操作,适用于文档导航、fetch和XHR请求。

支付会话限制和行为

Anchor Browser通过AgentCore支付集成在会话级别强制实施以下限制。每个准备支付的浏览器会话都在配置的支出和时间限制内运行。有关具体限制,请参阅Anchor Browser技术文档。

如果商户响应格式错误、未提供兼容网络、预算耗尽或AgentCore支付拒绝支付,浏览器将原样返回原始402响应。您的自动化代码随后可以将402作为标准HTTP错误进行处理。

x402会话属性仅控制对第三方资源的支付。该属性不会替代Anchor积分,也不会为浏览器会话支付费用。

Anchor Browser自动化代码

您的Anchor Browser自动化代码无需更改。以下示例展示了无需特定支付代码即可实现自动化:

code
const { chromium } = require('playwright');
// 通过CDP连接到启用x402的会话
const browser = await chromium.connectOverCDP(session.cdp_url);
const page = await browser.newPage();
// 导航到受x402保护的资源,方式与免费页面完全相同
await page.goto('https://premium-research.example.com/market-report');
// 页面已加载,支付已自动处理
// 正常提取内容
const content = await page.textContent('article');

无需钱包逻辑、无需构建支付请求头、无需重试代码。代理会导航到目标 URL。如果服务器返回 402 状态码,Anchor Browser 会与 AgentCore 支付系统协同工作,签署支付凭证,使用正确的支付请求头重试请求,并将内容交付到页面。您的自动化代码会接收到最终渲染的页面,且不会有任何支付发生的迹象。

此模式统一适用于付费墙新闻、授权金融数据、API 文档访问限制、计费研究数据库以及其他通过 402 挑战限制内容访问的资源。

使用内置的 x402 工具进行 API 调用

付费资源不仅限于网页。许多资源是需要 POST、PUT 或其他 HTTP 方法的 API。常见示例包括数据增强服务、高级推理端点和授权内容 API。针对这些使用场景,Anchor Browser 代理内置了 x402 工具,您可以在浏览器上下文中像调用标准 HTTPS API 一样调用该工具。

您的代理通过 fetch 或 XHR 发起 API 调用。如果服务器返回 402 挑战,浏览器会通过 AgentCore 支付系统协调支付签名,并使用已签名的支付请求头重试请求。您的代码会像端点免费一样接收到响应。该工具不绑定特定供应商、模型或框架。支付作为会话级别的能力在现有工具之下运行,无需对代理代码进行任何修改。

code
// 在启用 x402 的会话中调用付费 API 端点
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();
});
// 如果 API 返回 402,AgentCore 会自动处理支付
// 响应包含增强后的数据
console.log(response);

您的自动化代码不会接收到钱包凭证。只有当 session.x402 设置为 true 时,自动支付功能才可用,并且仍受前一节所述的支出和过期限制约束。

核心优势

此集成将支付逻辑从应用代码转移到基础设施层:

无需构建支付基础设施。无需集成钱包 SDK、无需编写 402 响应解析器、无需实现重试循环、无需维护请求头构建逻辑、无需构建自定义审计日志。AgentCore 支付系统管理整个支付堆栈。

无需修改现有工具。Playwright 脚本、Puppeteer 自动化、Chrome DevTools Protocol 命令以及 Anchor Browser 中的代理流程将继续按原样运行。支付是附加到浏览器的会话能力,而非对代理逻辑、提示或工具定义的修改。

私钥不会进入运行时环境。签名和结算在 AgentCore 支付系统内部完成。该服务通过 AgentCore Identity 中的安全凭证存储与 Coinbase CDP 或 Stripe Privy 进行通信。代理运行时无法访问任何可转移资金的密钥材料。

预算在基础设施层强制执行。每个会话都在 AgentCore 授权支付前定义的支出限制范围内运行。Amazon Bedrock AgentCore Observability 通过 Amazon CloudWatch 提供完整的支付审计追踪。当会话达到支出上限时,AgentCore 支付系统将拒绝支付请求。

付费任务成功完成。付费GET页面加载成功。付费API调用返回响应。代理完整执行工作流,而非在遇到402响应时停止并需要人工干预。

计费功能已整合。Anchor Browser将第三方x402费用以积分形式结算在与浏览器会话时间相同的发票上。无需管理单独的加密货币托管账户,无需监控USDC余额,财务团队也无需处理链上结算。

结论

Anchor Browser集成AgentCore支付功能,使AI代理能够自主处理付费网页和付费API端点的x402支付挑战。钱包凭证无需嵌入代理代码,且无需构建自定义支付基础设施。

随着越来越多的网页转向按请求计费模式,缺乏支付机制的代理将无法完成涉及付费资源的任务。此次集成填补了这一空白:代理可端到端完成付费工作流,在预设预算范围内运行,并通过AgentCore Observability实现全链路可观测性,且运行时无需处理加密密钥材料。

要开始使用,请查阅以下资源:

  • Anchor Browser中的自动x402支付
  • AgentCore支付开发者指南
  • 集成浏览器的AgentCore支付
  • AWS Marketplace上的Anchor Browser

作者简介

'"`