给 smolagents 换自定义抓取工具,搞定反爬与 JS 渲染页面
InsideDebt6345 · reddit · 2026-09-10
作者用 Hugging Face smolagents 搭研究型 agent 时发现,内置的 VisitWebpageTool 在静态 HTML 上没问题,但遇到反爬或重 JS 页面就翻车:抓 Walmart 商品页返回的是「Robot or human?」的机器人检测文本,而 agent 仍把它当真实内容继续推理。
解决方案是用自定义 fetch 工具替换内置工具,接入可处理反爬与 JS 渲染的检索后端(作者用 ZenRows,任意可信抓取服务均可):
- 用 tool 装饰器定义 fetchpage(url: str) -> str;
- 在 docstring 里写清工具用途与使用时机,因为 smolagents 会在运行时从函数签名和 docstring 生成模型看到的工具描述;
- 把该工具注册进 CodeAgent 的 tools 列表;
- 在 agent prompt 中要求所有 URL 抓取改用 fetchpage。
这样无需自建浏览器或代理栈,就能让 agent 拿到动态与受保护页面的 Markdown 内容,且不改动原有 CodeAgent 工作流。
「编程与Agent」频道最新
- YC 将办「Make Something Agents Want」黑客松,押注 Agent 成新用户 — ycombinator · 2026-09-10
- 「下一次 AI 采用潮是 computer use」:Astra 已能接管大部分办公流程 — zephyr_z9 · 2026-09-10
- Stripe 推出 Agentic Treasury,让 AI 代理经用户授权直接动钱 — jeff_weinstein · 2026-09-10
- Meta 收购 Stilla 是押注分发渠道,而非 agent 能力本身 — arthaudm · 2026-09-10
- 独立开发者 3 天用 Fable 5.1 做出多语言儿童绘本应用并开始收费 — GCWebDesigner · 2026-09-10
- "把 10 改成 5":一句话让编码 Agent 改完已有项目代码 — thisdudelikesAI · 2026-09-10