こんにちは!日々のコーディング、本当にお疲れ様です。
新しい技術や社内独自のライブラリを導入したとき、「公式ドキュメントが不親切」「ネットに情報が落ちていない」「AIに聞いても全然見当違いなコードを出してくる……」と頭を抱えた経験はありませんか?
一般的なAIアシスタントは、インターネット上の一般的な公開情報(ReactやPythonの標準的な書き方など)しか知りません。そのため、社内ニッチなAPIや、まだ世に出て間もないマイナーなオープンソース(OSS)の仕様を前にすると、途端にハルシネーション(もっともらしい嘘のコード)を吐き出すようになります。
しかし、ご安心ください。次世代のAIエディタ「Cursor」の機能である`@Docs`を使いこなせば、AIに「そのプロジェクト専用の最強の家庭教師」を即座に憑依させることができます。
今回は、ドキュメント不在のAPIや独自ライブラリをCursorに学習させ、開発効率を極限まで引き上げる手法を、優しく丁寧に解説していきますね。これをマスターすれば、毎日のコーディングが劇的に楽になりますよ!
—
1. なぜ「@Docs」機能が必要なのか?(AIの脳内をハックする技術)
まず、Cursorの裏側で何が起きているのか、そのアーキテクチャの核心に少しだけ触れておきましょう。
通常、私たちがChatGPTや一般的なAIにコードを書かせる時、AIは「LLM(大規模言語モデル)の事前学習データ」ベースで回答します。これは、いわば「過去の一般的な知識の山」です。
一方、Cursorの`@Docs`機能は、指定したURLやローカルのドキュメント群をスクレイピング・解析し、RAG(Retrieval-Augmented Generation:検索拡張生成)という仕組みを使って、「今、あなたが作業している文脈に最も必要な公式仕様の断片」をリアルタイムでAIのコンテキスト(短期記憶)に注入します。
つまり、ネットの海から答えを探すのではなく、「この社内APIの仕様書のこのページを読んでからコードを書いてくれ」とAIにピンポイントでカンペを渡せるわけです。これにより、存在しないメソッドを勝手に作られるストレスから完全に解放されます。
—
2. 基礎セットアップ:Cursorのインストールと初期設定
まずは、まだCursorを触っていない方、あるいはデフォルトのまま使っている方に向けて、確実に成果を出すための基礎セットアップを行っていきます。
インストール(VS Codeからの移行は一瞬です)
公式ページ([cursor.com](https://www.cursor.com/))からインストーラーをダウンロードし、インストールを実行します。
驚くべきことに、CursorはVS Codeのフォーク(派生)として作られているため、起動時に「VS Codeの拡張機能と設定をインポートしますか?」と聞かれます。ここで「はい」を選ぶだけで、今まで使い慣れたショートカットや拡張機能がそのまま引き継がれます。
ショートカットの確認
AI機能の呼び出しには、以下のショートカットを体に覚え込ませてください。
- `Ctrl + L` (Windows) / `Cmd + L` (Mac) : チャットパネルを開く(AIとの対話)
- `Ctrl + I` (Windows) / `Cmd + I` (Mac) : インライン生成(コードの直接編集)
- `@` : コンテキスト(参照先)の指定(※今回最も重要な魔法の文字です)
—
3. 実践:@Docsを使って独自ライブラリをAIに学習させる
ここからが本題です。例として、世の中に情報がほとんどない「社内製ピザ注文API(仮称: `pizza-internal-sdk`)」のドキュメントをCursorに読み込ませ、正しいコードを書かせる手順を追体験してみましょう。
ステップ1: @DocsにドキュメントのURL(またはパス)を登録する
1. `Cmd + L`(または `Ctrl + L`)でAIチャットを開きます。
2. チャットの入力欄に半角で `@` と打ち込んでみてください。色々なメニューが出てきますが、その中から `@Docs` を選択(またはクリック)します。
3. 初めての場合は `Add new doc` という項目が出てくるので、それを選択します。
4. 学習させたいドキュメントのURLを入力します。
- 例: `https://internal.example.com/docs/pizza-sdk/v1`
- ※もしインターネット上に公開されていない社内MarkdownやPDFの場合は、プロジェクトフォルダ内に `docs/` ディレクトリを作り、その中にファイルを配置してローカルパスを指定することも可能です。
入力例イメージ
@Docs https://internal.example.com/docs/pizza-sdk/v1 この仕様書をベースに処理を書いて
Cursorはバックグラウンドで指定されたURLの階層を巡回し、すべてのページをインデックス化(AIが検索しやすい形にベクトル化)します。これには数秒〜数十秒かかりますが、完了すれば準備完了です。
ステップ2: 読ませたドキュメントを指定してコードを生成する
インデックス化が終わったら、実際にAIにコードを書かせてみましょう。ここでのポイントは、必ずプロンプト内で `@` を使って登録したドキュメントを指名することです。
チャット欄に以下のように入力してみてください。
@Docs
context: pizza-internal-sdk v1 のドキュメントを参照
「マルゲリータLサイズを、チーズ追加トッピング、指定の配送先(東京都渋谷区…)へ注文するためのTypeScriptコードを書いてください。エラーハンドリングも含めてください。」
【ここに注目!】
もし `@Docs` を付け忘れた場合、AIは「そんなAPIは知らないので、一般的な `fetch` や既存のメジャーなライブラリの書き方で適当に作っておきますね」と、動かないコードを生成します。
しかし、`@Docs` で正確なドキュメントを指名していれば、AIはドキュメント内にある独自のクライアント初期化方法や、特殊なメソッド名(例: `client.order.dispatch()` など)を正確に拾い上げ、まるで何年もそのAPIを使っているかのように完璧なコードを出力してくれます。
—
4. 精度をさらに高めるためのプロフェッショナルな知見
ここで、ベテランエンジニアが現場で使っている、AIの回答精度を極限まで引き上げるための「ちょっとした裏技」をいくつかシェアします。
① 常に最新のドキュメントに更新する
社内ライブラリは頻繁にバージョンアップされます。@Docsに登録したURLの内容が更新された場合、Cursorの設定画面(Settings > Features > Docs)から、該当するドキュメントの「Resync(再同期)」ボタンを押すか、一度削除して再登録するクセをつけましょう。古い仕様をAIが記憶し続けるのを防げます。
② ローカルの`.cursorrules`と組み合わせる
プロジェクトのルートディレクトリに `.cursorrules` というファイルを作成すると、AIに対する「常時適用される指示書」を書くことができます。ここに以下のように記述しておくと、より強力です。
// .cursorrules の記述例
{
“instructions”: “コードを書く際は、必ず @Docs でインデックス化した社内ピザAPIの仕様を優先し、レガシーなPromiseチェーンではなく async/await を使用してください。”
}
これをしておくだけで、毎回指示しなくてもAIが常に社内ルールの文脈を理解した状態でコードを提案してくれます。
—
5. HelloWorld的動作確認:実際に動くかテストしてみよう
最後に、AIが正しく独自ライブラリを理解してコードを生成できたかを確認する、最小限のテスト(HelloWorld)のフローを見てみましょう。
以下のファイルをプロジェクト内に作成します。
`test-order.ts`(ファイルを作成し、インラインAI `Cmd + I` を起動)
// インラインAI (Cmd + I) に以下のように指示を出します
// 指示: “@Docs を参照して、APIクライアントを初期化し、疎通確認(ping)を行う最小限のコードを書いて”
AIが生成したコードが、例えば以下のような独自の初期化構文を含んでいれば大成功です。
// AIがドキュメントから正しく学習して生成したコード例
import { PizzaClient } from ‘pizza-internal-sdk’;
// ドキュメントに記載されていた正しい環境変数とオプションを指定している
const client = new PizzaClient({
apiKey: process.env.PIZZA_API_KEY,
environment: ‘production’
});
async function healthCheck() {
try {
// ネット上のどこにもない、この社内SDK独自のメソッドを正確に使えている
const status = await client.system.ping();
console.log(‘API Connection Success:’, status);
} catch (error) {
console.error(‘API Connection Failed:’, error);
}
}
healthCheck();
どうですか? ネット検索しても1行も出てこないはずの社内独自メソッド `client.system.ping()` を、AIが迷いなく正確に記述してくれました。これが `@Docs` の真価です。
—
おわりに
今回は、Cursorの `@Docs` 機能を駆使して、ドキュメント不在のAPIや独自ライブラリをAIに丸ごと学習させる手法を解説しました。
「世の中に情報がないからAIは使えない」というのは、もう過去の話です。私たちが適切なコンテキスト(知識)を与えてあげさえすれば、Cursorはどんなにマイナーな技術であっても、あなた専属の優秀なシニアエンジニアへと進化します。
毎日の「仕様書とのにらめっこ」や「原因不明のエラーとの格闘」の時間を減らし、本当に創造的なコードを書く時間に集中するために、ぜひ今日の開発から `@Docs` を取り入れてみてください。あなたのコーディングライフが劇的に快適になることを、心から応援しています!