システムプロンプトとは?

定義

システムプロンプトとは、会話が始まる前にLLMが受け取る常設のテキストで、役割、口調、目標、制限を定めます。音声エージェントでは、エージェントが何をいつ話すかを制御する主な手段です。

システムプロンプトの仕組み

LLMには、入力がメッセージの並びとして渡されます。システムプロンプトはその先頭の1つで、発信者ではなく開発者が書きます。モデルは、それまでの会話や発信者の最新の発言より前に、毎ターンこれを読み直します。毎回送られるので、モデルのコンテキストウィンドウを消費し、返答のたびに行う前処理の量も増やします。

呼び名は、プロバイダーやプラットフォームによって異なります。CartesiaのManaged Agentsでは、このフィールドをinstructionsと呼び、ドキュメントでは、エージェントの役割、話し方、目標、制限を定めるものと説明しています。テキストは、アイデンティティ、話し方のルール、目標、ガードレールなどの見出しに分けて整理することを勧めています。

音声エージェントのシステムプロンプトは、ふつう次の問いに答えます。

  • エージェントは誰で、誰の代わりに話すのか。
  • どんな話し方にするか。文の長さ、丁寧さ、数字の読み方はどうするか。
  • 各タスクは何で、どうなれば完了か。
  • どのツールを、いつ使ってよいか。
  • 絶対にしてはいけないことは何で、その代わりに何をするか。
  • どんなときに通話を担当者に引き継ぐか。

テキストには、顧客の名前のように、通話の開始時に埋める差し込み項目を含められます。詳しくは動的変数をご覧ください。Managed Agentsでは、モデルが応答するたびに、最新の変数の値が指示に反映されます。

音声エージェントにとって重要な理由

発信者の体験の大半は、システムプロンプトで決まります。1回の発話の長さ、質問を1つずつ聞くか3つまとめて聞くか、コードを1桁ずつ読み上げるかといったことが、ここで決まります。チャット画面向けに書いたプロンプトでは、箇条書きや長い段落が出てきて、声に出すと不自然に聞こえます。音声向けの書き方は、音声向けプロンプトエンジニアリングで取り上げています。

ただし、システムプロンプトはセキュリティの境界ではありません。モデルに特定の振る舞いをお願いするものであって、その振る舞いを強制するものではなく、発信者は、エージェントに指示から外れさせようと試みることができます。エージェントがどのアカウントを読めるかといった、必ず守るべきルールは、ツールとその背後のシステムに持たせ、モデルの周りにはガードレールを設けます。プロンプトに書いた内容は、その気になった発信者には見えるものと考え、機密情報は入れないでください。

プロンプトが長いと時間がかかります。処理するテキストが増えれば、毎ターンの最初の一言が遅くなります。振る舞いを変えないルールは削りましょう。

例

クリニックの電話窓口向けシステムプロンプトの、説明用の冒頭です。

「あなたはリバーサイド・クリニックの予約受付アシスタントです。短い文で話してください。質問は一度に1つだけにしてください。日付は『10月8日、木曜日』のように読み上げてください。予約の登録、変更、キャンセルができます。請求に関するご質問には、電話の転送をご案内してください。」

ガイド

出典

今すぐ始める

専門家に相談する。

音声体験の開発にCartesiaをどう活用できるか、私たちのチームにご相談ください。

営業に問い合わせる

開発を始める。

APIでモデルにアクセスし、数分で音声エージェントを本番環境に導入できます。

Cartesiaを試す