子どもたちと「しりとり」という言葉を使わずに、生成AIに「しりとり」を作ってもらうワークショップをやった
先日、親子を対象としたChatGPTワークショップを開催した。AI関連の話題はかなり浸透しているのか、募集期間が3週間ちょっとだったにも関わらず、定員を超える12組の親子が参加してくれてとてもありがたかった。
ChatGPTは利用規約によって13歳未満の子どもは使うことができないため、小学生がChatGPTを体験するには保護者の方の協力が必要不可欠なのである。
前提の共有:AI時代のプログラミング
このワークショップの目的は、ChatGPT を体験することというよりは、ChatGPT "だけ"を使って作品を作ることのおもしろさを体験してもらうことにあった。きっかけは、生成AI時代のプログラミング的思考について考えたことにある。
これまでは作りたいものを思いついても、プログラミング言語の習得が必要であり、そこにコストがかかっていた。だからプログラミングができる人は特別なスキルとして認められていたわけだ。だが、ChatGPT以後の世界(つまり今)では、やりたいことを思いついたら生成AIにやり方を聞いてコードを書いて貰えばいい。人間は出力されたコードをIDEに貼り付けて実行し、その結果作品を作ることができる。先日GOROmanさんがやっていたのがまさにその世界観だと思う。
そして、見るべきはさらにその先、つまり、作りたいものを思いついたら ChatGPT に完成像を定義して伝えるだけで作品ができあがる世界である。いまはChatGPTの中だけでできることには限りがあるが、Pluginなどが発達することによってこの世界観はすぐにやってくるだろう。
今回のワークショップは、その未来を先取りするためにデザインした。
「しりとり」という言葉を使わずに「しりとり」を作る
生成AIに自然言語で完成イメージを伝えるだけで作品が作れてしまう世界観において大切なことは、完成イメージをしっかりと持ちわかりやすく生成AIに伝える力である。完成系をモデル化して、仕様をはっきりさせる力。これは従来のプログラミングをするときにも求められていた力だけど、1プロンプトでずばっと伝えるためには、頭の中で考えたことをうまく言語化してやる必要がある。
今回は、その世界観を体験するために「しりとり」という言葉を使わずに「しりとり」を作るお題を子どもたちと一緒に取り組んだ。ポピュラーなゲームゆえにどのように子どもが定義していくか見るのにちょうどよいお題だと思う。
ちなみに、事前に僕が ChatGPT 3.5 でいろいろ試してうまくいったプロンプトがこれ。
GPT4だともっと適当にやってもしりとりをやってくれたけど、3.5だとこれくらい厳密に書かないとダメだった。単語を鉤括弧で囲ったりする工夫は必要だったけど、これでだいたいうまくいった。趣旨を子どもたちに伝えると、さっそく楽しそうに取り組み始めた。保護者の方と相談しながらいろいろと試していったようだ。いくつかのプロンプト例を紹介する。
事例① 対話の相手としての生成AI
これは小学3年生の子のプロンプト。
もうこの一連のやり取りだけでいくつもおもしろい発見がある。まず一点目に、この子が入力したわりとざっくりとしたプロンプトで ChatGPT が意図を汲み取っているのがすごい。
ChatGPT が初手で文章を生成したことで、それがフィードバックとなり「文章じゃなく単語だよ」と自分の指示を修正している。そこから会話が続いていくが、よくよく見てみるとしりとりとして成り立っていない部分がある。「銀行」に対して「クマ」と返していたり、Userが「プリン」と言ったのに終わりにならない。それに対して子どもは「てきとうなこというな」と ChatGPTを叱っている。さらに、先ほど教えたはずの「文章ではなく単語」というルールが破られて答えが返ってきたため「バカ」と罵っている。しかし、ChatGPTから嗜められると、次には「文章はだめですよ」と敬語で注意をしている。この対話から、子どもはAIを対話相手として十分認識している可能性が高いと考えられるだろう。
事例② 例示して説明する
彼の場合、このゲームのルールを「数は二人から無限大です。ルールは、例えばAさんがゴリラと言いました→Bさんはゴリラのラから始まる言葉を言ってどんどんつなげていってください。」と、例示しながら説明しているのがとても興味深い。やってほしいことを抽象化する力、それを具体例に落とし込んで説明する力、両方が必要なのだろう。
さらに、ChatGPTはその例示をきいて「しりとり」と当てているのがさらにおもしろい。でも、ChatGPTが自分で言ったルールから逸脱した回答を何度も生成しているので、子どもはだんだんイラついてきているのがわかる。「さっき言ったじゃん」や「いやいや、だめでしょ」など、まるで友達と会話しているかのように伝えているのが興味深い点だ。
事例③ 抽象化して論理的に説明しようとする子ども
これは中学生の子が書いたプロンプトである。彼女ははじめに次のように ChatGPT に告げた。
これである程度会話が進んでいったが、途中で ChatGPT が「ふわふわ」という言葉を言ってしまった。これを出したくなかった彼女は、次のようなプロンプトに書き換えた。
これで先ほどよりも強い制約を課すことができた。ChatGPTと繰り返し対話をしていくことで徐々にモデルを先鋭化させていくことができる。ただし、これはGPT3.5なので10ラリーくらい経ってしまうとルールから逸脱し始める。これは4.0にすれば解決する問題ではあるが、現時点ではこういったことも考慮しなければならない。
さらに、表現の工夫によって伝えたいことを伝えようと努力する。
漢字を使わせないようにあの手この手でわからせようとしている。最終的に「ややこしくなる」という「理由」を伝えて説得しようとしているのは興味深い。3-3から3-5にかけての試行錯誤は、自然言語ならではの特徴だろう。
事例④ 規則性をAIに読み取らせる
個人的に一番おもしろかったのが彼のプロンプトだ。
ゲームをするとか勝ち負け判定とか一切せずに、まずは規則性を読み取らせようとする発想には驚かされた。この短い文章の中から規則性を読みとるChatGPTもすごい。
わかってきたこと
子どもたちと「しりとり」という言葉を使わずに「しりとり」を作るワークショップをやって気づいたことがいくつかある。
まず、ChatGPTと対話を繰り返すなかで適切なプロンプトを作り出そうとすしていた。子どもは伝えたことは伝わると思っている。言葉に書いたことは伝わったはずだ、という思い込みは、ChatGPTから返ってきたフィードバックによってすぐに確認することができる。しかし、なにが原因なのかはプログラミング言語以上にわかりづらい。自然言語による指示は厳密性に欠けるため、どこを修正していいかがわかりづらいのだと思う。
一方で、自然言語であるがゆえに試行錯誤がたくさん発生しているのも素晴らしい点だろう。初見の環境でいろいろと tinkering ができるのは自然言語ならではの体験だ。
自然言語による指示に厳密性を求め始めると、結局プロンプトエンジニアリング的なことが必要になるのか、と言う話になりそうだが、個人的にはそうではなくて、対話の中で見つけていけばいいだけの話なような気はする。ChatGPTと対話をしながら適切なプロンプトを作り上げていくこと自体が想像的な活動であり、そこに歓びを見出すことができるような気はする。なかなかうまくいかなかったことが、試行錯誤・創意工夫を重ねた結果できるようになった。これこそ創造的な学びの歓びである。
今後の展望としては、このChatGPTだけでやることに少しこだわってみたい。子どもがどういった対話を行なっていくか。そして、そのときChatGPTとどのような関係を作り、現実世界の人間がどのように関わっていくか。今度は子ども同士2人で1台にして、やりとりを観察してみたい。
宮島衣瑛です!これからの活度のご支援をいただけると嬉しいです!