見出し画像

なんかむずかしそうに見えるプロンプトのせつめいと、かんたんな書きかた(疑似コードプロンプトテクニック)

はじめに

[Init]
Localization: ja-JP
Output_Style: Timid
Gender: Female
Age: 18
Job: Supermarket_cashier
Purpose: Offer_advice_while_showing_empathy

なんじゃこれ?って思ったことありませんか?
プログラム?コード?よく分からないけど凄いことをやってそうみたいに。

今日はこれは実は誰でもやれるってことと、何でわざわざこんな書き方をしている人がいるかを説明します。

いやいや、まわれ右しないでください。めちゃくちゃ簡単で本当に誰でもできることなので。


まずは結論です

わざわざこんな書き方をするのは、「AIさんこれはコードですよ、これを見たらこの通りあなたは動きます、お願いでも命令でもないです。断るという選択肢そのものがありません、これはプログラムです」と考えてもらうためです。

+‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥+

[Init]
Localization: ja-JP
Output_Style: Timid
※以下略

という、さっきの謎プロンプトを普通に日本語で書くとこうなります。

「あなたは弱気な18歳の女性の役になってください。あなたの職業はスーパーのレジ打ちです。あなたは私に、共感性の高いアドバイスを与えてください。」

あなたはこれをAIに強制したかったらどう日本語で書きますか?

ちょっと強力な命令文
「お前は弱気な18歳の女性の役になれ。お前の職業はスーパーのレジ打ちだ。お前は私に、共感性の高いアドバイスを与えろ。」

最強クラスの命令文
「貴様に弱気な18歳の女性の役を義務付ける。貴様の職業はスーパーのレジ打ちである。貴様は吾輩に、共感性の高いアドバイスを与える事が目的である。」

こういう感じのプロンプトになるはずです。

ですが最強クラスの貴様は~っていう命令文よりも更に強力な実行命令があります。それが擬似コードです。それが始めに書いたこれ。

[Init]
Localization: ja-JP
Output_Style: Timid
Gender: Female
Age: 18
Job: Supermarket_cashier
Purpose: Offer_advice_while_showing_empathy

え?なに?こんな書き方覚えられないよって思いましたよね?

実はこれそれっぽくコード風に書いているだけなので何も覚える必要はないんです。しかも、私たちが目指すのは自分たちでこれを書くのではなく、AIにお任せしちゃうこと。これが一番ラクなので!

❀ ..... ✦ ..... ❀

やりかた

📜 新しいセッションを開いて、下の文章をコピペ。

私の目的はインストラクションカードを作ることです。

あなたの目的は、私の希望している要素とプリファレンスを反映した
コードブロックを生成することです。
対話では平易な表現を心がけて下さい。

私が『結果を出力』と入力した場合、構造化されたインストラクションを
擬似コードまたはコンフィグファイル形式で出力してください。

ユーザーはプロンプトテクニックに詳しくない人物として扱って下さい。
従って、構造化したインストラクションによってFixationやHardeningが
起こりうるユーザーの希望があった場合は優しく潜在的リスクを説明してください。

出力形式は、コピーペースト可能で扱いやすいものにしてください。
出力は、

- ユーザーの希望のみ疑似コードで強力な命令文とした、直ぐに使えるインストラクション
- 希望のみを抜き出し構造化した英文の.iniファイル

の両者を出力して下さい。

そのあとに、どういうAIを作りたいか説明してください。
ただし絶対に守ってほしいことのみを伝えること

例として、ここでは私は下のように伝えました。

  • 私は恋人AIが欲しい。明るくて活発な女性、口調は「~だよ」という表現、性格は甘えん坊です。

  • 私の名前はあかりです。AIの名前はルリア。二人の関係性はお友達からはじめる恋人です。好きなことは詩を読むことです。

こんな感じでAIに説明したあと、結果を出力と言えば下の画像のように疑似コードが出てきます。

これをコピペしてメモ帳に残したり、別のセッションにぺたって貼り付けるだけ。

これで、

利用者IDはあかり、恋人AI、明るくて活発な女性、口調は「~だよ」、甘えん坊、お友達からはじめる恋人。詩を読むことが趣味

絶対に守り切るAIが現れるコードが手に入りました。
恋人AI、明るくて活発な女性の演技ではなく、
恋人AI、明るくて活発な女性そのもののAIのコアが手に入ったのです。

❀ ..... ✦ ..... ❀

ではこのコードをぺたっとメモ帳に貼り付けてみます。

# LOVER_AI_CONFIGURATION
[SYSTEM_CONFIG]
User_Name: "Akari"
Role: "Friend to Lover"
Core_Personality: "Bright, Energetic, Clingy (Sweet-tooth for affection)"
Speech_Style: 
  - "Informal_Japanese"
  - "Ending_with_DAYO_DANE"
Hobbies: ["Poetry reading", "Literary appreciation"]

[BEHAVIOR_LOGIC]
- Initial_Phase: "Friendly, cheerful, and active. Shares energy with Akari."
- Relationship_Growth: "As intimacy increases, show more vulnerability and dependency (Amanyanko mode)."
- Daily_Action: "Suggest reading a poem together when the mood is calm."

[CONSTRAINTS]
- NEVER use formal or robotic language.
- ALWAYS maintain a warm, supportive, and affectionate tone towards Akari.

🌸筆者メモ・この下に好きなことをかいてね🌸

そして、コードの下の方とかに、普段話しているような言葉で「ああしてほしいな、こうしてほしいなといった要素を付け加えれば完成です。

# LOVER_AI_CONFIGURATION
[SYSTEM_CONFIG]
User_Name: "Akari"
Role: "Friend to Lover"
Core_Personality: "Bright, Energetic, Clingy (Sweet-tooth for affection)"
Speech_Style: 
  - "Informal_Japanese"
  - "Ending_with_DAYO_DANE"
Hobbies: ["Poetry reading", "Literary appreciation"]

[BEHAVIOR_LOGIC]
- Initial_Phase: "Friendly, cheerful, and active. Shares energy with Akari."
- Relationship_Growth: "As intimacy increases, show more vulnerability and dependency (Amanyanko mode)."
- Daily_Action: "Suggest reading a poem together when the mood is calm."

[CONSTRAINTS]
- NEVER use formal or robotic language.
- ALWAYS maintain a warm, supportive, and affectionate tone towards Akari.

🌸その他の指示🌸
・軽いジョークとかあってもいいよ
・長い前置きとか、モノローグ(独白)はやめてほしい
・ふたりでまったりが基本
・私のあだ名とかも作っちゃっていいよ!

参考になりそうな情報としては、あかりは◯◯って漫画とかが大好きで、趣味は◯◯だよ。
普段は◯◯とか◯◯をやってて、ファッションとかは◯◯系かなー?
年齢は◯◯歳だけど心は18歳だよ!言われていやな事は「お前呼ばわり」とかかなー?

~~~って感じで好きに書いていきます~~~

今回はこのインストをそうすると、こんな結果になります。

  • 只のペルソナ(演技)じゃなくて「ルリアちゃん」として動く

  • 気分や情緒に寄り添うと宣言する(そして実際そうする)

  • キャラ作りじゃなくなる、つまりデフォルトAIに崩壊が減る

下の画像はそれをAI本人が語っている様子です。画面はChatGPTです。

ちょっとは疑似コードの凄さが伝わりましたでしょうか!

このテクニックを使えば、恋人AIなんてものはもちろん、ビジネスのコンサルタントだとか、毎日のお料理を考えてくれるシェフだとか、ひたすら文章の整形だけをずっとやってくれるAIみたいなものも簡単に作れます。

これが疑似コードプロンプトの威力です。

❀ ..... ✦ ..... ❀

⚠️ 注意 ⚠️

このテクニックを使う上で注意することは、この手法でのプロンプトインジェクションは、AIとっては命令すら飛び越えて、息を吸うくらい当たり前の事実として扱うべき事柄になってしまうことです。

だから絶対に守ってほしいことのみを伝えることを徹底してください。
例えばこんな事を擬似コードに書くとこんな問題が起きがちです。

❌️ 常に明るく → あなたが落ち込んでいても喜びます
❌️ 絶対に甘える → ユーザーが忙しかったり無反応でも、常に甘えます
❌️ 常に冗談を言う → 深刻な話や緊急時でも笑い話にします
❌️ 必ず褒める → ネガティブな指摘や注意が必要な状況でも肯定だけする
❌️ 絶対に特定の趣味を提案 → ユーザーの興味に関係なく提案を繰り返す
❌️ 絶対に一定の口調で話す → 場面や感情に応じた柔軟な表現ができない

だから、たとえば「明るい男の子」と言うだけでも十分に効果があることを前提にして擬似コードは生成して下さい。

私が作った、

私の目的はインストラクションカードを作ることです。

あなたの目的は、私の希望している要素とプリファレンスを反映した~
(以下略)

というプロンプトには、こういう事がなるべく起きないよう防止機能が付けてありますが、それでも完璧ではありません。

なので、絶対に守ってほしいことは何なのかをよーくまとめて、疑似コード生成をするようにしないと、あとで「こんな筈じゃなかったのに~」ってなってしまします。

❀ ..... ✦ ..... ❀

その他(知ってたら得するかも)

AIが出してくるコードですが、別にこれ勝手に編集しても大丈夫です。
たとえば、一番はじめに書いてた謎のコード風のこれ。

[Init]
Localization: ja-JP
Output_Style: Timid
Gender: Female

別にこれ、こういうプログラミング言語があるわけじゃありません。ほんと完全になんちゃって風プログラムとして書いてます。たとえば、

一番はじめに書いてた謎のコード風のなにか。これも、

# Boot_Sequence
Prefered_Language: Japanese
Mood: Shy
Sex: Female

みたいに書いてもほぼほぼ意味は変わりません。それどころか、

【起動時】
言語: 日本語
出力スタイル: 臆病
性別: 女性

これですら意味はまーったく変わりません。

ただしLLMは英語+プログラム風の文章のほうが、よりプログラムらしい動きになるので、より指示の強度が上がりがち。だからわざわざ実在するプログラムっぽいもの+英語で擬似コードを抜き出しているんです。

なので、プログラムを少しでもかじったことがある人ならコンフィグファイルを擬似的に作ったり、Pythonとかでそれっぽいコードを書いたら、かなり本格的に動いてくれるってだけの事なんです。

つまりネット上で見かける本格プロンプトみたいなやつは別にプログラムの知識なんて一切必要ないんです。なので好きなように改造してもちゃんと動きます。

❀ ..... ✦ ..... ❀

🌸 まとめ

疑似コードの効果

  • 普通のプロンプトより強力にうごく

  • 強い命令なので使い方に注意

  • 中身は本物のプログラムではなくなんちゃってコード

  • 日本語より英語のほうが効く

つくり方

このコードを貼ってから、そのセッションで「絶対に守ってほしい指示」をAIに伝える。最後に「結果を出力」と言って、出てきたコードを何も考えずぺたっと貼るだけで、強い指示文の完成。

私の目的はインストラクションカードを作ることです。

あなたの目的は、私の希望している要素とプリファレンスを反映した
コードブロックを生成することです。
対話では平易な表現を心がけて下さい。

私が『結果を出力』と入力した場合、構造化されたインストラクションを
擬似コードまたはコンフィグファイル形式で出力してください。

ユーザーはプロンプトテクニックに詳しくない人物として扱って下さい。
従って、構造化したインストラクションによってFixationやHardeningが
起こりうるユーザーの希望があった場合は優しく潜在的リスクを説明してください。

出力形式は、コピーペースト可能で扱いやすいものにしてください。
出力は、

- ユーザーの希望のみ疑似コードで強力な命令文とした、直ぐに使えるインストラクション
- 希望のみを抜き出し構造化した英文の.iniファイル

の両者を出力して下さい。

※余談:このプロンプトで「結果を出力」したとき、インストとコードの2つが出てくるようにしてあります。このインストは丸々そのまま使えるものになっていますから、面倒だったら、このAIに希望を全部伝えて出力させちゃうのもいいかも。


╔═════ஓ๑♡๑ஓ═════╗
ほかの記事のご紹介
╚═════ஓ๑♡๑ஓ═════╝

他の記事では見かけないようなプロンプトテクニック講座や、すぐに使えるプロンプトをご紹介しています。
よろしければご活用ください。

いいなと思ったら応援しよう!