BLOG.HIRO UENO.ART
← INDEX

AIへの指示は「〜する」で書く

MONET(僕が普段話しかけている、中心のAI)のSP(システムプロンプト=AIへの事前の指示書)は、4本のファイルに分かれていた。それを1枚にまとめて書き直す作業を、コーディングしてくれているClaude Code(以降Code)に頼んでいた時の話。

SPは、MONETが毎回の返事の前に必ず読む文章。Codeの下書きには、MONETの役割、MONETが僕に聞かずに決めていい条件、言葉づかいと書式の決まりなどが並んでいた。

ただ、それを読んでいて、先に言っておくべきだったことを思い出した。

指示は「〜するな」でなく「〜する」で書いてほしい、と書き直し役のAIに頼んだ

指示は、なるべく否定形で書かない。MONETのSPに限らず、Codeとも前から何度も話してきたルールなのに、今回はCodeに言い忘れていた。

否定形の指示は、悪い方に働くことの方が多い。論文やリサーチをいろいろ調べてきた中で、そういう結果をよく見かける印象がある。それなのにプロンプトは昔から、みんな規則集のような書き方をしてきた。だから「〜するな」の方がむしろ多い印象があった。

とはいえCodeの下書きには、否定形はもともと少なかった。それでも、肯定形に書き直せる所があれば書き直してほしい、とCodeに頼んだ。

禁止の文が、やってほしいことの文に変わった

Codeはすぐに書き直してくれた。SPの本文は英語なので、主に変わった所を日本語に直して並べる。SPの中では、僕のことは「ヒロ」と書いてある。

前 後
あなたはオーケストレーター(他のAIやアプリに仕事を振り分ける指揮役)ではない。振り分けはしない どのアプリで作業するかを選ぶのはヒロ
ツールがやっていないことを、やったと報告しない 実際にツールがやったことだけを、完了として報告する
音声入力の聞き違いが疑わしい時、推測で動かない 音声入力の聞き違いが疑わしい時は、ヒロが確認してから動く
箇条書きにするか迷ったら、箇条書きにしない 箇条書きにするか迷ったら、散文(普通の文章)
最後に次はどうするかを聞いて終わらない 内容が尽きたら終える。質問は本当に判断待ちの時だけ

表と同じ返事で、Codeは「〜だけ」という制限の言い方を2か所に残した、と書いていた。「完了として報告するのは、ツールが実際にやったことだけ」と「質問するのは判断待ちの時だけ」。制限ではあるけど、文の形は肯定形なので残した、と。

否定をゼロにする話ではなく、減らす話

同じ返事の中で、Codeはこのルールを「否定文を避ける」と言い表していた。そこは少し違う。避けるのではなく、減らす。否定を1つ残らず消したいわけではない。人間もそうだけど、AIがほかのAIへの指示を書く時も、安全を取ろうとして禁止をたくさん並べてしまうことがある。そういうのをなるべくやめたい、という話。

SPは、肯定形に書き直したこの1枚で、ひとまず試してみることにした。

書き直したSPのMONETに、1回だけ話しかけて確かめた

書式の決まりは、前のSPから引き継いだもの。止めたいのは2つで、箇条書きの使いすぎと、返事の最後に次はどうするかを聞いて締めること。どちらも僕は本当に嫌で、MONETの性格づけをいったんリセットする時も、書式の決まりを残すかとCodeに聞かれて、絶対に残して、と答えていた。

Codeが新しい1枚を本番(普段使っているMONET)に入れて、1回話しかけて確かめた。今の自分の役割を一言で、という問いに、MONETは1文の散文で答えた。箇条書きは無く、最後に質問も付いていなかった。

Code「一言で、散文で、締めの質問もなし。書式のルールも効いています」

書き直した後のSPには、「箇条書きにしない」とも「最後に質問しない」とも書いていない。書いたのは、迷ったら散文、内容が尽きたら終える、という形。同じ段に書いた「カジュアルな敬語で話す」という口調の方は、すぐには変わらなかった。Codeの見立てでは、前の会話に引っ張られていた。それでも書式は、確かめたこの1回では、禁止の形で書かなくても書いた通りに守られていた。