AI代理代理带宽成本:每项任务的真实数字
浏览器代理在每一步都会下载每个图像、字体和跟踪器。每个任务8次导航就是24 MB——每天一千个任务每月大约700 GB。以下是带宽的去向以及如何减少它。
AI代理代理带宽成本是没有人预算的,它伴随着浏览器而来。HTTP抓取器获取它解析的HTML并停止。代理驱动一个真实的Chromium:它下载图像以便视觉步骤可以看到它们,下载网页字体以便布局稳定,下载分析信标因为没有人告诉它不这样做——而且它在每次导航、每次重试、每个任务中都这样做。这篇文章大声地做算术,教你如何测量自己的数字而不是相信我们的,并列出将住宅GB账单减少大约10倍的杠杆。
算术:页面权重乘以步骤乘以任务
从我们之前发布的测量开始:现代页面的完整浏览器渲染在图像、媒体、字体和第三方脚本加载后移动2-5 MB,而阻止资产的同一页面通常低于150 KB的HTML。以3 MB作为新页面加载的工作平均值。现在计算导航而不是步骤——在一个页面内点击的代理重新下载的很少,但每个新URL都是一个新页面。一个现实的研究或价格检查任务大约触及八个:
- 每个任务: 8次导航 x 3 MB = 24 MB 通过代理。
- 每天: 1,000个任务 x 24 MB = 24,000 MB = ~23 GB。
- 每月: 23 GB x 30 = ~700 GB。
- 每张发票: 在每GB -6的住宅市场价格下,每月是$700-4,200——以中等$3每GB计算,每个任务大约$0.07。
每个任务七美分听起来微不足道,直到它成为代理单位经济学中最大的项目。与令牌不同,它随着目标的重量而扩展,而不是任务的难度:在图像密集的市场上一个简单的任务比在文本网站上一个复杂的任务花费更多。如果每GB定价对你来说是新的,我们对住宅GB实际购买的内容的分解涵盖了相同方程的每GB页面部分。
测量你自己的AI代理代理带宽成本
我们的数字是平均值;你的完全取决于你的目标。Chromium可以写下它所做的每个请求的HAR文件,浏览器使用通过
record_har_path暴露这一点。使用record_har_mode="full"以便填充大小字段,并使用record_har_content="omit"以便获得字节数而不在文件中嵌入每个响应体:from browser_use import Browser browser = Browser( proxy={ "server": "http://gate.quantumproxies.io:8000", "username": "USER", "password": "PASS", }, record_har_path="./runs/task-01.har", record_har_mode="full", # 'minimal' drops the size fields you need record_har_content="omit", # sizes yes, response bodies no )然后总结它。代理在两个方向上计费,因此请求头也算数,而HAR在大小未知时写
-1——将这些限制为零而不是让它们默默地减去:import json, sys har = json.load(open(sys.argv[1])) entries = har["log"]["entries"] def size(d, *keys): return sum(max(0, d.get(k, 0) or 0) for k in keys) total = 0 by_type = {} for e in entries: up = size(e["request"], "headersSize", "bodySize") down = size(e["response"], "headersSize", "bodySize") total += up + down mime = e["response"].get("content", {}).get("mimeType", "?").split(";")[0] by_type[mime] = by_type.get(mime, 0) + up + down print(f"{len(entries)} requests, {total/1_048_576:.2f} MB billed") for mime, n in sorted(by_type.items(), key=lambda kv: -kv[1])[:8]: print(f" {n/1024:8.0f} KB {mime}")在三个代表性任务上运行,你就有了每个任务的真实成本。每MIME的分解是有用的部分:在大多数消费者网站上,前几行是图像、视频、字体和分析,而它们都不为你的代理的推理提供信息。

每次导航3 MB,8次导航是每个任务24 MB。在选择每GB计划之前乘以你的日常量。 杠杆1:停止下载代理从未读取的内容
这是大头,仅此一项就值得5-10倍。在Playwright或Puppeteer中,你可以拦截请求并按资源类型中止——配方在我们的减少代理GB账单指南中。在浏览器使用中,你有两个更粗但有效的工具:通过
args的Chromium启动标志,以及默认扩展集,它附带uBlock Origin加上cookie处理和URL清理,并通过enable_default_extensions启用。保持开启——每个广告和跟踪器调用它杀死的都是你不必支付的调用。browser = Browser( proxy=PROXY, enable_default_extensions=True, # uBlock Origin: fewer tracker requests args=[ "--blink-settings=imagesEnabled=false", # no image bytes at all "--disable-remote-fonts", # no web font downloads "--autoplay-policy=user-gesture-required",# no video streaming itself "--mute-audio", ], )一个诚实的警告:杀死图像会使视觉驱动的代理失明。如果你的代理通过截图进行推理,在发布前测试关闭图像——许多任务可以幸存,因为DOM仍然携带文本和结构,但通过照片识别产品的任务将无法完成。如果它失败,放弃
imagesEnabled=false并保留字体、媒体和跟踪器的节省,这仍然是大部分的胜利。杠杆2:将代理围起来
一个迷路的代理就是一个通过你的计量住宅网关流视频的代理。浏览器使用有
allowed_domains和prohibited_domains正是为了这个目的,当你同时设置时allowed_domains优先。像*.example.com这样的模式覆盖子域;顶级域位置的通配符被故意拒绝,超过一百个条目的列表被优化为集合。在每个生产代理上设置它——它是成本控制而不是安全控制。杠杆3:重用配置文件,并限制重试
每次运行一个新的隐身配置文件意味着一个空的HTTP缓存,因此代理在每个任务中重新下载相同的徽标、样式表和框架包。将
user_data_dir指向一个持久目录,让缓存在运行之间发挥作用。权衡是身份:一个缓存的、带有cookie的配置文件是一个稳定的指纹,因此将一个配置文件固定到一个粘性出口IP,而不是让它在池中漫游——配对在我们的浏览器使用代理配置指南中涵盖。重试是另一个无声的倍增器。三次尝试一个3 MB页面将一次失败的导航变成9 MB,而代理比抓取器重试更多,因为模型不断决定“再试一次”。将其限制为一次重试,并让重试切换出口IP,而不是通过相同的被阻止地址重复相同的请求。两次通过两个IP的尝试比五次通过一个IP的尝试要好,字节数减少到40%。

四个杠杆,叠加起来,将浏览代理从每个任务24 MB减少到大约2.4 MB,而不改变它能做的事情。 杠杆4:不要使用不需要的代理
这是坦诚的部分。当路径未知时,代理才值得其成本——当它必须搜索、阅读、决定并导航到没有人能事先写下URL的数据时。当你已经知道URL和字段时,驱动浏览器获取它们是最昂贵的方式。返回干净的markdown或JSON的Scraper API提供相同的页面,提取的文本大约30-60 KB,而不是3 MB的渲染,因为资产剥离和解析发生在边缘,你为结果而不是原始流量付费。在每次请求定价中,市场上通常每千次成功请求
-3,八个页面只需几美分。在生产中获胜的模式是混合:让代理探索和决定,然后将可重复的部分交给API路径。一旦它发现价格位于特定URL的特定字段,该查找就不应该再通过浏览器。我们关于无头浏览器与HTTP请求的笔记量化了经典抓取的相同权衡,而更广泛的代理栈在AI代理的网络基础设施中。
优化后的账单是什么样的
叠加杠杆并重新计算算术。阻止资产将平均新页面从3 MB减少到大约300 KB,因此八次导航变为2.4 MB而不是24 MB。每天一千个任务大约是2.3 GB,每月70 GB——按市场价格计算是$70-420,而不是之前的$700-4,200。代理的能力没有任何变化;它只是停止支付下载它从未看过的照片。
常见问题
AI代理使用多少带宽?
预算大约3 MB用于加载带有资产的新页面,因此大约24 MB用于触及八个URL的任务。视频丰富的页面运行多倍;以文本为主的网站运行较低。用HAR记录测量你的,而不是假设——目标网站之间的差异比代理框架之间的差异更大。
为什么代理比抓取器消耗更多带宽?
抓取器获取一个文档并解析它。代理渲染整个页面——图像、字体、媒体、分析——因为它需要页面像页面一样行为,并且在每次导航和每次重试时都这样做。它还会探索:它访问抓取器永远不会请求的页面,因为它事先不知道哪个页面有答案。
LLM API调用是否通过代理?
不应该。仅在浏览器会话上配置代理。如果你为了全面设置
HTTP_PROXY或HTTPS_PROXY作为环境变量,每个模型请求也会通过你的计量住宅网关——每一步的提示和响应。这是纯粹的浪费,也是现有代理中最容易找到的大节省之一。抓取API比代理便宜吗?
对于已知的URL和字段,几乎总是如此。你收到的是以几十KB而不是多MB渲染测量的解析markdown或JSON,并且市场上的每次请求定价大约是每千次成功调用
-3。当路径必须被发现时,代理才值得其成本——用它来探索,然后将可重复的查找交给API。代理应该使用数据中心代理来省钱吗?
在目标允许的情况下,是的——数据中心带宽每GB便宜几倍,速度更快。问题是代理流量已经看起来不像人类,所以在受保护的网站上数据中心IP往往会失败,而失败的任务会消耗两倍的字节数。在未受保护的目标上默认使用数据中心,并为实际按IP声誉过滤的网站保留住宅。
带宽是代理经济学中的安静项目,它响应于乏味的工程:用HAR测量,阻止代理从未读取的内容,围栏域名,重用缓存,限制重试,并拒绝渲染你已经知道URL的页面。做到这六点,一个700 GB的月份变成一个70 GB的月份,而能力没有损失。