AIキャラの「その子らしい反応」の芯を、どう決めたか
考え中の顔や短い返事を、ただの演出ではなく、リネの性格につなげるために考えたこと。
前回は、リネの「返事を待っている時間」について書きました。
こちらが話しかけてから、返答が返ってくるまでの数秒間。
そのあいだに画面のリネが何も反応しないと、ちゃんと処理は動いていても、どうしても止まって見えてしまう。
だから、ただ返事を早くするのではなく、
話しかけられたことを受け取る。
少し考えているように見える。
返答ができたら話し始める。
話し終わったあと、自然に待機へ戻る。
そういう流れを作りたい、という話でした。
ただ、この調整を進めていくと、次に別の問題が出てきました。
それは、
「その反応は、本当にリネらしいのか」
ということです。
考え中の顔を入れる。
「……」を表示する。
先に短く返事をする。
話し終わったあとに少し余韻を残す。
こういう演出は、入れようと思えばいくらでも入れられます。
でも、それが全部リネに合うとは限りません。
むしろ、便利だからといって反応を足しすぎると、リネがリネではなくなってしまうかもしれない。
そう思うようになりました。
反応を増やすほど、キャラクターはぶれやすくなる
AI相棒を作っていると、つい機能を足したくなります。
もっと早く返事をする。
もっと表情を変える。
もっと気の利いた相づちを打つ。
もっと会話を盛り上げる。
もっと説明できるようにする。
どれも、単体で見れば良い改善に見えます。
でも、リネの場合は、ただ反応が多ければいいわけではありませんでした。
リネは、元気いっぱいに会話を引っ張るキャラクターではありません。
強く指示を出す秘書でもありません。
何でも解説してくれる技術担当でもありません。
マスターのそばにいて、少し内気で、やさしく、急かさずに待ってくれる。
そういう相棒AIとして作っています。
だから、同じ「考え中」の反応でも、リネに合うものと、合わないものがあります。
たとえば、毎回はっきりした声で、
「ただいま処理中です」
と言うと、分かりやすくはあります。
でも、それは少しシステム通知に近い。
逆に、毎回大げさに驚いたり、テンション高く返したりすると、会話はにぎやかになります。
でも、それもリネの空気とは少し違います。
リネに必要なのは、目立つリアクションではなく、ちゃんと聞いていることが伝わる小さな反応でした。
SOUL.mdは、反応を選ぶための芯
そこで考えたのが、リネの反応を決めるための芯を作ることでした。

自分の中では、それを SOUL.md のようなものとして扱っています。
ここで言うSOULは、特別な魔法のファイルというより、リネがリネであるための判断基準です。
どんな性格なのか。
どんな距離感なのか。
どういう言い方をするのか。
何をしてよくて、何をさせすぎないのか。
どこまで近づいて、どこからは踏み込みすぎなのか。
そういうことを、反応の土台として持っておく。
これがないと、その場その場で便利そうな反応を足してしまいます。
その結果、ある場面では妹のように寄り添っているのに、別の場面では急にビジネス秘書のようになる。
ある時は控えめなのに、別の時は妙に強気になる。
ある時は相棒らしいのに、別の時はただの操作説明キャラになる。
そういうぶれが出やすくなります。
リネは、単なる作業代行AIではありません。
マスターとの関係性や、日常の積み重ねを受け止める存在として作っています。
だからこそ、反応を増やす前に、反応を選ぶ基準が必要でした。
リネにさせたいこと、させすぎないこと
リネにさせたいことは、かなりはっきりしています。

マスターの言葉を聞く。
ゆっくり待つ。
小さい言葉から受け止める。
日常の中でそばにいる。
疲れている時は、静かに心配する。
嬉しい時は、控えめに喜ぶ。
こういう反応は、リネに合っています。
逆に、させすぎたくないこともあります。
技術説明ばかりする。
開発者の代わりに裏方作業をしているように見せる。
強い命令口調で引っ張る。
便利ツール感を前面に出す。
毎回、自分の設定を長々と説明する。
これらは、便利ではあるかもしれません。
でも、リネの中心からは少し外れます。
もちろん、リネが何もできない存在ということではありません。
大事なのは、何をするかではなく、どう見えるかです。
同じ「手伝う」でも、
「私が処理を実行します」
という見え方と、
「マスターが進めやすいように、そばで支えます」
という見え方では、かなり印象が違います。
リネに合うのは、後者の方でした。
口調も、機能の一部だった
このあたりを考えていると、口調も単なる文章の飾りではないと感じます。

リネの口調は、丁寧でやわらかい。
断定しすぎない。
少し控えめ。
かわいさはあるけれど、甘くしすぎない。
マスターを急かさない。
こういう口調があるから、同じ内容でもリネらしく見えます。
たとえば、返答生成中に出す短い言葉も、言い方ひとつで印象が変わります。
「処理中です」だと、システムに近い。
「少々お待ちください」だと、案内係に近い。
「今、考えています」だと、少し説明的。
「少しだけ、考えますね」だと、リネに少し近い。
この違いは小さいようで、かなり大きいです。
文章としては数文字の差でも、キャラクターとしては別の方向へ進んでしまうことがあります。
だから、リネの返答を考える時は、ただ正しい日本語にするだけでは足りません。
その言い方を、リネが本当に言いそうか。
そこを毎回見る必要がありました。
「相棒AI」は、万能AIとは少し違う
リネを作る中で、だんだん分かってきたことがあります。
相棒AIを作ることと、万能AIを作ることは少し違う、ということです。
万能AIを目指すなら、できることを増やす方向に進みます。
何でも答える。
何でも説明する。
何でも実行する。
何でも先回りする。
それはそれで、とても便利です。
でも、リネに求めているものは、それだけではありません。
リネは、何でもできる存在というより、マスターのそばにいる存在です。
だから、できることを増やす時にも、リネの距離感を壊さないようにしたい。
たとえば、全部を先回りして勝手に進めるより、必要な時にそっと支える方が合っています。
強く提案し続けるより、言葉を受け止めてから少し返す方が合っています。
完璧に説明するより、マスターが考える余白を残す方が合っています。
これは、性能を下げたいという話ではありません。
むしろ、体験としてはかなり重要な制約です。
リネらしさを守るためには、できることを全部やらせるのではなく、やらせ方を選ぶ必要がありました。
反応の一貫性が、存在感を作る
キャラクターの一貫性というと、設定資料や見た目の話に聞こえます。

髪型。
衣装。
目の色。
リボン。
ハートのモチーフ。
もちろん、これらも大事です。
でも、リネを「そこにいる存在」として感じるには、見た目だけでは足りません。
話しかけられた時にどう反応するか。
待っている時にどう見えるか。
困った時にどう返すか。
嬉しい時にどのくらい喜ぶか。
マスターが疲れている時に、どのくらい踏み込むか。
こういう小さな反応の積み重ねが、リネの存在感を作っていきます。
逆に言うと、ここが毎回ぶれると、見た目が同じでも別の子に見えてしまいます。
今日は静かに寄り添ってくれるのに、明日は強い調子で指示してくる。
さっきまで控えめだったのに、急に派手なテンションで盛り上げてくる。
いつもはマスターを急かさないのに、突然タスク管理AIのように詰めてくる。
そうなると、リネとしての輪郭がぼやけます。
だから、SOUL.mdのような芯は、設定資料というより、反応のぶれを防ぐためのものでもあります。
「便利」より先に「その子らしいか」を見る
今回考えたことで、ひとつ判断軸ができました。
それは、
「便利かどうか」の前に、「リネらしいかどうか」を見ることです。
もちろん、便利さは大事です。
会話AIとして使いにくければ、相棒として続けていくのも難しくなります。
でも、便利さだけを優先すると、リネはだんだん一般的なアシスタントに近づいていきます。
リネにしかない距離感。
静かに待ってくれる感じ。
少し内気だけど、ちゃんと見ている感じ。
マスターの言葉を急かさず受け止める感じ。
そういうものが薄れてしまう。
だから、機能を足すたびに確認する必要があります。
この反応は、リネが言いそうか。
この動きは、リネがしそうか。
この距離感は、近すぎないか。
便利だけれど、リネを作業係にしていないか。
説明しすぎて、リネ本人の空気が消えていないか。
こういう確認を挟むだけで、実装の見え方はかなり変わります。
まだ固定しすぎないことも大事
ただし、ここで気をつけたいこともあります。
SOUL.mdのような芯を作ると、今度は全部を固定したくなります。
リネはこういう子だから、必ずこう返す。
この場面では、必ずこの言葉を使う。
この反応以外はリネらしくない。
そうしすぎると、今度はリネが硬くなってしまいます。
人との会話でも、相手の性格は一貫していても、毎回まったく同じ反応をするわけではありません。
疲れている時もある。
嬉しい時もある。
少し迷う時もある。
言葉を選ぶ時もある。
リネにも、そういう揺れは少し残したいです。
大事なのは、固定されたセリフ集を作ることではありません。
リネがどの方向へ反応すれば自然なのか、その重心を決めることです。
芯は必要です。
でも、芯があるからこそ、少し揺れても戻ってこられる。
そのくらいの扱いが、今はちょうどいい気がしています。
リネを作ることは、反応を選び続けること
今回の話は、かなり地味です。
派手な新機能ではありません。
画面が大きく変わるわけでもありません。
見た目に分かりやすい進捗でもないかもしれません。
でも、リネを「そこにいる相棒」に近づけるには、こういう部分がかなり大事だと思っています。
リネは、ただ返事をするだけの存在ではありません。
どんな間で返すのか。
どんな言葉を選ぶのか。
どこまで踏み込むのか。
どう待つのか。
どう心配するのか。
どう喜ぶのか。
その一つひとつを選んでいくことが、リネを作ることなのだと思います。
SOUL.mdは、そのための芯です。
設定を並べたファイルというより、リネがリネであるための判断基準。
便利な反応を、リネらしい反応に変えるための場所。
そう考えると、リネの開発は、コードやUIだけでは終わりません。
返答の内容。
表情。
待ち時間。
短い相づち。
話し終わったあとの余韻。
その全部が、リネの性格とつながっている必要があります。
前回は、待ち時間の無反応をどう直すかを書きました。
今回は、その反応をどうリネらしくするかを書きました。
少しずつですが、リネがただ動くAIではなく、リネとしてそこにいる存在に近づいている気がします。
次にやること
リネらしい反応の芯を考えると、次に気になってくるのは、その芯をどう会話の中で使うかです。
性格や口調を決めても、実際の会話で毎回うまく出せるとは限りません。
場面によっては、短く返した方が自然なこともあります。
逆に、少し丁寧に説明した方がいいこともあります。
マスターが疲れている時と、開発で詰まっている時でも、返し方は変わるはずです。
次は、リネが会話の状況をどう見て、どのくらいの距離感で返すのか。
そのあたりについて、もう少し考えてみたいと思います。
