将您的产品文档交付到客户的聊天客户端
Source: Dev.to
对抗幻觉
现代 LLM 聊天客户端会搜索网络。这对一般知识有效,但对你的产品来说是个问题,因为内部文档不是公开的。网络搜索返回的是排名最高的内容,并不一定是客户正在使用的权威版本。
结果: 客户向他们的 AI 助手询问你的产品,却收到看似合理却错误的答案。
解决方案: 在查询时让 AI 访问你的实际文档,以获取正确的信息。
为什么不使用 RAG?
RAG(检索增强生成)需要:
- 客户自行构建并维护检索流水线,或者
- 供应商托管一套系统——包括向量数据库、嵌入模型以及 24/7 运行的检索 API,用于仅每年更改几次的文档语料库。
无论哪种方式,基础设施成本都与实际问题不成比例。
设计决策:将文档捆绑到 MCP 服务器中
MCP(模型上下文协议)是一种将工具和数据源连接到 AI 聊天客户端的标准。
决策: 将文档直接编译进 MCP 服务器。
- 无需外部数据库。
- 无需嵌入管道。
客户连接到服务器后,AI 能立即访问准确、最新的产品文档——这些文档来源于实际手册,而非网络。索引工作由供应商在发布时一次性完成。
文档搜索工作原理:索引导航,而非向量相似度
该方法分为两部分:一次性的预处理步骤(在发布时运行)以及通过 MCP 服务器公开的运行时工具。
预处理 — 理解并组织文档
- 在发布之前,处理完整的文档集合并生成一个 索引,该索引捕获文档结构。
- 完整的文档和此索引被编译进 MCP 服务器。
运行时 — 让 LLM 查找并检索内容的工具
- MCP 服务器公开的工具让聊天客户端能够访问索引。
- 当客户提出问题时,LLM 调用这些工具来:
- 浏览索引并定位相关章节。
- 直接从二进制文件中检索完整、未被截断的章节(而非片段)。
没有外部调用,也没有数据库。LLM 可以将问题匹配到正确的章节,并基于权威内容生成答案。
端到端流程
当客户询问 “如何在 ABC 产品中创建用户?” 时,交互如下所示:
Customer Claude MCP Server Docs (binary)
| | | |
| "How do I | | |
| create a user?"| | |
|---------------->| | |
| | get_index() | |
| |------------------>| |
| | |-- read index ---->|
| | | |
| | |-- read section -->|
| | | Users |
|<----------------| | |Claude 在任何时候都不会猜测或在网络上搜索。每一步都基于编入 MCP 服务器的文档。
成本比较
| 方面 | RAG | MCP 中的打包文档 |
|---|---|---|
| 基础设施 | 向量数据库 + 嵌入模型 | 无 |
| 持续成本 | 托管 + API 调用 | 零 |
| 客户设置 | 构建检索管道 | 只需连接一次服务器 |
| 检索内容 | 片段、块边界 | 整个章节,完整 |
| 针对特定领域查询的准确性 | 取决于块划分策略 | 高 — 意图匹配索引 |
部署
将二进制文件打包为 MCPB 文件——一个包含服务器和清单的捆绑包——并随产品发布一起交付。客户只需一次性将其导入聊天客户端。服务器以 STDIO 模式作为本地子进程与聊天客户端并行运行。无需云服务、无需开放端口、无需配置。
要点
如果你的客户正在使用 AI 聊天客户端(而且他们确实在使用),他们已经在询问关于你的产品的问题。关键在于这些答案是来自你的文档,还是来自网络上的其他信息。
将你的文档打包到 MCP 服务器中,使正确的答案成为默认答案,客户无需任何设置,你也无需持续的基础设施成本。