Generative AI を活用した学修

まとめ

選択肢

無料の範囲で利用できる選択肢を示す(2025年9月現在)。

ChatGPT (OpenAI)

質問者のレベルに合わせてくれる。事前に伝えた条件を 継承して回答をくれる。

Perplexity (PerplexityAI)

答の提示に参考にできる情報源サイトのリンクをつけてくれる。 これによりレポート作成時など情報の検証が可能になる(レポート作成には おすすめ)。

Gemini (Google) ★これを使用★

大体レベルに合わせてくれる。「ノートブック」を用いると 前提知識を絞った上でAI学習なしの利用ができる。 無料での制限がゆるく、画像も生成してくれる。

Claude(Anthropic)

自然言語の理解に強いとされている。 高度なプログラミングでの利用も可能だが無料版で利用できる 範囲はほとんどない。

Copilot (Microsoft)

質問者のレベルを超えてどんどん引き上げようとする。 無料版での質問回数が少ない。

この時間は無料枠が大きく、質問内容がAIトレーニングに使われず 情報流出が少ないと見込めるGemini Notebookで例示する。 Gemini Notebookではこちらから資料を与えると、その前提範囲内での 回答(解答)を示してくれるため、学習範囲が発散せず初学者が利用しやすい。 サイトごとに、無料枠での制限や、 質問の向き不向きがあるので併用するとよい。

Gemini Notebookの利用準備

資料を与え、基礎プログラミング学習に適した環境を作る方法を示す。

  1. あらかじめ教材資料の のファイルを ~/Ruby/ ディレクトリに保存しておく(あとで Geminiノートブックにこれらをアップロードする)。
  2. Geminiを開き Googleアカウントでログインする。
  3. 左側メニューから「+ノートブックを新規作成」を選択
  4. 初回利用時は利用紹介が出るが「手続きを開始」でスキップする
  5. 選択肢が2つ出る: 1=アイデアを整理する 2=勉強や学習に取り組む ここは勉強の方ではなく「1」の「アイデアを整理する」を選ぶ(デフォルト がこちらなのでそのままでよい)
  6. 「何に取り組んでいますか」の入力枠に
    「基礎プログラミングIIの学習」と入れる
  7. タイトルの右にある【ソースを追加】ボタンを押し保存した 3つのファイルを登録する(Ctrlクリックで3つ同時に入る)。
  8. (+ Geminiに相談)の入力枠に
         はじめまして、○○です。
         これから出された課題の相談をします。
         いくつか質問をしますがすぐ答を出さずにヒントと
         テキストのどこを見ればよいかなどを教えてください。
         詳しくは、資料のmemo.mdにこのやり取りでお願いしたいことを書きました。
    と入れる。最初の「○○」の部分は偽名を入れる。
  9. その後は課題の質問などを入れる。

使用の流れ

正しく、自分にとって有用な答を得るには仕組みを知って工夫する必要がある。 大前提として、

(生成AI(GAI)はどれも)たとえ間違っていることでも堂々と示してくる

ことに注意する。それを踏まえた上で、以下の流れで質問を組み立てるとよい。

  1. 自分の前提知識レベルを示す。
  2. 得たい答が少なくなるように条件を多めに示した質問文を書く。
  3. 答が思ったより巨大なときは質問文を編集し直して「○○は 要りません」などと条件を追加する。
  4. 出てきた答からより厳密な専門用語を引き出してそれを含む質問文を書く。
  5. 提示されたプログラムは保存してすぐ実行し、エラーがでたら そのエラーメッセージをもれなく伝えて意味と直し方を教えてもらう。

GAI活用学習課題作成の注意■厳守!!■

本講ではGAIを利用して事前学習などを行う課題を出す予定である。 その場合の提出方法を以下に示す。利用するGAIは基本的にGemini Notebook とするが、使い慣れているものがあればそれでよい。ただし、 無料のものとする。

条件1 - 課題1つにつき1つのチャットを新規作成する

GAIは文脈に応じた回答をしてくるので課題のたびに1つチャットを作る。 Gemini(アプリ)ノートブックの場合はチャットをグループ化できるので 整理してチャットを利用する。

条件2 - 先頭の会話に毎回同じ出席番号(偽物)と名前(偽名)を入れる

※注意※この前提はこの課題提出のみの採点しやすくするための 設定であり普段は必須ではない。

他者と区別がつくように、自分ででたらめな出席番号と名前を考えて、 毎回同じものを入れる。本物の個人情報は入れない。

出席番号uso800の「弥栄のシンゴ」です、Rubyの勉強を始めました!

条件3 - 本当に聞きたい質問前に前提知識を入れる

最初に「Rubyの前提知識」を入れる。 専門的な答が来がちなので初心者であることを強調するとよい。

条件4 - うまく行ったチャット集を共有して提出

途中脱線したり、難しくなりすぎてわからなくなることがあるので、 前提知識をうまく与えて理解する説明を引き出す。うまくいったものを、 「エクスポート」や「共有」を用いて提出する。

提出チャットの作成は、以下のように行う(Geminiアプリの場合)。

条件5 - 答が正しいことを確認したものを示す

※参考文献の記載は正確にすること。

Gemini Notebookやり取りのコツ

Geminiに限らず生成AIは質問文入力中にEnterを押すとすぐ問い合わせを 送ってしまうので、書きかけの場合イライラする。このような場合 作成中のRubyプログラムをEmacsで開きながらそこに質問文を書き込んで コピーペーストで生成AIプロンプトに送るのが効率的である。

手順は以下のとおり。

  1. Emacsで適当な名前で ~/Ruby/SomeProgram.rb を開き、まず以下の内容をコピーする。
    #!/usr/bin/env ruby
    # -*- coding: utf-8 -*-
    =begin
    # ここに質問文を書く
    =end
    # ここに作成プログラムを書く
    
  2. 続けて課題プログラムを=endの次の行から書き、 正しく動作するように修正していく
  3. しばらく試行錯誤した結果生成AIに聞きたくなったことを =begin と =endの間に書き込む
    例:
    #!/usr/bin/env ruby
    # -*- coding: utf-8 -*-
    =begin
    こんなふうに作りましたがエラーがでました。
    =end
    x = gets
    if x > 60
      print 合格です!
    end
    
  4. Emacsでプログラム全体をコピーして生成AIのプロンプトに送り込む。

=begin と =end はRubyの 複数行コメントの構文で、間に挟まれたところには何を書いてもよく、 Gemini等でもそう判断して一つのコメントとプログラムをセットとみなして 対応してくれる。

GAI利用練習課題

上記の条件を守りつつ、以下の項目から1つ選んで GAIから説明を引き出してみよ。必ず最初に偽名とRuby学習中であることを入れ る。

  1. gets, chomp, to_i の正しい意味
  2. printf の %s %d %x の使い方
  3. CSVファイルとはどういうものか
  4. CSVライブラリによるCSV.readの使い方
  5. ハッシュってどういう風に書くのですか
  6. ハッシュはどうやって使いますか

なお、上記の質問をGAIにいきなり入れてもいい答が来ない。 自分の前提知識を示す文を事前に入れることが重要である。


本日の目次へ