Hacker News 中文摘要

RSS订阅

使用Accept标头为AI代理提供Markdown服务 -- Serve Markdown to AI Agents with Accept Headers

本文介绍了通过Accept头部向AI代理提供Markdown内容的方法,可减少Token消耗、提高信噪比、降低延迟,并提供了实现指南和配置示例。

正文

标题:利用Accept标头向AI代理提供Markdown内容

你的网站已有现成内容。通过提供Markdown格式变体,AI客户端代理可跳过导航、脚本和布局标记,直接读取核心内容。

  • 01 — 令牌消耗

字节数大幅缩减。

Markdown去除了导航、样式、脚本和布局包装。代理将上下文资源集中用于你的文本内容,而非DOM结构。

  • 02 — 检索效率

信噪比更高。

没有广告、相关推荐栏或弹窗干扰RAG管道需要嵌入的文本内容。

  • 03 — 延迟优化

首个令牌响应更快。

模型开始推理前,需获取、解析并填充至上下文窗口的数据量显著减少。

你的URL对AI的友好度如何?

  1. 支持通过Accept: text/markdown标头返回Markdown内容
  2. 设置Vary: Accept响应头
  3. 对不支持的媒体类型返回406状态码
  4. 遵循q值权重规则

测试方法

使用Accept: text/markdown标头访问URL。

我们将从边缘节点发起请求,查看源站实际返回的内容。

后续指引

评论

根据评论内容,总结主要观点如下:

支持观点: - 认为该功能可减少广告、JS和冗余内容,提升浏览体验(kaangiray26: "hoping for this to get mainstream so that I can just view the pages without any ads, js and bloat") - 认为这是开放互联网的合理解决方案,替代现有数据获取壁垒(monneyboi: "The open internet deserves a real solution instead of gatekeepers") - 建议浏览器原生支持Markdown显示,类似图片或SVG(Kuyawa: "Browsers should implement that asap and we will follow")

反对/质疑观点: - 认为AI公司应自行解析HTML,而非要求网站改变输出格式(joshum97: "We are not going to rewrite the entire web because harness developers are too lazy") - 指出内容协商(Accept header)存在缓存问题,影响CDN部署(k1m引用Roy Fielding: "The caching impact of proactive negotiation is far worse") - 担忧该机制会被滥用,用于向LLM投喂虚假信息或SEO垃圾内容(brap: "Best case scenario, this ends up being abused in order to feed LLMs crap responses";akomtu: "This will be used to serve SEO slop") - 认为缺乏主流AI聊天机器人支持,实际采用率极低(lekevicius: "I'll do that once any of the top 4 AI chatbots says they'll start making requests with this header") - 强调网站应优先服务人类用户而非机器人(nozzlegear: "I publish things for people, not bots")

中立/技术讨论: - 指出该方案与llms.txt的关系(4lb0: "Is this an alternative or complements llms.txt?") - 认为信任问题难以解决,仅适用于白名单站点(OutOfHere: "it can never be trusted by the bot, except for a finite whitelisted set of trusted sites") - 建议通过URL变体而非Accept头实现内容协商(zzo38computer: "might be better to do that by changing the file name")