别再把整页 HTML 塞进模型了

Agent 会读网页之后,很多人做了同一件事:拿到 URL,把整页 HTML 原封不动丢进上下文。

页面能打开,请求也成功了,模型却在导航栏、页脚备案号和「相关推荐」里找重点。token 烧得很凶,答案还经常跑偏。问题不在模型笨,而在你喂错了东西。

网页不是给大模型准备的。给浏览器的是布局、脚本、广告位和推荐流;给模型的应该是标题、正文、时间和结构。中间缺一层解析,Agent 就只能吞垃圾。

——————————————————

直接塞 HTML,坏在三处

第一,噪声占比太高。一个帮助中心或产品更新页,真正要读的往往只有中间那一块。导航、侧栏、Cookie 弹窗、分享组件、相关文章,全是干扰。模型分不清「页面上出现过」和「这篇文章在说什么」,总结会把侧栏广告写进要点,引用会抄到推荐位标题。

第二,token 浪费是刚性的。HTML 标签、class 名、内联样式、JSON-LD、埋点脚本,几乎都不参与理解,却实打实占上下文窗口。窗口有限时,正文被截断,模型只能根据残页作答。看起来「读了网页」,其实没读完。

第三,很多现代页面根本不把正文写在首屏 HTML 里。前端渲染、异步接口、折叠展开,curl 下来的源码经常是空壳。Agent 看见的是骨架,用户看见的是文章。两边对不上,后面全是幻觉。

所以「能抓到页面」不等于「能读懂页面」。缺的是把网页变成 AI-ready 数据这一步。

——————————————————

正确姿势:先解析,再给模型

Agent 读网页的链路应该是:

URL → 抓取页面 → 清掉噪声 → 识别正文和层级 → 输出 Markdown 与结构化字段 → 模型只读这一份干净文本

模型要的不是 DOM,是可读、可切片、带来源的内容。标题层级还在,列表还在,图片和原文链接还在,导航和广告走了。总结、对比、问答都基于正文,而不是基于整站模板。

在这里分享一个工具:

长亭百智云的网页解析服务就是做这一层。
输入一个文章、公告、帮助中心或产品文档的 URL,自动抽出标题、正文、图片、发布时间等结构化信息,整理成 Markdown。官方说法是秒级响应,十多个结构化字段,API 和 MCP 都能接。

在线试用: 立即下载

它不是通用爬虫,也不会替你批量扒商品列表、绕登录、打反爬。它解决的是更窄也更常见的问题:已知这个 URL,把给模型吃的那部分抠干净。

在 Agent 里,这一步值多少

典型场景是用户丢来一条链接:「总结这个页面」「这篇文章结论是什么」「和我们产品有何不同」。

没有解析层时,Agent 只能 fetch 全文。上下文被导航和脚本填满,模型开始猜。有解析层时,工具返回的是带层级的正文和来源,模型写摘要可以落到段落,引用可以指回原链接和发布时间。无效上下文少了,回答才稳。

另一类场景是搜索之后的精读。联网搜索负责找候选页,网页解析负责把点开的那一篇读完。搜索给链接和摘要,解析给正文。两步拆开,Agent 才不会把十条搜索 snippet 当成「已经读过原文」。

对做智能体的人来说,这还是在省工程。自己写正文抽取,要处理模板差异、广告结构、中英站点、前端渲染。页面一改版,选择器就废。把解析收成一次 API / MCP 调用,Agent 侧只关心「给我 Markdown」,不必在每个项目里重造一遍 Readability。

怎么判断你已经用对了

用对的标志很具体:

  • 模型上下文里几乎看不到 `
    Agent读网页, 别再塞整页 HTML了!第2张插图
    Agent读网页, 别再塞整页 HTML了!第3张插图
    Agent读网页, 别再塞整页 HTML了!第4张插图