Crawl, Chunk, Cite

检索与抓取契约

AI 系统对网站的典型操作不是完整浏览,而是发现入口、抓取正文、切块索引、回引 URL。站点必须主动为这条链路提供稳定信号。

发现入口

一个站点至少需要同时为通用爬虫和模型工具提供可枚举入口。

  • 通用入口:`/robots.txt` 与 `/sitemap.xml`。
  • 模型入口:`/llms.txt` 与 `/llms-full.txt`。
  • 程序入口:`/api/site.json`。
  • 页内入口:`rel="alternate"` 和显式 docs/raw/api 链接。

切块规则

切块不是向量库的事,页面结构本身就应该预留出合理边界。

  • 一个 section 只讲一个主题,避免跨节跳跃。
  • 摘要句放在节首,便于提取成 chunk 标题。
  • 列表项尽量是完整句,而不是依赖上文的短语。
  • 表格不要承载唯一事实,正文里要有文字解释。

引用规则

回引时最好能精确到 section,而不是只返回页面首页。

  • 优先引用带 anchor 的文档 URL,例如 `/docs/url-conventions/#anchor-rules`。
  • 如需原始文本,优先提供对应 Markdown URL。
  • 如需结构化字段,优先提供对应 JSON URL 与 schema 链接。
  • 同一结论不要散落在多个页面里,以免引用冲突。

常见失败模式

以下设计会显著降低 AI 消费质量,即便人类浏览时看起来仍然可用。

Hidden Content

正文需要点击展开或滚动触发加载,导致抓取不完整。

Route Drift

路径频繁变化而无映射,导致旧引用和缓存全部失效。

Ambiguous Facts

多个页面以不同措辞重复同一规则,导致检索结果冲突。

Stale Metadata

内容更新但日期和版本不变,模型无法判断新鲜度。