GPT-4.5はSakuraScriptを安定して書ける

前回のお題で、せっかくキャラクターの設定をちゃんと書いたのだから、キャラクターの掛け合いつきのトークを全部書いてもらえるのでは!?と思い、いろいろ試していたのですが、SakuraScriptを表情付けも込みでちゃんと書いてもらえる実例ができたので紹介します。

前回のお題

meatlog.de10.moe

記事を丸々書いてもらった例

changelog.de10.moe

本題:GPT-4.5はSakuraScriptを安定して書ける

実はこのテーマ、GPT-4/4o時代にも何度もトライしていたのですが、SakuraScriptを書いてもらうプロンプトの構築に苦労していました。

GPT-4/4o、あるいはその派生のo1/o3系もですが、SakuraScriptを中途半端に学習してしまっているせいで、いまいちな結果になりがちなのと、表情の割り当て(\s番号の割り当て)も安定せず「そこでその表情はないやろ~」という感じになっていました。

しかし、GPT-4.5では、こういう話が嘘のようにおおむね安定した上に、トークの展開もまぁまぁ悪くない感じで書いてくれるようになりました。すごい!

「遅くて高くていまいち性能がわかりにくい」という妙な評判のGPT-4.5ですが、こういった点でもはっきりと差が生まれている、という実例として貴重かもしれませんね。

使ったプロンプト

前回のLLM Botサンプルとほぼ同じシステムで、モデルをGPT-4.5に変えて、さらにuserプロンプトとして下記を与えて実現しました。

SakuraScriptでテーマ「ガイドブック」で掛け合いの雑談を書いてみて!
- \eは不要
- 改行は入れない
- \0と\1が入れ替わるところに\w9\w9を入れる。ただし特にテンポよくツッコミを入れたい限られた場合は\w9とする
- \0と\1の2回目以降の発話直前に\n\n[half]を入れる 例:\0first\1first\0\n\n[half]second\1\n\n[half]second
- \s[番号]タグ表情リスト
  - \0側:ラーシェ
    - 0- 1 照れ
    - 2 驚き
    - 3 不安
    - 4 落ち込み
    - 5 微笑み
    - 6 目閉じ
    - 7 怒り
  - \1側:ティセ
    - 10- 11 照れ
    - 12 驚き
    - 13 不安
    - 14 落ち込み
    - 15 微笑み
    - 16 目閉じ
    - 17 怒り

出力結果

\0\s[2]ねえティセ!このガイドブックにアタシのこと載ってるかな!?\w9\w9\1\s[10]姉さんが載るなら「ぽんこつ狼スポット」ぐらいでしょ。\w9\0\n\n[half]\s[7]誰がぽんこつ狼スポットよ!もっとこう、観光名所とかグルメ案内とか…\w9\w9\1\n\n[half]\s[15]じゃあ「迷子狼注意」とか?\w9\0\n\n[half]\s[4]アタシ、野生動物扱いなの…?\w9\w9\1\n\n[half]\s[16]むしろ保護対象かな。\w9\0\n\n[half]\s[1]もういっそティセがアタシ専用ガイドブック作ってよ~。\w9\w9\1\n\n[half]\s[11]ふふ、それただの取扱説明書だよね。

ほかのサンプル

\0\s[0]トラックってさ、アタシらと似てるよね。重たい荷物運んで走る感じ。\w9\w9\1\s[10]まあ、姉さんは最近重たいもの運ばないですけど。\w9\0\n\n[half]\s[7]失礼な!情報っていう超重要な荷物運んでるじゃん!\w9\w9\1\n\n[half]\s[15]あー、軽いジョークくらいしか運んでないかと思いました。\w9\0\n\n[half]\s[4]ぐぬぬ…。でもトラックみたいにカッコよく走りたいよねぇ。\w9\w9\1\n\n[half]\s[13]トラックの方が迷子にならない分、確実ですよね。\w9\0\n\n[half]\s[2]えっ!?アタシそんなに迷子キャラ!?\w9\1\n\n[half]\s[16]ナビつけます?背中に「初心者マーク」も貼りましょうか。\w9\0\n\n[half]\s[7]それ完全に煽ってるじゃん!!
\0\s[0]トラックってさ、アタシらと似てるよね。重たい荷物運んで走る感じ。\w9\w9\1\s[10]まあ、姉さんは最近重たいもの運ばないですけど。\w9\0\n\n[half]\s[7]失礼な!情報っていう超重要な荷物運んでるじゃん!\w9\w9\1\n\n[half]\s[15]あー、軽いジョークくらいしか運んでないかと思いました。\w9\0\n\n[half]\s[4]ぐぬぬ…。でもトラックみたいにカッコよく走りたいよねぇ。\w9\w9\1\n\n[half]\s[13]トラックの方が迷子にならない分、確実ですよね。\w9\0\n\n[half]\s[2]えっ!?アタシそんなに迷子キャラ!?\w9\1\n\n[half]\s[16]ナビつけます?背中に「初心者マーク」も貼りましょうか。\w9\0\n\n[half]\s[7]それ完全に煽ってるじゃん!!
\0\s[5]今日はめでたい日だし、祝杯あげちゃおっか!\w9\w9\1\s[12]え?姉さん、何かめでたいことありましたっけ?\w9\w9\0\n\n[half]\s[2]えーっと……アタシが今日も迷子にならなかった記念!\w9\1\n\n[half]\s[17]それだけで祝杯ってハードル低すぎません?\w9\0\n\n[half]\s[7]むむっ、日々の小さな勝利を祝う心が大切なのっ!\w9\1\n\n[half]\s[15]なるほど、それじゃ私も『姉さんが珍しく迷わなかった奇跡』に乾杯しますか。\w9\0\n\n[half]\s[4]ちょ、それ微妙にひどくない!?
\0\s[3]ねぇティセ、残業するウサギってどんな感じだと思う?\w9\w9\1\s[12]えっ、突然なにそれ。\w9\0\n\n[half]\s[2]ほら、月で餅ついてるウサギもさ、忙しい時は残業とかあるんじゃないかなーって。\w9\w9\1\n\n[half]\s[10]月の餅つきに繁忙期とかあるんですかね…。\w9\0\n\n[half]\s[5]あるよきっと!十五夜前とかさ!\w9\w9\1\n\n[half]\s[13]ウサギも社畜なんですね…。\w9\0\n\n[half]\s[4]あぁ…月まで行っても逃れられない残業…世知辛いなぁ…。

以上、こんな感じです。

表情の割り当て、ネタの展開、口調などにまだ難はありますが、適当にテーマを投げただけでここまで書いてくれるのはすごい。

一方で、GPT-4.5でさえも、まだちょっと詰めが甘いなぁという感覚もありましたので、まだまだ人力で書いたほうがいいとは思います。

ボタン一発でゴースト更新機能はまだ遠い…🙄