问题

虽然人类读者可以轻松地点击超链接来了解有关某个术语的更多信息,但 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 准备就绪 (AI-ready)”的,并能够支持高质量的自动化支持和搜索体验,这只是一点微小的代价。