VS Code でプロンプトファイルを使用する

スラッシュコマンドとも呼ばれるプロンプトファイルは、一般的なタスクのプロンプトを、チャットで直接呼び出すことができる独立したMarkdownファイルとしてエンコードすることで簡素化できます。各プロンプトファイルには、タスク固有のコンテキストと、タスクを実行する方法に関するガイドラインが含まれています。

自動的に適用されるカスタム指示とは異なり、プロンプトファイルはチャットで手動で呼び出します。

プロンプトファイルを使用する目的

  • 新しいコンポーネントのスキャフォールディング、テストの実行と修正、プルリクエストの準備など、一般的なタスクのプロンプト作成を簡素化する
  • 最小限の実装計画の作成やAPI呼び出しのモックアップ生成など、カスタムエージェントのデフォルトの動作を上書きする
ヒント

プロンプトファイル、エージェント、スキル? 軽量で単一タスクのプロンプトにはプロンプトファイルを使用します。独自のツール制限と引き渡しを持つ永続的なペルソナが必要な場合は、カスタムエージェントを使用します。スクリプトとリソースを備えたポータブルな複数ファイル機能が必要な場合は、エージェントスキルを使用します。

ヒント

エージェントカスタマイズエディター (プレビュー) を使用すると、すべてのエージェントカスタマイズを1か所で検出、作成、管理できます。コマンドパレットから Chat: Open Customizations を実行してください。

プロンプトファイルの場所

プロンプトファイルは、特定のワークスペースに対して定義することも、すべてのワークスペースで利用できるユーザーレベルで定義することもできます。次の表は、スコープに基づいたプロンプトファイルのデフォルトのファイル場所を示しています。ワークスペースプロンプトファイルの追加のファイル場所は、 chat.promptFilesLocations Open in VS Code Open in VS Code Insiders 設定で構成できます。

スコープ デフォルトのファイル場所
ワークスペース .github/prompts フォルダー
ユーザープロファイル ユーザーデータ (VS Code プロファイルに固有)

ユーザーデータにプロンプトファイルを作成するには、Agent Customizations エディターを使用するか、Chat: New Prompt File コマンドを使用します。

ヒント

モノレポでは、親リポジトリのルートからプロンプトファイルを発見するために、 chat.useCustomizationsInParentRepositories Open in VS Code Open in VS Code Insiders を有効にします。親リポジトリの検出について詳しくはこちら。

プロンプトファイルの形式

プロンプトファイルは.prompt.md拡張子を持つMarkdownファイルです。オプションのYAMLフロントマターヘッダーは、プロンプトの動作を設定します。

フィールド 必須 説明
説明 なし プロンプトの簡単な説明。
名前 なし チャットで/を入力した後に使用されるプロンプトの名前。指定しない場合、ファイル名が使用されます。
argument-hint なし ユーザーがプロンプトとどのように対話するかを案内するために、チャット入力フィールドに表示されるヒントテキスト。
agent なし プロンプトを実行するために使用されるエージェント: askagentplan、またはカスタムエージェントの名前。デフォルトでは、現在のエージェントが使用されます。ツールが指定されている場合、デフォルトのエージェントはagentです。
model なし プロンプトを実行するときに使用される言語モデル。指定しない場合、モデルピッカーで現在選択されているモデルが使用されます。
ツール なし このプロンプトで利用可能なツールまたはツールセットの名前のリスト。組み込みツール、ツールセット、MCPツール、または拡張機能によって提供されるツールを含めることができます。MCPサーバーのすべてのツールを含めるには、<server name>/* 形式を使用します。
チャットでのツールについて詳しくはこちら。
注意

指定されたツールがプロンプトの実行時に利用できない場合、それは無視されます。

本体には、Markdown形式のプロンプトテキストが含まれます。AIに従わせたい具体的な指示、ガイドライン、またはその他の関連情報を提供します。

Markdownリンクを使用して、他のワークスペースファイルを参照できます。相対パスを使用してこれらのファイルを参照し、プロンプトファイルの場所に基づいてパスが正しいことを確認してください。

本文でエージェントツールを参照するには、#tool:<tool-name> 構文を使用します。たとえば、browser ツールを参照するには、#tool:browser を使用します。

ヒント

ユーザーに追加情報を提供させたい場合は、vscode/askQuestion ツールを使用できます。また、${input:variableName}${input:variableName:placeholder} のような構文を使用することもできます。ほとんどの言語モデルはこの構文を理解し、これらの入力を求めます。

次の例は、プロンプトファイルの使用方法を示しています。コミュニティによって貢献されたより多くの例については、Awesome Copilot リポジトリを参照してください。

例: Reactフォームコンポーネントを生成する
---
agent: 'agent'
model: GPT-4o
tools: ['search/codebase', 'vscode/askQuestions']
description: 'Generate a new React form component'
---
Your goal is to generate a new React form component based on the templates in the Github repo contoso/react-templates.

Use the #tool:vscode/askQuestions to ask for the form name and fields if not provided.

Requirements for the form:
* Use form design system components: [design-system/Form.md](../docs/design-system/Form.md)
* Use `react-hook-form` for form state management:
* Always define TypeScript types for your form data
* Prefer *uncontrolled* components using register
* Use `defaultValues` to prevent unnecessary rerenders
* Use `yup` for validation:
* Create reusable validation schemas in separate files
* Use TypeScript types to ensure type safety
* Customize UX-friendly validation rules
例: REST API のセキュリティレビューを実行する
---
agent: 'ask'
model: Claude Sonnet 4
description: 'Perform a REST API security review'
---
Perform a REST API security review and provide a TODO list of security issues to address.

* Ensure all endpoints are protected by authentication and authorization
* Validate all user inputs and sanitize data
* Implement rate limiting and throttling
* Implement logging and monitoring for security events

Return the TODO list in a Markdown format, grouped by priority and issue type.

プロンプトファイルを作成する

プロンプトファイルを作成するときは、それをワークスペースに保存するか、ユーザープロファイルに保存するかを選択します。ワークスペースプロンプトファイルはそのワークスペースにのみ適用されますが、ユーザープロンプトファイルは複数のワークスペースで利用できます。

プロンプトファイルの作成方法

ヒント

チャット入力で/promptsと入力すると、Configure Prompt Files メニューをすばやく開くことができます。

  1. チャットビューで、Configure Chat (歯車アイコン) を選択して Agent Customizations エディターを開き、次にPrompts タブを選択します。

  2. プロンプトファイルを保存する場所に応じて、ドロップダウンからNew Prompt (Workspace) または New Prompt (User) を選択します。

    Screenshot of the Agent Customizations editor, showing the Prompts tab and the dropdown to create a new prompt file.

    または、コマンドパレット (⇧⌘P (Windows, Linux Ctrl+Shift+P)) からChat: New Prompt File または Chat: New Untitled Prompt File コマンドを使用します。

  3. プロンプトファイルの場所を選択し、ファイル名を入力します。これは、チャットで/と入力したときに表示されるデフォルトの名前です。

  4. Markdown形式を使用してチャットプロンプトを作成します。

    • ファイルの先頭にあるYAMLフロントマターに、プロンプトの説明、エージェント、ツール、その他の設定を構成します。
    • ファイルの本文にプロンプトの指示を追加します。

既存のプロンプトファイルは、Agent Customizations エディターで開いて変更できます。

AIでプロンプトファイルを生成する

AIを使用して、タスクの説明に基づいてプロンプトファイルを生成できます。チャットで/create-promptと入力し、自動化したいタスクを説明します(例: 「ユニットテストを生成するためのプロンプト」)。エージェントは明確化の質問をし、適切なフロントマターと指示を含む.prompt.mdファイルを生成し、ワークスペースストレージとユーザーストレージのどちらかを選択させます。

進行中の会話から再利用可能なプロンプトを抽出することもできます。たとえば、複数ターンのチャットセッションの後、「これを再利用可能なプロンプトに変えて」または「このワークフローをプロンプトとして保存して」と尋ねると、エージェントはワークフローをキャプチャするプロンプトファイルを作成します。

Agent Customizations エディターから、ドロップダウンからGenerate Promptを選択してプロンプトファイルを生成することもできます。

チャットでプロンプトファイルを使用する

プロンプトファイルを実行するには複数のオプションがあります

  • チャットビューで、チャット入力フィールドに/とプロンプト名を入力します。エージェントスキルも、プロンプトファイルと並んでスラッシュコマンドとして表示されます。

    チャット入力フィールドに詳細情報を追加できます。たとえば、/create-react-form formName=MyForm/create-api for listing customers のように。

  • コマンドパレット (⇧⌘P (Windows, Linux Ctrl+Shift+P)) からChat: Run Prompt コマンドを実行し、クイックピックからプロンプトファイルを選択します。

  • エディターでプロンプトファイルを開き、エディターのタイトル領域にある再生ボタンを押します。プロンプトを現在のチャットセッションで実行するか、新しいチャットセッションを開くかを選択できます。

    このオプションは、プロンプトファイルを迅速にテストし、反復処理するのに役立ちます。

ヒント

新しいチャットセッションを開始するときに、プロンプトを推奨アクションとして表示するには、 chat.promptFilesRecommendations Open in VS Code Open in VS Code Insiders 設定を使用します。

Screenshot showing a "explain" prompt file recommendation in the Chat view.

ツールリストの優先順位

カスタムエージェントとプロンプトファイルの両方で利用可能なツールのリストは、tools メタデータフィールドを使用して指定できます。プロンプトファイルは、agent メタデータフィールドを使用してカスタムエージェントを参照することもできます。

チャットで利用可能なツールのリストは、次の優先順位で決定されます。

  1. プロンプトファイルで指定されたツール (もしあれば)
  2. プロンプトファイルで参照されているカスタムエージェントのツール (もしあれば)
  3. 選択されたエージェントのデフォルトツール (もしあれば)

デバイス間でユーザープロンプトファイルを同期する

VS Code は、設定同期を使用して、ユーザープロンプトファイルを複数のデバイス間で同期できます。

ユーザープロンプトファイルを同期するには、設定同期を有効にし、コマンドパレット (⇧⌘P (Windows, Linux Ctrl+Shift+P)) からSettings Sync: Configure を実行します。同期する設定のリストからPrompts and Instructions を選択します。

効果的なプロンプトを作成するためのヒント

  • プロンプトが何を達成すべきか、どのような出力形式が期待されるかを明確に記述します。

  • AIの応答を導くために、期待される入力と出力の例を提供します。

  • 各プロンプトでガイドラインを重複させるのではなく、Markdownリンクを使用してカスタム指示を参照します。

  • ${selection} のような組み込み変数や入力変数を活用して、プロンプトをより柔軟にします。

  • エディターの再生ボタンを使用してプロンプトをテストし、結果に基づいて改良します。

よくある質問

プロンプトファイルがどこから来たのかを知るにはどうすればよいですか?

プロンプトファイルはさまざまなソースから取得できます。組み込み、プロファイルでユーザー定義、現在のワークスペースでワークスペース定義、または拡張機能が提供するプロンプトです。

プロンプトファイルのソースを識別するには

  1. コマンドパレット (⇧⌘P (Windows, Linux Ctrl+Shift+P)) からChat: Configure Prompt Files を選択します。
  2. リスト内のプロンプトファイルにカーソルを合わせます。ソースの場所がツールチップに表示されます。
ヒント

チャットのカスタマイズ診断ビューを使用して、ロードされたすべてのプロンプトファイルとエラーを確認します。チャットビューで右クリックし、Diagnostics を選択します。VS CodeでのAIのトラブルシューティングについて詳しくはこちら。

© . This site is unofficial and not affiliated with Microsoft.