这里90%的‘看我的代理能浏览网页’帖子在第五个URL时就会崩溃
摘要
作者批判了网页代理演示因获取层问题而在真实URL上失败的现象,强调数据工程是比代理推理更难的挑战。
我知道这听起来可能有点刺耳,但这里发布的几乎每个自主网页代理演示都是在作者已知会成功的URL上测试的。模式如下:一个演示访问两三个干净的URL,获得良好的文本返回,进行推理,然后发布截图。这工作得很好。现在让同一个代理面对一个它没有选择的20个URL列表。到第五个URL,你会遇到一个React页面返回空壳。到第八个URL,一个Cloudflare墙会返回一个验证码页面,看起来像200 OK成功。到第十二个URL,你在阅读一千个token的cookie横幅和导航垃圾,实际答案埋在其中某处。代理不知道这些事情发生了。它只是默默地对垃圾数据进行推理,然后给你一个自信的错误答案。在Contextdev每天处理获取层的事情,让我清楚了一件事:大家痴迷的代理推理是更容易的10%。困难的90%是获取层。干净的提取、清除结构噪音,以及捕获那些在纸面上成功但实际返回垃圾数据的抓取。这是一个数据工程问题,通常是代理在受控演示中工作但在生产中崩溃的原因。没有人真正发布关于它的内容,因为花三周时间处理解析器边缘情况和静默故障检测不会成为一个好帖子或话题,也不会为他们带来点赞或曝光。对于那些让代理访问非自己选择URL的人,你们如何捕获那些返回200 OK但实际为空的抓取?这是悄悄毁掉我们一切的主要问题。
相似文章
当你的 AI 智能体需要大规模浏览网页时,究竟什么会出问题(三个月失败教训总结)
一位实践者分享了构建可大规模浏览网页的 AI 研究智能体的惨痛教训:IP 封禁、速率限制以及对缺失数据的静默幻觉会在任务中途打断智能体。作者建议将网页访问视为不可靠工具,在系统提示中明确写入降级回退指令,并在基础设施层使用轮换住宅代理,以消除静默失败。
让smolagents在无需浏览器堆栈的情况下处理受保护和JS渲染页面
作者描述了使用如ZenRows等服务的自定义抓取工具替换smolagents内置的VisitWebpageTool,以处理受保护和JS渲染的网页,从而在无需浏览器堆栈的情况下改善AI代理的网络数据访问。
构建网页代理让我意识到多少上下文被浪费在不良 URL 上。你是如何过滤爬取的?
作者讨论了网页代理在爬取不良 URL 时上下文窗口浪费的问题,并询问如何使用元数据来过滤爬取以提高效率。
WebAnything:从开放网络到可扩展的智能体环境
WebAnything 提出了一个全自动框架,可根据真实 URL 重建以源网站为依据、可复用的网页智能体环境,构建了 244 个网站实例,支持 12,984 项任务,并表明使用其交互轨迹对 Qwen3.5-9B 进行微调能够提高网页智能体在多个基准测试中的任务成功率。
构建能点击真实应用的网页代理时,我通过艰难方式学到的几件事
一篇文章分享从构建能与真实网页应用交互的网页代理中获得的来之不易的经验,提供对挑战和最佳实践的见解。