若手教員が書いた学習指導案を学校の指導の重点と過去の助言に照らして点検し、教頭・指導教員が渡すコメントの下書きを作る
若手教員が Google ドキュメントで書いた学習指導案を、学校の指導の重点・様式の決まり・前回までの助言に照らして点検し、教頭や指導教員が渡すコメントの下書きを作ります。指導教員は下書きを直して、自分の言葉で返します。
- 生成AI
- Azure OpenAI Service/ChatGPT/Claude
- 連携・自動化
- Google Apps Script/Python
- 対象業界
- 教育/自治体
- 対象部門
- 人事
- 対象業務
- 内容確認・チェック/書類作成
- 主な課題
- 人手が足りない/属人化している/書類作成に時間がかかる
- AIで行う処理
- 校正
- 主な効果
- 属人化解消/工数削減/教育コスト削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 若手教員が、学校の様式の Google ドキュメントで指導案を書く
- 指導教員にドキュメントを共有し、授業の1週間前までに見てもらうよう頼む
- 指導教員が全体を読み、単元の目標・本時の目標・評価・展開のつながりを確かめる
- 学校の指導の重点に沿っているかを確かめる
- 前回の指導案で何を助言したかを、自分のメモやコメントの履歴から思い出す
- 余白のコメントと、全体への所見を書く
- 若手教員が直し、必要ならもう一度見てもらう
- 人若手教員が指導案を書き、校内の「指導案の提出」フォームにドキュメントのURLと授業の情報を入れて送る
- 自動フォームの送信をきっかけに Google Apps Script が動き、指導案のドキュメントを読む
- 自動児童生徒の個人を特定できる記述が無いかを、決まった文字の並びで確かめる。見つかれば本人に戻す
- 自動様式の欄の抜け、時間配分の合計を、スクリプトで確かめる
- 自動指導の重点、様式の決まり、その教員への前回までの助言をあわせて Claude API に渡す
- 自動観点ごとの点検の結果とコメントの下書きを、新しいドキュメントにして指導教員のフォルダに置き、知らせる
- 人指導教員が下書きを読み、残す指摘を選んで自分の言葉に直し、若手教員に返す
- 人指導教員が、返した助言の要点を助言の記録のシートに残す
各工程の詳しい説明を読む
- 若手教員が、学校の様式の Google ドキュメントで指導案を書く
- 指導教員にドキュメントを共有し、授業の1週間前までに見てもらうよう頼む
- 指導教員が全体を読み、単元の目標・本時の目標・評価・展開のつながりを確かめる
- 学校の指導の重点に沿っているかを確かめる
- 前回の指導案で何を助言したかを、自分のメモやコメントの履歴から思い出す
- 余白のコメントと、全体への所見を書く
- 若手教員が直し、必要ならもう一度見てもらう
(a)観点が指導教員ごとに違う。 ある指導教員は評価の書き方を細かく見て、別の指導教員は展開の発問を中心に見ます。同じ若手教員でも、教科の指導教員と教頭とで指摘の方向が違い、 どちらに合わせればよいか迷います。
(b)同じ指摘がくり返される。 前回「本時の目標と評価規準がずれている」と助言したことを、指導教員が覚えていないと、次の指導案で同じずれがあっても気づかないか、初めての指摘のように伝えます。 若手の側も、前回の助言を次に生かせたかが分かりません。
(c)形式の点検に時間を取られる。 時間配分の合計が授業の時間と合わない、様式の欄が空いている、本時の目標が2か所で違う書き方になっている。こうした形式の点検で時間を使い、授業の中身への助言にたどり着く前に時間切れになります。
(d)児童生徒の記述が混ざる。 「生徒の実態」の欄に、特定の生徒を思わせる書き方が入ることがあります。指導案は校内で回覧されるので、そのまま広がります。
- 【人】 若手教員が指導案を書き、校内の「指導案の提出」フォームにドキュメントのURLと授業の情報を入れて送る
- 【自動】 フォームの送信をきっかけに Google Apps Script が動き、指導案のドキュメントを読む
- 【自動】 児童生徒の個人を特定できる記述が無いかを、決まった文字の並びで確かめる。見つかれば本人に戻す
- 【自動】 様式の欄の抜け、時間配分の合計を、スクリプトで確かめる
- 【自動】 指導の重点、様式の決まり、その教員への前回までの助言をあわせて Claude API に渡す
- 【自動】 観点ごとの点検の結果とコメントの下書きを、新しいドキュメントにして指導教員のフォルダに置き、知らせる
- 【人】 指導教員が下書きを読み、残す指摘を選んで自分の言葉に直し、若手教員に返す
- 【人】 指導教員が、返した助言の要点を助言の記録のシートに残す
3番目と4番目をAIにさせないのが、この設計の分かれ目です。 個人の記述の確認と、時間の合計の計算は、決まった規則で確かめられます。AIに渡す前に規則で止めることで、児童生徒の情報が外に出る経路を作りません。
8番目を人が書くのも、意図してのことです。 次の点検で使う「前回までの助言」は、AIの下書きではなく、指導教員が実際に伝えた内容でなければ意味がありません。
02今回想定するシステム構成
若手教員(Google ドキュメントの指導案) ▼【トリガー】「指導案の提出」フォームの送信(インストール型) Google Apps Script ├──▶ DocumentApp:指導案の本文と表を読む ├──▶ 個人の記述の確認(決まった文字の並び)→ 見つかれば本人に戻して止める ├──▶ 様式の欄の抜け・時間配分の合計の確認 ├──▶ 指導の重点・様式の決まり(ドキュメント)、前回までの助言(シート)を読む ▼ Claude API(構造化出力) │ 観点ごとの点検の結果、根拠の箇所、コメントの下書き、前回の助言の反映 ▼ Google Apps Script ├──▶ コメントの下書きのドキュメントを作り、指導教員のフォルダへ ├──▶ 指導教員に知らせる(Gmail) └──▶ 処理の記録をシートへ ▼ 【指導教員が直して若手教員に返し、助言の要点を記録する】
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 実行環境 | Google Apps Script(フォームのインストール型トリガー) | Python |
| 生成AI | Claude API(構造化出力) | OpenAI API、Azure OpenAI(Microsoft Foundry) |
| 文書 | Google ドキュメント(指導案、指導の重点、コメントの下書き) | Microsoft Word(OneDrive) |
| 記録 | Google スプレッドシート(前回までの助言、処理の記録) | Microsoft 365 のブック |
新しく足すのは、提出のフォームとスクリプト、Claude API の契約です。 指導案の様式と指導の重点は、今のドキュメントをそのまま使います。校務支援システムや成績のシステムには、つなぎません。
起点は、Google フォームの送信で動くインストール型のトリガーです。 フォームの送信のトリガーは、利用者がフォームに回答したときに動くとされ、受け取るイベントには回答の全体(response)が入ります。インストール型のトリガーは、それを作った人のアカウントで動きます。 そのため、スクリプトは育成の担当(教頭など)のアカウントで作り、指導案のドキュメントをそのアカウントが読めるようにしておきます。
指導案は DocumentApp で読みます。 openById で ID からドキュメントを開き、本文の getText() で文字列を、getTables() で表を取り出せます。指導案の「本時の展開」は表で書かれていることが多いので、表は表として取り出し、行ごとに時間と学習活動を読みます。
Claude API は構造化出力で呼びます。 output_config.format に JSON Schema を渡すと、その形に合った JSON が返ります。 ただし、minLength や maximum のような文字数・数値の制約は使えず、使うと400のエラーになるとされています。文字数の上限は、指示の側に書きます。
03どうやって実装するのか
処理の起点を決める
「指導案の提出」フォームの送信を起点にします。 フォームには、指導案のドキュメントのURL、教科、学年、単元名、授業の予定日、指導教員を入れてもらいます。ドキュメントのURLを入れるだけで、ファイルそのものは添付しません。
ドキュメントの共有で起点を作らないのは、共有は何度も起きるからです。 書きかけを同僚に見せる、指導教員に先に一言相談する、といった共有のたびに点検が動くと、書きかけの指導案にコメントの下書きが作られます。 提出の意思表示をフォームに分けます。
処理は1件ずつ、送信のたびに動きます。 1回の実行は6分が上限です。1本の指導案の点検は Claude API の呼び出し1回で済むので、収まります。失敗したときは、処理の記録のシートに「未処理」を残し、1時間ごとに動く時間主導のトリガーが拾い直します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 指導案 | 単元名、単元の目標、評価規準、指導計画、本時の目標、本時の展開の表、板書の計画 | 若手教員のドキュメント |
| 授業の情報 | 教科、学年、授業の予定日、指導教員 | フォームの回答 |
| 指導の重点 | 今年度の学校の重点と、その説明(各1〜2段落) | 教務主任が管理するドキュメント |
| 様式の決まり | 必ず書く欄、目標の書き方、評価の観点の書き方 | 同じドキュメントの別の節 |
| 前回までの助言 | その教員に指導教員が伝えた助言の要点(直近3回分) | 助言の記録のシート |
質を決めるのは、前回までの助言です。 「本時の目標が活動になっている(『〜を話し合う』で終わっている)」と記録されていれば、今回の指導案で同じ書き方が残っているかを、AIは具体的に確かめられます。 記録が無ければ、毎回が初めての点検になります。
前回までの助言には、生徒のことを書きません。 シートに残すのは、指導案の書き方と授業の設計についての要点だけです。「〇組の△△さんへの配慮が足りない」のような記録は、この構成では扱いません。
データの取得方法を決める
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 回答の項目 | フォームの送信のイベントの response | ドキュメントのURL、教科、指導教員 |
| 指導案の本文 | DocumentApp.openById → getBody().getText() | 点検の材料 |
| 本時の展開の表 | getBody().getTables() で表を取り、行ごとに読む | 時間配分の合計、活動と評価の対応 |
| 指導の重点と様式の決まり | 教務主任のドキュメントを openById で読む | 点検の基準 |
| 前回までの助言 | 助言の記録のシートを教員名で絞り、直近3件 | 反映の確認 |
指導案を読めないことがあります。 若手教員がドキュメントを育成の担当のアカウントに共有し忘れていると、スクリプトは開けません。開けなかったら、その旨を本人にメールで返し、共有の手順を添えます。 指導案の置き場所を学校の共有ドライブの決まったフォルダにすると、この失敗はほとんど無くなります。
Claude API のキーは、スクリプトのプロパティに入れます。 スクリプトのプロパティは、プロジェクトの設定の画面から追加でき、そのスクリプトの利用者の全員で共有されます。 スクリプトを編集できる人を、育成の担当と情報担当に限ります。
AIへ渡す前に整形する
- 個人の記述の確認 … 「さん」「くん」「君」の前に2〜4文字の名前らしい文字が続くもの、「出席番号」「番の生徒」、学級名と人名の組み合わせを、決まった文字の並びで探します
- 配慮の欄の確認 … 「配慮を要する生徒」の欄に、個人を思わせる書き方(「Aさん」「1名」など)があれば止めます
- 様式の欄の抜け … 様式の決まりにある欄の見出しが、すべてあって中身が空でないかを確かめます
- 時間配分の合計 … 本時の展開の表の時間の列を足し、授業の時間(50分)と合うかを確かめます
- 目標の一致 … 「本時の目標」の欄と、展開の表の中の目標の書き方が同じかを、文字列で比べます
- 長さの確認 … 本文が長すぎる場合(単元全体の資料を貼り付けている等)は、本人に確かめます
1番目と2番目で見つかったら、AIに渡さずに止めます。 本人に「該当する箇所」を示して戻し、「Aさん」「生徒A」のような記号への置き換えではなく、個人を前提にしない書き方に直してもらいます。 記号に置き換えても、学級の中では誰のことかが分かるからです。
3番目から5番目は、AIに渡す前にスクリプトで済ませます。 時間の合計のような計算をAIにさせると、表の読み違いで合計を間違えます。結果だけをAIに渡し、コメントの下書きに含めてもらいます。
AIに処理させる
させるのは、観点ごとに点検して、根拠の箇所と、指導教員が使えるコメントの下書きを書くことだけです。
| 観点 | 点検の仕方 | 根拠に示すもの |
|---|---|---|
| 目標のつながり | 単元の目標と本時の目標が対応しているか | 両方の目標の文 |
| 目標と評価 | 本時の目標と評価規準・評価の方法が対応しているか | 目標の文と評価の欄 |
| 展開と目標 | 展開の学習活動が、本時の目標に向かっているか | 展開の表の行 |
| 指導の重点 | 学校の重点が、展開のどこに現れているか | 重点の名前と展開の行 |
| 前回の助言 | 前回までの助言が今回の指導案に反映されているか | 助言の要点と、該当する箇所 |
| 表記 | 誤字、用語の不統一、文の長さ | 該当の文 |
右端の列が、この構成でいちばん大事な決まりです。 「目標と評価がずれている」とだけ書いたコメントは、指導教員がもう一度指導案を読み直す必要があります。根拠の文がコメントに付いていれば、指導教員は確かめるだけで済みます。
| させないこと | 理由 |
|---|---|
| 指導案の良し悪しの総合の評価や点数 | 育成の判断は指導教員がする |
| 授業の展開の書き換えや代わりの案の全文 | 若手が自分で考える機会を奪う |
| 教科の内容の正誤の断定 | 教科の専門の判断は指導教員がする |
| 生徒の実態についての推測 | 書かれていない学級の様子を補わない |
| 若手教員の能力や姿勢への言及 | コメントは指導案の文書に対してだけ |
2行目がいちばん起きやすい失敗です。 「展開の改善案」を求めると、AIは導入から振り返りまでの全文を書き直して返します。それを渡すと、若手教員は指導案を写すだけになります。 コメントは「どこを、なぜ見直すとよいか」までにします。
指示内容を固定する
あなたは中学校で、若手教員の学習指導案を読む指導教員の補助です。
あなたの出力は指導教員だけが読みます。若手教員に直接は渡りません。
【指導案】【学校の指導の重点】【様式の決まり】【前回までの助言】だけを使って点検してください。
書かれていないことを推測しないでください。
【点検する観点】
1. goal_link: 単元の目標と本時の目標のつながり
2. goal_eval: 本時の目標と評価規準・評価の方法の対応
3. flow_goal: 本時の展開の学習活動が本時の目標に向かっているか
4. school_focus: 学校の指導の重点が展開のどこに現れているか
5. prior_advice: 前回までの助言が反映されているか(助言ごとに)
6. wording: 誤字、用語の不統一、長すぎる文
【status の選び方】
- ok ........ 問題が見当たらない
- review .... 指導教員に見てほしい点がある
- not_found . 判断に必要な記述が指導案に見当たらない
迷ったときは review を選んでください。
【厳守事項】
- evidence には、指導案の文をそのまま写してください。要約しないでください。
- コメントは「どこを」「なぜ」見直すとよいかまでにしてください。
展開や目標を書き換えた文、代わりの授業の案は書かないでください。
- 指導案の総合の評価、点数、良い・悪いの判定は書かないでください。
- 教科の内容が正しいかを断定しないでください。気になる点は「指導教員の確認が必要」と書いてください。
- 生徒の様子や学級の実態を推測して書かないでください。
- 若手教員の能力や姿勢について書かないでください。
- 各コメントは120字以内にしてください。
- 良い点も、根拠の文を付けて2つまで書いてください。
- 【スクリプトの点検結果】の内容は、そのまま format_checks に写してください。計算し直さないでください。
【指導案】{plan_text}
【本時の展開の表】{flow_table}
【学校の指導の重点】{school_focus}
【様式の決まり】{format_rules}
【前回までの助言】{prior_advice}
【スクリプトの点検結果】{format_checks}
「あなたの出力は指導教員だけが読みます」を最初に書くのは、言い回しのためです。 若手教員に向けた文だと思うと、AIは励ましの言葉で包んだ長い文を書きます。指導教員向けなら、確かめる場所が短く並びます。 伝え方を整えるのは、指導教員の仕事です。
「良い点も2つまで」を入れるのは、指摘だけの下書きにしないためです。 指導教員が所見を書くとき、良い点の根拠の文があると、若手の工夫を具体的に伝えられます。 上限を決めないと、良い点がコメントの半分を占めます。
出力形式を固定する
Claude API の構造化出力で、次の形の JSON を受け取ります。
{
"plan_id": "",
"checks": [
{ "aspect": "goal_link | goal_eval | flow_goal | school_focus | prior_advice | wording",
"status": "ok | review | not_found",
"evidence": "", "comment": "" }
],
"prior_advice_followup": [
{ "advice": "", "reflected": "yes | partly | no | cannot_tell", "evidence": "" }
],
"strengths": [ { "evidence": "", "comment": "" } ],
"format_checks": [""],
"needs_subject_expert": [""]
}
1つ目の理由は、観点ごとに status を並べられることです。 指導教員は、下書きのドキュメントの先頭で review の観点だけを見れば、どこから読めばよいかが分かります。
2つ目は、prior_advice_followup で前回の助言の反映を一覧にできることです。 助言ごとに yes/partly/no/cannot_tell が並ぶので、同じ指摘のくり返しかどうかが、指導教員にすぐ分かります。 「前回お伝えした点が直っています」と伝えられるのも、この一覧があるからです。
3つ目は、needs_subject_expert で教科の専門の確認を分けられることです。 AIが内容の正誤を断定しない代わりに、気になった箇所をここに並べます。
| 項目 | 下書きのドキュメントでの扱い |
|---|---|
checks の review | 先頭に、観点・根拠の文・コメントの表で並べる |
prior_advice_followup | 前回の助言ごとに、反映の有無と根拠を並べる |
strengths | 所見を書くための材料として、末尾に置く |
format_checks | スクリプトの点検結果。様式の抜けや時間の合計のずれ |
needs_subject_expert | 「教科の確認が必要な箇所」として独立した節に置く |
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| Google フォーム | インストール型のフォームの送信のトリガー | 提出の受付 |
| Google ドキュメント | DocumentApp(openById、create) | 指導案と重点の読み取り、下書きの作成 |
| Claude API | UrlFetchApp(POST、muteHttpExceptions) | 点検とコメントの下書き |
| Google スプレッドシート | SpreadsheetApp | 前回までの助言の読み取り、処理の記録 |
| Gmail | スクリプトからのメール | 指導教員への知らせ、本人への差し戻し |
API の呼び出しでは、muteHttpExceptions を true にします。 既定では、失敗の応答で例外が投げられ、スクリプトがそこで止まります。true にすると応答がそのまま返るので、状態のコードを見て「未処理」として記録し、後で拾い直せます。
若手教員の指導案のドキュメントには書き込みません。 コメントを指導案の余白に直接付けると、指導教員が読む前に若手の目に入ります。 下書きは別のドキュメントにして、指導教員のフォルダにだけ置きます。
人が確認する
下書きはすべて、指導教員が読んで直してから若手に渡ります。 目標は、1本あたり24分です。
reviewの観点を根拠の文で確かめる … 指導案の該当の箇所を開いて、指摘が当たっているかを見ます- 残す指摘を選ぶ … 1回の助言で伝えるのは3つまで、のように数を絞ります
- 自分の言葉に直す … 若手との関係や、授業の前の時期に合わせて伝え方を決めます
- 教科の確認が必要な箇所を見る …
needs_subject_expertの箇所は、教科の指導教員が判断します - 助言の要点を記録する … 実際に伝えたことを、助言の記録のシートに1〜3行で残します
2番目を省かないでください。 下書きの指摘をすべて伝えると、若手は直すことに追われ、何がいちばん大事だったかが残りません。 何を伝えるかを選ぶことが、指導教員の仕事の中心になります。
5番目は、次の点検のための記録です。 書かなければ、次回の prior_advice_followup は空になります。
例外に対処する
| 起きること | 対応 |
|---|---|
| 個人を思わせる記述が見つかった | AIに渡さず、該当の箇所を示して本人に戻す |
| 指導案のドキュメントを開けない | 共有の手順を添えて本人に戻す |
| 様式に無い独自の書き方の指導案 | 様式の欄の抜けを format_checks に出し、点検は続ける |
| 本時の展開が表でなく文章で書かれている | 時間の合計の確認を飛ばし、その旨を format_checks に出す |
| Claude API がエラーを返した | 「未処理」と記録し、1時間ごとのトリガーで拾い直す。3回失敗したら担当に知らせる |
| 1日のトリガーの実行時間の上限に近づく | 研究授業の前の週に集中したら、翌朝に回す |
| 前回までの助言が記録されていない | prior_advice_followup を空にして点検を続ける |
| 同じ指導案が2回提出された | 直した版なら点検し、前の下書きとの違いを指導教員に知らせる |
1行目がいちばん大事な例外です。 止める基準は、迷ったら止める側に倒します。止めすぎると若手の手間が増えますが、渡しすぎると児童生徒の情報が外部のサービスに出ます。
6行目は、学校の Google Workspace の版によって値が違います。 トリガーの実行時間の合計は、Workspace のアカウントで1日6時間とされています。学校向けの版での値は、情報担当が確かめてください。
記録を残す
- 提出の日時、指導案のドキュメントの ID と、そのときの版
- 個人の記述の確認の結果(止めた場合は、止めた理由の種類だけ)
- Claude API に渡した材料の範囲(指導の重点と前回の助言の版)と、返った JSON
- コメントの下書きのドキュメントの ID
- 指導教員が実際に伝えた助言の要点(助言の記録のシート)
- API のエラーと拾い直しの記録
2つ目で「理由の種類だけ」を残すのは、止めた箇所の文を記録に写さないためです。 個人を思わせる記述を記録のシートに写すと、止めた意味がなくなります。
04実装レベルの3段階
最小構成では、個人の記述の確認が人の目のままです。 貼る前に見落とすと、そのまま外部のサービスに渡ります。校内で広く使う前に、半自動化まで進めてください。 本記事が想定するのは半自動化です。 1本45分が24分になります。残る24分の大半は、指摘を選んで自分の言葉で伝える時間です。 ここは減らす対象ではありません。
05工数削減シミュレーション
導入後 40件 × 24分 ÷ 60 = 16 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 初任者や経験の浅い教員が多く、研究授業や校内研修のたびに学習指導案を書いて、教頭・教務主任・指導教員の助言を受けている小学校・中学校・高等学校。指導案を Google ドキュメントで書き、学校の Google Workspace で共有している場合。助言の観点や厳しさが指導教員ごとに違い、同じ指摘が何度もくり返されている場合。
- 指導案を紙や手書きで提出しており、電子のファイルにする予定がない場合。指導案に児童生徒の個人名や個別の配慮事項を書く様式になっていて、外して書く運用に変えられない場合。若手の教員が少なく、指導教員が1人ずつ時間をかけて見られている場合。指導案の中身の良し悪しの判断そのものをAIに任せたい場合(この構成は点検とコメントの下書きまで)。
07最小構成で試す方法
- 過去の指導案から10本を選ぶ(同じ若手教員の2本続きを2組入れる)
- 生徒の実態の欄を、個人を前提にしない書き方に直してから使う
- 手元のAIサービスの画面に、第7章の指示、指導の重点、指導案を貼り、点検させる
- 2本続きの組では、1本目に実際に伝えた助言を「前回までの助言」として渡す
- 当時の指導教員のコメントと並べ、指導教員に「下書きとして使えるか」を聞く
10本は必ずやってください。 スクリプトを書く前に、「根拠の文を付けた点検」が指導教員の読む時間を減らすかを確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 当時のコメントと同じ箇所を、根拠付きで指摘している | フォームとスクリプトの準備に進む |
| 展開を書き換えた案を返してくる | 指示の書き方で直る。構成は有効 |
| 指導の重点についての指摘がずれる | 重点の説明が先。 重点ごとに「展開のどこに現れるか」の例を書き足す |
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 個人を思わせる記述がAIに渡る | 渡す前に規則で探して止める。 迷ったら止める |
| 展開を全文書き換えた案が返る | 書き換えた文と代わりの案を禁じる |
| 時間配分の合計をAIが間違える | 計算はスクリプトで行い、結果だけを渡す |
| 指導案のドキュメントを開けない | インストール型のトリガーは作った人のアカウントで動く。共有ドライブの決まったフォルダに置く |
| 構造化出力で400のエラーになる | maxLength などの制約を使わない。文字数は指示に書く |
| API のエラーでスクリプトが止まる | muteHttpExceptions を true にし、未処理を拾い直す |
| 前回の助言の反映がいつも空になる | 指導教員が伝えた要点を記録する運用を先に決める |
| 下書きを若手にそのまま渡してしまう | 下書きは指導教員のフォルダにだけ置く |
| 良い点が下書きの半分を占める | 良い点の数に上限を設ける |
上の3行が、この構成の失敗のほとんどです。 どれも「AIに任せる範囲を広げすぎる」ことから出ています。規則で決められることは規則で、育成の判断は指導教員で、AIはその間の点検だけにします。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 若手教員の指導案(学級の傾向や授業の計画)、学校の指導の重点、指導教員の助言の記録(教員の育成の記録)です。児童生徒の個人の情報は、扱わない設計にしています。
- 児童生徒の情報を入れない … 規則で確かめてから渡します。それでも見落としはありうるので、様式の側で個人を前提にした欄をなくすことが先です
- 助言の記録は教員の人事の情報に近い … 誰がどんな指摘を受けたかの記録です。シートの閲覧を、育成の担当と各教員の指導教員に限ります
- AIの下書きを若手教員の評価に使わない … 下書きは指導教員の読む時間を減らすためのものです。人事の評価の材料にしないことを、校内で決めておきます
- 外部のサービスに渡るデータの扱いを確かめる … Anthropic は、API などの商用の製品の入力と出力を、既定ではモデルの学習に使わないとしています。教育委員会の情報セキュリティの決まりで、外部のサービスに指導案を渡してよいかを先に確かめてください
- Gemini API を選ばない … 教員だけが使う構成ですが、学校の中で使う仕組みのため、18歳未満が利用しうるサービスでの利用を認めていない Gemini API の規約に触れないよう、代替候補から外しています
- 最終的な判断は教員が持つ … 文部科学省は、校務では教職員が生成AIの仕組みや特徴を理解したうえで、生成された内容の適切性を判断できる範囲内で利用するという前提で、積極的な利活用は有用としています。この構成の下書きも、指導教員が判断できる範囲で使います
誤りが起きた場合のリスクは、児童生徒の情報が外部に出ることと、AIの指摘がそのまま若手に渡って育成の場がゆがむことの2つです。 前者は渡す前の規則と様式の見直しで防ぎ、後者は下書きを指導教員だけに届けることで防ぎます。
10まず何から始めるか
1週目:様式を見直す
指導案の様式の「生徒の実態」「配慮を要する生徒への手だて」の欄を、学級全体の傾向と、手だての種類として書く形に変えます。教頭と教務主任で決め、若手に伝えます。あわせて、今年度の指導の重点ごとに、展開のどこに現れるかの例を書き足します。
2週目:10本で試す
過去の指導案10本を手元のAIサービスで点検させ、当時のコメントと並べます。展開を書き換えた案を返していないか、根拠の文が指導案の文そのままかを最優先で見ます。
3週目:助言の記録の決まりを固める
指導教員が伝えた助言を、1〜3行の要点で記録するシートを作ります。記録できる人と見られる人を決めます。外部のサービスに指導案を渡してよいかを、教育委員会の情報担当と確かめます。
4週目:フォームから下書きまでをつなぐ
提出のフォーム、個人の記述と様式の確認、Claude API の呼び出し、下書きのドキュメントの作成までを Apps Script で作ります。この時点では、教頭1名だけが下書きを受け取り、自分のコメントと並べて比べます。
2か月目: 指導教員の全員に下書きを届け始めます。止めた指導案の件数と理由の種類を毎週数えます。3か月目以降: 前回の助言の反映の一覧が埋まり始めたら、指導教員どうしで観点のそろい方を話し合います。同じ指摘のくり返しが減った時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 時間主導のトリガーが毎分から毎月まで設定できること。インストール型のトリガーが作った人のアカウントで動くこと。フォームの送信のトリガーが回答のときに動くこと | Google: Installable triggers | 2026-10-08 |
Google フォームの送信のイベントに回答の全体(response)とフォーム(source)が入ること | Google: Event objects | 2026-10-08 |
DocumentApp に openById・openByUrl・create があること | Google: Class DocumentApp | 2026-10-08 |
本文の getText() が内容を文字列で返し、getTables() が表を、getParagraphs() が段落を返すこと | Google: Class Body | 2026-10-08 |
UrlFetchApp.fetch の method・contentType・headers・payload・muteHttpExceptions。muteHttpExceptions が true なら失敗の応答で例外を投げないこと | Google: Class UrlFetchApp | 2026-10-08 |
| 1回の実行が6分まで、トリガーの実行時間の合計が Workspace のアカウントで1日6時間、URL Fetch が1日100,000回、ドキュメントの作成が1日1,500件であること | Google: Quotas for Google Services | 2026-10-08 |
| スクリプトのプロパティがプロジェクトの設定の画面から追加でき、利用者の全員で共有されること | Google: Properties Service | 2026-10-08 |
構造化出力を output_config.format(type: json_schema)で指定すること。minLength・maxLength・minimum・maximum などが使えず400になること | Claude: Structured outputs | 2026-10-08 |
| API などの商用の製品の入力と出力を、既定ではモデルの学習に使わないこと | Anthropic: Is my data used for model training? | 2026-10-08 |
| 「初等中等教育段階における生成AIの利活用に関するガイドライン(Ver. 2.0)」が令和6年12月26日に改訂されたこと。校務では教職員が生成AIの仕組みや特徴を理解したうえで、生成された内容の適切性を判断できる範囲内で利用する前提で、積極的な利活用が有用とされていること | 文部科学省: 生成AIの利用にあたって | 2026-10-08 |
| Gemini API を18歳未満を対象とする、または18歳未満が利用しうるサービスの一部として使えないこと | Google: Gemini API Additional Terms of Service | 2026-10-08 |
指導案を外部のサービスに渡してよいかは、教育委員会と学校の情報セキュリティの決まりで確かめてください。 本記事は各製品と文部科学省の公開情報で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1120)についてのご相談はこちらから。
