エージェント型開発を探求する -

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

スラッシュコマンドとも呼ばれるプロンプトファイルを使用すると、一般的なタスクに対するプロンプトをスタンドアロンのMarkdownファイルとしてエンコードすることで簡略化し、チャットで直接呼び出せるようになります。各プロンプトファイルには、タスク固有のコンテキストと、そのタスクをどのように実行すべきかに関するガイドラインが含まれています。

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

プロンプトファイルの用途

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

プロンプトファイル、エージェント、スキルのどれを使うべきか? 軽量で単一タスクのプロンプトには、プロンプトファイルを使用してください。独自のツール制限やハンドオフ(引き継ぎ)を持つ永続的なペルソナが必要な場合は、カスタムエージェントを使用してください。スクリプトやリソースを備えた、ポータブルで複数ファイルにまたがる機能が必要な場合は、エージェントスキルを使用してください。

ヒント

[チャットカスタマイズエディター](Preview) を使用して、すべてのチャットカスタマイズを 1 か所で発見、作成、管理できます。コマンドパレットから **チャット: チャットカスタマイズを開く** を実行します。

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

プロンプトファイルは特定のワークスペース、またはユーザーレベルで定義でき、ユーザーレベルで定義した場合はすべてのワークスペースで使用可能です。以下の表に、スコープごとのプロンプトファイルのデフォルトの場所を記載します。ワークスペースのプロンプトファイルの場所は、 chat.promptFilesLocations Open in VS Code Open in VS Code Insiders 設定で追加の設定が可能です。

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

ユーザーデータにプロンプトファイルを作成するには、チャットカスタマイズエディタを使用するか、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サーバーのすべてのツールを含めるには、<サーバー名>/* 形式を使用します。
チャット内のツールについての詳細はこちら。
注意

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

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

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

本文でエージェントツールを参照するには、#tool:<ツール名> 構文を使用します。例えば、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 (歯車アイコン) を選択してチャットカスタマイズエディタを開き、Prompts タブを選択します。

  2. ドロップダウンから New Prompt (Workspace) または New Prompt (User) を選択します(プロンプトファイルをどこに保存したいかによって異なります)。

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

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

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

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

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

既存のプロンプトファイルは、チャットカスタマイズエディタで開くことで修正できます。

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

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

また、進行中の会話から再利用可能なプロンプトを抽出することもできます。例えば、複数回のやり取りの後、「これを再利用可能なプロンプトにして」や「このワークフローをプロンプトとして保存して」と言うと、エージェントはそのワークフローをキャプチャしたプロンプトファイルを作成します。

チャットカスタマイズエディタのドロップダウンから Generate Prompt を選択して、プロンプトファイルを生成することもできます。

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

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

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

    チャット入力フィールドに情報を追加できます。例えば、/create-react-form formName=MyForm/create-api for listing customers などです。

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

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

    このオプションは、プロンプトファイルを素早くテストおよび反復するのに便利です。

ヒント

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は 設定同期 (Settings Sync) を使用して、ユーザープロンプトファイルを複数のデバイス間で同期できます。

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

効果的なプロンプトを書くためのヒント

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

  • AIの応答をガイドするために、期待される入力と出力の例を提供してください。

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

  • ${selection} などの組み込み変数や入力変数を利用して、プロンプトをより柔軟にしてください。

  • エディタの再生ボタンを使用してプロンプトをテストし、結果に基づいて改善してください。

よくある質問

プロンプトファイルの場所を確認するには?

プロンプトファイルには、組み込み、プロファイル内で定義されたユーザー定義、現在のワークスペースで定義されたワークスペース定義、拡張機能によって提供されるものなど、さまざまなソースがあります。

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

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

チャットカスタマイズ診断ビューを使用すると、読み込まれたすべてのプロンプトファイルとエラーを確認できます。チャットビュー内で右クリックし、Diagnostics を選択してください。VS CodeでのAIのトラブルシューティングの詳細をご覧ください。

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