4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめてのアドベントカレンダーAdvent Calendar 2024

Day 8

『miibo』初回のチャットで名前を覚えたら次回以降のチャットでも名前を呼んでほしい!(ステート、シナリオ)

Last updated at Posted at 2024-12-01

何を行いたかったか?

miibo」のチャットに「IPアドレス制限」機能や「会話の履歴(ON/OFF可能)」機能も追加されまして、
いよいよ、そのままmiiboチャットを社内展開に使えるな!(社員メール等を個別にログインさせなくても!)と思いまして。
でも、社員の誰の利用なのか?は把握しておきたいなぁと思い、
”初回のチャットで名前を覚える→次回以降のチャットではその名前を使う”実装を行いたいと思いまして、
そういえば、miiboにはユーザーIDと、ステート機能があるから、それで紐づけできそうだなと試していたのです。

実装できた機能

  • 動作の様子
    OK.gif
  • miiboでの設定
[AIによる応答の設定] - [プロンプトエディタ] シナリオ「1. あなたのお名前は?」 シナリオ「2. お名前存じています」
OK1-1.png OK1-2.png OK1-3.png
ユーザーが名前を回答したら、その名前を記録し、確認のためにユーザーに再度尋ねてください。
1. ユーザーが名前を回答したら、その名前をステートに記録してください。
キー名は「onamae」です。
2. 記録が完了したら、ユーザーに「#{onamae}さんでよろしいですか?」と尋ねてください。
(トリガー)条件: 会話の開始と同時に発動

エージェントの発話後に保持するステートの名前: onamae
(トリガー)条件:「シナリオ会話をする」のステート(onamae)が存在する場合

エージェントの発話後に保持するステートの名前: history

このように、

  • [AIによる応答の設定] - [プロンプトエディタ]
  • シナリオ「1. あなたのお名前は?」
  • シナリオ「2. お名前存じています」

この3つを設定しないと実現できませんでした。

(追記:2024.12.2)
AIからの返答の度「〇〇さん、こんにちは」から始まってしまったので、、次のように変更。

  • [シナリオ対話の作成] - シナリオ「2. お名前存じています」の
    ”このノードでのエージェントの発話”は「@{auto_response}」だけにした。
  • [エージェントの設定] - [固定の応答文言の設定]の
    「チャット画面起動時の文言 (※1行に1つの表現を記入)」に、
    ”#{onamae}さん、こんにちは”を追記。
    (こうしておけば口調の設定も含めて「〇〇さん」になります。)

2024.11.30現在、miiboのシナリオ機能では次の動作でした。

  • トリガーとして「次のステートが存在しない場合」が機能しない。
    • ▶回避策として「(トリガー)条件: 会話の開始と同時に発動」と「(トリガー)条件:「シナリオ会話をする」のステートが存在する場合」で動作条件を分けたシナリオを2つ作った。
  • シナリオのノード内に書いたプロンプトに反応しない。
  • シナリオのノード内の「エージェントの発話後に保持するステートの名前」が機能しない。
    • ▶回避策として[AIによる応答の設定] - [プロンプトエディタ]にステートを記憶するように指示するようにした。

試行錯誤

当初は、これらマニュアルの情報から、シナリオに「(トリガー)条件: 「onamae」のステートが存在しない場合」や、名前の予約語である「(トリガー)条件: 「username」のステートが存在しない場合」等を設定すれば簡単に実装できると思っていたのです。。

NG1:名前のステートを記憶してくれない。。

NG1.gif
NG1.png

NG2:予約された名前のステートusernameの初期値「あなた」を上書きしてくれない。。

NG2.gif
NG2.png

しかし、どうやら現状は、注釈に書いたような仕様(?)であるらしく、
現時点としては、冒頭に掲載した設定以外には、今回の動作を実現する方法はない様子でした。

この実装までに結構時間と労力を使ったので、、
他にこの機能を実装したい方がおられましたら、ご参考ください。

・・・そしてmiiboは応援しているので!たぶんこの不具合(?)の解消を期待します!

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?