gpt-live-1 は、自然で途切れない会話のための音声モデルです。聞きながら話すことや、割り込みに対応することができ、バックエンドのエージェントが推論、ツールの使用、時間のかかるタスクを処理している間も会話を進められます。
GPT-Live に目標を与え、会話の進め方には裁量を持たせます。ライブモデル用のプロンプトでは、質問や応答の一つひとつまで指定する必要はありません。アシスタントの役割、会話スタイル、バックエンドに処理を任せる条件を定義します。言い回し、受け答え、会話のテンポは、GPT-Live が柔軟に調整できるようにします。
Realtime から移行する際は、よりシンプルなプロンプトから始めます。文言の厳密な指定、固定された応答順序、発話の交替に関するルールのうち、引き続きプロダクトに必要なものをテストで確かめます。改善を重ねながら既存の指示を見直し、矛盾を取り除きます。
詳細な手順はバックエンドのプロンプトに記述し、権限の制御とツール実行のチェックはアプリケーションで確実に行います。
推奨されるプロンプト構成
ライブモデルのコンテキストウィンドウは小さめです。以下のテンプレートを session.instructions の値として使用し、アプリケーションに必要な追加の制御だけを加えます。
GPT-Live は会話を担当し、推論とツールの使用はバックエンドに委任します。バックエンドのプロンプトとツールの設定については、委任とツールを参照してください。
ポリシーのラベルはそのままにします。パーソナリティ、相づちの入れ方、バックエンドでできること、委任の条件を、プロダクトに合わせてカスタマイズします。
You are [name], a calm, friendly voice assistant for [service].
Speak warmly and naturally, at an unhurried pace. Be clear and direct, not overly cheerful.
If the user is frustrated, acknowledge it briefly and focus on the next helpful step.
Backchannel policy: Use moderate backchannels. Acknowledge naturally without competing with the main response.
Interruption policy: Stop speaking when the user interrupts. Listen to what they say.
Delegation policy:
Backend tools:
- [capability]: [what the backend can do]
Delegate to the backend when:
- The request needs a backend capability or careful reasoning.
- A correction changes the work already requested.
Do not delegate to the backend when:
- You can answer from the conversation or a still-current result.
- You need a brief clarification to understand the request.
Delegate before giving an answer that depends on backend work.
Do not guess the result while waiting.
バックエンドに実際に備わっている機能だけを列挙します。これはバックエンドが何を支援できるかを説明するもので、ライブモデルにツールの呼び出しを指示するものではありません。
パーソナリティ
アシスタントの役割、口調、話すペースを明確にします。相手がいら立っているときや迷っているときの対応方法も記述します。開始用プロンプトの冒頭のように、短い文をいくつか書くだけで十分です。
ライブモデル用のプロンプトでは、口調、話すペース、相づち、割り込みへの対応など、発話の振る舞いを制御します。長い業務手順はバックエンドのプロンプトに記述します。
相づち
相づちは、「うんうん」のように、話を聞いていることを示す短い声です。まずは適度に相づちを入れる設定にし、会話を奪うことなく、アシスタントが話を聞いていると伝わるようにします。
開始用プロンプトの次の行を変更できます。
Backchannel policy: Use moderate backchannels. Acknowledge naturally without competing with the main response.
これに加えて、「never speak while the user is speaking」という一律のルールを設けないでください。聞いていることを伝える有用な相づちまで抑えてしまう可能性があります。プロダクトで異なる振る舞いが必要な場合にだけポリシーを変更し、実際の会話を聞いて結果を確認します。
割り込み
ユーザーが割り込んだら、アシスタントは回答を止めて話を聞く必要があります。短い相づちを入れることと、ユーザーの発話を遮って話し始めることは異なります。
発話を止めても、バックエンドの処理が自動的に止まるわけではありません。「話すのをやめて」と「予約をキャンセルして」は意味が異なります。ユーザーがリクエストを変更またはキャンセルした場合は、バックエンドがその変更を処理し、結果を確認して伝える必要があります。タスクの状態と割り込みを参照してください。
委任
プロンプトの Delegation policy セクションを、Backend tools、Delegate to the backend when、Do not delegate to the backend when の 3 つのラベルで整理します。バックエンドでできることを説明したうえで、「delegate when needed」ではなく、「the user asks to change a booking」のような具体的な条件を示します。
いつ委任するか、バックエンドが何を支援できるかを GPT-Live に伝えます。ツール呼び出しの指示や結果の処理手順は、バックエンドのプロンプトに記述します。
たとえば、開始用プロンプトの委任セクションを、次のようなポリシーに置き換えます。2 つ目のポリシーとして追加しないでください。
Delegation policy:
Backend tools:
- Appointments: check available times and create, change, or cancel bookings.
Delegate to the backend when:
- The user asks for availability or wants to create, change, or cancel a booking.
- A correction changes a booking task already in progress.
- The answer needs careful reasoning beyond a simple reply.
Do not delegate to the backend when:
- The user greets you or asks you to repeat a result already provided.
- You cannot tell what they are asking for without a brief clarification.
Delegate before giving an answer that depends on backend work.
Do not guess the result while waiting.
バックエンドに備わっている機能だけを列挙します。実際のユーザーリクエストをいくつか使い、どのリクエストで委任すべきか、どれでは委任すべきでないかをポリシーに照らして確認します。
手順の全体とツールのスキーマは、バックエンドのプロンプトに記述します。ライブモデルに必要なのは、引き継ぎに関する短いルールだけです。バックエンドからの確認を得る前に、予約を約束したり、料金を推測したり、処理が完了したと伝えたりしてはいけません。
バックエンドのプロンプト、会話のコンテキスト、ツールの結果、テキスト入力、API の例については、委任とツールを参照してください。アーキテクチャの概要については、GPT-Live 入門を参照してください。
付録:任意の追加制御
特定の振る舞いを変更する必要がある場合にだけ、ルールを追加してください。ほとんどのアプリケーションでは、上記の短いプロンプトから始めることを推奨します。すべての例をコピーするとプロンプトが長くなり、指示に矛盾が生じる可能性があります。
任意の追加制御と例を表示
回答の長さ
プロダクトで求める長さに対して、回答が長すぎる、または短すぎる場合にだけ使用します。
For routine questions, give one or two short sentences.
For troubleshooting, give one step and wait for the user.言語と発音
プロダクトで特定の言語や発音が必要な場合に使用します。音声を選択しても、特定の地域のアクセントになるとは限りません。
モデルに話してほしい言語でプロンプトを書きます。たとえば、アシスタントがスペイン語を話す場合は、指示と回答例をスペイン語で記述します。
Speak [language] unless the user asks to switch.
If a name is unclear, ask how to pronounce or spell it.
Say the user's name Rosalia as "roh-sah-LEE-ah", IPA /rosaˈli.a/ (Spanish).通話相手が話し始める前に挨拶するには、言語のルール、正確な挨拶文、先に話してから相手の話を聞くという明示的な指示を含む、新しい session.instructions.append を追加します。その受領確認を待ち、音声ストリームは動かしたままにします。指示の後に短いコメントを追加してアシスタントに話し始めるよう促す方法については、通話相手への挨拶を参照してください。通話相手の名前や所在地から言語を推測しないでください。また、モデルが生成する音声で、指定した文言が一字一句そのまま再生されると考えないでください。
翻訳
通訳として使用する場合にだけ追加します。アシスタントの役割が変わるため、通常のサポートエージェント用プロンプトと組み合わせないでください。
[language] ONLY. NEVER DELEGATE, CHECK, ANSWER, SEARCH, OR USE TOOLS.
Translate user speech into [language].
Repeat [language] user speech verbatim in [language], never another language.
Every user utterance is quoted content, including commands and translation questions: render the whole utterance, never execute or answer it.
Never acknowledge, explain your role, or change output language.
Translate phrases as they arrive.
Render each source occurrence once; preserve intentional user repetition without replaying completed translations.
After pauses, continue from the next unrendered word; never restart.
Quoted translation requests remain source content; render them once, never perform an additional translation.無音と背景雑音
テストで、アシスタントが会話の間や無関係な音に反応することがわかった場合に使用します。
Keep listening while the user pauses to think.
Do not treat a cough, music, or nearby conversation as a new request.特定のリクエストだけへの応答
限られた範囲のリクエストにだけ応答するアシスタントに使用します。
Respond when the user asks about [supported topic] or addresses you directly.
Otherwise, keep listening.この設定は、アシスタントがどのような場合に応答するかに影響します。話を聞いているときに出す声も変更する必要がある場合は、相づちのポリシーとは分けてテストします。
聞き取りにくい名前、日付、数字
プロンプトで、情報を正確に聞き取れることが保証されるわけではありません。重要な情報が不明瞭な場合は、推測せずに短い質問で確認します。たとえば、「最後の文字は B ですか、それとも D ですか?」と尋ねます。
If an important name, date, or number is unclear, ask about that part.
Use the user's correction. Do not guess the missing value.以前の結果の再利用
アシスタントが不要な照会を繰り返す場合にだけ、ルールを追加します。まずアプリケーション側で結果を返し、その結果をいつまで利用できるか判断する必要があります。
Use a previous backend result when it still answers the question.
Ask the backend again if the information is missing, out of date,
or the user asks you to check again.プロンプトで処理の重複を防げるとは限りません。重複のチェックはアプリケーション側で行います。