为 AI 代理提供 Markdown(10 倍更小的负载)
发布: (2026年2月4日 GMT+8 15:00)
3 min read
原文: Dev.to
Source: Dev.to
概览
Guillermo Rauch 分享说,Vercel 的更新日志现在会在代理请求时返回 Markdown——使用相同的 URL,但通过不同的 Accept 头部。
关键的洞察不仅在于体积的缩小;它表明整个基础设施层(CSS、JS、框架)可以对日益增长的一类消费者变为可选。
- 浏览器 发送
Accept: text/html。 - 代理 可以发送
Accept: text/markdown。
两者使用相同的 URL,但得到不同的表示形式。
在 Hugo 中的实现
在 Hugo 配置中为 Markdown 添加第二种输出格式:
[outputs]
page = ["HTML", "MARKDOWN"]
[outputFormats.MARKDOWN]
baseName = "index"
mediaType = "text/markdown"
isPlainText = true
中间件(Vercel Edge)
部署 Edge 中间件,当 Accept 头部包含 text/markdown 时重写请求:
export const config = { matcher: ['/', '/posts/:path*'] }
export default async function middleware(request) {
if (request.headers.get('accept')?.includes('text/markdown')) {
const url = new URL(request.url)
url.pathname = url.pathname.replace(/\/?$/, '/index.md')
return fetch(url)
}
}
测试端点
curl -H 'Accept: text/markdown' https://evoleinik.com/posts/markdown-for-agents/
响应大小从约 20 KB(HTML)降至约 2 KB(Markdown)——约 10 倍的缩减。Vercel 的更新日志实现了 250 倍的缩减,但即使是 10 倍的节省也能累计成显著的优势。
好处
- 减小负载,降低带宽和 AI 代理的 token 使用量。
- 内容更简洁,为下游处理提供更清晰的上下文。
- 静态站点(例如 Hugo)可以轻松提供 Markdown,因为它本身就是源格式。
注意事项
- 对于静态生成器,维护两种输出格式相对直接。
- 对于动态站点或 SPA,需要在服务器端生成 Markdown 或维护并行内容,可能更为复杂。
- 代理流量在增长,使轻量、结构化的内容变得日益有价值。
可视化的网页是为人类浏览器构建的;而代理网页可以省去装饰性资产,专注于简洁、机器可读的内容。