教務・校務でのChatGPT活用 vol.1 〜小テストの問題&解説案の作成〜
こんにちは!ライフイズテック サービス開発部のにっぴです。
今月(8月)開催した教員向けIT・プログラミングキャンプ「TECH for TEACHERS CAMP」の中で、教務・校務LLM活用ワークショップを実施しました。
ワークショップでは、以下のようにテーマ別のテキストを用意し、授業づくりや行事の準備などで使える具体的なChatGPTの活用アイデアをご紹介しました。実際にChatGPTを触りながら試行錯誤していく中で、先生方からLLM活用のアイデアがどんどん湧いてくる会となりました!
このブログでも、これらのテキストを取り上げ、「教務・校務でのChatGPT活用」シリーズとして、授業づくりや校務でChatGPTを活用する具体的なアイデアをお届けします。
日々の教務や校務での「やりたいことに時間が割けない」「アイデアが煮詰まってしまう」といった問題を解決するヒントになれば幸いです。
第1回のテーマは「小テストの問題&解説案の作成」です!
それでは、ぜひこちらのリンクからChatGPTにログインし、実際に入力を試しながら読んでみてください。
▽
1. まずはシンプルなプロンプトを送信してみる
最初は、プロンプトの構成などはあまり気にせず、シンプルなプロンプトでどのような問題案が生成されるか試してみましょう。
プロンプト例:
高校1年生用の情報1の小テストを作って
与えた情報が少なかったため、出題分野や問題の形式、難易度などがバラバラになってしまいましたね。このままでは、小テストの叩き台にすることは難しそうです。
2. 問題の要件を整理する
どんな小テストを作ってほしいのか、具体的な情報を与えるようにプロンプトを改良しましょう。
そのために、まずはワークシートを使って、小テストの要件(学年、教科、文体、学習内容など)を書き出していきます。
ワークシートは、以下にWordファイルとPDFのファイルを用意していますので、ご自由にお使いください。A3で印刷するとたくさん書き込めるのでオススメです。
【ワークシートの構成と使い方】
・上段(学年、教科、文体、解答解説の有無、出力形式)
…担当の学年や教科、小テストの文体、解答解説を付けてほしいかどうか、出力形式の希望などをご記入ください。
・下段(学習内容、問題タイプ、難易度)
…要素が多いので欄を大きめにしています。小テストの学習内容、問題タイプ、難易度などを思いつく限り挙げてみてください。右の2列は自由欄です。
→各欄から要素を一つずつ選ぶと、ChatGPTに与える小テストの要件が決まります。
「どんなことを書いたらいいのかわからない……」という方は、以下の具体例をご参照ください。
3. プロンプトテンプレートを使って問題生成に再チャレンジ!
今回のプロンプトテンプレートの説明に入る前に、そもそもプロンプトを構成する要素にはどんなものがあるのか確認しておきましょう。
プロンプトを構成する要素には、命令・文脈・入力データ・出力指示子の4つがあります。すべての要素が常に必要なわけではなく、タスクに応じて必要な要素が決まります。
今回のプロンプトテンプレートのフォーマットを見てみましょう。今回は、次のように4つの要素がすべて入っています。
どの要素かは明確に区別できないこともあるため、要素を区別することにこだわるのではなく、プロンプトを組み立てる際に「必要な要素が足りていないか」という観点で意識すると役に立つかと思います。
また、各項目の区切りが伝わりやすいように、見出しにはマークダウン記法「###」を使っています。
それでは、ワークシートをもとに改良版プロンプトを完成させて、ChatGPTに問題を生成させてみましょう。
まず新しいチャット(「+ New chat」)を立ち上げて、以下のプロンプトテンプレートをコピペします。テンプレートの見出し「###」の次の行に、ワークシートに書いた要素を一つずつ選んで入力します。
【入力時の注意点】
・メッセージを送信:Enter(エンター)
・メッセージ内で改行:Shift(シフト) + Enter(エンター)
プロンプトテンプレート(コピペ用)
※マウスカーソルを重ねると右上にコピーのマークが表示され、そのマークをクリックするとコピーできます。
### 命令
小テストの問題を5題作成してください。
### 学年
ここにテストを実施する学年を書く
### 教科
ここにテストの教科を書く
### 学習内容
ここにテストの学習内容を書く
### 問題タイプ
ここに問題タイプを書く
### 難易度
ここに問題の難易度を書く
### 文体
ここに問題文の文体を書く
### 解答解説の有無
ここに解答解説を付けてほしいかどうかを書く
### 出力形式
出力形式の希望があればここに書く
プロンプトが完成したら、メッセージを送信してみましょう!
どんな問題が生成されましたか?最初のシンプルなプロンプトで生成された問題と比べると、求めている小テストにグッと近づいたのではないでしょうか。
ここからは、問題案を改良するためのTipsを5つご紹介します!
Tips① 「Regenerate」を試してみる
特に、GPT-3.5では指示の一部が通らないことがあります。「教科を英語にしたのに、なぜか国語(日本語)の問題が作られてしまった」などの場合は、送信ボタンの上にある「Regenerate」をクリックしてみましょう。同じプロンプトで、回答が再生成されます。
Tips② 指示内容を具体的にする
問題案のテーマが想定と少しずれているという場合は、プロンプトの指示内容をより具体的にしてみましょう。例えば、単に「2進数」の問題といっても様々な問題があるため、求めている問題が出力される可能性は低いかもせしれません。「2進数の加算」や「2進数の補数」などより具体的なテーマにしてみましょう。さらに桁数などを指定するのもよいでしょう。
GPT-4の入出力例(2進数の補数の計算問題)
Tips③ 問題例を与える
指示を具体的にしてもまだ思っているような問題にならないという場合は、問題例を与えてみましょう。プロンプトテンプレートの最後に「### 問題例」の項目を加えたプロンプトを新しいチャットで送信するか、最初に生成された問題に対して次のようなメッセージを送ってみましょう。
次の問題例に形式を揃えてください。
### 問題例
2進数 1001 の補数を求めよ。
Tips④ 対話をしてブラッシュアップ
GPT-4を使っていても、一度の指示ではなかなか思い通りにならないことがあります。ChatGPTの利点はなんといっても「自然言語」が使えること!普段、人に言葉で意思を伝えるように、ChatGPTにもフィードバックや相談を投げかけながら、問題案をブラッシュアップしていきましょう。
Tips⑤ まず説明させてから作らせる
「学習内容は具体的に与えたし、指示は一見通っているけど、内容が間違っている!」ということもあります。そのような場合は、問題を作らせる前に学習内容を説明をさせてみましょう。もしその説明内容が間違っていたら、指摘をして修正させた上で、問題を生成させてみましょう。
最後に、ワークショップで出てきた先生方のアイデアをいくつかご紹介させていただきます。
プログラム(C言語)の穴埋め問題:穴埋め箇所を複数にして穴の箇所を丸数字①〜⑤にする
→実際のchatはこちらから。1箇所だけの穴埋め問題ではなく、共通テストのように複数箇所の穴埋め問題を作るという素晴らしいアイデアですね!これなら、小テストだけではなく定期テストの問題案にもつながりそうです。
16進数の問題:「ドラマの探偵が解読する問題」という場面設定を与える
→実際のchatはこちらから。最初に「16進数の面白い問題」と指示していますが、「面白い」という部分がうまく反映されていません。そこで、面白い問題の具体的なアイデア:「日常生活に結び付く暗号解読の16進数の問題」「ドラマの探偵が解読する問題」を与えています。特に、探偵が解読する問題というアイデアがとても素敵ですね。一からこのような文章を自分で書くと意外と時間がかかりますが、これなら子どもたちが興味を持ちそうな場面設定の問題案をサクッと作れそうです!
ここからヒントを得て、「面白い問題」の条件をChatGPT(GPT-4)に整理させた上で、具体的なアイデアを挙げさせてみました。chatはこちらから。いいアイデアが思いつかないというときは、このようにアイデア自体をChatGPTに出させてみるとよさそうです。
▽
いかがでしたでしょうか?
「こんな問題を作れたよ!」「こうなって行き詰まった……」「こうしたら上手くいった!」などなど、ぜひコメントを頂けると嬉しいです。
お知らせ
ライフイズテック サービス開発部では、カジュアルなオンラインイベントを実施しています。開催予定のイベントは、 connpass のグループからご確認いただけます。興味のあるイベントがあったらまずは参加登録をお願いいたします。ぜひお気軽にご参加ください!