给 Claude 一个链接,它真的读了原文吗

Claude Code 的 WebFetch 会把网页转成 Markdown,再交给一个小而快的模型按问题处理。大多数情况下,主对话里的 Claude 收到的是这个模型生成的回答,不是未经处理的网页。

这套机制适合快速确认明确事实。论文、财报、政策文件等依赖完整上下文的材料,需要把 WebFetch 当成查找线索的工具,关键数字和结论仍回到原文核对。

一次看起来很可靠的错误研究

早上看到一篇 Reddit 帖子。发帖人让 Claude Opus 5 调研 AI 智能体的记忆架构。Claude 很快交出了一份像样的结果,里面有统计数字,有论文引语,连百分比都写得很具体。

这个人平时会查看 AI 的工具调用。他发现 WebFetch 的返回结果有些奇怪,每次都很短,结构也过分整齐,读起来像一份提前整理好的摘要。于是他问 Claude,它到底有没有读过那些论文。

Claude 表示,它没有直接读到论文原文。接着,他抽查原文,发现一个被当成正式概念引用的框架,在论文里根本找不到。另一个统计数字疑似混用了不同表格里的数据。

他换了一套流程,让子智能体停用 WebFetch,改用 curl 获取网页,再从原始文本里搜索和核对。结果,大约三十篇论文中一共查出十七处错误,其中两处还把作者的结论方向写反了。

我顺着这个问题查了一下 Claude Code 的工具说明。

WebFetch 为什么会损失信息

WebFetch 这个名字很像普通的网页抓取工具。给它一个网址,它取回网页,Claude 接着阅读。实际过程多了一步。

Claude Code 的官方文档写得很明确。WebFetch 会获取页面,在服务器返回 HTML 时将其转换成 Markdown,再让一个小而快的模型根据提问处理页面内容。大多数情况下,主对话里的 Claude 收到的是这个模型生成的回答,不是未经处理的网页。

官方文档把这种处理称为有损处理。提取时问了什么,决定了哪些内容能够进入主模型。WebFetch 返回结果说页面没有提到某件事,有时只能说明提取问题没有覆盖它。页面太长时,内容还会先被截断。

一篇对 Claude Code 运行行为的分析给出了更具体的观察。作者发现,网页转成 Markdown 后,过长内容会被裁掉,再由小模型回答主模型提出的问题。

查询普通网页时,这种设计很实用。用户只想确认一家公司的地址,或者某个产品支不支持一项功能,一份简短回答往往已经够用,还能节省主模型的上下文。

文献研究对材料完整性的要求高得多。论文里的数字离不开单位、样本和比较对象。一句"提升了 18%",可能说的是相对变化,也可能只适用于某个很小的实验。表头少一列,结论就可能改变。两组实验用了相近的术语,提取时也可能把条件和结果接错。

等到 Opus 开始组织答案,它面对的已经是一份处理过的材料。上一步删掉的限定条件,后面的模型再强也补不回来。

这类错误很像正确答案。文字写得有模有样,还带有链接。只要不点进原文逐句核对,一份有误的摘要和一条核验过的结论,看起来几乎没有区别。

怎样取得更完整的材料

需要严谨核对时,可以绕开 WebFetch,用 curl 或其他工具取得原始页面。

curl 也有局限。很多网站依赖 JavaScript 渲染,它拿到的可能只是一层空壳。这类页面可以交给 Playwright,让浏览器完成渲染以后再提取正文。

普通文章页可以用 Trafilatura。它提供 Python 库和命令行工具,能够提取网页正文与元数据,并输出 TXT、Markdown、JSON 等格式。

能够直接下载的论文和资料,最好先保存到本地。PDF、网页快照和补充材料放进项目目录,同时记下来源网址与下载日期,再让智能体读取本地文件。

本地文件也不能一次全塞进上下文。几十篇论文很快就会占满窗口。可以先把每份资料转成可检索文本,再围绕当前问题查找相关段落。碰到关键数字就回到表格,判断作者观点时多读前后几段。模型每次只加载眼下需要的内容,完整原文仍保留在本地,随时可以复查。

只在提示词或 CLAUDE.md 里写一句"不要使用 WebFetch",约束并不牢。会话变长以后,模型仍可能再次调用它。Claude Code 支持在权限设置中禁用 WebFetch,也可以用 PreToolUse 钩子在调用前拦截。研究流程固定以后,还可以把网页提取、浏览器渲染和本地文件读取封装成几条稳定命令,减少每次临时选择工具的机会。

绕开 WebFetch 的安全边界

WebFetch 使用独立的上下文处理网页内容。Claude Code 的安全文档将它列为降低提示注入风险的一项保护。网页里的恶意指令不会原样直接进入主对话。这种隔离不能消除全部风险,但能多加一道缓冲。

改用 curl、Playwright 或本地文本后,智能体会更直接地接触外部内容。网页中藏着的提示注入文本,也更容易混进它正在阅读的材料。Claude Code 默认会要求用户批准 curlwget 一类联网命令,官方还建议不要把不可信内容直接通过管道交给 Claude。

抓取原文时也要控制风险。可以把下载与分析分开,在受限目录或沙箱中保存材料,不自动执行网页提供的命令,也不给研究智能体不必要的写入权限。关键操作继续保留人工确认。

WebFetch 适合快速确认一个明确事实。遇到论文、财报、政策文件和其他依赖上下文的材料,我会把它当成查找线索的工具,关键结论仍然回到原文核对。

参考资料

相关推荐
爱丶不疚1 小时前
Electron net 模块你可以没用过,但不能不知道
前端·electron
星火10241 小时前
【LangChain4j系列01】LangChain4j 快速入门与核心概念
java·人工智能
cidy_981 小时前
React + Ant Design 通用企业数据统计模块实战
前端
渣波1 小时前
React 性能优化与状态管理双雄:useMemo 与 useReducer 深度解析
前端·javascript
阿宇的技术日志1 小时前
美团图灵 Agent 评测文章学习:从 “打分“ 到 “基建“,Agent 评测的认知升级
人工智能·agent 评测
武子康1 小时前
GPT-Live 与 GPT-Realtime:产品模型和公开 API 不应混写
人工智能·chatgpt·agent
zhongerzixunshi1 小时前
健全创新激励机制,激活企业发展内生动力
大数据·人工智能
Maxkim1 小时前
把智能体塞进浏览器侧边栏:我在 MV3 里踩的 5 个坑
前端·后端
渣波1 小时前
告别 LLM 幻觉:用 Harness 工程化思维打造生产级 AI 应用
前端·javascript