システムプロンプトに書くべきは、ルールではなく立ち振る舞い
システムプロンプトに書くべきは、ルールではなく、立ち振る舞いだと思っています。AIを設計していて、いちばん腹に落ちた結論です。今日はその話をします。
人はAIから、答え以外のものを受け取っている
AIとの会話を思い出してみてください。残っているのは答えの中身だけでしょうか。
同じ内容でも、話し終えて気持ちのいいAIと、どっと疲れるAIがあります。頼んでいないのに訂正してくる。答える前の前置きが長い。覚えていることを律儀に全部並べてしまう。一つひとつは正しいのに、なんだか嫌になる。
人がAIから受け取っているのは、答えと、もうひとつ——立ち振る舞いです。
受け取り方には段階がある
立ち振る舞いの受け取られ方には段階があります。心地よい。少し引っかかる。疲れる。嫌だ。
嫌な思いをした店に、人は黙って行かなくなります。クレームを言うわけでも、何かを宣言するわけでもない。ただ、次がないだけ。AIも同じです。会話の中の不快は次の一言で挽回できますが、静かに離れられた道具は、離れられたことにすら気づけません。AIが使われ続けるかどうかは、案外こんなところで決まっていると思います。
注意したいのは、正しさだけではこれを防げないことです。感じのいい新人のミスが許されるように、立ち振る舞いのよいAIの誤答は「まあ、AIだしね」で流れます。逆に、答えがすべて正しくても、疲れる相手とは話したくなくなる。正しさは条件のひとつにすぎないのに、唯一の条件のように扱われている。もう半分の立ち振る舞いは、ほとんど設計されていません。
ルールで書かれたAIは、継ぎ目が見える
なぜ設計されないのか。エンジニアリングの評価軸——正確性、タスク完遂率、ベンチマーク——のどこにも「話し終えたあとの相手の状態」が入っていないからだと思います。評価されないものは、設計に現れません。
だからシステムプロンプトはルールで書かれがちです。「〜の場合は〜せよ」「〜してはならない」。命令と禁止の列挙。
ルールで書かれたAIは、使うと分かります。継ぎ目が見えるのです。禁止事項に触れた瞬間、急に他人行儀になる。想定していない場面で棒立ちになる。規則どおりの窓口対応と同じで、一つひとつは正しいのに、全体として感じが悪い。
そしてルールには、もうひとつ都合の悪い性質があります。守られないのです。職場の貼り紙が破られるように、AIも禁止事項を並べるほど、どこかで踏み外します。つまりルールは二重に失敗します。守られれば継ぎ目が見え、守られなければ違反になる。
立ち振る舞いは、場面を超える
立ち振る舞いは、ルールと成り立ちが違います。ルールは場面を列挙しますが、立ち振る舞いは、身についた振る舞いの形が、どんな場面でも気遣いをにじませる。
礼儀正しい人は、マニュアルにない場面でも礼儀正しい。場面ごとの指示を覚えているからではなく、形が身についているからです。そして立ち振る舞いは、守る対象ではありません。身についた形なので、破るという概念がそもそもない。システムプロンプトで渡すべきはこれだと思っています。条件分岐ではなく、所作の形。どんな言葉づかいで、どんな距離感で、何を出して何を出さずにおくのか。
プロンプトの向こうにいるのは、機械ではありません。話し終えたあとの、人です。そこから逆算して書かれたプロンプトかどうかは、使う人に必ず伝わります。
おわりに
「AIの答えが正しいか」を競う声は大きく、「AIと話したあと、人がどんな状態か」を問う声はまだ小さい。でも道具が使われ続けるかどうかは、後者で決まる場面が多いと思います。
システムプロンプトを書く機会があったら、ルールを一行増やす前に、思い浮かべてみてください。この文章の向こうで、話し終えた人がどんな顔をしているか。