亚马逊新规:AI Agent必须亮明身份才能替你下单
凌晨三点,你的电脑还亮着。屏幕上,一个Agent正在同时盯五个购物页面的库存变化,一旦发现目标商品补货,就自动执行比价、计算运费、填入收货信息,然后完成支付。整个过程没有经过你之手——你只是在睡前给它下了一句指令:“看到补货就下单,预算别超两千。”
这不是科幻电影,而是过去一年里越来越多人在用AI Agent干的事。也正因如此,亚马逊最近给Agent立了规矩:不亮明AI身份,就别想替用户下单。消息传开后,开发者社区的讨论迅速分成了两派:有人觉得平台管得太宽,把Agent当成抓爬虫一样防;有人觉得这才是Agent商业化的真正起点,因为商业化的前提就是规则清晰。
我的观点很明确:这是好事。而且每一个正在做Agent开发、准备上Agent项目、或者想搞懂AI Agent边界的人,都应该趁早把这条规则拆开看明白。它表面上是一条电商平台的合规要求,实际上是在给整个Agent行业划一条底线——Agent可以替你干活,但必须让你知道它是谁,干活的痕迹必须可追溯。
1. 新规不是拍脑袋:Agent已经开始大规模介入真实交易
1.1 从“陪聊”到“付钱”,Agent的能力边界拐了个弯
过去两年,大家聊的Agent大多是办公场景:帮你写周报、整理邮件、管日程、生成PPT。这类Agent有个共同点——它们不直接触碰真实世界的钱和法律后果。写错一个周报,最多被领导说两句;发错一封邮件,撤回就行。但自从电商平台、外卖平台、票务平台陆续开放了自动化接口,Agent的能力边界悄悄拐了个弯:它开始替你花钱了。
我的一个朋友在做“限时限量商品监控”的Agent项目,核心逻辑非常简单:定时抓取某平台的活动页面,通过HTML变化判断商品是否补货,一旦发现目标商品,立马调用下单接口,用预设好的地址和支付方式完成购买。在亚马逊新规出来之前,这套方案一直跑得挺欢,不仅他一个人这么干,GitHub上类似的抢购脚本项目多到数不过来,只是现在大家换了个更体面的名字:AI Agent。
这种需求不是伪需求。真实世界里有大量需要“盯梢”的场景:限量球鞋补货、电子产品的闪促、不知何时上架的演出票、跨境购物时差导致的凌晨开售。人类不可能24小时蹲守,Agent刚好补上这个空档。问题是,当一个Agent开始替用户做支付动作,它就不再是一个“效率工具”,而是一个“交易代理”。交易意味着授权、责任、风控和纠纷,这些都不是技术问题,是规则问题。
1.2 交易场景里,Agent给平台和用户出了三道难题
平台为什么不欢迎“裸奔”的Agent?站在亚马逊的角度看,至少有三个绕不开的问题。
第一个问题,消费者知情权缺失。一个用户如果知道自己在跟AI打交道、下单行为由Agent触发,和完全不知情是两个概念。试想一下:你收到一个包裹,但你根本不知道自己买过这个东西,查半天才发现是两个月前授权的一个Agent干的,你觉得这体验正常吗?亚马逊要保护的,是用户在“知道交易由谁发起”的前提下做决定的权利。
第二个问题,责任归属模糊。Agent执行了一次错误下单——比如把预算看成1999,结果下单金额是19990。用户找平台投诉,平台找谁?找用户?用户说是Agent干的,不认账。找Agent开发者?开发者根本不认识这个用户。用户、Agent开发者、平台三方互相踢皮球,最后受伤的往往是用户自己。如果规则要求Agent必须声明身份,那么责任链条就能被切断:谁部署的Agent,谁对Agent行为负责,用户是否授权,授权范围多大,全部有迹可循。
第三个问题,平台风控体系失灵。传统电商风控基于用户行为模型:一个人正常购物是“浏览-加购-付款-收货”,节奏有快有慢,日志有前有后。而Agent下单行为是机械、高频、低延迟的,同一秒发多个请求,下单记录里根本看不出人类行为特征。大量Agent同时执行任务时,还可能被利用来囤货、刷单、抢补贴。这不是亚马逊一家的问题,任何有交易闭环的平台迟早都会遇到。
所以,亚马逊这条新规盯上的不是“Agent”这个技术名词,而是“没有身份印记的自动化交易”这件事。
2. 亚马逊新规到底说了什么:拆解“亮身份,才能下单”
2.1 “亮身份”不是一句口号,而是三层要求
根据目前公开流传的信息,以及亚马逊使用条件里针对自动化代理的更新内容,我理解这条规则的核心可以拆成三层。
第一层,交易主体必须显式声明AI身份。凡是代表用户执行亚马逊操作(尤其是下单、改地址、退货这类交易动作)的自动化代理,必须在交互过程中明确告知亚马逊“我是一个AI Agent,不是人在操作”,不能伪装成普通浏览器行为。注意,这个声明不只是给平台看的,也是给消费者看的。平台会在用户侧展示“本次订单由自动代理辅助完成”之类的提示,确保用户知情。
第二层,Agent行为必须绑定到真实注册账户和明确授权。一个Agent想替用户下单,它不能凭空操作,必须关联到一个有人类身份信息的亚马逊账户,且这个账户对Agent的下单能力做过显式授权。换句话说,Agent不能拥有“独立的隐身身份”,它只是某个真实用户账户的“代理工具”。这就把之前那种完全无人认领的自动化脚本排除在外了。
第三层,违规行为的代价是“下单能力被收回”。不亮身份的Agent,最直接的结果是交易请求被拒绝,轻则拦截下单,重则整个关联账户被限制。平台不需要封杀所有Agent,只需要让“不守规矩的Agent”赚不到钱,规则就能慢慢生效。
2.2 “亮身份”之后,Agent还有没有操作空间
很多开发者的第一反应是:“完了,以后抢购脚本全废了。”我的判断是:合规Agent的操作空间不仅没缩小,反而因为规则透明而变大了。
关键差异在“声明身份后的待遇”。一个主动声明自己是Agent的请求,平台知道它的行为模式是可预期的:它会遵守限流,不会随机点击,不会绕过验证码,出了问题能找到责任方。这样的Agent,平台反而愿意给它更稳定的接口访问权限,甚至在风控策略里给“白名单待遇”。
我整理了一张对比表,方便你理解新规前后的差异:
| 行为维度 | 人类手动操作 | 声明身份的合规Agent | 不声明身份的违规Agent |
|---|---|---|---|
| 下单能力 | 正常 | 正常,但需用户授权确认 | 大概率被拦截或风控 |
| 访问频率 | 自然波动 | 允许,但受平台限流约束 | 高频请求容易触发封禁 |
| 出错责任 | 用户自担 | 用户+Agent开发者可追溯 | 无法追溯,平台一刀切处理 |
| 用户体验 | 用户全程感知 | 交易前有明确提示 | 用户可能毫不知情 |
| 售后与申诉 | 正常 | 正常,但需提供Agent行为日志 | 申诉困难,默认按违规处理 |
你可以看到,新规的逻辑不是“Agent禁止入内”,而是“Agent请走正门”。走正门的Agent可以正常购物、正常比价、正常下单,前提是它愿意被看见、被审计、被约束。对于认真做产品的团队来说,这种规则一点也不可怕,反而帮它们把那些偷偷摸摸的脚本竞争者挡在了门外。
3. 为什么是“声明”而不是“封禁”:一纸规则背后的治理逻辑
3.1 封禁是堵,声明是疏,而疏才能留下生态
有些平台遇到自动化流量,第一反应是“全封”。但你真把自动化流量全封了,会误伤什么?会误伤那些真正有价值的第三方服务:比价工具、库存监控、购物助手、企业采购系统。这些服务背后都是正经公司在运营,他们靠API和自动化能力服务用户,如果平台一刀切,等于把这些合作伙伴也赶走了。
亚马逊显然想明白了这一点:与其把Agent逼到地下,不如让它走到台面上来。走到台面上,平台就能知道Agent生态里谁在做事、谁在搞事;就能对合规Agent提供更稳定的服务;就能在用户投诉时有据可查。这是一套典型的“疏”大于“堵”的治理思路,和我们熟悉的城市管理里“允许摆摊但必须登记”是一个逻辑——流动摊贩永远不像你想象中那么容易消灭,与其到处追着跑,不如划片、登记、留出合法经营空间。
3.2 声明之后,责任链条从“找不到人”变成“明确到户”
电商交易里最麻烦的其实是“无头案”:用户下了单,credit扣了,但东西没收到,追问之下发现是脚本自动下单导致的,而且脚本早就停止维护了。这个账算在谁头上?平台为了口碑,往往只能自己承担损失。
有了Agent身份声明之后,责任链条变得清晰:用户授权Agent → Agent开发者部署执行逻辑 → 平台执行交易 → 任何一环出问题都能通过日志回溯。用户否认下单?有授权记录。Agent越权操作?有开发者标识。平台执行错误?有交易快照。这不是为了“抓坏人”,而是为了在出问题时让纠纷处置有据可依,不至于靠猜。
这一点对普通用户尤其重要。一个用户授权Agent去下单,最怕的是什么?最怕的是Agent理解错了指令,买了一堆不该买的东西,然后用户连找谁维权都不知道。现在平台把规则往前推了一步:你不亮身份,连下单的资格都没有,交易根本不会发生;你亮明身份,交易发生后出了问题,用户至少知道那是一个什么样的Agent替自己做的决定。这就是把风险前置到了授权环节,让用户在下单之前就有能力做出更审慎的判断。
4. 落到代码里:我给Agent“亮身份”的三种技术方案
聊完规则,我们来聊实操。如果今天你的Agent需要对接类似亚马逊的电商平台,并且遵守“不亮身份不能下单”的规定,应该怎么做?我基于自己在其他平台做合规Agent的经验,整理出三条技术路径。注意,这不代表亚马逊的具体实现,而是通用工程方案,方便大家在自己的项目里落地。
4.1 方案一:请求头声明(最轻量)
最简单粗暴的方式,是在Agent发出的所有HTTP请求里,通过请求头声明身份。这个方法对平台技术要求最低,识别率也最高。
User-Agent: MyShoppingAgent/1.0 (AI Agent; contact=ops@example.com) X-Client-Type: ai-agent X-Agent-Id: agent_abc123 X-Agent-Developer: example_dev关键字段就四个:
User-Agent里写明AI Agent标识,这条路子几乎所有平台都能识别;X-Client-Type用机器可读值告诉平台“这是AI代理”;X-Agent-Id是Agent实例的唯一标识,方便平台做粒度限流;X-Agent-Developer是开发方标识,出事情能找到人。
这个方案的好处是改动小,一个中间件就能搞定;坏处是太容易伪造,如果平台只靠请求头判断,那随便一个爬虫脚本加上这几行就“洗白”了。所以请求头声明通常只作为第一道身份标识,真正可信的身份还得靠方案二。
4.2 方案二:OAuth/JWT中的Agent Claim(平台级)
做正经Agent服务,我强烈建议走OAuth 2.0客户端模式,在Token里携带Agent声明。这样平台拿到Token就知道你是谁,不依赖请求头这种民间约定。
{ "iss": "https://auth.example.com", "sub": "user_12345", "agent": { "declared": true, "agent_id": "agent_abc123", "developer": "example_dev", "purpose": "product_monitor_and_order" }, "consent": { "granted_at": "2025-06-01T12:00:00Z", "granted_via": "user_explicit_confirmation", "scopes": ["read_item", "place_order_once"] }, "exp": 1719999999 }这里面的重点是agent和consent两个区块。agent区块告诉平台“这次操作的执行方是谁”;consent区块告诉平台“用户是否授权过、授权范围多大、授权方式是什么”。平台侧只需要验证Token签名,就能同时完成身份识别和授权校验,这个是目前企业级Agent平台里最主流的设计。
4.3 方案三:下单前的人工确认回调(交易级)
前两种方案解决的是“你是谁”的问题,但还没解决“用户是否知道你要花钱”的问题。为了符合“不亮身份就别想替用户下单”的精神,交易级的关键动作最好加入人工确认回调这个环节。
流程是这样的:
- Agent发现目标商品补货,准备下单;
- Agent调用下单接口,请求里携带Agent身份声明和订单详情;
- 平台根据请求头或Token识别出这是Agent操作,不直接执行,而是向绑定的用户推送确认通知——“你的Agent正准备购买商品X,含运费共199元,是否确认?”;
- 用户点击确认,平台生成一次性确认凭证;
- Agent拿到凭证后再次发起下单请求,平台校验凭证有效,订单才真正创建。
这个流程可能看起来多了一步,慢了几秒钟,但它的价值在于:把最终决策权交还给用户。Agent可以做99.9%的侦查和准备,但按下最后那个付款键的,必须是用户本人或其明确的授权。我的经验是,凡是涉及真金白银的操作,都不建议让Agent完全脱离人工闭环,宁可慢一点。
三种方案的取舍如下:
| 方案 | 实现成本 | 身份可信度 | 适用场景 |
|---|---|---|---|
| 请求头声明 | 低 | 低,易伪造 | 早期验证、开发阶段 |
| OAuth/JWT Agent Claim | 中 | 高,平台可验证 | 正式对接、企业级Agent |
| 人工确认回调 | 中高 | 最高,交易级兜底 | 下单、支付、高风险操作 |
4.4 一个最小可行的合规下单链路
把上面三种方案串起来,一个最小可行的合规下单流程是这样:
- 注册Agent身份:在平台申请开发者账号,注册Agent实例,获得
agent_id和developer_id。 - 获取用户授权:用户在网页或App上确认“允许该Agent代我执行下单”,平台记录授权时间、授权范围,这是后面所有操作的合法基础。
- 声明身份并鉴权:Agent每次调用接口都用OAuth Client Credentials获取Token,Token中携带Agent声明,同时HTTP请求头里保留客户端标识作为双保险。
- 执行下单并在关键动作上停下:Agent完成比价、选规格、填地址等所有前置动作后,在下单这个最终动作上等待用户确认回调,确认后携带确认凭证完成交易。
- 记录完整审计日志:Agent侧把每一次决策的输入输出、API响应、重试记录全部落盘,一旦用户投诉或平台质询,能提供全链路可解释日志。
这才是“亮身份”的真正落地方式,不是加一个Header就完事,而是从身份、授权、交易确认到审计,整套串起来。
5. 新规落地后,Agent开发者最容易踩的四个坑
5.1 坑一:身份声明被平台误判成恶意流量
你有没有过这种经历:明明自己的Agent是合规的,UA也写了、Token也带了,结果还是被风控拦截?我遇到过。问题往往出在行为特征不像“活的Agent”。平台风控不只看身份声明,还会看请求节奏:一个Agent如果几百毫秒内连续下几十个订单请求,哪怕是白名单身份,也可能触发风控。
对策很简单:给自己Agent的请求加抖动和退避策略,模拟自然任务节奏。不要在一个同步循环里疯狂请求,把任务拆成队列,加上随机延迟、指数退避、按批次限流,让请求分布看起来像真实任务流。同时,主动向平台报备Agent的预期行为模型,有些平台允许开发者为自己的Agent申请流量白名单。
5.2 坑二:多Agent嵌套时身份透传断裂
现在很多Agent架构是主Agent调度子Agent:入口Agent负责理解用户意图,工具Agent负责比价,交易Agent负责下单。如果每个子Agent都用自己的Token去调接口,平台看到的会是多个不同的Agent在操作,身份链条就断了——用户授权的是入口Agent,但最终下单的是交易Agent,中间归属于不明。
解决这个问题,要做身份透传:所有子Agent调用外部接口时,必须把最顶层的用户授权凭证和主Agent声明一起透传下去,外部平台只认用户授权 + 主Agent身份组合,而不是各自持有独立身份。这块在agent框架设计阶段就要想清楚,后期改造的成本很高。
5.3 坑三:把“声明身份”当成免责金牌
有些团队觉得,只要Agent声明自己是AI,出了问题就是用户授权的问题,自己没责任。这个想法很危险。平台规则和消费者权益保护的趋势都是:Agent开发和部署方对Agent的行为承担连带责任,尤其是当Agent的决策逻辑存在缺陷时。声明身份只是让责任归属变清楚,并没有免除责任。
我给团队的建议是:在Agent的指令理解层就要加预算上限、风险提示、敏感操作二次确认这些保护措施,而且要在产品文档里明确告诉用户Agent的能力边界。比如Agent只能购买日用百货,默认不执行大额订单,如果用户的指令超出边界,Agent应该主动停下来问用户,而不是闷头执行。这不是道德要求,是合规要求。
5.4 坑四:忽略重试与并发导致重复下单
很多人在本地写Agent脚本时不会注意这个问题,一旦上到线上,稍微有一点网络波动,下单接口超时,Agent本能重试,结果就变成“同一笔订单被提交了两次”。热搜词里那句“ai agent怎么扛并发”我特别有感触,Agent的高并发不只是吞吐量问题,更是幂等问题。
我的工程实践是:每次下单请求务必携带一个全局唯一的Idempotency-Key,平台侧对相同Key只处理一次;Agent内部维护一个任务状态机,记录每个任务当前处于“准备下单”“等待确认”“已下单”“已失败”中的哪个状态,避免多个子任务并发驱动同一个单子。同时,重试要用指数退避而不是固定间隔,超时后先查询订单状态再决定是否重试,不能盲目再发一次。
| 坑 | 典型表现 | 推荐对策 |
|---|---|---|
| 被误判为恶意流量 | 请求被风控拦截 | 请求抖动、退避、平台报备 |
| 多Agent身份断裂 | 子Agent各自为政 | 顶层授权凭证透传 |
| 声明身份后放松约束 | 越权下单、超预算 | 预算上限+敏感操作二次确认 |
| 重试/并发导致重复下单 | 同一订单提交多次 | Idempotency-Key+任务状态机 |
6. 身份透明化会从亚马逊蔓延到整个Agent生态
6.1 谁在跟进:身份透明将从电商走向所有平台
很多人以为这是电商平台特有的规定。但我的判断是,“Agent必须亮明身份”会成为整个AI服务行业的通用基础规则,只是先后顺序不同。电商平台因为直接涉及金钱交易,所以最先动;接下来会是社交平台(AI账号必须标示为机器人)、内容平台(AI生成内容必须标水印)、招聘平台(AI投递简历必须声明)、企业服务(AI工作流必须可审计)。
热搜里的那些词——agent安全、企业级agent平台、agent框架、agent开发学习路线——其实都在指向同一个趋势:Agent正在从个人玩具变成企业级生产力工具,而企业级工具的第一要求就是可控、可追溯、可审计。你能想象一家公司部署了50个Agent替你管订单、管客服、管财务,但这些Agent连身份证明都没有吗?审计都过不去。
6.2 给团队的两条提前量建议
关于这个话题,我给正在做Agent相关项目的团队两个建议。
第一,把身份层做成基建,而不是补丁。不要等到平台强制要求了,再给Agent加身份逻辑。在你的Agent框架里,从第一天起就把agent_id、developer_id、用户授权关系作为第一等公民,贯穿到所有外部调用的设计中去。这样不管对接亚马逊还是其他平台,你都只需要在接口适配层做小改动,而不需要重构核心架构。
第二,用可解释性日志武装你的Agent。电商平台新规的底层逻辑是“可以被审计的Agent才是好Agent”。建议你在Agent每次执行关键动作时,生成一条结构化日志,记录:用户意图原文、Agent的决策依据、外部API的请求和响应、是否经过人工确认、最终结果。这不仅是合规要求,更是你排查线上问题时的救命稻草。我自己的项目里,很多次定位Bug都是靠这种日志倒推出来的,没有日志的Agent,出问题只能抓瞎。
最后再分享一点个人体会。做Agent这几年,我最大的感受是:规则从来不是创新的阻力,规则是让创新走得更远的护栏。没有这句话的场面话,但确实是我经历的真实逻辑——当一个领域开始出现“允许你做什么、不允许你做什么、出了问题算谁的”这类讨论时,说明这个领域已经足够成熟,值得认真投入了。亚马逊给Agent立规矩这件事,表面上是在说“不亮身份别想下单”,背后其实是把Agent从“灰色脚本”正式拉进了“商业基础设施”的牌桌。接下来就看我们这些做Agent的人,愿不愿意坐到牌桌上,按规则出牌了。