ChatGPT、Geminiなど、生成AIが話題です。企業では生成AIの活用について前向きに捉えており、どのように活用するかを試行錯誤している状況です。また、行政機関も生成AIの活用を推進しています。多忙な専門学校の業務においても、生成AIを活用することで業務効率を飛躍的に向上できる可能性があります。
この記事では、情報系の先生は生成AIを業務でどのように活用できるのか、また学生が生成AIを活用する際の注意点などを解説します。
目次
生成AIの基本
機械学習の用語で、「Garbage In, Garbage Out」という言葉を聞いたことはあるでしょうか。「ゴミを入れたら、ゴミが出てくる」、つまり質の悪い元データからは質の悪いものしか生まれない、という意味です。
前提条件、背景、質問などを適切な文書で記述することで、生成AIから望ましい回答を得ることを「プロンプトエンジニアリング」といいます。生成AIには、適切でかつ詳細な情報を与えることで質の高い回答を得ることができるのです。
業務における生成AIの活用
具体的な生成AI活用方法としては、次のようなものがあります。
1.課題やテストの作成
2.学生が提出した課題の添削
3.文字起こし など
過去に作成した問題を生成AIでアレンジしたり、あらかじめ課題の解答を生成AIに与えたうえで、学生の提出した課題の添削をしたり、授業で利用するテキストや手書きの文字を生成AIに与えて、テキストデータを取り出したりすることもできるでしょう。
生成AI活用の恩恵を学校全体で得るために、プロンプトの共有をお勧めします。実際に生成AIに投入したプロンプトとその結果を先生同士で共有することで、できることの幅が大きく広がります。上手くいったプロンプトだけでなく、失敗したプロンプトも共有することがポイントです。
生成AIで課題を作成する際のプロンプトの例
実際に生成AIを使って課題を作成してみましょう。以下のようにプロンプトを入力します。
あなたはIT系の専門学校の教員です。Javaでfor文を利用する課題を作成して。コードには日本語でコメントをつけて。サンプルコードも提案して。サンプルコードのファイル形式は.java形式で生成して。
実行すると、以下のような課題とJavaのコードが生成されます。
課題:
1から100までの整数を順番に出力し、各数が偶数か奇数かを判定するプログラムを作成しなさい。
要件:
・for文を使用して、1から100までの整数をループさせること。
・各数を出力する際に、その数が偶数か奇数かを判定し、結果を表示すること。
・偶数の場合は「- 偶数」、奇数の場合は「- 奇数」と出力すること。
// 課題: for文を使用して1から100までの数を出力し、各数が偶数か奇数かを判定するプログラムを作成しなさい。
public class ForLoopTask {
public static void main(String[] args) {
// 1から100までの数を順番に出力するためのfor文
for (int i = 1; i <= 100; i++) {
// 数値iを出力
System.out.print(i);
// 偶数か奇数かを判定
if (i % 2 == 0) {
// iが偶数の場合
System.out.println(" - 偶数");
} else {
// iが奇数の場合
System.out.println(" - 奇数");
}
}
}
}
プロンプトには前提条件、依頼したい内容、出力形式を指定します。
前提条件は、生成AIがどのように振る舞うかを理解するために必要な情報です。ここでは「あなたはIT系の専門学校の教員です。」がこれにあたります。
依頼したい内容は具体的に指示をします。これは、人に依頼する時と同じです。
出力形式は、テキスト形式だけでなく、スプレッドシートやPowerPoint、PDFやjava、Pythonなど、様々な形式を指定することができます。
期待する結果が出力されるまで、やり取りを行います。例えば、生成された課題の難易度が希望よりも高かった場合は、
もっと簡単なfor文の課題と課題文を提案して。
のように入力します。すると、以下のような課題とコードが生成されます。
課題:
1から10までの整数を順番に出力するプログラムを作成しなさい。
要件:
・for文を使用して、1から10までの整数をループさせること。
・各数を出力すること。
// 課題: for文を使用して1から10までの数を順番に出力するプログラムを作成しなさい。
public class SimpleForLoop {
public static void main(String[] args) {
// 1から10までの数を順番に出力するためのfor文
for (int i = 1; i <= 10; i++) {
// 数値iを出力
System.out.println(i);
}
}
}
生成AIに投入するデータ形式
生成AIに対して、文書ファイルやスプレッドシート、画像ファイルや動画ファイルを与えることもできます。
授業で利用する教科書や学生の提出課題を生成AIに投入したり、ベテランの先生の授業の様子を動画でアップロードしたりすることもできるでしょう。希望の回答を導き出すために、プロンプトのほかに、様々な形式のデータを与えることも有効です。
学生の生成AI活用
今後は、学生の生成AI活用も間違いなく進んでいくでしょう。上手く使いこなせば学生の思考の幅を広げたり、新しい気付きを得ることができます。さらに、学生一人ではできなかったことが、生成AIを利用してできるようになる可能性もあります。
その反面、学生が課題を生成AIに投入して、生成AIの回答をそのまま自分の回答としてしまうという問題が発生する場合もあるでしょう。
教員は課題の出し方を工夫する必要がある
その対策として、教員側は課題の出し方そのものを変えていく必要があります。
例えば、課題を解決するのに生成AIに投入したプロンプトを提出物とする方法や、生成AIが出力した回答に、学生自身の視点や意見を付加させ、それを評価の対象にする方法も考えられます。生成AIが出力した回答をグループワークで議論し、情報の信頼性や妥当性について議論させる方法もお勧めです。
学生が生成AIを活用する際の大前提
学生が生成AIを活用する際に、注意してほしいことがあります。実際にあった例ですが、システム開発の授業で生成AIを活用してデータベース構造を構築した学生がいました。
ところが、生成AIが生成したSQL文を実行してもデータベースが生成されません。ざっとSQL文を読んでみても設計書通りのテーブル構造を生成するSQLになっていました。学生と一緒に悩んでいると以下の記述がありました。
SET autocommit = 0
このような事例から、生成AIを利用する際には、出力されるコードの意味が理解できていることが大前提となります。仮にわからない記述があれば、その記述について生成AIにどういう意味かを聞いて、理解したうえでコードを利用することが重要です。
検索エンジンと生成AIの使い分け
検索エンジンはキーワードのマッチングとインデックスのランキングに基づいて、インターネット上のデータから取得され、ユーザーにリンクや抜粋として提示されます。対して生成AIは、事前にトレーニングされたモデルに基づいて、ユーザーの入力に対する応答を生成します。
自身が知らない未知の事柄は検索エンジンでキーワード検索し、複数のページを読み比べて理解を深めるのが効率的です。自身が知っていることについて、深堀りして知りたい時には生成AIを使うのがおすすめです。
使い分けの判断基準は、回答が正しいか誤りかを自分で判断できるかどうか、になります(2024年7月時点)。つまり、調べ物は検索エンジン、相談は生成AIといった使い分けが有効です。
まとめ
生成AIの使い方やテクニックはこれからも変化していくでしょう。試行錯誤しながら生成AIを活用していくことになります。
この1年でもプロンプトの書き方自体かなり変化しました。今はどちらかといえば生成AIに寄せてプロンプトを記述していますが、将来的には、生成AIが人間に寄ってくるでしょう。今以上に生成AIは身近なものになっていくと考えられます。これからの生活に密接に関わってくる生成AIを今から積極的に活用して、これから起こる変化にも柔軟に対応できるようになることが重要です。
\ぜひ投票お願いします/
伊沢 剛
有限会社プチフール代表取締役
23年間、専門学校にてIT教育、学生募集に従事。その後独立。新人社員向けプログラミング研修、社会人向けDX,AI,クラウド研修、情報教育コンサルティング、DX推進支援に携わる。
Youtubeチャンネル:【IT・プログラミングLab】伊沢 剛