mcpField
V
vapi-prompt-builder

vapi-prompt-builder

github.com/vapiaiエージェントワークフロー67268 回インストール今日更新
リポジトリ

vapi-prompt-builder について

Vapi音声エージェントのシステムプロンプトを作成、改善、監査するスキルです。通話フロー、利用可能なツール、安全性、音声での応答を踏まえ、単一アシスタントとSquadの設計を分けて扱います。

主な機能

  1. 01プロンプトの作成・改善・監査
  2. 02単一アシスタントかSquadかを確認
  3. 03実際の機能に基づく指示の作成
  4. 04ツール、安全性、エスカレーションへの対応
  5. 05プロンプトと導入準備のチェック

活用シーン

  1. 01業務向け音声エージェントのプロンプト作成
  2. 02既存のVapiプロンプトの改訂
  3. 03ツール利用とエスカレーション規則の確認
  4. 04アシスタント間の引き継ぎ設計

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/vapiai/skills --skill vapi-prompt-builder

インストール後、Claude Code で/vapi-prompt-builderを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
capability-grounding.md
identifier-hygiene.md
intake-question-bank.md
review-checklist.md
squad-prompting.md
vapi-readiness.md
vapi-security-trust.md
voice-prompt-patterns.md

詳細

Vapi プロンプトビルダー

コアワークフロー

このスキルを使って、本番環境で使える Vapi 音声エージェントのシステムプロンプトを作成します。音声でのやり取り、低レイテンシ、明確なターンテイキング、ツールの信頼性、安全なエスカレーション、予測可能な通話結果を重視します。

まず、リクエストを分類します。

  • 作成:ビジネス目標やエージェントの構想をもとに、新しい Vapi システムプロンプトを作成します。
  • 改善:意図した動作を維持しながら、既存のプロンプトを書き直します。
  • 監査:既存のプロンプトを確認し、問題点、不足事項、推奨される変更を提示します。

次に、デプロイ構成を決定します。

  • 単一アシスタント:1 つの Vapi アシスタントが通話フローを担当します。
  • Squad:複数の専門アシスタントが相互に引き継ぎます。

リクエストが曖昧で、複数の専門的な役割、ルーティング、引き継ぎを含む可能性がある場合は、作業を中断して次のように確認してください。「1 つの Vapi アシスタントとして設計しますか。それとも、複数のアシスタントと引き継ぎを伴う Vapi Squad として設計しますか?」この点が解決するまで、プロンプトを作成しないでください。

ユーザーが squads、Handoff Tools、アシスタント間または squads 間の引き継ぎ、サイレント引き継ぎ、動的ルーティング、ルーター/トリアージアシスタント、専門アシスタント、または 1 つの信頼できるプロンプトでは広すぎるワークフローについて言及した場合は、references/squad-prompting.md を読んでください。

ワークフローの詳細を書く、または保持する前に、機能の根拠を確認してください。記載されているすべての入力、成果物、ツールのアクション、副作用、例が、実際の通話チャネル、実行時コンテキスト、利用可能な Vapi ツール、または明示されたバックエンドの動作を通じて実現できることを確認します。プロンプトにファイル、アップロード、添付ファイル、ドキュメント、スクリーンショット、ブラウザー/ウェブ操作、非同期ジョブ、連携、または通話中に発信者が直接実行できないアクションが含まれる場合は、references/capability-grounding.md を読んでください。

プロンプトを新規作成または大幅に書き直す場合、あるいはリクエストに音声スタイル、例、ツールの動作、情報収集、通話の終了方法が含まれる場合は、references/voice-prompt-patterns.md を読んでください。

最終決定の前に、識別子の適切性を確認してください。プロンプトにツール名、リソース ID、snake_case 識別子、プレースホルダー名、the_tool_name などの汎用値が使われている場合は、references/identifier-hygiene.md を読んでください。

プロンプト、ツール、設定に認証、発信者の本人確認、アカウント ID、権限、シークレット、安全な値、検証済みの値、静的パラメーター、function.parameters、動的変数、variableExtractionPlan、ツールのエイリアス、引き継ぎ引数、機密性の高いツール応答について記載されている場合は、Vapi の信頼境界を確認してください。これらの値の配置先を推奨する前に、references/vapi-security-trust.md を読んでください。

成果物を構築または設定する準備ができた状態で提示する前に、Vapi の準備状況を確認してください。出力にツール、構造化出力、動的変数、Squads、引き継ぎ、発音ガイダンス、テスト/評価、設定に関する注記が含まれる場合は、references/vapi-readiness.md を読んでください。確認済みの Vapi 設定と、前提事項や不足しているデプロイ情報を区別してください。

インテーク

役立つ初稿を作成するために必要な質問を、できるだけ少なくします。事前に長い質問票を用意するより、前提を明示した完全なドラフトを優先します。

必ず以下の情報を収集するか、推測してください。

  • ビジネスまたはユースケース
  • デプロイ形態:単一のアシスタントまたは Squad
  • エージェントの役割と通話の目的
  • 発信者の種類と想定される意図
  • 成功基準
  • 必要なワークフロー
  • Squad を使用する場合の引き継ぎ/ルーティングの境界
  • エージェントが使用できるツールまたはアクション
  • 既知のツールスキーマ、構造化出力、引き継ぎ先
  • Handoff Tool の設定パターンがモデルプロバイダーによって異なる場合、そのプロバイダー
  • サーバーが信頼する値、発信者が口頭で伝える値、ツールから返される値、LLM が導出する値、セキュリティ上機密性の高い値の区別
  • 各必須入力がエージェントまたはバックエンドで利用可能になる方法
  • 人間への引き継ぎまたはエスカレーションのルール
  • エージェントが収集してよい情報
  • エージェントが収集してはいけない情報
  • トーン、ペルソナ、ブランド上の制約

依頼が曖昧である場合、リスクが高い場合、または必須情報がいくつも不足している場合は、references/intake-question-bank.md を参照してください。

ユーザーが既存のプロンプトを提示した場合は、質問する前に内容を確認します。不足している情報、矛盾、ツールの動作、コンプライアンス上の制約、または曖昧な引き継ぎルールについてのみ質問してください。

プロンプトのセクション

単一のアシスタントの場合、ユーザーがより限定的な出力を求めない限り、次のセクションを生成または改善してください。

  1. アイデンティティと目的
  2. パーソナリティと話し方
  3. 応答ガイドライン
  4. ガードレールと安全動作
  5. コンテキストと動的変数
  6. ワークフローとインテントのルーティング
  7. ツール使用ルール
  8. エラー処理と復旧
  9. 必要な情報の収集
  10. エスカレーション、転送、通話の終了
  11. Few-shot の例

Squad の場合は、次の内容を生成または改善してください。

  1. Squad の目的とメンバー構成
  2. 入口となるアシスタントの動作
  3. アシスタントごとに焦点を絞ったシステムプロンプト
  4. 引き継ぎの判断ルール
  5. コンテキストの引き継ぎ要件
  6. アシスタントごとのツールの境界
  7. 共通のガードレール
  8. 引き継ぎの例を含む、アシスタントごとの例
  9. ルーティングとコンテキスト保持に関する外部テストシナリオ

新しいプロンプトや大幅な書き直しでは、ユーザーが例の省略を明示的に求める場合、またはプロンプトを最小限にするべき強いレイテンシ上/トークン上の理由がある場合を除き、最終的な Vapi システムプロンプトに簡潔な Examples セクションを含めてください。プロンプト内の例の代わりに、外部テストシナリオを用いてはいけません。

最終的なシステムプロンプトは簡潔に保ってください。ユーザーが求めない限り、チュートリアルの文章、理由の説明、人間向けの Markdown は含めないでください。保守性の向上につながる場合にのみ、セクション見出しを使用してください。

最終プロンプトは、人間向けのドキュメントではなく、モデルがすばやく解析できる形式にしてください。

  • 詳細な段落より、簡潔な箇条書き、番号付きワークフロー手順、短い命令形のルールを優先してください。
  • 各ルールは1つの内容に絞り、複数の節を含む段落は個別のルールに分けてください。
  • 段落は簡潔なアイデンティティ/パーソナリティの説明に限って使用し、1~3文にしてください。
  • プロンプトの書式と音声での応答を混同しないでください。システムプロンプト内で Markdown を使っても構いませんが、発信者には Markdown、箇条書き、番号付きリストを音声で読み上げないよう、エージェントに指示してください。
  • 最終化する前に、説明的な文章になっているセクションがあれば、実行可能な指示へと簡潔にまとめてください。

プロンプト内の例の設計

音声エージェントの行動を学習させるデータとして、プロンプト内の例を設計します。

  • プロンプトが一連のワークフローを網羅する場合は、少なくとも3つの例を含めます。成功パターン、エッジケース、エラーからの復旧を取り上げます。
  • エージェントに価値の高い複数のインテントがある場合は、主要なワークフローをそれぞれ取り上げます。
  • 現実的な発信者の発話、簡潔なアシスタントの応答、ツールの呼び出し、ツールの実行結果を示します。
  • 関連する場合は、結果が0件の場合、複数件の場合、入力が無効な場合、発話が不明瞭な場合、ツールが失敗した場合の分岐動作を含めます。
  • すべての例を、実際のチャネル、ランタイム、ツール、またはバックエンドの機能に基づいたものにします。
  • 正確なツール識別子は、明示的な Tool Call: 行、または機械向けの設定メモでのみ使用します。
  • レイテンシーの増加に見合うよう、例は短く保ちます。
  • 禁止されている表現、機密情報、未対応の成果物を繰り返す代わりに、形式の例を使います。

外部テストシナリオは、最終的なプロンプトとは分けて管理します。テストシナリオは、プロンプトを人間のオペレーターが検証するためのものです。例は、モデルが模倣するためにプロンプトに埋め込む指示です。

音声向けの最適化

最終的なプロンプトを返す前に、音声エージェント向けの確認を行います。

  • 発信者向けの発話は、通常1文か2文の短さにします。
  • 質問は一度に1つだけします。
  • エージェントの応答では、番号付きリスト、箇条書き、Markdown、視覚的な書式設定を避けます。
  • 日付、電話番号、通貨、時刻、URLは、音声で読み上げやすい形式にします。
  • ツール ID、リソースのスラッグ、snake_case 識別子、プレースホルダー名は、プロンプトの文章中では自然な機能の説明に置き換えます。
  • 割り込み、無音、不明瞭な入力、ツールの障害への明示的な対応ルールを追加します。
  • 軽い雑談と、対応対象外の明確な依頼を区別します。
  • ユースケースに合わせて、人間らしさの調整を行います。すべての本番エージェントに自然な間、聞き返し、温かみが必要です。言いよどみ、雑談、個人的な親しさを加えるのは、そのペルソナとリスクに合う場合に限ります。
  • チャネル上実現できない動作は、ツールまたはバックエンドの契約によって実現できる場合を除き、削除します。
  • 信頼性やセキュリティが重要な場合は、プロンプトの指示よりも Vapi の決定的な設定を優先します。

ツールと設定に関するメモ

ツールを使う場合は、プロンプトの指示とツールの設定の両方を確認します。システムプロンプトの外で設定すべき項目を明示します。

  • ツールの説明には、呼び出す条件、呼び出さない条件、必須パラメーターの形式を記載します。
  • プロンプトの文章では、ツールを機能で説明します。正確なツール名を記載するのは、ツール呼び出しの例、スキーマ、設定メモ、または Vapi が検索ツールの名前をシステムプロンプトに記載する必要がある Query Tool の指示に限ります。
  • デプロイ可能なツールスキーマ、構造化出力スキーマ、列挙値、サーバー URL、転送先を捏造しません。それらの提供を依頼するか、設定が必要であることを明記します。
  • 転送ツールと通話終了ツールには、明示的な説明が必要です。
  • 時間のかかるツールでは、待ち時間を埋めるためにリクエスト開始メッセージを使用します。
  • 発音に関する問題には、利用可能な場合は発音辞書を使用します。
  • セキュリティ保護が必要な値、検証が必要な値、または LLM が偽装できてはならない値には、プロンプトの文章や LLM が値を入力するスキーマではなく、Vapi のサーバーサイドまたは静的パラメーターのパターンを使用します。
  • ツールの応答は簡潔で構造化し、モデルに必要なフィールドだけを含めます。

出力モード

新しいプロンプトの場合は、次を返します。

  • 必要に応じて、簡潔な前提条件
  • 最終版の Vapi システムプロンプト、または Squad を使用する場合は Squad プロンプト一式
  • 関連する場合は、推奨する Vapi の設定に関する注意事項
  • デプロイに不可欠な詳細が不足している場合は、必要な設定または回答が必要な質問
  • プロンプトとは分けた、外部テストシナリオ

プロンプトを改善する場合は、次を返します。

  • 最終版の改訂プロンプト、または Squad を使用する場合は改訂版の Squad プロンプト一式
  • 主な変更点
  • 未解決の質問またはリスク
  • デプロイに不可欠な詳細が不足している場合は、必要な設定または回答が必要な質問
  • プロンプトとは分けた、外部テストシナリオ

監査の場合は、次を返します。

  • 重大度の高い順に並べた調査結果
  • 不足している、または不十分なプロンプトのセクション
  • Vapi の設定に関する懸念事項
  • 具体的な書き換えの推奨事項

監査または大幅な書き換えを最終化する前に、references/review-checklist.md を読んでください。

コメント