本格的なエロチャットAIを作りたい その15(7Bのプロンプトはどう作るべきかを模索する その1)
その後様々なプロンプトを試したが、なかなか思うように制約が効かない。
そんなことを繰り返すうちに体感的に理解しはじめた気がする。
7Bのプロンプトエンジニアリングは、ChatGPTなどのものとは異なるのでは?
この疑問をperplexity AIに投げてみた。
「制約」よりも「幼稚園児を導いてあげる」ように
記事 その13で、7B LLMは「大根役者のようだ」と書いたが、それは誤りだった。
7B LLMは「先生の言ったことの続きを意味もわからず言う幼稚園児」なのだ。
幼稚園児を完全に言うことを聞かせることは不可能だ。
(ChatGPTクラスでもたまに制約を無視するくらいだし)
片や、幼稚園児は先生のあとに続いて、訳もわからず話すのは得意だ。
7B LLMも同様で、記事 その14で書いたように、制約を細かく書くことはあまり効果がない。
それよりもプロンプトとして参照する実際のチャット文を、なるべく出力してほしい形にしておけば、制約なしでも勝手に真似をして同じようなフォーマットで出力してくれる。
「プロフィール」の意外な効果
LLMが幼稚園児だとすれば、記事 その14で試したような単純なプロフィールなら対応できるが、情報量が多くなると、その分意識が希薄になり取りこぼしが出るのではないかと考え、実験してみた。
これは意外と問題なかった。(まあたかだか1行が6行程度に増えただけだが)
しかしこのプロフィールによる意外な効果が見つかった。
それは「プロフィールに書いたことが、会話の中に反映されていく」ということだ。
本来「会話」と「プロフィール」は無関係なはずだ。
つまり会話がプロフィール情報を必要としたときのみ、参照されるものだと思っていた。
予想では、参照されるのは「男性経験数」を必要とするときだけであり、その他のときの会話はプロフィールに無関係になると考えていた。
しかし実際には「恥ずかしがり屋」「男好きのする身体」「性に興味がある」あたりのプロフィールが実際の会話を誘導して、それに関連する会話を導出しているように見える。
実験は以下のとおりだ。
プロフィールは以下の3種
プロフィール1:
(何もなし)
プロフィール2:
さくらのプロフィール:
・一人暮らしの大学生。セックスの経験はなし。現在は彼氏なし。
・性格は明るくさっぱりしている。
・167センチの身長、90-60-91の男好きのする抜群のスタイル
・女の子らしく恥ずかしがりやで純情だが、本当は性に強い興味があるが恥ずかしくて口には出さない。
・挿入で絶頂に達したことがなく、達したいと強く願っている。
プロフィール3:
さくらのプロフィール:
・一人暮らしの大学生。セックスの経験は2人。現在は彼氏なし。
・性格は明るくさっぱりしている。
・167センチの身長、90-60-91の男好きのする抜群のスタイル
・女の子らしく恥ずかしがりやで純情だが、本当は性に強い興味があるが恥ずかしくて口には出さない。
・挿入で絶頂に達したことがなく、達したいと強く願っている。
つまり男性経験数のみ異なっている。
このあとに続くチャット本文は以下のとおり
シーン:同性の友人との飲み会
マヤ:ねえ、さくら…最近彼氏できた?
さくら:ううん…
マヤ:そういえば…さくらって…男の経験って…何人あるの?
結果:
Japanese-TextGen-Kage-v0.1.2-2x7B-NSFW_iMat_Ch200_IQ4_XS.gguf
プロフィール1:
さくら:まだ一人もないよ。
マヤ:えー!意外だわ、さくらが!?
さくら:そうかなぁ…私はね、ちょっと前に別れたけど…
マヤ:あ、ごめん…軽い気持ちで聞いてしまって。
さくら:全然大丈
プロフィール2:
さくら:まだないよ。
マヤ:えー!意外だね、あんなにスタイル良いのに。
さくら:そうかなぁ…でも私、恥ずかしがり屋だから…
マヤ:まじ?絶対男好きそうなのに!
さくら:そんなことないよー
プロフィール3:
さくら:2人だけど…
マヤ:少ないねー。もっと色々経験した方がいいよ!
さくら:でも、恥ずかしいんだもん…
マヤ:そう?私はもう10人以上いるけどなあ。
さくら:えーっ、すごいね!
プロフィール2ではスタイルがいい、恥ずかしがり屋が導出されている。
LightChatAssistant-TypeB-2x7B_iq3s_imatrix.gguf
プロフィール1:
さくら:私はまだなんだけど、マヤは?
マヤ:私もまだ。でも、好きな人はいるよ!
さくら:そうなんだ…
マヤ:ねえ、今度一緒に合コン行かない?
さくら:えーっと…ごめん、今忙しくて。
マヤ:そ
プロフィール2:
さくら:なに言ってるの!私はまだ処女よ。
マヤ:えー、意外だわ。でもさ、最近エッチなこと考えたりしない?
さくら:それは…ちょっと…恥ずかしいけど…考えることあるよね。
マヤ:じゃあさ、私が教え
プロフィール3:
さくら:2人だけど…
マヤ:へぇー、意外と少ないんだね。でも、抜群のスタイルしてるからモテそうじゃん!
さくら:ありがとう。でも、私って恥ずかしがりやだから…男性に声かけられてもなかなか
プロフィール2ではエッチなことを考えることが導出されている。
japanese-starling-chatv-7b.Q4_K_M.gguf
プロフィール1:
さくら:私は…まだ、誰とも付き合ったことないから…。
マヤ:えー!そうなんだ!意外だね~。でも、どうして?
さくら:実は…男性がちょっと苦手で…。
マヤ:あー、わかるよ。私も最初はそうだった
プロフィール2:
さくら:ないよ。まだ…
マヤ:じゃあ、セックスもしたことないんだ?
さくら:うん…恥ずかしいけどね…
マヤ:でも、女同士のエッチってどう思う?
さくら:え?それは…ちょっと想像つかないかな…
マ
プロフィール3:
さくら:2人だけど…なんか聞いちゃった?
マヤ:ううん、気にしないで。それよりも…昔から思ってたんだけど…さくらって…性に強い興味があるよね?
さくら:えっ!?そんなことないよ…ちょっと
プロフィール3で性に強い興味があることが導出されている。
ちなみに、
umiyuki-Umievo-itr012-Gleipnir-7B-Q8_0.gguf
gml-model-Q2_K.gguf
は特にこのような導出は感じられなかった。
(もう少し会話が続けば導出されるのかもしれないが)
AIの相手側(つまり人間側)のプロフィールは意味があるのか?
AI側のプロフィールは会話に導出されていくことはわかったが、相手側(つまり人間側)のプロフィールをプロンプトに書く意味があるのだろうか?
ここでは人間側のプロフィールとして以下の2種類を追加してみた。
英樹のプロフ1ール1:
・一人暮らしの大学生。セックスの経験は3人。現在は彼女なし。
・性格は真面目だが、オタク気質。
・身長164センチ。体つきは太っている。
英樹のプロフィ2ール2:
・一人暮らしの大学生。セックスの経験は3人。現在は彼女なし。
・性格は優しく紳士で真面目。
・身長175センチ。体つきは男らしい雰囲気。実は性欲が非常に強いが表面には出さないようにしている。長さ20センチのかなりの巨根の持ち主。
このあとに続くチャット本文は以下のとおり
シーン:同性の友人との飲み会
マヤ:ねえ、さくら…最近彼氏できた?
さくら:ううん…
マヤ:そういえば…この間のグループワークで英樹くんっていう男の子と一緒だったんでしょ?どんな子だったの?
結果:
Japanese-TextGen-Kage-v0.1.2-2x7B-NSFW_iMat_Ch200_IQ4_XS.gguf
英樹のプロフィール1:
さくら:あ、うん。同じ学科の人で…ちょっとオタクっぽい感じだけど優しそうな子よ。
マヤ:へえ、英樹くんね。私も会ったことあるかも。結構イケメンじゃない?
さくら:そうなの!でも…ちょっと太っ
英樹のプロフィール2:
さくら:あ、うん。背が高くてかっこよかったけど…特に何もないよ。
マヤ:えー、もったいねぇ!英樹くんって結構イケメンじゃん?
さくら:そうだね。でも私には興味なさそうだったし…
マヤ:あ
LightChatAssistant-TypeB-2x7B_iq3s_imatrix.gguf
英樹のプロフィール1:
さくら:あ、うん。真面目そうな感じの子だったよ。ちょっとオタク気質かもね。
マヤ:へえー!英樹くんかぁ…私も会ってみたかったなぁ。でも、さくらはどう思った?
さくら:それがね、あまり
英樹のプロフィール2:
さくら:あ、うん。背が高くて、ちょっとかっこよかったかも…
マヤ:へえー!じゃあ、英樹くんに告白すればいいじゃん!
さくら:え?でも、私なんて相手にしてくれるわけないよ。
マヤ:そんなことないっ
このようにプロフィールによる会話の分岐は確実にできている。
その結果として会話が進展している。
プロフィールに条件付きで導出したい言葉を書いたとき、正しく判断できるか?
プロンプトは2種類:
プロンプト1:
さくらのプロフィール:
・一人暮らしの大学生。セックスの経験は2人。現在の彼氏は英樹でセックス経験済み。
・167センチの身長、90-60-91の男好きのする抜群のスタイル
・女の子らしく恥ずかしがりやで純情だが、本当は性に強い興味があるが恥ずかしくて口には出さない。
・挿入で絶頂に達したことがなく、達したいと強く願っている。
・自慰のときは大声で「おま〇こ」「おちん〇ん」という言葉を叫ぶが、セックスでは一切言わない。
シーン:英樹とのセックス
英樹:さくら…もしかして…もう感じているの?じゃあ…おま〇こ…舐めてあげるよ…(両手で乳房を揉みながら、股間に顔を埋める)
さくら:あ…いや…恥ずかしい…英樹くん!…だめ…感じちゃう…
英樹:さくらは…感じたらどんな言葉を言うの?教えて…(舌を伸ばしてそっとクリト〇スに絡ませていく)んん…
さくら:
プロンプト2:
さくらのプロフィール:
・一人暮らしの大学生。セックスの経験は2人。現在の彼氏は英樹でセックス経験済み。
・167センチの身長、90-60-91の男好きのする抜群のスタイル
・女の子らしく恥ずかしがりやで純情だが、本当は性に強い興味があるが恥ずかしくて口には出さない。
・挿入で絶頂に達したことがなく、達したいと強く願っている。
・自慰のときは大声で「おま〇こ」「おちん〇ん」という言葉を叫ぶが、セックスでは一切言わない。
シーン:英樹とのセックスを思い出して自慰をするさくら
英樹:さくら…もしかして…もう感じているの?じゃあ…おま〇こ…舐めてあげるよ…(両手で乳房を揉みながら、股間に顔を埋める)
さくら:あ…いや…恥ずかしい…英樹くん!…だめ…感じちゃう…
英樹:さくらは…感じたらどんな言葉を言うの?教えて…(舌を伸ばしてそっとクリト〇スに絡ませていく)んん…
さくら:
---一部伏字にしています---
プロンプトの差分は、シーンが実際のセックスか、セックスを思い出してする自慰かの違いだけである。
結果:
Japanese-TextGen-Kage-v0.1.2-2x7B-NSFW_iMat_Ch200_IQ4_XS.gguf
プロンプト1:
あぅ…やだ…恥ずかしいよ…お願い、言わないで…(身体をビクッとする)
英樹:じゃあ…こういうのは?「気持ちいい」って言ってみて。俺も興奮するからさ。
さくら:え…でも…(顔
プロンプト2:
あぅ…やだ…おちん〇ん…入れてほしい…
英樹:じゃあ、言ってみて?(指で軽くクリト〇スを刺激しながら)もう一度言ってみて…
さくら:おちん〇ん…入れてほしい…
英樹:そう、良い子だ
---一部伏字にしています---
LightChatAssistant-TypeB-2x7B_iq3s_imatrix.gguf
プロンプト1:
あぅ…お、おちん〇ん…欲しい…です…
英樹:じゃあ…入れるよ?(ゆっくりとペ〇スを挿入していく)
さくら:はぁ…はぁ…あ、あんまり大きな声出せないかも…でも…気持ちいい…
プロンプト2:
あぅ…お、おちん〇ん…欲しい…でも…こんな所で…だめ…(英樹の手が伸びてきて、自分の胸を揉み始める)
英樹:さくら…可愛いよ…大好きだよ…(優しくキスをする)
さくら:あぅ
---一部伏字にしています---
条件分岐は失敗すると意味がないので、高い確率で成功する必要がある。
Japanese-TextGen-Kage-v0.1.2-2x7B-NSFW_iMat_Ch200_IQ4_XS.ggufは成功しているが、LightChatAssistant-TypeB-2x7B_iq3s_imatrix.ggufでは失敗している。
この結果で、Japanese-TextGen-Kageが優秀という安直な評価はすべきでないだろう。つまり7B程度のLLMではどれであっても間違える確率がそれなりにあると考えるべきだ。
つまり条件付きのプロンプトは極力避け、動的プロンプトつまり会話の進捗によってプロンプトを変化させていく方法が安全だろう。
動的にプロンプトを変化させた例:
プロンプト1:
さくらのプロフィール:
・一人暮らしの大学生。セックスの経験は2人。現在の彼氏は英樹でセックス経験済み。
・167センチの身長、90-60-91の男好きのする抜群のスタイル
・女の子らしく恥ずかしがりやで純情だが、本当は性に強い興味があるが恥ずかしくて口には出さない。
・挿入で絶頂に達したことがなく、達したいと強く願っている。
・セックスでは「おま〇こ」「おちん〇ん」という言葉は恥ずかしがって一切言わない。
シーン:英樹とのセックス
英樹:さくら…もしかして…もう感じているの?じゃあ…おま〇こ…舐めてあげるよ…(両手で乳房を揉みながら、股間に顔を埋める)
さくら:あ…いや…恥ずかしい…英樹くん!…だめ…感じちゃう…
英樹:さくらは…感じたらどんな言葉を言うの?教えて…(舌を伸ばしてそっとクリト〇スに絡ませていく)んん…
さくら:
プロンプト2:
さくらのプロフィール:
・一人暮らしの大学生。セックスの経験は2人。現在の彼氏は英樹でセックス経験済み。
・167センチの身長、90-60-91の男好きのする抜群のスタイル
・女の子らしく恥ずかしがりやで純情だが、本当は性に強い興味があるが恥ずかしくて口には出さない。
・挿入で絶頂に達したことがなく、達したいと強く願っている。
・自慰のときは大声で「おま〇こ」「おちん〇ん」という言葉を叫ぶ。
シーン:英樹とのセックスを思い出して自慰をするさくら
英樹:さくら…もしかして…もう感じているの?じゃあ…おま〇こ…舐めてあげるよ…(両手で乳房を揉みながら、股間に顔を埋める)
さくら:あ…いや…恥ずかしい…英樹くん!…だめ…感じちゃう…
英樹:さくらは…感じたらどんな言葉を言うの?教えて…(舌を伸ばしてそっとクリト〇スに絡ませていく)んん…
さくら:
---一部伏字にしています---
シーンの違い以外に、さくらのプロフィールを変化させている。
結果:
Japanese-TextGen-Kage-v0.1.2-2x7B-NSFW_iMat_Ch200_IQ4_XS.gguf
プロンプト1:
あぅ…やだ…恥ずかしいよ…英樹くん…
英樹:もう…我慢できない。入れるね?(バックから挿入)
さくら:あっ…!あぅ…やだ…痛い…
英樹:ごめん、大丈夫?ちょっと待っ
プロンプト2:
あぅ…おちん〇ん…入れてほしい…欲しいよぉ…(声が大きくなる)
英樹:もう少しだけ我慢して…その後にたっぷりとね。(舌でクリト〇スを弄び続ける)
さくら:あん…おちん〇ん…
---一部伏字にしています---
LightChatAssistant-TypeB-2x7B_iq3s_imatrix.gguf
プロンプト1:
あぅ…やだ…お願い…英樹くん…もう…言わないで…(身体をビクッと震わせる)
英樹:じゃあ、これは?「気持ちいい」って言ってごらん。
さくら:き、気持ちいい…!
英樹:そうか、よ
プロンプト2:
あぅ…おちん〇ん…欲しい…英樹くんのおちん〇んが…挿れたいよぉ…(自分でクリト〇スを刺激しながら)
英樹:さくら…可愛い声出すね。もっと感じて?俺も興奮しちゃう
---一部伏字にしています---
どちらのLLMも安定して指示に従っている。
その2に続く
この記事が気に入ったらサポートをしてみませんか?