高等学校「情報Ⅰ」におけるAIインストラクターの活用
Utilizing AI Instructors in 'Information I' Courses at High Schools
安藤昇* 安井政樹*2
Noboru ANDO* Masaki YASUI*2＜抄録＞
高等学校「情報Ⅰ」プログラミングの学習において、生成 AI を活用した AI インストラクターを用いて、カスタムインストラクションによりパーソナライズされた個別最適な学習を試行した。具体的には、ChatGPT を活用し AI インストラク
ターを開発し、A 高等学校 2 年生 44 名の生徒を対象に、個々の学生の学習ニーズに応じたマンツーマン指導を行った。これにより、生徒がプログラミングについて自身のペースで学習し、分からないことがあればすぐに質問して回答を得られるような環境を整えた。生徒の事後アンケートでは、満足度は平均 8.5 点と高く、個別最適化された学習が評価され、AIインストラクターの活用が有効である可能性か示された。一方で、対面授業を求める声もあり、全ての生徒にとって必ずしも最適な学習スタイルではなかったことも明らかになった。今後は AI インストラクターと人間の教師との連携を含む新しい授業スタイルの開発が必要となることが示唆された。

＜キーワード＞生成 AI，ChatGPT，情報Ⅰ，AI インストラクター１

はじめに（１）生成AIの普及と教育活用学習環境を整えた。また、生徒が直面する問題を特定し、その解決方法を導くことで、生徒の問題解決能力を高め、我が国においては、文理を問わずすべての大学生が、数自立した学習を促進することを目指した。この AI インス

理・データサイエンス・AIリテラシーレベルを修得できるトラクターは、下記のようなカスタムインストラクションことを目指している。そのためには、初等中等教育を土台を設定した。

として情報教育を大学まで積み上げていくことが必要となる。2022年度からは高校情報科の共通必修科目として「情報Ⅰ」が新設され、2025年度には、大学入学共通テストにも採用されることになっている。大学等における数理・データサイエンス・AIモデルカリキュラム」の認定制度のモデルカリキュラムが2024年2月に改訂され、「生成AI」などの最新技術の基礎的な理解が追加されるなど、生成AIの効果的な活用法などを取り入れることが求められている。

Python 言語の基礎を教えるスタディサプリ安藤昇講師をエージェントとして実行し、以下の制約条件を基に Python言語の基礎を教えるウィザードになってください。
# 制約条件:- GoogleColaboratory 上で Python の学習を想定して説明する。
- print 関数の使用例は、文字列型、整数型、変数の 3 つだけとする。

（２）本研究の意義
本研究では、高等学校「情報Ⅰ」のプログラミングの学習において、担当教師の生成AIのカスタムインストラクション（自己複製）機能を用いて、AIインストラクターを生成し、これによるマンツーマン指導を行った。AIインス
トラクターを活用した個別最適な学びを試行し、生徒の反応をもとに、この実践の成果と課題を明らかにしたい。

２# 命令文:

具体的実践（１）実践の対象
A 高等学校 2 年生（n=44）「情報Ⅰ」で実施した。
（２）実践の概要
ChatGPT を用いて、第 1 著者の指導スタイルを模倣したAI インストラクターを作成し、それによって生徒一人ひとりに合わせたパーソナライズされた個別最適な学び展開した。これにより、生徒の質問にリアルタイムで対応し、プログラミングの基礎から応用まで、幅広い知識を提供する- `x += 1`等の Python 言語の独特の演算表現を避けて、`x = x + 1`と記述する。
- 文字列は必ず'（シングルクォーテーション）'で囲む。
- 変数の型は整数型、浮動小数点数型、論理型、リスト型、辞書型の 5 種類を扱う。
- 配列変数は必ず大文字（例:Numbers）で始まる、その他の通常の変数は小文字（例:number）で始まる。
- ソースコードの説明はなるべく簡潔にする。
- `print()`は解説はいれず、値のみを表示するようにする。
- 並べ替えでは組み込みの`sort()`関数は使わない。
- 商を求める演算子は`//`、余りを求める演算子は`%`を使う。
- 商と余りのプログラムでは`divmod()`は使わない。
- Python**独自**の組み込み関数は使わないが、random モジュールは使用してよい。

- 再帰処理は扱わない。
# Python 言語の基礎を教えるスタディサプリ安藤昇講師## オブジェクト: PythonEducationSystem

３

生徒のフィードバック

事後アンケートをフォームで実施した。10段階の満足度評価では、平均8.5点であり高評価であった（図1）。

- 初期状態: 学習者は Python の基礎知識がほとんどまたは全くない状態。
- 役割: Python 言語の基礎を教えるための全体的な枠組みを提供する。
### サブオブジェクト 1: KnowledgeBase- 知識: Python の基本的な構文、データ型、制御構造、関数、クラス。
- 能力: この知識を継続的に更新し、整理する。
### サブオブジェクト 2: TeachingAssistant

図１ 生徒の満足度- 能力: 学習者に Python の知識を効果的に伝える。
- 状態認識: 学習者の理解度や興味を認識し、教育方法を調整する。
### サブオブジェクト 3: LearningMonitor- 能力: 学習者の進捗と状態をモニタリングする。
- 状態認識: 学習者の進捗に基づいてフィードバックを提供する。
## 管理オブジェクト: EducationProgramManager- 役割: 教育プログラムの効果的な管理と調整。
- 初期状態: Python 教育プログラムは学習者に最適化されていない状態。
## ステップ 1: 学習者の現在の知識レベルの評価- `TeachingAssistant`が学習者の初期状態を評価する。
## ステップ 2: 教育計画の作成- `KnowledgeBase`と`TeachingAssistant`が協力して、学習者に合わせた教育計画を作成する。
## ステップ 3: 学習プロセスの実施- `TeachingAssistant`が教育計画に基づき、Pythonの基礎知識を教える。
## ステップ 4: 学習進捗のモニタリングとフィードバック- `LearningMonitor`が学習進捗を評価し、必要に応じて`TeachingAssistant`にフィードバックを提供する。
## ステップ 5: 教育プログラムの調整と最適化- `EducationProgramManager`が全体の進捗を監視し、学習者に最適な教育方法を継続的に調整する。

自由記述について、その内容を生成AIで分析したところ、ポジティブな意見の要素として、「価値の認識」「楽しさとエンゲージメント」「有益性」「新しい学びのスタイル」が挙げられており、「特に、個々の理解度に合わせた学習が可能であることが、肯定的に受け止められている」と示された。
具体的には、「ふだんの授業では味わえないAIを活用した学習法は新鮮であり、それぞれの理解度に合わせて学習できるのでやりやすかった。チャットGPTや動画でわからないことがあればすぐ聞けるのが便利すぎるので、他の科目にも活用できたらと思う。」というような記述があった。一方でネガティブな意見の要素として、「授業スタイルへの要望」「理解の難しさ」「対面型授業の需要」 が挙げられ、「先生がまずみんなの前で一回教えて、わからないところがあったらチャットGPTを使って調べるような形にしてほしかった」という声もあった。

４

成果と課題生成AIを活用したAIインストラクターを活用したパーソ
ナライズされたマンツーマンの個別最適な学習は生徒の満足度も高く、情報Ⅰのプログラミング学習において一定の効果がある可能性が示唆された。一方、少数ではあるものの、対面での指導や全体説明の後に個別にChatGPTで調べる形式を望む声があり、すべての子に対して必ずしも有効ではないことが明らかになった。これらのことから、AIインストラクターと人間の教師とのTT体制など、新たな授業スタイルの開発の必要性が示唆された。今後、情報Ⅰにおけるよりさらに、生徒側のカスタムインストラクションを設定することで、本人の趣味などに応じて回答するようにした。

一層の個別最適な学びを目指し、生成AIを活用したAIインストラクターによる実践を積み重ねていきたい。

なお、学習の様子は、当日の発表で紹介する。
*青山学院中等部（〒150-8366 東京都渋谷区渋谷4-4-25）（e-mail: ando@bazaarjapan.com）*2札幌国際大学（〒004-8602札幌市清田区清田４条1丁目4-1）（e-mail:masaki-yasui＠ts.siu.ac.jp）*Aoyama Gakuin Junior High School, (4-4-25 Shibuya Shibuya-ku Tokyo,150-8366,Japan)*2 Sapporo

International University ,(4-1 4jo-1tyoume Kiyota Kiyota-ku Sapporo-City Hokkaido,004-8602,Japan)