怎样把网页真正交给 AI
URL 不是内容,复制粘贴也不是答案。要让网页成为 AI 可以使用的材料,中间还有一段很容易被忽略的路。
最近在做 Browser Extension 时,我一直遇到一个看起来很简单的问题:用户说“把这个网页交给 AI”,他到底交出了什么?
最直接的答案是 URL。但 URL 只是地址,不是内容。它告诉系统去哪里找,却没有告诉系统页面里什么真正重要。
另一个答案是复制粘贴。用户选中正文,复制到输入框,再告诉 AI 自己想做什么。这当然可以工作,但整个过程很笨。材料越长,复制越麻烦;页面越复杂,粘贴进来的内容越混乱。用户还需要反复在浏览器和 AI 产品之间切换。
如果我们希望 AI 真正成为工作的参与者,就不能一直要求用户手动搬运信息。
URL 不是 Context
一个网页在人眼里通常很清楚:标题在哪里、正文是什么、哪些是相关推荐、哪些只是导航与广告。
但系统拿到的是另一回事。页面里可能包含菜单、脚本、隐藏元素、评论、页脚、登录弹窗和大量重复链接。一篇几千字的文章,最后可能对应几万字符的页面内容。
把这些东西全部交给模型,并不等于模型拥有了更好的 Context。很多时候,它只是获得了更多噪声。
所以,从网页到 AI 之间至少需要一次转换:
Web page
→ extract
→ clean
→ preserve useful structure
→ store as material
→ send the relevant part to AI
这条路径看起来像是数据处理问题,但最后决定体验的仍然是产品判断:什么应该被保留,什么应该被丢掉,以及用户能不能理解系统最后拿走了什么。
整个页面,还是用户选中的部分
做 Extension 时,一个很自然的想法是提供两种能力:保存整个网页,或者只保存用户选中的内容。
整个网页拥有更完整的上下文,但通常也更脏。用户选中的段落更准确,却可能失去标题、作者和前后关系。
两者没有绝对正确的答案。
如果用户正在读一篇研究报告,他可能希望保存完整正文;如果只想解释其中一个概念,一段选中的文字已经足够;如果页面是一个视频、帖子或动态页面,真正有价值的内容甚至不一定存在于普通正文里。
这让我意识到,“抓取网页”并不是一个动作。它其实包含了用户对材料范围的判断。
Extension 最有价值的地方,也不只是少复制一次。它让用户可以在看到信息的时刻,直接决定哪些内容值得进入下一步工作。
网页需要先变成材料
复制到输入框里的内容通常只服务于当前一次对话。对话结束后,用户很难再找到它,也不知道未来的 AI 是否还会看到同一份材料。
我们开始尝试把网页保存成独立的资料,而不是一段临时 Prompt。
一份资料至少应该保留几个简单信息:
- 它来自哪个页面;
- 页面原来的标题是什么;
- 用户保存的是全文还是选区;
- 内容是什么时候被获取的;
- 用户之后能否重新查看和使用它。
这些信息听起来很基础,却会改变产品的感觉。
当网页只是输入框里的一段文字,AI 对它做什么很难被追踪。当网页成为一份可以重新选择的材料,用户才开始拥有自己的资料集合,也可以在不同任务里再次使用它。
这比让 Prompt 更长更有意义。
清理内容比抓到内容更难
抓到网页 HTML 并不困难。真正麻烦的是把它变成稳定、可阅读、可以继续处理的内容。
不同网站的结构差异很大。有些页面正文清楚,有些大量依赖客户端渲染;有些是文章,有些是产品页面、视频或社交内容。即使是普通文本,也可能混着按钮名称、重复标题和无意义换行。
文件也有类似问题。Markdown、JSON、XML 与普通文本拥有完全不同的结构。如果简单按照固定长度切开,很容易在一个对象、一句话或一个段落中间断掉。内容虽然进入了系统,含义却被破坏了。
我们最近花了不少时间处理这些不够显眼的问题:如何减少无用页面元素,如何尽量保留标题与段落,如何让不同语言的材料仍然能够被找到,以及如何避免切分破坏原始结构。
这些工作不会像一个新模型那样令人兴奋,却直接决定 AI 最后读到的是一份材料,还是一堆碰巧来自同一 URL 的字符。
获取内容不是结束
即使网页已经被清理和保存,问题仍然没有结束。
用户可能积累几十或几百份资料。每一次都把全部内容交给 AI,既慢也没有必要。产品需要让用户选择,也需要帮助系统从已有材料中找到与当前问题真正相关的部分。
但这里很容易走到另一个极端:系统自动选择一切,用户却不知道回答基于哪些资料。
我现在更倾向于让这个关系保持可见。用户不必理解搜索或向量的实现,但应该能够知道:自己保存了什么,这次使用了什么,以及生成内容能不能回到原来的来源。
否则,AI 即使给出了正确答案,这项工作也很难继续。用户无法复查,也无法把好的材料重新组合成新的结果。
Extension 不是另一个入口
最开始,我们很容易把 Browser Extension 理解成产品的快捷入口:用户不用打开新页面,也可以使用 AI。
做了一段时间之后,我觉得它更像一座桥。
浏览器本来就是人获取信息的地方。文章、搜索结果、视频、社区讨论和各种在线工具都在这里发生。AI 产品如果只等待用户打开一个空白输入框,就等于要求用户先把自己正在做的事情翻译成一段 Prompt。
Extension 可以缩短这段距离:用户正在看的页面就是材料,选中的内容就是意图的一部分,保存动作则把临时浏览变成以后还能使用的东西。
这并不意味着 AI 应该读取用户看到的一切。相反,浏览器离真实工作越近,权限和范围就越需要清楚。什么内容被读取、什么时候被保存、是否只处理选区,都应该由用户明确决定。
便利不能建立在“不知道系统拿走了什么”之上。
真正交给 AI 的是什么
现在回头看,“把网页交给 AI”至少包含四件不同的事:
- 找到页面里真正有用的内容;
- 把内容整理成能够继续处理的形式;
- 保留它来自哪里,以及用户选择了什么;
- 在未来任务里重新找到和使用相关部分。
URL 只完成了第一步之前的定位。复制粘贴则把剩下的问题全部留给用户。
我还不知道 Browser Extension 最终会成为 AI 产品的主要入口,还是只是一种辅助工具。但有一点已经越来越清楚:AI 与真实工作之间缺少的,往往不是另一个更聪明的回答,而是一条让材料自然进入系统的路径。
真正交给 AI 的不应该只是一个链接。
应该是一份范围清楚、来源仍然可见,并且之后还能继续使用的材料。


讨论
评论区
关于文章本身,也欢迎留下不同意见或补充。