Cursor 内置三大文档工具,为AI 编程注入精准上下文

火山方舟向量数据库大模型

在之前文章我们曾介绍,由于大模型自身原因,不可能掌握最新的框架和库,因此在编程中经常会出现陈旧、过时的接口或者生造一个不存在的接口导致代码生成不正确。因此,有效利用各类文档资源,为 AI 提供高质量、实时的上下文,是克服这一挑战、充分发挥其潜能的关键。

为此我们介绍了 context7 这样的工具。

必装!有效降低Cursor幻觉,提升代码生成质量的神奇MCP Server!

实际上,类似功能早就出现在 Cursor 中了,但因为不好用不会用,一直不被开发者重视。今天,笔者将给大家带来 Cursor 在这方面的官方建议[1],帮助大家如何更好地利用文档交互特性,为 AI 提供精准上下文,进而提升大模型编程精准性。

picture.image

Cursor 提供了三个工具,分别处理外部公开文档和私有内部文档。

| 工具 | 定位与功能 | | --- | --- | | @Docs | 类似于直接查阅和浏览官方技术文档。 | | @Web | 类似于在互联网上广泛搜索解决方案和前沿资讯。 | | MCP | 类似于访问和利用您组织内部的私有文档和知识库。 |

1. 使用 @Docs:获取权威官方信息

@Docs 功能将 Cursor 直接连接到众多流行工具和框架的官方文档。当您需要以下类型的权威信息时,@Docs 是首选:

  • API 参考 :精确查找函数签名、参数定义、返回值类型等。
  • 入门指南 :快速了解工具的安装、配置和基础使用方法。
  • 官方最佳实践 :获取源头推荐的编码模式和设计原则。
  • 框架特定调试 :参考官方提供的故障排除步骤和常见问题解答。

通过 @Docs,开发者可以直接在 Cursor 环境中获取并应用最可信赖的技术信息。

picture.image

注意:使用前,需要将常用的文档添加到cursor中。

2. 使用 @Web:探索广泛的社区与网络资源

@Web 功能赋予 Cursor 实时搜索互联网的能力,以获取最新的博客文章、社区讨论和教程。以下场景适合使用 @Web

  • 近期教程与代码示例 :查找由社区贡献的最新学习资源。
  • 技术方案对比 :阅读分析不同方法或工具优劣的文章。
  • 追踪最新动态 :了解非常近期的技术更新、版本发布或行业公告。
  • 获取多方视角 :参考不同开发者对同一问题的多种解决方案和观点。

@Web 扩展了信息获取的边界,尤其适用于快速变化的技术领域和需要多元视角的场景。

picture.image

3. 使用 MCP 访问内部文档

企业内部文档,如内部 API 规范、公司编码标准、专有系统说明和特定业务逻辑,是 AI 模型在标准训练过程中无法接触到的。这些信息对保障项目质量和团队协作至关重要。模型上下文协议 (Model Context Protocol, MCP) 是 Cursor 提供的一套标准化方法,旨在将企业的私有文档和内部系统安全、高效地整合到 AI 的认知范围内。MCP 充当 Cursor 与企业内部资源之间的桥梁。

| 集成方案 | 访问内容范围 | 应用示例 | | --- | --- | --- | | Confluence | 企业内部 Confluence 空间 | 查阅架构设计文档、内部服务 API 技术规范、编码标准与指南、项目流程文档等。 | | Google Drive | 共享的企业云端硬盘文档与文件夹 | 获取项目需求规格书、会议记录与决策文档、系统设计文档、团队知识库条目等。 | | Notion | Notion 工作区内的数据库与页面 | 浏览项目管理文档、团队维基页面、知识库文章、产品需求定义、技术规格说明等。 | | 自定义集成 | 组织内部的其他系统与数据库 | 对接专有 API 接口、遗留文档管理系统、定制化知识库、特定业务工具与工作流等。 |

对于具有特殊内部系统或独特文档管理需求的企业,可以构建自定义的 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 不仅支持消费现有文档,还具备协助开发者创建和更新文档的能力,促进知识的沉淀与共享。官方为此也给出了两点建议,

  1. 从代码生成文档 :开发者可以选中代码片段,利用 Cursor 快速生成注释、功能描述或初步的 API 文档框架,减轻文档编写负担。
  
请为选中的 Python 函数生成标准的文档字符串 (docstring),说明其功能、参数和返回值。
  1. 从对话中提取并结构化信息 :在与 Cursor 协作解决复杂问题或完成某项设计后,可以指示 Cursor 将交互过程中的关键信息、决策逻辑和代码示例总结成结构化的文档或备忘录。 例如,可以提示:
  
请将我们刚才关于[特定模块]的讨论内容,整理成一份技术说明,包括主要设计点、遇到的问题、解决方案以及相关的代码示例。

小结

模型能力越来越强,能够正确完成一项编程任务,很多时候模型不是瓶颈,关键取决于是否能够给其提供高质量的上下文。Cursor 通过 @Docs@WebMCP 等功能,为开发者提供了一套强大而灵活的文档交互工具集,辅以动态文档生成能力,有效地弥合了 AI 模型固有知识与项目实际需求之间的鸿沟。熟练运用这些高级文档技巧,开发者可以显著提升与 Cursor 协作的效率和质量,也是未来程序员水平高低的重要衡量标准之一。

picture.image

参考资料

[1] 官方建议: https://docs.cursor.com/guides/advanced/working-with-documentation#which-tool-should-i-use%3F

公众号回复“进群”入群讨论。

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
字节跳动 XR 技术的探索与实践
火山引擎开发者社区技术大讲堂第二期邀请到了火山引擎 XR 技术负责人和火山引擎创作 CV 技术负责人,为大家分享字节跳动积累的前沿视觉技术及内外部的应用实践,揭秘现代炫酷的视觉效果背后的技术实现。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论