為什麼文件很重要

文件提供最新且準確的上下文。沒有文件時,模型會依賴過時或不完整的訓練資料。文件能幫助模型理解像是:
  • 最新的 API 與參數
  • 最佳實務
  • 組織慣例
  • 領域術語
還有更多。繼續看下去,學會如何直接在 Cursor 裡用文件,不用在不同情境間切換。

模型知識截止點

大型語言模型是用截至某個時間點的資料訓練出來的,這個時間點叫做「知識截止點」。這表示:
  • 最近的套件/函式庫更新可能不會反映
  • 新的框架或工具可能還不認識
  • 截止日期之後的 API 變更會被漏掉
  • 最佳實務可能在訓練後已經演進
舉例來說,如果模型的知識截止點在 2024 年初,它就不會知道 2024 年底才推出的功能,就算是熱門框架也一樣。

我該用哪個工具?

用這張決策樹,快速找出最適合你撰寫文件的做法:

心智模型

工具心智模型
@Docs類似瀏覽並閱讀官方文件
@Web類似在網路上搜尋解方
MCP類似存取你的內部文件

公開文件

外部文件涵蓋模型對公開資訊可能有限或過時的了解。Cursor 提供兩種主要方式來存取這些資訊。

使用 @Docs

@Docs 會把 Cursor 連到常見工具與框架的官方文件。當你需要最新、權威的資訊時就用它,例如:
  • API 參考:函式簽名、參數、回傳型別
  • 入門指南:安裝、設定、基本用法
  • 最佳實務:官方建議的模式
  • 框架專屬除錯:官方疑難排解指南
@
@Docs Next.js How do I set up dynamic routing with catch-all routes?
Agent⌘I
Auto

使用 @Web

@Web 會在即時網路上搜尋最新資訊、部落格文章與社群討論。當你需要以下內容時就用它:
  • 最新教學:由社群產生的內容與範例
  • 比較:比較不同做法的文章
  • 最新動態:非常近期的更新或公告
  • 多元觀點:解決問題的不同途徑
@
@Web latest performance optimizations for React 19
Agent⌘I
Auto

內部文件

內部文件包含你的組織特有、AI 模型在訓練期間從未接觸過的資訊。可能包括:
  • 內部 API:自訂服務與微服務
  • 公司標準:程式碼慣例、架構模式
  • 專有系統:自訂工具、資料庫、工作流程
  • 領域知識:商業邏輯、法遵要求

透過 MCP 存取內部文件

Model Context Protocol(MCP)提供標準化方式,讓你把私人文件與系統帶進 Cursor。MCP 充當 Cursor 與內部資源之間的輕薄抽象層。 為什麼 MCP 重要:
  • 模型不會憑空推測你的內部慣例
  • 自訂服務的 API 文件不對外公開
  • 商業邏輯與網域知識對你的組織是獨有的
  • 各公司在法遵與資安需求上各不相同

常見 MCP 整合

IntegrationAccessExamples
Confluence公司 Confluence 空間架構文件、內部服務的 API 規格、程式碼標準與指引、流程文件
Google Drive共享文件與資料夾規格文件、會議紀錄與決策記錄、設計文件與需求、團隊知識庫
Notion工作區資料庫與頁面專案文件、團隊 wiki、知識庫、產品需求、技術規格
Custom內部系統與資料庫專有 API、傳統文件系統、自訂知識庫、專用工具與工作流程

自訂解決方案

若有特殊需求,你可以建立自訂 MCP 伺服器來:
  • 擷取內部網站或入口頁
  • 連接專有資料庫
  • 存取自訂文件系統
  • 從內部 wiki 或知識庫抓取內容
如果你建立自訂 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";

// 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 可以根據你的實際程式碼和開發對話自動產生並更新文件,幫你維持內容即時且實用。

從現有程式碼

用 Cursor 直接從你的程式碼庫產生文件:
@
Generate API documentation for this Express router, including all endpoints, parameters, and response formats
Agent⌘I
Auto

從聊天工作階段

你和 Cursor 的對話蘊含有價值的意圖,能轉化為文件。
在解決複雜問題之後:
@
把我們關於設定身分驗證的對話整理成一步步的指南,用於團隊 wiki
Agent⌘I
Auto

重點摘要

  • 以文件作為脈絡能讓 Cursor 更準確、資訊更即時
  • 使用 @Docs 取得官方文件,使用 @Web 探索社群知識
  • MCP 串接 Cursor 與你的內部系統
  • 從程式碼與對話產生文件,讓知識隨時保持最新
  • 結合外部與內部文件來源,獲得更全面的理解