在之前文章我们曾介绍,由于大模型自身原因,不可能掌握最新的框架和库,因此在编程中经常会出现陈旧、过时的接口或者生造一个不存在的接口导致代码生成不正确。因此,有效利用各类文档资源,为 AI 提供高质量、实时的上下文,是克服这一挑战、充分发挥其潜能的关键。
为此我们介绍了 context7 这样的工具。
实际上,类似功能早就出现在 Cursor 中了,但因为不好用不会用,一直不被开发者重视。今天,笔者将给大家带来 Cursor 在这方面的官方建议[1],帮助大家如何更好地利用文档交互特性,为 AI 提供精准上下文,进而提升大模型编程精准性。
Cursor 提供了三个工具,分别处理外部公开文档和私有内部文档。
|
|
---|---|
@Docs |
|
@Web |
|
MCP |
|
1. 使用 @Docs
:获取权威官方信息
@Docs
功能将 Cursor 直接连接到众多流行工具和框架的官方文档。当您需要以下类型的权威信息时,@Docs
是首选:
-
API 参考:精确查找函数签名、参数定义、返回值类型等。 -
入门指南:快速了解工具的安装、配置和基础使用方法。 -
官方最佳实践:获取源头推荐的编码模式和设计原则。 -
框架特定调试:参考官方提供的故障排除步骤和常见问题解答。
通过 @Docs
,开发者可以直接在 Cursor 环境中获取并应用最可信赖的技术信息。
Cursor 提供了三个工具,分别处理外部公开文档和私有内部文档。
|
|
---|---|
@Docs |
|
@Web |
|
MCP |
|
1. 使用 @Docs
:获取权威官方信息
@Docs
功能将 Cursor 直接连接到众多流行工具和框架的官方文档。当您需要以下类型的权威信息时,@Docs
是首选:
-
API 参考:精确查找函数签名、参数定义、返回值类型等。 -
入门指南:快速了解工具的安装、配置和基础使用方法。 -
官方最佳实践:获取源头推荐的编码模式和设计原则。 -
框架特定调试:参考官方提供的故障排除步骤和常见问题解答。
通过 @Docs
,开发者可以直接在 Cursor 环境中获取并应用最可信赖的技术信息。
3. 使用 MCP 访问内部文档
企业内部文档,如内部 API 规范、公司编码标准、专有系统说明和特定业务逻辑,是 AI 模型在标准训练过程中无法接触到的。这些信息对保障项目质量和团队协作至关重要。模型上下文协议 (Model Context Protocol, MCP) 是 Cursor 提供的一套标准化方法,旨在将企业的私有文档和内部系统安全、高效地整合到 AI 的认知范围内。MCP 充当 Cursor 与企业内部资源之间的桥梁。
|
|
|
---|---|---|
Confluence |
|
|
Google Drive |
|
|
Notion |
|
|
自定义集成 |
|
|
对于具有特殊内部系统或独特文档管理需求的企业,可以构建自定义的 MCP 服务器。这是一个例子(实际上context7就是类似实现):
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";
// Create an MCP server for scraping internal docs
const server = new McpServer({
name: "internal-docs",
version: "1.0.0"
});
const turndownService = new TurndownService();
// Add tool to scrape internal documentation
server.tool("get_doc",
{ url: z.string() },
async ({ url }) => {
try {
const response = await fetch(url);
const html = await response.text();
// Convert HTML to markdown
const markdown = turndownService.turndown(html);
return {
content: [{ type: "text", text: markdown }]
};
} catch (error) {
return {
content: [{ type: "text", text: `Error scraping ${url}: ${error.message}` }]
};
}
}
);
// Start receiving messages on stdin and sending messages on stdout
const transport = new StdioServerTransport();
await server.connect(transport);
这允许企业根据自身情况,实现对内部网站、专有数据库、自定义文档系统或内部知识库等资源的灵活接入。
另外,文档的价值在于其准确性和时效性。Cursor 不仅支持消费现有文档,还具备协助开发者创建和更新文档的能力,促进知识的沉淀与共享。官方为此也给出了两点建议:
请为选中的 Python 函数生成标准的文档字符串 (docstring),说明其功能、参数和返回值。
请将我们刚才关于[特定模块]的讨论内容,整理成一份技术说明,包括主要设计点、遇到的问题、解决方案以及相关的代码示例。
小结
模型能力越来越强,能够正确完成一项编程任务,很多时候模型不是瓶颈,关键取决于是否能够给其提供高质量的上下文。Cursor 通过 @Docs
、@Web
和 MCP
等功能,为开发者提供了一套强大而灵活的文档交互工具集,辅以动态文档生成能力,有效地弥合了 AI 模型固有知识与项目实际需求之间的鸿沟。熟练运用这些高级文档技巧,开发者可以显著提升与 Cursor 协作的效率和质量,也是未来程序员水平高低的重要衡量标准之一。
没有回复内容