问题

虽然人类读者可以轻松点击超链接来了解更多关于某个术语的信息,但 AI 模型通常以孤立的“块”形式处理文档。当 AI 遇到超链接时,它无法通过“点击”来获取更多上下文。如果关键信息隐藏在链接后面而不是在上下文中解释,AI 可能会无法提供准确的答案,从而导致幻觉。

为什么这很重要

AI 模型依赖于紧邻的周围文本来确定信息的含义和相关性。如果你的文档高度碎片化且上下文保留较差,AI 驱动的搜索工具(如那些由 RAG 驱动的工具)将难以提供高质量的响应。

方法

使用 行内上下文展开 (Inline Context Unrolling),在每个主要链接旁边提供最小可行上下文。此外,利用 docmd 的特定功能,例如 LLMs 插件,来提供整个文档集的统一、机器可读视图。

实现

1. 描述性链接和摘要

避免使用通用的链接文本。相反,在链接本身之前或之后提供所链接概念的一句话简短摘要。

  • ❌ 较差 (上下文丢失):要配置超时,请参考 常规配置
  • ✅ 较好 (上下文保留):你可以在 常规配置 中配置 timeoutMs 参数,该参数定义了引擎在网络请求失败前等待的时间。

2. 使用折叠区块展示细节

折叠容器 非常适合 AI 优化。内容仍然是原始 Markdown 源码的一部分(AI 可以阅读),但它被视觉化地收纳起来以方便人类读者。

### 数据库连接

使用主 URI 进行连接。

::: collapsible "URI 格式是什么?"
URI 遵循标准的 PostgreSQL 格式:`postgresql://user:password@host:port/database`:::

3. 启用 LLMs 插件

在你的 docmd.config.js 中启用 LLMs 插件。此插件会在每次构建后自动生成一个 llms-full.txt 文件,它将你的整个文档集连接成一个单一的、高上下文的文件,该文件可以轻松地被大型语言模型消费。

权衡

行内上下文展开会使你的文档稍微冗长一些,并引入少量的冗余。然而,为了确保你的文档是“AI 就绪”的,并且能够支持高质量的自动化支持和搜索体验,这种冗余是一个很小的代价。