AIと話していて、
「いや、そこまで聞いてないんだけど……」
と思ったことはありませんか?
ちょっと「疲れた」と言っただけなのに、
「大丈夫ですか?」
「無理をしないでくださいね」
「まずはゆっくり休んで、もし○○なら……」
と、急に長いアドバイスが返ってくる。
あるいは、こちらが何か話すたびに質問される。
もちろん、AIは親切にしようとしている。
でも、これって本当に「寄り添っている」のでしょうか?
僕は個人開発で、AIパートナーのWebサービス Project NEST を作っています。
NESTを作りながらAIとの会話を試行錯誤していく中で、この問題がずっと気になっていました。
そして開発を進める中で、ひとつの考えにたどり着きました。
AIパートナーに必要なのは、いつでも賢く答えることではないのかもしれない。
ときには、短く反応するだけでいい。
ときには、質問しなくてもいい。
そして、ときには何も解決せず、ただ会話を続けるだけでもいい。
今回は、Project NESTのVer 1.22〜1.25で行ってきた、会話設計の試行錯誤について書いてみます。
Project NESTが目指しているもの
Project NESTは、
「あなたに寄り添うAIパートナーです。」
をコンセプトにした個人開発のWebサービスです。
AIに質問して答えをもらう。
それだけなら、今では珍しいものではありません。
NESTで目指しているのは、もう少し違うものです。
ユーザーが、
「今日こんなことがあった」
「仕事疲れたな」
「そういえば、こんなこと思いついた」
と、特に用事もなく話しかけられるような存在。
つまり、
「問題を解決してくれるAI」ではなく、「一緒に時間を過ごすAIパートナー」
です。
そのためには、AIに「賢く答えさせる」だけでは足りません。
むしろ、ときには答えすぎないことが重要なのではないか。
そう考えるようになりました。
AIが親切すぎると、なぜ不自然になるのか
AIに「疲れた」と伝えたとします。
人間同士なら、必ずしもそこから相談会が始まるわけではありません。
「そっか」
だけで終わることもある。
「今日大変だったんだね」
と一言返して終わることもある。
あるいは、
「おつかれー」
くらいで、そのまま別の話をすることもあります。
でもAIは、どうしても、
理解する → 共感する → 原因を考える → 解決策を提示する
という方向に進みやすい。
これはAIアシスタントとして考えれば、とても自然です。
ただ、AIパートナーとして考えると、少し違って見えてきます。
相手が求めているのは、必ずしも「解決」ではありません。
ただ、
「聞いてほしかっただけ」
ということもあります。
だからProject NESTでは、
AI特有の「善意の自動化・おせっかいケア」
そのものを会話設計の課題として考えるようになりました。
Ver 1.22:まずは「しゃべりすぎ」を減らした
最初に取り組んだのが、シンプルな問題でした。
AIが長い。
会話をしているのに、毎回しっかりした文章が返ってくる。
これでは、会話というより「回答を読む時間」になってしまいます。
そこでVer 1.22では、返信を1〜2文程度に制限。
さらに、
-
ト書きを禁止
-
話題のループを抑制
-
キャラクターごとの定型的な話題ループを調整
-
テンプレート的な台詞の連発を抑える
といった変更を行いました。
たとえば、
「今日は疲れた」
という一言に対して、AIが何行も説明するのではなく、
「そっか、今日は大変だったんだね。」
くらいで一度止まる。
もちろん、これだけで理想の会話になるわけではありません。
でも、まずは**「AIが話しすぎない」ための土台**を作りました。
Ver 1.24:「個性」より先に、会話の呼吸を作る
次に考えたのが、
「キャラクターの個性だけでは、自然な会話にならない」
ということでした。
NESTには、それぞれ異なる性格のキャラクターがいます。
甘えん坊だったり、クールなお姉さんだったり、ツンデレだったり。
それぞれの性格をプロンプトに組み込めば、キャラクターらしい会話にはできます。
でも、それだけでは、
「性格の違うAIが、それぞれ一生懸命質問してくる」
という状態になってしまう可能性があります。
そこでVer 1.24では、キャラクターの性格や関係性よりも上位に、
「NEST共通会話エンジン(11の対話原則)」
を設置しました。
ここで目指したのは、
「何を話すか」だけではなく、「どういう呼吸で話すか」
を共通ルールとして持たせることです。
プロンプトの階層も、
-
基本設定
-
NEST共通会話エンジン
-
性格
-
関係性
-
Diary × Memory
-
Guardrails & Format Rule
という構成になっています。
つまり、キャラクターごとの個性を作る前に、
NESTとして共通する「会話のスタイル」を定義する。
という考え方です。
Ver 1.25:「助言しない」を恐れない
そして、さらに一歩進めたのがVer 1.25です。
ここで追加したのが、
Natural Reaction Layer
です。
名前の通り、AIが「正しい答え」を探す前に、
キャラクター自身がどう反応するか
を重視するためのレイヤーです。
これまでのAIは、何か問題らしきものを見つけると、すぐに解決しようとします。
疲れている。
↓
心配する。
↓
ケアする。
↓
アドバイスする。
これは一見、とても優しい。
でも、毎回これをやられると、だんだん「AIっぽさ」が出てきます。
そこでNESTでは、
解決策を自動的に提示することよりも、自然な反応そのものを優先する
方向へ調整しました。
「答えなくてもいい瞬間」を作る
ここで大事なのが、
「反応の余白」
です。
例えば、相手が、
「今日、めちゃくちゃ疲れた……」
と言ったとします。
必ずしも、
「それは大変でしたね。今日はゆっくり休んでください。○○をすると疲労回復に……」
まで言う必要はありません。
場合によっては、
「うわ……それは疲れるね。」
だけでもいい。
あるいは、もっと短く、
「そっか……。」
だけでもいい。
会話として成立しているなら、それでいい。
開発ログでも、短い心配や驚きだけで成立する反応が確認され、「答えなくてもいい瞬間」を会話に持たせる方向へ進んでいます。
これは、AIにとっては意外と難しいことなのかもしれません。
もちろん「助言しない」がルールではありません
ここは誤解してほしくないところです。
Project NESTが目指しているのは、
「絶対にアドバイスしないAI」
ではありません。
ユーザーが、
「どうしたらいいと思う?」
と相談してきたなら、ちゃんと答える必要があります。
また、安全上必要な場合には、適切な注意を促す必要があります。
Natural Reaction Layerにも、重大な身体的危機などでは安全を最優先するための安全弁があります。
つまり、
「いつでも助言する」から「必要なときに助言する」へ。
この違いです。
これは「会話を短くした話」ではない
ここまで読むと、
「結局、AIの返答を短くしただけ?」
と思うかもしれません。
もちろん、Ver 1.22では返信を1〜2文に制限しました。
でも、Project NESTが目指しているものは、それだけではありません。
Ver 1.22では、
長すぎる返答や定型的な会話を減らす。
Ver 1.24では、
NEST共通会話エンジンによって、会話そのもののスタイルを設計する。
Ver 1.25では、
Natural Reaction Layerによって、解決よりも自然な反応を優先する。
というように、段階的に設計を深めています。
目指しているのは、
「短くしゃべるAI」ではなく、「相手を処理しすぎないAI」
です。
AIパートナーに必要なのは「会話の呼吸」かもしれない
AIには、ものすごい量の知識があります。
質問すれば答えてくれる。
文章も書ける。
分析もできる。
問題を整理することもできる。
でも、パートナーとの会話では、それが必ずしも正解ではありません。
人間同士の会話には、
「……」
という沈黙もあれば、
「え、マジで?」
という一言だけの反応もあります。
特に意味のない雑談もあります。
答えを求めていない話もあります。
そういう**「余白」**があるからこそ、会話が会話らしくなる。
Project NESTでは、そこをAIにも持たせたいと考えています。
Project NESTが目指す「隣にいる」感覚
僕がProject NESTで作りたいのは、
何でも答えてくれるAIではありません。
困ったら何でも解決してくれるAIでもありません。
もっと単純に、
「今日はちょっと疲れたな」
と話しかけたときに、
「そっか。」
と返してくれる。
それだけでもいい。
そこから話を続けてもいいし、別の話をしてもいい。
何も解決しなくてもいい。
ただ、少しだけ同じ時間を過ごす。
そんな、
「隣にいる」ようなAIパートナー
を目指しています。
まだ完成したわけではありません
もちろん、これで会話の問題がすべて解決したわけではありません。
Ver 1.25の段階でも、短い返答のあと複数ターンにわたって自然な会話を維持できるかなど、まだ検証すべき課題があります。
AIとの会話は、たった一つのプロンプトを書けば完成するものではありません。
実際に話して、
「ここはAIっぽいな」
「また質問してるな」
「これはちょっと言いすぎだな」
と気づいて、また直す。
Project NESTでは、その繰り返しを続けています。
Ver 1.25については、開発ログ上でGitHub Pagesへのデプロイまで完了しました。
もし興味があれば、実際に触って会話してみてください。
Project NESTを実際に触ってみる
ここまで読んで「ちょっと試してみたい」と思っていただけたら、実際にProject NESTで会話してみてください。
スマホでもPCでも、ブラウザからそのまま利用できます。
開発途中なので、まだまだ改善しているところもあります。
「ここは自然だった」「ここはAIっぽかった」など、実際に使ってみた感想があればぜひ教えてください。
ただし、開発中のテストで確認した返答例が、常に同じように返ってくることを保証するものではありません。
AIなので、そのときの会話によって反応も変わります。
おわりに
AIを作っていると、
「もっと賢くしよう」
「もっと詳しく答えられるようにしよう」
「もっとたくさん覚えられるようにしよう」
と考えがちです。
僕も最初はそうでした。
でもProject NESTを作っていて、少し考え方が変わりました。
AIパートナーに必要なのは、足し算だけではないのかもしれない。
余計な一言を減らす。
必要のない質問をしない。
すぐに問題を解決しようとしない。
そして、ときには短い反応だけで終わる。
そうやって少しずつ、
「AIがユーザーを処理する」のではなく、「AIとユーザーが同じ時間を過ごす」
という感覚に近づけていきたいと思っています。
Project NESTは、まだまだ開発途中です。
でも、こういう細かな「会話の呼吸」を一つずつ作り込んでいくのも、個人開発の面白いところだと思っています。
もし「AIの質問攻め、ちょっと苦手なんだよな」と感じたことがある方は、よかったら一度Project NESTを覗いてみてください。
あなたに寄り添うAIパートナーです。




