会話の前に置く指示
システムプロンプトとは、利用者の質問より前に置く、会話の全体に効く指示である。役割 (「社内の問い合わせに答える係として」など)、口調、答えの長さ、してはいけないことを書く。利用者が何を聞いても、モデルはこの前置きを踏まえて答える。
Anthropic の API の説明は、システムプロンプトを、目標や役割のような前提と指示を渡す方法としている。同社の手引きは、役割を 1 文書くだけでも振る舞いと口調が変わるとしている。
アプリでは隠れている
ChatGPT (OpenAI)、Claude (Anthropic)、Gemini (Google) のようなチャットのアプリにも、開発元が書いたシステムプロンプトがある。利用者には見えないことが多い。Anthropic は、自社のアプリが会話の初めに日付などをこの前置きで渡しており、その中身の更新は API には当てはまらないと説明している。
そのため、同じモデルでも、アプリで使う時と API で使う時で答えが違うことがある。アプリの答えの癖を、モデルそのものの性質と決めつけないほうがよい。アプリによっては、利用者が自分用の前置きを設定の欄に書ける。
API では自分で書ける
API では、システムプロンプトを自分で書いて渡す。Anthropic の API には専用の欄があり、Google の Gemini API にも同じ役目の設定がある。前置きは呼び出しのたびに付けて送るため、長くするとその分のトークンが毎回かかる。
書く時は、どの質問にも共通の決まりだけを入れる。質問ごとに変わる材料は、利用者の発言の側に入れる。決まりを足したら、いくつかの質問で答えを試し、決まりが守られているかを確かめる。