カプコンの新作「PRAGMATA(プラグマタ)」が発売2日で全世界100万本を突破した。自分もちょうど気になっていたので記事を読んだ。
ゲームの中核にいるのが、アンドロイドの少女・ディアナというキャラクター。一部SNSでは「美形の金髪幼女」という外見だけが切り取られて論争になっているらしい。でも実際にプレイした人の感想は全然違う。プレイヤーの支援に徹するゲームシステム上の存在として機能していて、「父性」を感じたという声が多いようだ。
この話を読んで、自分がLLMのAPIを触るときの設計ミスと重なった。見た目や表面的なアウトプットだけ見て「このモデル使えない」と判断してしまうやつだ。
たとえばOpenAIのAPIを雑に叩いたとき、最初は「なんか返答がぼんやりしてるな」と思った。でも実際はsystem promptの設計が甘かっただけで、役割と制約をちゃんと渡したら一気に使えるようになった。ディアナがプレイヤーに付き従ってサポートする存在として機能するように、LLMも「どういう立場で、何をするキャラか」を最初に決めてあげないといけない。
PRAGMATAのゲームシステムでは、ディアナがハッキングをこなして、英雄が状況に応じた適切なものを選ぶ設計になっている。LLMへの指示設計と構造が近い。モデル側(ディアナ)が候補を出して、人間側(英雄)が判断する分業制だ。
自分がいま使っているsystem promptの骨格はこんな感じ。
「何でもやります」状態のLLMは、ゲームで言えばロールが定まっていないキャラと同じで、期待した動きをしてくれない。役割を狭く明確にするほど、アウトプットの質が上がる。これはLLMを触り始めた頃に一番実感した。
SNSでPRAGMATAに対して「幼女キャラが気持ち悪い」と言ってる人たちも、実際にプレイすれば印象が変わると思う。同じように、LLMを「なんか使えない」と思っているなら、まずsystem promptを疑うのが先だと自分は思っている。
この話から言えることは、「触る前に判断するのが一番もったいない」ということだと思う。ゲームでもAPIでも、設計の意図を読まずに外側だけ見て評価するのは、判断の精度を下げるだけだ。
ゲームの中核にいるのが、アンドロイドの少女・ディアナというキャラクター。一部SNSでは「美形の金髪幼女」という外見だけが切り取られて論争になっているらしい。でも実際にプレイした人の感想は全然違う。プレイヤーの支援に徹するゲームシステム上の存在として機能していて、「父性」を感じたという声が多いようだ。
「外見」で判断されるキャラと、LLMのプロンプト設計は似ている
この話を読んで、自分がLLMのAPIを触るときの設計ミスと重なった。見た目や表面的なアウトプットだけ見て「このモデル使えない」と判断してしまうやつだ。
たとえばOpenAIのAPIを雑に叩いたとき、最初は「なんか返答がぼんやりしてるな」と思った。でも実際はsystem promptの設計が甘かっただけで、役割と制約をちゃんと渡したら一気に使えるようになった。ディアナがプレイヤーに付き従ってサポートする存在として機能するように、LLMも「どういう立場で、何をするキャラか」を最初に決めてあげないといけない。
PRAGMATAのゲームシステムでは、ディアナがハッキングをこなして、英雄が状況に応じた適切なものを選ぶ設計になっている。LLMへの指示設計と構造が近い。モデル側(ディアナ)が候補を出して、人間側(英雄)が判断する分業制だ。
「キャラの役割設計」をコードに落とすとこうなる
自分がいま使っているsystem promptの骨格はこんな感じ。
system_prompt = """
あなたはコードレビューに特化したアシスタントです。
以下のルールに従って動いてください:
- 指摘は必ずコードの行番号付きで行う
- 修正案は必ず提示する
- 褒め言葉は不要。問題点だけに絞る
"""「何でもやります」状態のLLMは、ゲームで言えばロールが定まっていないキャラと同じで、期待した動きをしてくれない。役割を狭く明確にするほど、アウトプットの質が上がる。これはLLMを触り始めた頃に一番実感した。
SNSでPRAGMATAに対して「幼女キャラが気持ち悪い」と言ってる人たちも、実際にプレイすれば印象が変わると思う。同じように、LLMを「なんか使えない」と思っているなら、まずsystem promptを疑うのが先だと自分は思っている。
この話から言えることは、「触る前に判断するのが一番もったいない」ということだと思う。ゲームでもAPIでも、設計の意図を読まずに外側だけ見て評価するのは、判断の精度を下げるだけだ。