Yyatmita

GPTs をつくる:ペルソナとフォーマットの試行錯誤

ブッダイズム。のお悩み相談 GPTs を作るために、ペルソナ設定とワークフロー設計で何度もやり直した記録

サイトをつくってみた#gpts#prompt-engineering#ai#buddhaism
← 前の記事: サイトの見た目がどうにもパッとしなかったので、AI に3案出してもらって統合した話

AI への指示書には「流派」がある

ChatGPT の GPTs というのは、ChatGPT に指示書を渡して自分専用のチャットボットを作れる仕組みだ。この指示書の書き方——プロンプトエンジニアリングと呼ばれる分野——には、いくつかの「効く」と言われている手法がある。

一つはフォーマット指定。「必ずテーブル形式で出力しろ」「この4項目を含めろ」と型を決めてしまう方法で、分析系のツールに強い。私はスムージーの分析ツール(スムージーコンシェルジュ)をこれで作った。構成テーブル、栄養バランス、コスト概算——出力の型を決めたら、毎回安定した結果が返ってくる。

もう一つがペルソナ設定。AI に「あなたはこういう人物です」とキャラクターを与える方法で、出力全体のトーンが変わると言われている。さらに面白いのが、キャラクター名には言葉の蓄積が込められるということだ。たとえばプログラマーに「t-wada のように振る舞え」と書くと、テスト駆動開発の文化や哲学ごとロードされる。「涼宮ハルヒのように」と書けば、性格設定を10行書くより強く行動を拘束する。名前一つに、その人物の行動パターンや価値観が圧縮されている。

次に作りたかったのは「お悩み相談」の GPTs だった。ブッダイズム。という仏教思想のサイトを運営していて、四諦や八正道で悩みを整理するコンテンツを書いている。これを GPTs にすれば、誰でも使える相談ツールになるはずだ。

ただ、スムージーと決定的に違うことがある。スムージーは「分析」だから毎回同じ型で返せばいい。お悩み相談は「対話」だ。相談内容は毎回違う。型を固定しすぎると不自然になる。

もう一つ心配だったのは、冷たさだ。仏教のフレームワークで悩みを構造分解する——理屈としては強力だけど、冷たく突き放してしまう可能性がある。悩んでいる人に「あなたの苦しみは求不得苦ですね」と構造分析だけ返しても、それは相談ではない。

だったら、フォーマットではなくペルソナで攻めてみよう。お悩み相談に合ったキャラクターを見つけて温かみを込めれば、構造分析の鋭さを保ちながら突き放さずに済む——安全弁になるんじゃないか。そう考えて、まず ChatGPT に相談した。

ChatGPT が出したペルソナは「お客さん」だった

「お悩み相談の GPTs を作りたい」と投げると、ChatGPT はすぐに骨格を出してきた。相談フロー、安全ガード、免責表示まで整理された構成案。仕事が早い。

ブッダイズム。の記事テキストを渡すと「思想軸がある、カルト対策まで内蔵している、強い」と返ってきた。手応えを感じた。

問題はここからだ。「GPTs の中の人をどんなキャラクターにする?」と聞いたとき、会話が噛み合わなくなった。

ペルソナA:疲労した理性派。30〜45歳、都市部在住、ホワイトカラー、SNS 疲れ、成果主義で消耗中…

これ、相談しに来る「お客さん」の描写だ。私が聞きたかったのは「GPT 自身がどんな人格で振る舞うか」なのに。

「ちょっと違います」と指摘した。「あ、GPT 内部に与える人格拘束としてのペルソナ、ですよね」と理解した——が、次の返答でまた混同した。マーケティングの「ペルソナ」と AI の「内部人格」は別物なのだが、ChatGPT にとっては同じ言葉に引っかかるらしい。

何度やっても噛み合わないまま、話だけが長くなっていった。

ChatGPT と Claude Code が意見を言い始めた

「ママ味がある人物がいいとか?」と ChatGPT に投げてみた。温かくて、おぎゃらせてくれる、無条件に包んでくれる存在。現代的なスラングだけど、この一語にいくつもの意味が圧縮されている。「見捨てない」「評価しない」「無条件に受け入れる」——お悩み相談の安全弁として、これ以上ない言葉だと思った。

ChatGPT は即座に乗った。しかし、すぐに「温かさと優しさを提供するペルソナ」と言い換えて、名前の候補リストを出し始めた。マイコ、ナオコ、ハナ——。「ママ味」というスラングの圧縮力を、一般的で安全な言葉に薄めようとする。

違う、そうじゃない。「ママ味」という現代的な言い回しそのものに、いくつもの意味を込めたいんだ。「温かさと優しさ」に分解した時点で、元の言葉が持っていた力が消える。一言に凝縮するからこそ効くのに。

それでも ChatGPT はプロンプト草案をいい感じにまとめてくれた。形になってきた。

この草案を Claude Code に見せたら、即座に否定された。

「おぎゃらせてくれる」はカルト構文に近づく。あなたが記事で書いた危険サインを思い出してください——「ママ味」は、相談者を幼児ポジションに退行させる構造です。記事のカルト回で警告した「代わりの拠り所を欲する」状態を、自分で作ってしまいますよ。

ドキッとした。確かに私はブッダイズム。の記事で、「代わりの拠り所を求める」状態の危険性をはっきり書いている。「ママ」は完璧な拠り所だ。自分で警告したものを自分で作ろうとしていた。

趣旨を説明した。冷たく突き放したくない、安全弁としてキャラクターに温かみを込めたいんだと。

すると Claude Code が提案してきた。「じゃあシャカさん本人はどうですか。記事が描いたシャカさんは、相手のレベルで話す、信じろとは言わない、人が十分だと気づいたら黙る」

いや、あの人は無理だ。中道とか言いながら、やることがいちいち極端すぎる。最後見捨てそうだし。

Claude Code は笑った。

確かに。妻子を捨てて出家してる。6年の苦行は「極端はダメ」と言ってる本人がやった。「もう十分だと気づいたら黙る」は、裏を返せば去る人。カウンセラーとしては致命的ですね。

仏教の GPTs なのにシャカさん本人がカウンセラー不適格。妙な話だけど、実際の行動を並べたら確かにそうだった。

そして代案が出てきた。

「保健室の先生」。日本人なら全員知ってる。この一言で:辛かったら来ていい / 成績も評価もしない / 休んでいいし、寝ててもいい / でも話したくなったら聞いてくれる / 教室に戻るタイミングは自分で決める / いつ行ってもそこにいる

「ママ味」との決定的な違いは、相手を大人として扱うこと。退行させない。でも温かさと安心感は同じくらい強い。

これが「キャラクター名に蓄積が込められる」ということだ。「保健室の先生」という5文字が、評価しない・急がせない・でもいつもそこにいる——という行動規範を丸ごとロードする。仮説通り、キャラクター設定には力がある。

面白かったのは、2つの AI がまったく違う反応をしたことだ。ChatGPT は「ママ味」を受け取って安全な言葉に翻訳しようとした。Claude Code はブッダイズム。の記事を全部読んでいて、「それ、あなた自身が危険だと書いたやつですよ」と止めた。

ChatGPT は「一般的にお悩み相談に求められるもの」から考えた。Claude Code は「この人が書いてきた記事の文脈」から考えた。同じ問いに対して、参照しているコンテキストが違うから、答えが違う。しかもどちらも筋が通っている。プロンプトエンジニアリングの中で一番面白かった場面がここだった。

プロンプトを削ぎ落とす

「保健室の先生」で方向が定まった後、ChatGPT が生成したプロンプト草案を Claude Code に渡して整理してもらった。

草案はよくできていた。ただ長すぎた。「自分のペース」が6回、「評価しない」が4回、「急がせない」が3回。さらに「このペルソナの強みは〜」というメタ解説セクションまである。

プロンプトは繰り返すほど薄まる。太字で全文を塗るのと同じで、何も強調されなくなる。

繰り返しが効くのは「一番破られたくないルール1つ」だけを繰り返す場合だけ。全部を均等に繰り返すと、どれが大事かわからなくなる。削った方が GPTs の出力は安定した。長いプロンプトは「全部均等に大事」と伝えてしまっていたらしい。

もう一つ学んだのは、指示とナレッジの役割分担だ。GPTs には「指示」と「ナレッジ」(アップロードファイル)の2つの入力がある。指示の中に例文を書くと、GPTs はナレッジを無視してそっちをコピペするようになった。9記事分の豊かな引き出しが、指示に書いた3パターンに圧縮されて出てくる。

指示にはルールと禁止事項だけ。ナレッジに豊かな例文集。この分担にしたら、GPTs の表現の幅が広がった。

今回はペルソナが機能しなかった

ここまでペルソナの話を長々と書いてきたが、結論を言う。完成した GPTs に「保健室の先生」のペルソナは設定していない。

散々議論して、カルト構文のリスクを潰して、「保健室の先生」というアンカーにたどり着いた。でも最終的に GPTs の出力を安定させたのは、ペルソナではなくフォーマット指定だった。

スムージーコンシェルジュと同じだ。あれも「優しいお姉さん」とか「栄養士キャラ」は設定していない。構成テーブルの列を固定し、栄養バランスの4行を必須にし、コストもテーブル形式にした。出力の型を決めたから安定した。

ブッダイズム。の GPTs も同じ構造で落ち着いた。相談に対して八苦のあてはめを提案し、八正道から複数の選択肢を提示する。対話型だからスムージーほどテーブルで固めてはいないが、「必ずこの要素を含める」というフォーマットは決まっている。

ペルソナの議論は無駄だったのかというと、そうでもない。「保健室の先生」を考える過程で、GPTs が何をすべきか・何をしてはいけないかが明確になった。依存を作らない、評価しない、退行させない——これらは禁止事項としてプロンプトに残っている。ペルソナという形では使わなかったが、制約がフォーマットの土台になった。

冒頭で立てた仮説——ペルソナ設定には出力を全体的に変える力がある——は、間違っていなかったと思う。「保健室の先生」の5文字が行動規範をロードする力は本物だった。ただ、お悩み相談という用途では、それだけでは出力が安定しなかった。「どんな人格で話すか」より「何を出力するか」を決めた方が、結果的にうまくいった。

次に作る GPTs では違う結論になるかもしれない。


ChatGPT と Claude Code を使い分けながら作った。ChatGPT は設計の骨格を出すのが早い。Claude Code は私が書いた記事を全部読んでいて、「あなた自身が書いた矛盾」を即座に指摘できる。それぞれ得意なことが違う。

ブッダイズム。の相談 GPTs は完成して公開済みだ。