跳到主要内容

为什么文档至关重要

文档提供最新、准确的上下文。没有文档,模型只能依赖过时或不完整的训练数据。文档能帮助模型理解以下关键信息:

  • 当前 API 及其参数
  • 最佳实践方案
  • 组织规范约定
  • 领域专业术语

以及更多重要内容。继续阅读了解如何直接在 Cursor 中使用文档功能,无需切换上下文环境。

模型的知识截止日期

大型语言模型的训练数据存在时间上限,这个时间点被称为"知识截止日期"。这意味着:

  • 可能无法反映最新的库更新
  • 新框架或工具可能未被识别
  • 截止日期后的 API 变更无法获知
  • 训练后的最佳实践可能已经演进

例如,若某模型的知识截止日期是 2024 年初,即使对于流行框架,它也无法知晓 2024 年末发布的新功能。

如何选择合适工具?

通过以下决策树快速确定最适合您文档需求的解决方案:

思维模式

工具思维模式
@Docs就像浏览和阅读官方文档
@Web像在互联网上搜索解决方案
MCP像访问你的内部文档

公共文档

外部文档涵盖公开可用的信息,模型可能对此只有有限或过时的了解。Cursor 提供了两种主要方式来访问这些信息。

使用 @Docs

@Docs 将 Cursor 连接到流行工具和框架的官方文档。当你需要当前、权威的信息时使用它:

  • API 参考:函数签名、参数、返回类型
  • 入门指南:设置、配置、基本用法
  • 最佳实践:来自源代码的推荐模式
  • 框架特定调试:官方故障排除指南

使用 @Web

@Web 能够实时搜索互联网获取最新信息、技术博客和社区讨论。在以下场景中使用它:

  • 最新教程:社区生成的技术内容和示例
  • 方案对比:不同技术方案的比较文章
  • 近期更新:获取最新发布的功能或公告
  • 多视角分析:问题解决的不同思路

内部文档

内部文档包含 AI 模型在训练过程中从未接触过的组织专属信息,可能包括:

  • 内部 API:定制服务与微服务
  • 公司标准:编码规范、架构模式
  • 专有系统:定制工具、数据库、工作流
  • 领域知识:业务逻辑、合规要求

通过 MCP 访问内部文档

模型上下文协议(Model Context Protocol,MCP)为将私有文档和系统接入 Cursor 提供了标准化方式。MCP 在 Cursor 与内部资源之间充当轻量级中间层。

MCP 的核心价值:

  • 模型无法推测内部规范
  • 定制服务的 API 文档未公开
  • 业务逻辑与领域知识具有组织独特性
  • 合规与安全要求因企业而异

实现原理: MCP 通过以下方式建立上下文关联:

  1. 将内部文档转换为结构化知识图谱
  2. 实时匹配开发者的编码上下文
  3. 动态注入相关文档片段至 AI 推理过程

典型应用场景:

# 当调用内部支付网关 API 时
# MCP 自动注入最新接口文档(中文注释需翻译)
def process_payment(order):
# 调用支付网关 v2 版本(2023 年更新)
response = PaymentGatewayV2.create_charge(
amount=order.total,
currency="CNY",
# 强制使用 TLS 1.3 加密(安全规范第 5.2 条)
security_config=SEC_PROFILE_A
)
return response.status == "SUCCESS"

常见 MCP 集成方案

集成方案访问权限示例
Confluence公司 Confluence 空间架构文档、内部服务 API 规范、编码标准与指南、流程文档
Google Drive共享文档和文件夹需求规格说明书、会议纪要与决策记录、设计文档与需求文档、团队知识库
Notion工作区数据库和页面项目文档、团队维基、知识库、产品需求文档、技术规范文档
自定义内部系统和数据库专有 API、遗留文档系统、定制化知识库、专用工具与工作流

自定义解决方案

针对独特需求,您可以构建自定义的 MCP 服务器来实现以下功能:

  • 抓取内部网站或门户数据
  • 连接专有数据库系统
  • 访问自定义文档系统
  • 从内部维基或知识库提取信息
提示

构建自定义 MCP 服务器时,还可以向 Cursor 提交用于更新文档的工具

以下是抓取内部文档的自定义 MCP 服务器示例:

import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
import TurndownService from "turndown";

// 创建用于抓取内部文档的 MCP 服务器
const server = new McpServer({
name: "internal-docs",
version: "1.0.0"
});

const turndownService = new TurndownService();

// 添加工具以抓取内部文档
server.tool("get_doc",
{ url: z.string() },
async ({ url }) => {
try {
const response = await fetch(url);
const html = await response.text();

// 将 HTML 转换为 markdown
const markdown = turndownService.turndown(html);

return {
content: [{ type: "text", text: markdown }]
};
} catch (error) {
return {
content: [{ type: "text", text: `Error scraping ${url}: ${error.message}` }]
};
}
}
);

// 开始接收消息并发送消息
const transport = new StdioServerTransport();
await server.connect(transport);

保持文档更新

文档内容很容易过时。Cursor 能够根据您的实际代码和开发对话生成并更新文档,帮助您维护最新且实用的技术文档。

基于现有代码生成文档

使用 Cursor 直接从您的代码库创建专业文档:

为这个 Express 路由生成 API 文档,包含所有端点、参数和响应格式

基于聊天会话生成文档

您与 Cursor 的对话包含有价值的意图,可以转化为文档。

解决复杂问题后: 

总结我们关于设置认证的对话,为团队维基编写一份逐步操作指南

核心要点

  • 将文档作为上下文 可使 Cursor 更加准确且与时俱进
  • 使用 @Docs 调用官方文档,@Web 获取社区知识
  • MCP 架构弥合 Cursor 与内部系统之间的鸿沟
  • 通过代码和对话生成文档以保持知识更新
  • 结合外部文档与内部知识库实现全面理解