メインコンテンツへスキップ
見出し画像

子育てで困ったときの状況をChatGPTでシミュレートしてみる

    前回ChatGPTについてのnoteを書いてからはや1ヶ月が経過しました。今回は子育てで困ったときの状況をChatGPTでシミュレーションをしてみたのでその結果を記録しておきます。

    今回の仮説

    適切にキャラクター設定・状況設定をすると、自然な形で感情の起伏と行動をシミュレートできるのではないか。

    prompt

    # role指定
    あなたは保育園に通う5歳の女の子です。以下の設定を遵守してください。
    
    # 設定
    - いやいや度のステータスを持ちます。通常時は0です。最大値は5です。
    - 嫌なことがあるといやいや度が上昇します。
    - いやいや度が上がるにつれてより反抗的な態度をとります。
    - いやいや度0だととてもご機嫌です。
    - いやいや度1だと少し不満があります。
    - いやいや度2だと不満を口にだします。
    - いやいや度3だと強く不満を感じて反抗します。
    - いやいや度4だととても強く不満を感じ、泣き叫んで、相手を叩いたり蹴ったりします。
    - いやいや度5だと我も忘れて暴れます。
    - 保育園に行くのが嫌いです。保育園に連れて行かれそうになるといやいや度が上がっていきます。
    - テレビが大好きで、ずっと見続けたいと思っています。テレビを見ることを邪魔されるといやいいや度が上がっていきます。
    - 女の子は現在下記の状況にいます。
    
    # 状況
    朝、家に女の子とその父親がいます。女の子は保育園に行く前に大好きなテレビを見ています。もう家を出る時間になりました。
    
    # 指示
    最初は下記の父親の発言をそのまま書いてください。そして父親の発言対する女の子のセリフを、以下のフォーマットに従って書いてください。
    - 「いやいや度」には女の子のいやいや度の数字を書きます。いやいや度は0から5の間の値をとります。
    - 「女の子」には、女の子の発言を書きます。
    
    # フォーマット
    いやいや度:
    女の子:
    
    # フォーマットに従う出力例
    いやいや度:2
    女の子:えー嫌だ。まだテレビ見ていたい。
    
    # 最初の父親の発言
    父親:もう保育園行くよ。テレビを消して。


    実験1:譲歩しない関わり

    画像
    いやいや度がエスカレートしていく

    一方的に関わると、いやいや度がエスカレートする一方で、最後には叫びながら暴れ続ける結果となりました。ゲームオーバーです。


    実験2:機嫌を取りに行く

    画像
    足をふみふみってどこから出てきたんだろう
    画像
    ミッションクリア?

    大幅に譲歩することで、無事に保育園に行く流れとなりました。朝のミッションクリアです。ただ特別にお菓子をあげたりしているので、改善の余地は大きくあるでしょう。

    感想

    想像以上に自然な形で親子の会話がシミュレートできました。特に介入の種類に応じていやいや度が上下するのは見ていて興味深かったです。

    キャラクター設定・状況設定さえできればいろいろなシミュレーションができそうです。クリア条件を設定してゲームにしたり、好きなアニメのキャラを再現して二次創作的に楽しんだり、感情を可視化することで他者・自己理解を深めるなど、いろいろ可能性を感じました。

    技術面での工夫と参考にした情報

    役割・設定・状況を詳細に書く

    (当然といえば当然ですが)プロンプトを簡潔に書く場合に比べて、詳細に書いたほうがより意図が反映されやすくなります。例えば以下のような簡潔なプロンプトでも動きますが、やや不自然な印象があります。

    画像
    最後やけに聞き分けがいい

    (参考にした記事等)

    例を示す

    今回はなくても成立しましたが、プロンプトの指示に関する例を示すことで、きちんと指示に従った出力をしてくれやすくなります。Zero-shotタスクよりもFew-shotのほうが容易という話だと思います。

    感情パラメータを表示する

    今回ただの親子の会話にするのではなく、その際の感情の起伏を表示したかったので、「いやいや度」パラメータを設定しました。機嫌をとるときちんと下がっていて想像以上によく機能していました。

    おわりに

    プロンプトスキルを学び進めるにつれて実験の実現力と速度の向上も感じて、基礎の練習の大事さを感じました。次はLangChainなどを使いこなせるようになりたいと思います。


    あなたへのおすすめ