ドキュメントが重要な理由

ドキュメントは現在の正確なコンテキストを提供します。ドキュメントがなければ、モデルは古いまたは不完全なトレーニングデータを使用することになります。ドキュメントは、以下のようなことをモデルが理解するのに役立ちます:
  • 現在のAPIとパラメータ
  • ベストプラクティス
  • 組織の規約
  • ドメイン用語
その他多くのことも含まれます。コンテキストを切り替えることなく、Cursor内でドキュメントを適切に使用する方法を学ぶために、読み進めてください。

モデルの知識カットオフ

大規模言語モデルは特定の時点までのデータで訓練されており、これを「知識カットオフ」と呼びます。これは以下を意味します:
  • 最近のライブラリアップデートが反映されていない可能性がある
  • 新しいフレームワークやツールが未知の場合がある
  • カットオフ日以降のAPI変更が見逃されている
  • ベストプラクティスが訓練以降に進化している可能性がある
例えば、モデルの知識カットオフが2024年初頭の場合、人気のフレームワークであっても2024年後半にリリースされた機能については知らないことになります。

どのツールを使用すべきですか?

この決定木を使用して、ドキュメントのニーズに最適なアプローチを素早く決定してください:

メンタルモデル

ツールメンタルモデル
@Docs公式ドキュメントを閲覧・読解するような感覚
@Webインターネットで解決策を検索するような感覚
MCP内部ドキュメントにアクセスするような感覚

パブリックドキュメント

外部ドキュメントは、モデルが限定的または古い知識しか持たない可能性がある公開情報をカバーします。Cursorは、この情報にアクセスするための2つの主要な方法を提供します。

@Docsの使用

@Docsは、人気のツールやフレームワークの公式ドキュメントにCursorを接続します。以下のような最新で権威のある情報が必要な場合に使用してください:
  • APIリファレンス: 関数のシグネチャ、パラメータ、戻り値の型
  • 入門ガイド: セットアップ、設定、基本的な使用方法
  • ベストプラクティス: ソースから推奨されるパターン
  • フレームワーク固有のデバッグ: 公式のトラブルシューティングガイド
@
@Docs Next.js キャッチオールルートを使用した動的ルーティングはどのように設定しますか?
Agent⌘I
Auto

@Webの使用

@Webは最新の情報、ブログ投稿、コミュニティディスカッションを求めてライブインターネットを検索します。以下の場合に使用してください:
  • 最新のチュートリアル: コミュニティが生成したコンテンツと例
  • 比較: 異なるアプローチを比較する記事
  • 最新の更新: 非常に最近の更新やアナウンス
  • 複数の視点: 問題に対する異なるアプローチ
@
@Web React 19の最新パフォーマンス最適化
Agent⌘I
Auto

内部ドキュメント

内部ドキュメントには、AIモデルがトレーニング中に遭遇したことのない、あなたの組織固有の情報が含まれます。これには以下のようなものがあります:
  • 内部API: カスタムサービスとマイクロサービス
  • 会社の標準: コーディング規約、アーキテクチャパターン
  • 独自システム: カスタムツール、データベース、ワークフロー
  • ドメイン知識: ビジネスロジック、コンプライアンス要件

MCPを使用した内部ドキュメントへのアクセス

Model Context Protocol(MCP)は、プライベートなドキュメントやシステムをCursorに取り込むための標準化された方法を提供します。MCPは、Cursorと内部リソースの間の薄いレイヤーとして機能します。 MCPが重要な理由:
  • モデルは内部の規約を推測できません
  • カスタムサービスのAPIドキュメントは公開されていません
  • ビジネスロジックとドメイン知識は組織固有のものです
  • コンプライアンスとセキュリティ要件は会社によって異なります

一般的なMCP統合

統合アクセス
Confluence会社のConfluenceスペースアーキテクチャドキュメント、内部サービスのAPI仕様、コーディング標準とガイドライン、プロセスドキュメント
Google Drive共有ドキュメントとフォルダ仕様書、会議メモと決定記録、設計書と要件、チーム知識ベース
Notionワークスペースデータベースとページプロジェクトドキュメント、チームwiki、知識ベース、製品要件、技術仕様
カスタム内部システムとデータベース独自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";

// 内部ドキュメントをスクレイピングするための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: `${url}のスクレイピングエラー: ${error.message}` }]
      };
    }
  }
);

// stdinでメッセージを受信し、stdoutでメッセージを送信開始
const transport = new StdioServerTransport();
await server.connect(transport);

ドキュメントを最新の状態に保つ

ドキュメントはすぐに古くなってしまいます。Cursorは、実際のコードと開発での会話に基づいてドキュメントを生成・更新することで、現在の有用なドキュメントを維持するのに役立ちます。

既存のコードから

Cursorを使用してコードベースから直接ドキュメントを作成します:
@
このExpressルーターのAPIドキュメントを生成してください。すべてのエンドポイント、パラメータ、レスポンス形式を含めてください
Agent⌘I
Auto

チャットセッションから

Cursorとの会話には、ドキュメントに変換できる貴重な意図が含まれています。
複雑な問題を解決した後:
@
認証設定に関する私たちの会話を、チームwiki用のステップバイステップガイドにまとめてください
Agent⌘I
Auto

要点

  • コンテキストとしてのドキュメントにより、Cursorはより正確で最新の情報を提供できます
  • 公式ドキュメントには@Docsを、コミュニティの知識には@Webを使用してください
  • MCPはCursorと内部システムの間のギャップを埋めます
  • コードと会話からドキュメントを生成して、知識を最新の状態に保ちます
  • 外部と内部のドキュメントソースを組み合わせて、包括的な理解を実現します