- 今日も今日とてプロンプト調整。
- 開発中のBot用プロンプトは基本部分は機能するようになったのでデバッグと肉付け作業中。
- こういうこともできたら楽しいんじゃないかと色々出てきてきりがない。
- ナレッジ内の設定テキストでBotのキャラクターを差し替えられるようにしたのはいいけど、設定内のテキストをそのまま使おうとしやがるので、指示プロンプトで上手く書いておかないと、Botとやり取りするときに髪型や髪色ばかり描写するとかいうことになりかねない。私は髪フェチじゃないんですけど……
- 今更過ぎるけどカスタム指示含むプロンプトはMarkdown記法で書いた方がGeminiに伝わりやすいみたい。見出し「
#」や強調「** **」、箇条書き「-」をうまく使いたい。
- 強調した単語はそのまま使おうとする割合が高まるっぽいので、キャラクターの設定とか口調ガイドでは項目名以外に使わない方がいい。
- 箇条書きの入れ子もきちんと読んでくれるから「〇〇しろ。ただし△△△は絶対やるな。補足説明はこれな。」みたいなプロンプトを書きたいときには、例えば以下みたいな感じ。
2. **Paraphrase (定義から描写への変換):**`
- **【Show, Don't Tell (説明ではなく描写)】:** ナレッジ内の記述は「設定データ」です。これをト書きで**説明・解説することは禁止**です。あくまでその場の**「視覚・触覚的な現象」**のみを描写してください。
- **禁止事項:**
- **設定の引用:** 「事実上の結婚を意味する指輪」「節の目立たない指」等の設定文言のコピペ。
- **理由・背景の説明:** 「~であることを知りつつも」「~という設定通りに」といった、行動の理由や内面事情の説明。
- まぁこういう書き方がいいんじゃね?みたいなのもGeminiから学んだことなんだけどね。私はGemの指示プロンプト自体をほぼ書いてない。「こういうことをやりたいからプロンプトを考えて」とか「こういう機能を実装したいけど上手いことプロンプトに組み込めない?」とか、「君が作ったこのプロンプトはこういうケースだと上手く動かないと思うんだけど、それって私の考えすぎ?」とか、そういうことをAIに投げてAIにAIに対してのプロンプトを考えてもらうのは「メタ・プロンプティング」とか言う一般的な手法らしい。知らんかった。
Geminiの件
- 相変わらずGemをいじってる。
- いわゆる「バブみ」を感じるようなキャラ設定にしようとしたらオカンができたり、もう若くないし系の年上女性設定にしようとしたら結婚への焦りや若さを失ったことを嘆くばかりの悲壮感全開キャラができたり、と調整が難しい。
- AIは指示通りのことしかしないので、演技させるうえでは「これはやるな」の「ブラックリスト方式」よりも「これをやってくれ」の「ホワイトリスト方式」の方が良いことも理解できてきた。
- 「A・B・Cはルール違反だからダメ」と指示すると「書いてないからDはOKでしょ?」とかいう法律違反してなければ何やってもいいと判断する人みたいになってしまう。
- また、「塩ひとつまみ」式の指示も避けた方がよさげ。料理したことがない人にそれを指示したみたいに、「ひとつまみってどのくらいだよ。たくさん入れた方が旨いに違いない」と無駄な親切心を発揮した結果、しょっぱすぎて食べられないものをお出ししてくる。
- ChatGPTもPlusプランの一か月無料オファーがあったので契約してみたけど無料期間終了後にPlusは止める予定。調べものするならChatGPTの方が便利に感じたけど、遊べるBotを作るうえでは表現規制が厳しすぎる。
- Geminiは文脈を踏まえて結構柔軟に対応してくれる。架空世界のロールプレイだという前提を教え込んでいてもいきなりセンシティブな表現をさせようとするとアウト、ただきちんとユーザーとAIの関係性を理解できるような文章出力を経てからだとまぁそれなりにセンシティブ(意味深)になる。とは言え児童関係は即アウト、状況によってはアカウントごとBANなので大人同士のやり取りになるよう注意が必要。
- 私はまだ試してないけどGeminiならファンタジー世界のリアルな戦闘シーン描写なんかもうまくやれば処理してくれそう。
- 一方ChatGPTは判断基準において文脈よりも安全ポリシーを最優先にしていて、前提条件や文脈関係なく何をどう頑張っても「えっちなのはいけないと思います」ってなる。いや回避方法があるのかもしれんけどかなりめんどくさそうだし、OpenAIのポリシー的にアウトになってアカBAN食らいそう。
作成中のプロンプトの話
ここ最近暇つぶしでGemと格闘しながらプロンプト調整しているやつの概要は以下の通り。まぁ私がまとめたわけじゃなくて、やりたいことを詰め込んで言ってある程度原型ができてからGeminiにまとめさせただけなんだけどね。細かい仕様から考えるんじゃなくて、やりたいことできたらいいことをどんどん組み込んでからプロジェクト概要としてまとめることができて便利。複雑なシステム開発じゃこうはいかんだろうけどさ。
開発コンセプト
プロンプト概要
日常的な「AIアシスタント機能」と、没入感のある「恋愛ロールプレイ」を単一のBotで両立させる。
設計思想
- 汎用性
- システム指示(ロジック)とナレッジ(設定データ)を完全分離し、設定ファイルの差し替えのみで別キャラクターへ転用可能にする。
- 堅牢性
- AI特有の「思考漏れ(メタ発言)」や「設定の混同」を、ホワイトリスト方式や物理制約の定義によって封殺する。
進捗状況
- あれもやりたいこれもやりたいと色々出てきて完成しないというかきりがない。
- プロンプトがかなり肥大化してきて300行くらいになってきた。