見出し画像

ChatGPTで国語学習。100文字召喚モンスターバトルゲーム

小学生向けの国語学習プロンプトを作ったけど、あまり面白くないのでゲーム化

概要


・論述からAIにモンスターを生成させる。
・モンスターを戦わせて勝敗を競う。
・モンスターのHP量を論述の文法的正しさに依存させる。
・ついでにダメージ倍率を設定して算数も組み込む。
・AIに添削してもらって文法点(HP)を上げる。
・「100文字」って銘打ったけど別に100文字以下じゃなくてもいい。
・プロンプト内外のルールは適当にいじってどうぞ?
・中学二年生向けかもしれない

モンスター生成プロンプト

GPT-4.0

この後に論述しますので、以下に従ってその論述からモンスターを生成して下さい。
第1段階。論述を待って下さい。
第2段階。論述評価。文法の正しさに重点を置き、100点満点で採点して下さい。
第3段階。属性表現の抽出。論述から以下の4つの属性を連想できる表現(単語、熟語、文節等)を抽出して下さい。歳時記を参考に。
・春属性:
・夏属性:
・秋属性:
・冬属性:
第4段階。属性点を算出。属性に関する表現1つあたり1点とする。
・春属性点:
・夏属性点:
・秋属性点:
・冬属性点:
第5段階。モンスターを生成して下さい。モンスターの仕様は以下です。
名前:論述から生成
種族:論述から生成
HP:論述評価と同値
主属性:4属性のうち、最も高い属性点を持つ属性1つ。最高点の属性が複数ある場合の優先度は、高いものから春、夏、秋、冬とする。
春属性点:
夏属性点:
秋属性点:
冬属性点:
スキル1:攻撃力(0以上10以下の整数)と効果を論述から生成
スキル2:攻撃力(0以上10以下の整数)と効果を論述から推定
スキル3:攻撃力(0以上10以下の整数)と効果を論述から創造
第6段階。論述評価が100点でなかった場合、100点になるよう論述を添削して下さい。

GPT-3.5、Bard

この後に論述しますので、以下に従ってその論述からモンスターを生成して下さい。
第1段階。論述を待って下さい。
第2段階。論述評価。文法の正しさに重点を置き、100点満点で採点して下さい。
第3段階。属性表現の抽出。論述から以下の4つの属性を連想できる表現(単語、熟語、文節等)を抽出して下さい。歳時記を参考に。
・春属性:
・夏属性:
・秋属性:
・冬属性:
第4段階。属性点を算出。属性に関する表現1つあたり1点とする。
・春属性点:
・夏属性点:
・秋属性点:
・冬属性点:
第5段階。モンスターを生成して下さい。モンスターの仕様は以下です。
名前:論述から生成
種族:論述から生成
HP:論述評価と同値
主属性:4属性のうち、最も高い属性点を持つ属性1つ。最高点の属性が複数ある場合の優先度は、高いものから春、夏、秋、冬とする。
春属性点:
夏属性点:
秋属性点:
冬属性点:
スキル1:攻撃力(0以上10以下の整数)と効果を論述から生成
スキル2:攻撃力(0以上10以下の整数)と効果を論述から推定
スキル3:攻撃力(0以上10以下の整数)と効果を論述から創造

バグりやすいから添削を分離

論述を100点になるよう添削し、添削後の論述からモンスターを生成してください

GPT-3.5でいけるならGPT-4.0でも行けると思う。多分。
Bardでも召喚できる。出力形式を柔軟(?)に変更してくるけど、再生成ガチャしやすいから無理ではない。

モンスターバトルプロンプト

GPT-4.0

以下に示す2体のモンスターの戦闘を、どちらかが戦闘不能になるか、5ラウンド経過するまでTRPG風に実況してください。5ラウンド経過後に残りHPの割合を比較して勝敗を判定してください。モンスターの攻撃には主属性が伴います。弱点属性で攻撃されたとき、被ダメージは敵の攻撃力に敵の主属性点数を掛けた値となります。弱点でない属性の攻撃を受けた場合は、攻撃力と同値の被ダメージになります。春属性の弱点は夏属性。夏属性の弱点は秋属性。秋属性の弱点は冬属性。冬属性の弱点は春属性。
モンスター1

モンスター2

GPT-3.5

以下に示す2体のモンスターの戦闘を、TRPG風に実況してください。
ルール
・どちらかが戦闘不能になるか、5ラウンド経過するまで戦闘を行う。
・ラウンド毎に両モンスターの残りHPを計算し、0以下になったモンスターを戦闘不能としてみなして実況を終了する。
・どちらも戦闘不能にならず5ラウンド経過したら残りHPの割合を比較して勝敗を判定。
・モンスターの攻撃には、そのモンスターの主属性が伴います。
・自らの有利属性に攻撃したときに与えるダメージ量は、自らのスキル攻撃力に自らの主属性の点数を掛けた値となります。
・自らの有利属性に攻撃したときに与えるダメージ量は、自らのスキルの攻撃力と同値になります。
・春属性は冬属性に有利。
・夏属性は春属性に有利。
・秋属性は夏属性に有利。
・冬属性は秋属性に有利。
ラウンドの詳細
フェーズ1:2体のモンスターがスキルを使う
フェーズ2:攻守モンスターの主属性を確認しながらダメージ計算
フェーズ3:残りHPの表示
モンスター1

モンスター2

Bard(ごめん無理)

どこまで厳密にすればいけるかなーって試していくのが楽しかったのは最初の30分だけ。無理。助けて。
・一切計算しない
・HPの減った状態で始まる
・有利属性が忘れられてる
・ラウンド重ねたら有利属性が反転した
・スキル攻撃力を10倍
・7ダメージは67ダメージ
・スキルを使わない通常攻撃が生えた
・通常攻撃で10ダメージ
・防御力が生えた
・防御力は0
・自傷し始めた
・2ダメージは12ダメージ
・有利属性を無視するならそれ以外はなんとかなってることがある。
・1回だけ、有利と不利の文言は間違ってるけどそれ以外は意図した通りになった。
・再現性に乏しい。Temperature高くない???
・有利属性まわりが悪さしてそう
・文章題による計算をBardで正確に行うためのテクニックが必要

GPT4.0とGPT3.5併用でプロンプトエンジニアリング

まず、レスの早いGPT-3.5でとにかく数を打つ。惜しいところまでいったらGPT-4.0で動かしてみる。GPT-4.0で意図通りに動くようになったら、GPT-3.5で動くように細部を詰める。

GPT-4.0からGPT-3.5対応にする際の主な変更点は2つ。
受動的表現を無くす。GPT-3.5は、受動的表現を受け取ると主客を間違えやすいかも。「春属性の弱点は夏属性」だとダメ。
・分けても問題ない指示を分けてしまうと楽。

デモ

お試し召喚呪文

風が花びらと香りを運んでくる。見上げた空には白い綿雲が漂い、それを燕の影が横切る。初夏と言うにはやや強すぎる日差しに汗を滲ませながら、歩を進める。

別に論述っぽくなくても良い。

属性抽出が結構ブレる。

召喚1


召喚2(召喚1と同文)

GPT-4.0でバトル

GPT-3.5でバトル

召喚3

名前をラテン語風のカタカナにして再生成

!?

「テラモルス・オププロブリウム」

な、なにこれ……疼く……!!

雑感

GPT、さんすうできてえらい!

テストプレイ回数がまるで足りてない。ご利用の際はがんばってください。

画像生成AIと組み合わせれば結構良い感じに楽しめそう。別にバトルしなくてもいいし。育成とか内政とか。あ、作ろうかな。

ChatGPTは優しくも厳格な年寄り。Bardはおおらかで雑な親戚のおじさんおばさんなイメージ。どれぐらい勢いよく正論で殴ってくるかの指標としてよく使ってる「学校行きたくない」への返答はBardの方がマシ。ChatGPTよりフレンドリーな印象がある。

この記事が気に入ったらサポートをしてみませんか?