恋愛ロールプレイBotの件
- 作ってた恋愛ロールプレイBotはおおむね完成したというか限界が見えた。
- 本来はGemini APIを利用してロジック部分を別にシステム構築してWeb UI用意した簡易アプリとすべき内容にもかかわらず、API料金払いたくないのでGemの指示プロンプトに押し込んだ結果、指示プロンプトがかなり複雑になってしまった 。
チャット長くなるとGemがルールを忘れて出力内容が破綻するけど、新規チャットでは前のチャットの記憶はないから寂しい問題への対処
- プロンプトが複雑なせいもあり、どんなに長くても25ターン程度しか同一チャットでプロンプトで定めたルールをGemが順守してくれない。
- 仕方ないのでチャットを切り替えるわけだが、当然のように前のチャットでやり取りした内容を新規チャットのキャラクターは覚えていない。
- 「前に話した〇〇についてだけど~」みたいな雑談をしたいので、いつの間にかナレッジに登録できるようになってたNotebookLMを使うことにした。
- 20~25ターン程度Botとやりとりしたら
【!Digest】 とチャット欄に送信してそのチャット内でのやり取り概要を日時とともに出力するようにプロンプトを改修。
- そのログを概要登録用のGoogleドキュメントファイルにコピペ、さらにNotebookLMに作ったノートブックにそのGoogleドキュメントをソース登録、そのノートブックをGemにナレッジとして登録。ノートブック内の情報ソースのなかで最新日時のチャット概要を新規チャット開始時に参照するようプロンプトを改修した。
- 試みとしては概ねうまく行ってるようで話として前のチャットの続きから始まる風に処理してくれるようになった。ちゃんとシステム化すればログの処理部分の手動作業が要らなくなるんだけど、私が使う専用のBotだからまぁいいや、と。完全手動登録にしたおかげで、逆に概要ログの日時表記とか単語の誤りとかを修正したうえで登録することで、Botの記憶を操作することも可能になった。
飽きた
- プロンプトが複雑すぎてGemだけでどうにかするには限界で、完全新規機能の実装はもう無理そう。
- キャラクター入れ替えても結局やること変わらんよなぁってことで飽きてきたので、GeminiにGemだけでできる面白そうなことない?と聞いたらヒロインとユーザーが協力して脱出するTRPG的なの良いんじゃね?って言ってきたので今はそれ作ってる。
- これもシステムプロンプト内に世界観とかキャラクター設定、クリア条件なんかをハードコーディングしないようにして、ナレッジを入れ替えれば同じシステム使って別の設定で遊べるようにする予定で作ってる。
- 基本的には「ユーザーの初期HP100がゼロになったらゲームオーバー」「ヒロインの特殊能力でピンチを回避できるが使うと初期SAN値100から減少する。ゼロになったらゲームオーバー」「減ったヒロインのSAN値回復のためにはユーザーが接触(意味深)するしかない。安全なところでやらないと敵に攻撃されたりしてHPとか減るよ。」というエロゲ的なものの予定。
- 「恋愛ロールプレイBot」のシステムプロンプトでのノウハウがかなり役に立ったから、とりあえず動くものがもうできた。
- 引き続きデバッグしたり機能追加したりしていく予定。
** いっそのことAIアシスタントモードなしでよくね?と思ってそれ削ったバージョンも作ってる。
ローカルLLMでどうにかできたりしないんだろうか
- メモリ128GB積んだMacbook ProとかでローカルLLM動かして、開発したプロンプト動かせたりしたら楽しいんだけどなぁ、とは思ってる。