<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>http · 此间札记</title><description>带有「http」标签的文章订阅。</description><link>https://xiaoxusop.github.io/letterpress/</link><language>zh-CN</language><copyright>© XIAOXUsop</copyright><atom:link href="https://xiaoxusop.github.io/letterpress/tags/http/rss.xml" rel="self" type="application/rss+xml"/><item><title>你的博客该不该给 AI 一份 markdown</title><link>https://xiaoxusop.github.io/letterpress/markdown-for-agents/</link><guid isPermaLink="true">https://xiaoxusop.github.io/letterpress/markdown-for-agents/</guid><description>内容协商是 HTTP 自带的能力，但博客圈几乎没人用。三个 agent 会主动要 markdown，四个不会——而现有工具都跳过了最难的那一步。</description><pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;一个 AI agent 抓取你的网页时，看到的东西和你看到的不一样。它看到的是两万个
token 的导航栏、页脚和 &lt;code&gt;&amp;#x3C;div&gt;&lt;/code&gt; 嵌套，而正文可能只占其中百分之几。&lt;/p&gt;
&lt;p&gt;这不是比喻。Cloudflare 实测自己的文档：同一页 HTML 要 16,180 token，
markdown 版只要 3,150 token——&lt;strong&gt;省 80%，内容一模一样&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;HTTP 从 1.1 起就有解决这个问题的机制：内容协商。客户端在 &lt;code&gt;Accept&lt;/code&gt; 头里说
「我更想要 markdown，不行的话 HTML 也行」，服务端照办。&lt;/p&gt;
&lt;p&gt;问题是：&lt;strong&gt;博客圈几乎没人用。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&quot;谁在要-markdown&quot;&gt;谁在要 markdown&lt;a class=&quot;heading-anchor&quot; href=&quot;#谁在要-markdown&quot; aria-label=&quot;此小节的永久链接&quot; data-pagefind-ignore=&quot;&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;拿七个常见 agent 去请求 &lt;code&gt;httpbin.org/headers&lt;/code&gt;，
看它们各自发出的 &lt;code&gt;Accept&lt;/code&gt; 头。结果是这样的：&lt;/p&gt;
&lt;div class=&quot;table-wrap&quot; tabindex=&quot;0&quot; role=&quot;region&quot; aria-label=&quot;可横向滚动的表格&quot; data-table-wrap=&quot;&quot;&gt;












































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Agent&lt;/th&gt;&lt;th&gt;要 markdown 吗&lt;/th&gt;&lt;th&gt;Accept 头&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Claude Code&lt;/td&gt;&lt;td&gt;是&lt;/td&gt;&lt;td&gt;&lt;code&gt;text/markdown, text/html, */*&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Cursor&lt;/td&gt;&lt;td&gt;是&lt;/td&gt;&lt;td&gt;&lt;code&gt;text/markdown&lt;/code&gt;, &lt;code&gt;text/html;q=0.9&lt;/code&gt;, …&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;OpenCode&lt;/td&gt;&lt;td&gt;是&lt;/td&gt;&lt;td&gt;&lt;code&gt;text/markdown;q=1.0&lt;/code&gt;, &lt;code&gt;text/x-markdown;q=0.9&lt;/code&gt;, …&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;OpenAI Codex&lt;/td&gt;&lt;td&gt;否&lt;/td&gt;&lt;td&gt;&lt;code&gt;text/html&lt;/code&gt;, &lt;code&gt;application/xhtml+xml&lt;/code&gt;, …&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;GitHub Copilot&lt;/td&gt;&lt;td&gt;否&lt;/td&gt;&lt;td&gt;&lt;code&gt;text/html&lt;/code&gt;, &lt;code&gt;application/xhtml+xml&lt;/code&gt;, …&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Gemini CLI&lt;/td&gt;&lt;td&gt;否&lt;/td&gt;&lt;td&gt;通配符&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Windsurf&lt;/td&gt;&lt;td&gt;否&lt;/td&gt;&lt;td&gt;通配符&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;七个里三个主动要。&lt;strong&gt;而这七行数据本身就是一份测试用例&lt;/strong&gt;——见
&lt;a href=&quot;/letterpress/wiki/content-negotiation/&quot;&gt;内容协商&lt;/a&gt; 里关于怎么把它钉成回归测试的部分。&lt;/p&gt;
&lt;h2 id=&quot;一个安静失败的实现细节&quot;&gt;一个安静失败的实现细节&lt;a class=&quot;heading-anchor&quot; href=&quot;#一个安静失败的实现细节&quot; aria-label=&quot;此小节的永久链接&quot; data-pagefind-ignore=&quot;&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Claude Code 那一行值得单独说。&lt;/p&gt;
&lt;p&gt;它发的是 &lt;code&gt;text/markdown, text/html, */*&lt;/code&gt;——&lt;strong&gt;没有 q 值&lt;/strong&gt;。在 HTTP 里，
缺省 q 值等于 1.0，于是 markdown 和 html 两个媒体范围并列。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;这里要说清楚：RFC 并没有规定并列时怎么打破平局。&lt;/strong&gt;
&lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc9110.html#section-12.5.1&quot;&gt;RFC 9110 §12.5.1&lt;/a&gt;
规定的是「媒体范围可以被更具体的范围覆盖，&lt;strong&gt;更具体的优先&lt;/strong&gt;」——
它按&lt;em&gt;具体程度&lt;/em&gt;排序（&lt;code&gt;text/plain;format=flowed&lt;/code&gt; → &lt;code&gt;text/plain&lt;/code&gt; → &lt;code&gt;text/*&lt;/code&gt; → &lt;code&gt;*/*&lt;/code&gt;），
而对 q 值相同的两个类型，规范只说它们是 &lt;em&gt;equally preferred&lt;/em&gt;，没有给顺序。&lt;/p&gt;
&lt;p&gt;所以「靠前的优先」是&lt;strong&gt;本项目的实现选择&lt;/strong&gt;，不是规范要求。&lt;/p&gt;
&lt;p&gt;但如果实现里写的是严格的 &lt;code&gt;&gt;&lt;/code&gt; 比较：&lt;/p&gt;
&lt;pre class=&quot;astro-code astro-code-themes github-light github-dark-dimmed&quot; style=&quot;background-color:#fff;--shiki-dark-bg:#22272e;color:#24292e;--shiki-dark:#adbac7; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;js&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D73A49;--shiki-dark:#F47067&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color:#24292E;--shiki-dark:#ADBAC7&quot;&gt; (markdown.q &lt;/span&gt;&lt;span style=&quot;color:#D73A49;--shiki-dark:#F47067&quot;&gt;&gt;&lt;/span&gt;&lt;span style=&quot;color:#24292E;--shiki-dark:#ADBAC7&quot;&gt; html.q) &lt;/span&gt;&lt;span style=&quot;color:#D73A49;--shiki-dark:#F47067&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color:#032F62;--shiki-dark:#96D0FF&quot;&gt; &apos;markdown&apos;&lt;/span&gt;&lt;span style=&quot;color:#24292E;--shiki-dark:#ADBAC7&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D73A49;--shiki-dark:#F47067&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color:#032F62;--shiki-dark:#96D0FF&quot;&gt; &apos;html&apos;&lt;/span&gt;&lt;span style=&quot;color:#24292E;--shiki-dark:#ADBAC7&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;那么 &lt;code&gt;1.0 &gt; 1.0&lt;/code&gt; 为假，判定落到 HTML 上。&lt;strong&gt;Claude Code 永远拿不到 markdown，
而服务端不报错、不警告、日志里什么都没有。&lt;/strong&gt; 你只会觉得「这功能好像没用」。&lt;/p&gt;
&lt;p&gt;本项目的做法是&lt;strong&gt;并列时比顺序&lt;/strong&gt;（如上所述，这是选择而非规范要求）：&lt;/p&gt;
&lt;pre class=&quot;astro-code astro-code-themes github-light github-dark-dimmed&quot; style=&quot;background-color:#fff;--shiki-dark-bg:#22272e;color:#24292e;--shiki-dark:#adbac7; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;js&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D73A49;--shiki-dark:#F47067&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color:#24292E;--shiki-dark:#ADBAC7&quot;&gt; (markdown.q &lt;/span&gt;&lt;span style=&quot;color:#D73A49;--shiki-dark:#F47067&quot;&gt;!==&lt;/span&gt;&lt;span style=&quot;color:#24292E;--shiki-dark:#ADBAC7&quot;&gt; html.q) &lt;/span&gt;&lt;span style=&quot;color:#D73A49;--shiki-dark:#F47067&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color:#24292E;--shiki-dark:#ADBAC7&quot;&gt; markdown.q &lt;/span&gt;&lt;span style=&quot;color:#D73A49;--shiki-dark:#F47067&quot;&gt;&gt;&lt;/span&gt;&lt;span style=&quot;color:#24292E;--shiki-dark:#ADBAC7&quot;&gt; html.q;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D73A49;--shiki-dark:#F47067&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color:#24292E;--shiki-dark:#ADBAC7&quot;&gt; markdown.index &lt;/span&gt;&lt;span style=&quot;color:#D73A49;--shiki-dark:#F47067&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;color:#24292E;--shiki-dark:#ADBAC7&quot;&gt; html.index;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这类 bug 的可怕之处在于它&lt;strong&gt;不会以错误的形式出现，只会以「没效果」的形式出现&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&quot;为什么现成的工具都不太行&quot;&gt;为什么现成的工具都不太行&lt;a class=&quot;heading-anchor&quot; href=&quot;#为什么现成的工具都不太行&quot; aria-label=&quot;此小节的永久链接&quot; data-pagefind-ignore=&quot;&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Astro 生态里已经有两个包在做这件事，但都停在半路：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;astro-markdown-for-agents&lt;/strong&gt;：在构建期生成 &lt;code&gt;.md&lt;/code&gt; 文件，但协商&lt;strong&gt;只在 dev server 里生效&lt;/strong&gt;。
它的 README 直说：「不包含托管平台运行时垫片；静态托管环境下的服务时协商
应由使用方自行实现。」也就是说&lt;strong&gt;上生产就没了&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;astro-markdown-export&lt;/strong&gt;：把源 &lt;code&gt;.md&lt;/code&gt; 复制进产物目录，&lt;strong&gt;完全不做协商&lt;/strong&gt;。
要访问 &lt;code&gt;/slug/index.md&lt;/code&gt; 才拿得到，而且导出的是未渲染的源文件。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;两者的周下载量分别是 106 和 17。而主流 Astro 集成是三十万到两百万。
&lt;strong&gt;这不是「已经解决了只是没人知道」，是「有人碰过就放弃了」。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&quot;难在哪&quot;&gt;难在哪&lt;a class=&quot;heading-anchor&quot; href=&quot;#难在哪&quot; aria-label=&quot;此小节的永久链接&quot; data-pagefind-ignore=&quot;&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;难的不是算法——算法上面已经写完了，四十行。&lt;/p&gt;
&lt;p&gt;难的是&lt;strong&gt;静态托管不解析请求头&lt;/strong&gt;。静态站就是一堆文件，CDN 把文件原样吐出来，
它不会因为你 &lt;code&gt;Accept&lt;/code&gt; 写了什么就换一个文件给你。所以你需要一层边缘函数。&lt;/p&gt;
&lt;p&gt;这也是为什么 Cloudflare 的 Markdown for Agents 要 Pro 及以上套餐——
它是在边缘替你做了转换。而 Vercel 的实现只在自己的平台内生效。
&lt;strong&gt;跑在免费静态托管上的博客，两头都够不着。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;出路是：构建期生成 &lt;code&gt;.md&lt;/code&gt; 孪生文件，再用一层几十行的边缘函数做选择。
转换在构建期完成（零运行时成本），边缘只负责「给哪个」。
Cloudflare Pages Functions、Netlify Edge Functions、Vercel Middleware
的免费额度都够用。&lt;/p&gt;
&lt;h2 id=&quot;两件必须做对的事&quot;&gt;两件必须做对的事&lt;a class=&quot;heading-anchor&quot; href=&quot;#两件必须做对的事&quot; aria-label=&quot;此小节的永久链接&quot; data-pagefind-ignore=&quot;&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;一、&lt;code&gt;Vary: Accept&lt;/code&gt; 不能省。&lt;/strong&gt; 少了它，CDN 会把 markdown 版本缓存下来
发给浏览器——用户打开博客看到一坨纯文本。这是个会让人当场关掉标签页的 bug，
而它只在缓存命中时出现。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;二、&lt;code&gt;*/*&lt;/code&gt; 不算「想要 markdown」。&lt;/strong&gt; Gemini CLI 和 Windsurf 只发通配符，
意思是「给什么都行」。如果把通配符也算作 markdown 偏好，这两家会被塞
markdown——它们本来接受 HTML，你硬给别的格式，属于自找麻烦。&lt;/p&gt;
&lt;h2 id=&quot;顺带说一句-llmstxt&quot;&gt;顺带说一句 llms.txt&lt;a class=&quot;heading-anchor&quot; href=&quot;#顺带说一句-llmstxt&quot; aria-label=&quot;此小节的永久链接&quot; data-pagefind-ignore=&quot;&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;你可能想问为什么不提 &lt;code&gt;llms.txt&lt;/code&gt;。因为它的实际效果被严重高估了：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Google 明说不需要。&lt;/strong&gt; Search Central 的 AI 功能文档里写着：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You don’t need to create new machine readable files, AI text files,
or markup to appear in these features.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;注意原文说的是「&lt;strong&gt;不需要&lt;/strong&gt;」而不是「不支持」——不做也不会因此缺席，
但 Google 也没说它有害。
（&lt;a href=&quot;https://developers.google.com/search/docs/appearance/ai-features&quot;&gt;原文&lt;/a&gt;）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;多个独立实验都没测到可归因的效果。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;这组数字曾经被删掉过，2026-09-24 找回来了。&lt;/strong&gt; 这里原先写
「Ahrefs 2026 年 5 月实测 137,210 个域名：97% 的 llms.txt 从未被请求过」。
上一轮我按几种常见路径试 &lt;code&gt;ahrefs.com/blog/*&lt;/code&gt; 全部 404、Ahrefs 自己的
sitemap 里没有收录博客，于是&lt;strong&gt;把整组数字删了&lt;/strong&gt;，并写明「查不到就不该留着」。&lt;/p&gt;
&lt;p&gt;那个删除是&lt;strong&gt;对的推理、错的结论&lt;/strong&gt;：原文确实存在，地址是
&lt;a href=&quot;https://ahrefs.com/blog/llmstxt-study/&quot;&gt;https://ahrefs.com/blog/llmstxt-study/&lt;/a&gt;，此前只是没试中路径。
2026-09-24 重新抓取原文逐字核对，数据全部对得上：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;样本：Ahrefs Web Analytics 中&lt;strong&gt;2026 年 5 月&lt;/strong&gt;获得流量的全部 &lt;strong&gt;137,210&lt;/strong&gt; 个域名
（方法学章节原文：&lt;code&gt;all 137,210 domains ... that received traffic in May 2026&lt;/code&gt;）；&lt;/li&gt;
&lt;li&gt;其中 28% 发布了 &lt;code&gt;llms.txt&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;这些文件的 &lt;strong&gt;97% 在 2026 年 5 月零请求&lt;/strong&gt;——&lt;code&gt;97% of those files received zero traffic in May 2026&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;有请求的那 3% 里，&lt;strong&gt;96% 的请求来自 bots&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;发布日期与数据窗口是两件事&lt;/strong&gt;：原文发布于 &lt;strong&gt;2026-06-15&lt;/strong&gt;，
统计的是 &lt;strong&gt;2026 年 5 月&lt;/strong&gt;。先前的写法把两者混成了「2026 年 5 月实测」。&lt;/p&gt;
&lt;p&gt;留着一个可点开的来源，比留着一句「查不到」更有用；
但&lt;strong&gt;边界也要跟着一起写&lt;/strong&gt;：这是对 &lt;code&gt;llms.txt&lt;/code&gt; 根文件的 HTTP 200 探测，
不是对「AI 有没有读到内容」的观测——&lt;strong&gt;被请求的 3% 里，77% 的 bots 并不是 AI 工具&lt;/strong&gt;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;它&lt;strong&gt;零成本、无下行风险&lt;/strong&gt;，而且确实有 agent 会抓（Claude Code 抓取 llms.txt
的频率高于任何 AI 搜索机器人），所以本站在生成它。但把它当卖点是误导。&lt;/p&gt;
&lt;p&gt;真正的杠杆是&lt;strong&gt;干净的内容协商&lt;/strong&gt;和&lt;strong&gt;语义化的 HTML&lt;/strong&gt;——后者对静态站来说是白送的。&lt;/p&gt;
&lt;h2 id=&quot;参考文献&quot;&gt;参考文献&lt;a class=&quot;heading-anchor&quot; href=&quot;#参考文献&quot; aria-label=&quot;此小节的永久链接&quot; data-pagefind-ignore=&quot;&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc9110.html#section-12.5.1&quot;&gt;RFC 9110 §12.5.1（Accept 头）&lt;/a&gt;、
&lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc7763.html&quot;&gt;RFC 7763（&lt;code&gt;text/markdown&lt;/code&gt; 媒体类型）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.cloudflare.com/markdown-for-agents/&quot;&gt;Cloudflare, &lt;em&gt;Markdown for Agents&lt;/em&gt;&lt;/a&gt;
—— 正文里「16,180 → 3,150 token、省 80%」那组数字出自这里。
&lt;strong&gt;测量条件是 Cloudflare 拿自己的文档做的，本项目没有复现它&lt;/strong&gt;；
它说明的是「干净 HTML 转 markdown 能省多少」，不是本站的节省率
（本站自己的数字在 &lt;a href=&quot;/letterpress/wiki/content-negotiation/&quot;&gt;内容协商&lt;/a&gt; 末尾，且是&lt;strong&gt;启发式估算&lt;/strong&gt;，那里附了真实词表的对照）&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.google.com/search/docs/appearance/ai-features&quot;&gt;Google Search Central, &lt;em&gt;AI features and your website&lt;/em&gt;&lt;/a&gt;
—— 正文里「Google 明说不需要」那段引文出自这里&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ahrefs.com/blog/llmstxt-study/&quot;&gt;Ahrefs, &lt;em&gt;We Analyzed 137K Sites: 97% of llms.txt Files Never Get Read&lt;/em&gt;&lt;/a&gt;，
2026-06-15 发布、数据窗口为 2026 年 5 月
—— 正文里 137,210 / 97% / 96% 那组数字出自这里。
&lt;strong&gt;测量条件是 Ahrefs 拿自己的流量数据做的，本项目没有复现它&lt;/strong&gt;；
它观测的是「根文件有没有被请求」，&lt;strong&gt;不是&lt;/strong&gt;「AI 有没有读到内容」——
被请求的那 3% 里 77% 的 bots 并不是 AI 工具&lt;/li&gt;
&lt;li&gt;&lt;del&gt;Ahrefs 那组数字原先作为一条独立引用，2026-09-23 被移除。&lt;/del&gt;
&lt;strong&gt;2026-09-24 找到了原始地址并已恢复&lt;/strong&gt;（见上一条）——
那一轮的删除是&lt;strong&gt;对的推理、错的结论&lt;/strong&gt;：&lt;code&gt;ahrefs.com/blog/*&lt;/code&gt; 几个常见路径全 404
只证明了「我按这几个路径没找到」，不等于「原文不存在」。
&lt;strong&gt;一个找不到的路径不是不存在的证据。&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;勘误（2026-09-22 / 09-23 / 09-24）&lt;/strong&gt;：这几条原先都是纯文本、点不开，已核实的补了链接；
&lt;strong&gt;09-23 那一轮把 Ahrefs 那条当作「核实不到」移除了，09-24 又找回来了&lt;/strong&gt;——
因为原文一直存在，只是当时试的路径没命中。
三轮下来值得记住的是：&lt;strong&gt;「我没找到」和「它不存在」之间隔着一整条推理链&lt;/strong&gt;，
跳过那条链就会把一次失败的检索固化成一条结论。&lt;/p&gt;
&lt;/blockquote&gt;</content:encoded><category>web</category><category>agent</category><category>http</category><author>XIAOXUsop</author></item></channel></rss>