学校行事や校外学習を計画するときに、過去の起案・実施要項・反省記録から同じ行事の段取りと注意点を根拠付きで探し、前年の反省が引き継がれているかを確かめる
行事の担当になった教員が計画を始めるときに、同じ行事の過去の起案・実施要項・反省記録・下見の報告を年度をまたいで探し、段取りと注意点を出典付きで返します。前年の反省が今年の要項に引き継がれているかも照らし合わせます。
- 生成AI
- Gemini
- AIサービス
- Azure AI/Google Vertex AI/OpenSearch
- 連携・自動化
- Python
- 対象業界
- 教育/自治体
- 対象部門
- 総務
- 対象業務
- 情報検索/書類作成
- 主な課題
- 属人化している/引き継ぎができていない/情報が見つからない
- AIで行う処理
- 検索(RAG)
- 主な効果
- 属人化解消/教育コスト削減/検索時間短縮
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- RAG・個別開発(大)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 担当になった教員が、前年度・前々年度の学年のフォルダを開き、同じ行事の起案と要項を探す
- ファイル名で見つからなければ、行事名や行き先で共有ドライブを検索し、それらしいファイルを1つずつ開く
- 見つかった起案と要項から、日程、下見の時期、業者への依頼、保護者への通知の時期を書き写す
- 反省記録が別のファイルにあれば探して読む。無ければ職員会議の記録をさかのぼる
- 前年の担当が校内にいれば聞きに行き、いなければ知っていそうな教員に聞いて回る
- 集めた内容をもとに起案を書き、学年主任と教頭の決裁に回す
- 人担当が検索の画面で、学校・学年・行事の種類・行事名・行き先・実施予定の月を入れる
- 自動中継プログラムが、行事の種類と行事名・行き先から絞り込みの式を組み立てる
- 自動Agent Search(Vertex AI Search)が、同じ行事の過去の起案・要項から段取りを探し、出典付きでまとめる
- 自動2回目の呼び出しで、反省記録・下見の報告・ヒヤリハットの記録から注意点を探し、年度ごとに並べる
- 自動中継プログラムが、注意点のうち同じ趣旨が何年分に出ているかを数え、くり返しているものを先頭に置く
- 自動前年の反省事項それぞれについて、翌年の要項に対応する記載があるかを照らし合わせ、見つからないものに印を付ける
- 人担当が出典を開いて確かめ、起案に使う段取りと注意点を選ぶ
- 人印の付いた反省事項について、今年の計画でどうするかを学年会で決める
- 人起案を書き、これまでどおり学年主任と教頭の決裁に回す
- 【人/自動】 行事が終わったら反省記録を様式に書き、データストアへ取り込む
各工程の詳しい説明を読む
- 担当になった教員が、前年度・前々年度の学年のフォルダを開き、同じ行事の起案と要項を探す
- ファイル名で見つからなければ、行事名や行き先で共有ドライブを検索し、それらしいファイルを1つずつ開く
- 見つかった起案と要項から、日程、下見の時期、業者への依頼、保護者への通知の時期を書き写す
- 反省記録が別のファイルにあれば探して読む。無ければ職員会議の記録をさかのぼる
- 前年の担当が校内にいれば聞きに行き、いなければ知っていそうな教員に聞いて回る
- 集めた内容をもとに起案を書き、学年主任と教頭の決裁に回す
(a)どこにあるかが分からない。 「令和○年度 2学年 校外学習 要項(最終)」「校外学習_修正版2」「遠足要項」。同じ行事でも年度ごとに名前が違い、行き先が変わると行事名まで変わります。 共有ドライブの検索で出てくるのは、ファイル名や本文に同じ語があるものだけです。
(b)反省記録が読まれない。 反省は行事の直後に学年会で出され、記録に残ります。しかしその記録は要項とは別のファイルで、翌年の担当が要項を見つけても、反省記録まではたどり着かないことがあります。 前年の要項を写して起案すると、前年に「直すべき」とされた点がそのまま残ります。
(c)段取りが人の記憶にある。 「下見は2か月前、バス会社への依頼は3か月前、雨天時の施設の予約は早めに」。こうした段取りは要項に書かれず、経験のある教員の頭の中にあります。 その教員が異動すると、翌年の担当は同じ手順を一から探し直します。
(d)聞いて回る時間が両方の教員から出ている。 聞かれる側も授業の合間の時間を使っており、実際には二人分かかっています。
- 【人】 担当が検索の画面で、学校・学年・行事の種類・行事名・行き先・実施予定の月を入れる
- 【自動】 中継プログラムが、行事の種類と行事名・行き先から絞り込みの式を組み立てる
- 【自動】 Agent Search(Vertex AI Search)が、同じ行事の過去の起案・要項から段取りを探し、出典付きでまとめる
- 【自動】 2回目の呼び出しで、反省記録・下見の報告・ヒヤリハットの記録から注意点を探し、年度ごとに並べる
- 【自動】 中継プログラムが、注意点のうち同じ趣旨が何年分に出ているかを数え、くり返しているものを先頭に置く
- 【自動】 前年の反省事項それぞれについて、翌年の要項に対応する記載があるかを照らし合わせ、見つからないものに印を付ける
- 【人】 担当が出典を開いて確かめ、起案に使う段取りと注意点を選ぶ
- 【人】 印の付いた反省事項について、今年の計画でどうするかを学年会で決める
- 【人】 起案を書き、これまでどおり学年主任と教頭の決裁に回す
- 【人/自動】 行事が終わったら反省記録を様式に書き、データストアへ取り込む
6番目が、この構成でいちばん効くところです。 要項に対応する記載が見つからない反省は、「直したのか、直せなかったのか、忘れたのか」が分からない状態です。 印を付けて学年会に出します。
10番目を省くと、この構成は1年で止まります。 今年の反省を取り込むことが、来年の担当への引き継ぎそのものです。
02今回想定するシステム構成
共有ドライブ(起案・要項・反省記録・下見の報告) │ 決裁が終わったものを Cloud Storage へ複製し、メタデータを付ける ▼ Agent Search(Vertex AI Search)── データストア(レイアウト パーサー、チャンク分割) │ school/grade/event_type/event_name/destination/fiscal_year/doc_kind ▼ 検索の画面 ──【トリガー】担当が行事の計画を始める ▼ 中継プログラム(Python、Cloud Run) ├──▶ answer メソッド ①:起案・要項から段取り ├──▶ answer メソッド ②:反省記録・下見・ヒヤリハットから注意点 ├──▶ 注意点のくり返しを年度で数える └──▶ 前年の反省事項と翌年の要項の照らし合わせ ▼ 画面:段取り/くり返している注意点/引き継ぎの見つからない反省事項 ▼ 【担当が出典を開いて確かめ、学年会で決め、起案を書く】
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 検索基盤 | Vertex AI Search(Agent Search)の answer メソッド | Azure AI Search、Amazon OpenSearch Service |
| 生成AI | Gemini(answer メソッドの回答の生成に使うモデル) | ─ |
| 連携 | 中継プログラム(Python。Cloud Run で動かし、画面・検索・照らし合わせをつなぐ) | Node.js で同じものを書く |
| 認証 | Google Workspace のアカウント(Google Identity) | Microsoft Entra ID(Workforce Identity Federation でつなぐ) |
| 保管 | Cloud Storage(決裁済みの文書の複製とメタデータ) | ─ |
共有ドライブと電子決裁は、今あるものをそのまま使います。 新しく作るのは、検索の画面と中継プログラム、それに反省記録の様式です。最初の準備は、過去5年分の同じ行事の文書に、行事の種類と行事名のメタデータを付けることです。
土台になるのは、Agent Search(Vertex AI Search から改称中)の answer メソッドです。 検索の結果から回答を作り、includeCitations で出典を付けられます。関係の薄い内容しか無いときは ignoreLowRelevantContent で回答を作らず、answerSkippedReasons に理由を返します。この構成では1回の計画で2回呼び、1回目は段取り、2回目は注意点を対象にします。
行事の種類は、学習指導要領の区分に合わせます。 小学校学習指導要領(平成29年告示)では、学校行事を儀式的行事、文化的行事、健康安全・体育的行事、遠足・集団宿泊的行事、勤労生産・奉仕的行事の5つに分けています。行事名は学校ごと・年度ごとに変わっても、この区分は変わりません。 メタデータの event_type にこの区分を入れ、行事名の揺れを吸収する手がかりにします。
文書の読み取りには、レイアウト パーサーを使います。 HTML、PDF、DOCX、PPTX、XLSX の見出し・表・リストを検出し、スキャンした文書にも光学式文字認識(OCR)をかけられるとされています。要項の日程表や持ち物の表、手書きの反省記録のスキャンが混ざる学校の文書に向いています。
03どうやって実装するのか
処理の起点を決める
起点は、担当が検索の画面で行事の計画を始めたことです。 画面は Google Workspace のアカウントでログインした教職員だけが使え、ログインした教職員の所属(学校)が、どの学校の記録を見られるかの判定に使われます。
1つの行事の計画は、段階ごとに呼び直せるようにします。 行き先を決める段階、下見の前、起案を書く前、保護者への通知の前で、知りたいことが違います。 選んだ段階を検索の文に入れます。
記録の取り込みは、決裁が終わったときに動かします。 電子決裁で起案・要項・反省記録の決裁が終わったら、中継プログラムが共有ドライブの該当ファイルを Cloud Storage に複製し、メタデータを付けてデータストアへ取り込みます。決裁前の下書きは取り込みません。 下書きには、学年会で却下された案も残っているからです。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 計画の条件 | 学校、学年、行事の種類、行事名、行き先、実施予定の月、計画の段階 | 検索の画面 |
| 起案文書 | 目的、日程、行き先、費用、引率の体制、決裁の日付 | 共有ドライブ(決裁済み) |
| 実施要項 | 当日の行程、集合・解散、班の編成の方針、雨天時の対応、緊急時の連絡体制 | 共有ドライブ(決裁済み) |
| 反省記録 | よかった点、改善すべき点、次年度への申し送り | 学年会の後に担当が書く記録 |
| 下見の報告 | 下見の日付、経路、トイレ・休憩場所、危険箇所、施設側の担当窓口 | 下見をした教員の報告 |
| ヒヤリハットの記録 | 起きたこと、場所、時刻、その場の対応(生徒の氏名は書かない) | 学年主任が書く記録 |
質を決めるのは、反省記録の「次年度への申し送り」の欄です。 「全体的にうまくいった」としか書かれていない記録は、翌年の担当に何も渡しません。「集合場所の○○公園の入口が狭く、バスの乗車に20分かかった。次年度は駐車場側の入口を使う」のように、場所と事実と次にすることを書く様式にします。
下見の報告は、学年を越えて効きます。 同じ行き先に別の学年が行くこともあるからです。ただし施設の状況は変わるので、過去の下見は下見の代わりにはしません。
ヒヤリハットの記録には、生徒の氏名を書かない様式にします。 書くのは起きたことと場所と時刻で、誰に起きたかは検索に要りません。 氏名の入った報告書は、従来どおり管理職が保管します。
データの取得方法を決める
決裁済みの文書は、Cloud Storage に置いてデータストアに取り込みます。 メタデータは JSONL の各行に id、structData、content.mimeType、content.uri を書きます。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 学校、学年、年度 | メタデータ | 絞り込み、年度ごとの並べ替え |
| 行事の種類(5区分)、行事名、行き先 | メタデータ | 同じ行事を年度をまたいで引く |
| 文書の種類(起案/要項/反省/下見/ヒヤリ) | メタデータ | 段取りと注意点を分けて引く |
| 閲覧の範囲 | acl_info | 学校ごとに見られる記録を限る |
絞り込みの式は、行事の種類と文書の種類で書きます。 項目を索引可能にしておけば、school: ANY("high") AND event_type: ANY("excursion_overnight") AND doc_kind: ANY("proposal", "outline") のように書けます。2回目の呼び出しでは doc_kind を review、site_visit、near_miss に替え、段取りと注意点が1つの回答に混ざらないようにします。
行事名では絞り込みません。 「校外学習」「社会科見学」「遠足」は、学校や年度によって同じ行事を指していることがあります。行事名は検索の文に入れて意味の近さで引き、絞り込みは変わらない区分(行事の種類)で行います。 行き先も同じで、施設名の表記ゆれは検索の文の側で吸収させます。
データストアは、レイアウト パーサーとチャンク分割を有効にして作ります。 チャンクの大きさは100〜500トークンで指定でき、既定は500です。includeAncestorHeadings を有効にすると、文書の途中のチャンクにもタイトルと見出しが付きます。 要項の「雨天時の対応」の段落だけが引かれても、それがどの年度のどの行事の要項かが分かるようにするためです。
アクセス制御は、データストアを作るときにしか有効にできません。 学校ごとの group_id を acl_info に書き、Cloud Storage からの定期的な取り込みではデータソースのアクセス制御が使えないため、決裁のたびに取り込みを実行します。
AIへ渡す前に整形する
- 決裁済みかを確かめる … 電子決裁の状態が「決裁済み」のものだけを複製します
- 行事の種類を付ける … 5区分のどれかを、担当か総務が選びます。迷うものは総務が決めます
- 行事名と行き先をそろえる … 行事名の別名の一覧(「社会科見学」=「校外学習」など)を総務が持ち、正規の名前を付けます
- 生徒の個人情報を除く … 班の名簿、アレルギー・健康状態・配慮事項の一覧、保護者の連絡先は、要項から切り離して取り込みません
- スキャンの向きと解像度を確かめる … 手書きの反省記録は、向きをそろえてからPDFにします
- 申し送りの欄を確かめる … 反省記録の「次年度への申し送り」が空のものは、取り込む前に担当に戻します
- 閲覧の範囲を付ける … 学校の
group_idを書きます。ヒヤリハットの記録は管理職と学年主任のグループに限ります
4番目を最優先にしてください。 要項の末尾には、班の名簿や、配慮の要る生徒の一覧が添付されていることがあります。検索に入れれば、行事の段取りを探している教員の画面に、別の年度の生徒の健康状態が出てきます。 添付を切り離す作業は、取り込みの仕組みではなく、要項の様式で解決します。名簿を別ファイルにする様式に変えてください。
3番目の別名の一覧は、校外学習・遠足・宿泊行事から作ります。
AIに処理させる
させるのは、同じ行事の過去の記録から、段取りと注意点を探して出典付きで並べることです。 今年どうするかは書かせません。
| 返すもの | 中身 | 根拠 |
|---|---|---|
| 段取り | 何を、実施の何週間前に、誰に依頼したか | 起案・要項 |
| 注意点 | 起きたことと、その年の反省・申し送り | 反省記録・下見・ヒヤリ |
| くり返し | 同じ趣旨の注意点が何年分に出ているか | 中継プログラムが数える |
| 引き継ぎの抜け | 前年の申し送りに対応する記載が今年の要項に無いもの | 中継プログラムが照らし合わせる |
3行目と4行目は、AIの回答の文ではなく、中継プログラムの規則で出します。 注意点を年度ごとに受け取り、同じ趣旨のものをまとめて年度の数を数えます。同じ趣旨かどうかの判断にはAIを使いますが、何年分あったかを数えるのはプログラムです。
4行目の照らし合わせは、次のように行います。 前年の反省記録の申し送りを1つずつ取り出し、それぞれを検索の文にして、今年度(計画中)の要項の案が取り込まれていればそれを、無ければ前年の要項を対象に answer メソッドを呼びます。対応する記載が見つからなければ ignoreLowRelevantContent によって回答が作られず、answerSkippedReasons に理由が返ります。この「回答が作られなかった」ことを、引き継ぎの抜けの印に使います。
answer メソッドの設定は次のようにします。
| 設定 | 値 | 理由 |
|---|---|---|
includeCitations | 有効 | 段取りと注意点に出典を付ける |
ignoreLowRelevantContent | 有効 | 関係の無い記録で答えない。引き継ぎの抜けの判定にも使う |
filter | 学校、行事の種類、文書の種類 | 段取りと注意点を分けて引く |
maxReturnResults | 10(既定値。最大25) | 5年分の記録が入る数にする |
userPseudoId | 教職員ごとの仮の識別子 | 検索の記録と結びつける |
preamble | 下の指示 | 答え方の規則を与える |
| させないこと | 理由 |
|---|---|
| 今年の行事をどうするかの提案 | 決めるのは担当と学年会、管理職 |
| 行き先や施設の安全の評価 | 施設の状況は変わる。下見と施設への確認で判断する |
| 記録に無い段取りの補完 | 一般的な行事の知識で埋めると、出典の無い手順が混ざる |
| 過去の日付をそのまま今年に当てはめる | 曜日、学校の予定、施設の休館日が年ごとに違う |
| 生徒個人に関する記述 | 取り込まない。万一引かれても書かせない |
3行目がいちばん起きやすい失敗です。 起案に下見の記載が無いと、モデルは「一般に下見は1か月前に行います」と書き足します。その一文は出典が無いまま、学校の段取りのように読まれます。 記録に無いものは「記録が見つかりません」と書かせます。
指示内容を固定する
answer メソッドの preamble に、次の指示を入れます(2回目の注意点の呼び出し用)。
あなたは学校で、行事の計画を始める教員に、
同じ行事の過去の反省記録と下見の報告を示す担当です。
読むのは、今年その行事の担当になった教員です。
【前提】
検索の文の最初に、学校、学年、行事の種類、行事名、行き先、計画の段階が並んでいます。
検索の対象は、その学校の過去の反省記録、下見の報告、ヒヤリハットの記録だけです。
【答え方】
1. 注意点を、年度の新しい順に、1つずつ箇条書きにしてください。
2. それぞれに、何が起きたか、どこで起きたか、その年に書かれた申し送りを、
記録の言葉のまま書いてください。
3. 計画の段階に関係するものを先に書いてください。
【厳守事項】
- 検索結果の記録に書かれていることだけで答えてください。
一般的な行事の知識や、他の学校の例で補わないでください。
- 今年どうするべきかを提案しないでください。
- 施設や行き先が安全かどうかを評価しないでください。
- 生徒個人の氏名・健康状態・家庭の事情に関する記述があっても、書かないでください。
- 記録に書かれていない原因や理由を推測しないでください。
- 関係する記録が見つからないときは、
「この行事の反省記録が見つかりません。前年の担当か学年主任に確認してください」
とだけ書いてください。
1回目の段取りの呼び出しでは、【答え方】を「何を、実施の何週間前に、誰(業者・施設・保護者・教育委員会など)に依頼したかを、起案と要項の記載のまま時系列で書く」に替えます。 【厳守事項】に「日付は年度と一緒に書き、今年の日付に置き換えない」を足します。
「一般的な行事の知識で補わない」を最初に書くのが、この指示の要です。 校外学習や宿泊行事は、モデルが一般的な知識を多く持っている題材で、記録が薄いほど一般論で埋めようとします。 学校の記録として読まれる以上、出典の無い一文は混ぜられません。
「記録に書かれていない原因を推測しない」も外せません。 反省記録に「バスの乗車に20分かかった」とだけあると、モデルは「生徒への事前指導が不足していたため」と理由を足します。理由が違えば、翌年の対策も違ってきます。
出力形式を固定する
2回の応答と照らし合わせの結果を、中継プログラムが次の形に整えて、画面と記録に渡します。
{
"request_id": "",
"school": "",
"grade": "",
"event_type": "",
"event_name": "",
"destination": "",
"stage": "destination | site_visit | proposal | parent_notice",
"steps": [ { "task": "", "weeks_before": 0, "counterpart": "", "fiscal_year": "", "uri": "" } ],
"cautions": [ { "summary": "", "place": "", "years": ["", ""], "repeat_count": 0,
"carry_over": "", "doc_kind": "review | site_visit | near_miss", "uri": "" } ],
"carry_over_check": [ { "from_year": "", "item": "", "found_in_outline": false, "skipped_reason": "" } ],
"status": "found | no_record | partial"
}
1つ目の理由は、repeat_count で並べ替えられることです。 同じ趣旨の注意点が3年分に出ていれば3と入り、画面では回数の多いものから並べます。 担当は、くり返している注意点から読めます。
2つ目は、carry_over_check で引き継ぎの抜けを一覧にできることです。 found_in_outline が false のものは、前年の申し送りに対応する記載が要項に見つからなかったものです。skipped_reason には answer メソッドが返した理由をそのまま入れ、AIの判断ではなく、検索で見つからなかったという事実として示します。
3つ目は、weeks_before で段取りを今年の暦に置き直しやすいことです。 過去の日付をそのまま出すと曜日も学校の予定も合いません。「実施の何週間前」に直して返せば、担当は今年の実施日から逆算できます。 置き直すのは担当で、プログラムは逆算の表を出すだけにします。
4つ目は、status の no_record を数えられることです。 記録が見つからない行事は、反省記録が残っていない行事の一覧そのものです。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 検索の画面 | 校内向けの画面 | 計画の条件を受け、段取り・注意点・引き継ぎの抜けを表示する |
| Google Workspace | Google Identity | 教職員の所属で閲覧の範囲を決める |
| Agent Search | answer メソッドの呼び出し(2回+照らし合わせ) | 教職員の ID で、起案・要項と反省記録から探す |
| 電子決裁 | 決裁済みの通知 | 決裁の終わった文書を複製して取り込む |
| 共有ドライブ | ファイルの複製 | 決裁済みの文書を Cloud Storage へ写す |
電子決裁には書き込みません。 起案はこれまでどおり担当が書いて回し、この構成は計画のための調べものだけを受け持ちます。 画面から起案の下書きを自動で作る機能は、最初は作りません。下書きが出ると、前年の要項の写しがそのまま起案になり、(b)の問題が形を変えて残るからです。
人が確認する
担当は、起案に使う前に、必ず出典の文書を開きます。 画面に出るのは要点で、要項の細かい条件(引率の人数、雨天時の判断の時刻、緊急時の連絡先)は原文にしかありません。
- 年度と学校を確かめる … 何年度の、どの学校の記録かを見ます。学校が違えば、生徒の人数も引率の体制も違います
- くり返している注意点を学年会に出す …
repeat_countが2以上のものは、担当一人で判断せずに学年会で扱います - 引き継ぎの抜けを確かめる …
found_in_outlineがfalseのものは、前年の担当か学年主任に事情を聞きます。直したのに要項に書かなかっただけ、ということもあります - 段取りの時期を今年に置き直す … 今年の実施日、学校の予定、施設の休館日から、担当が決めます
3番目を省かないでください。 印が付いたものの中には、施設側の事情で直せなかったもの、翌年は別の方法で対応したものも混ざります。印は「確かめる」の合図で、「直していない」という判定ではありません。
目標は、36件をならして1件15分です。 出典を開いて確かめる時間と、印の付いたものを学年主任に聞く時間の平均です。
例外に対処する
| 起きること | 対応 |
|---|---|
| 初めて行う行事で、記録が無い | no_record を返し、同じ行事の種類の他の行事の段取りを参考として別の枠に出す |
| 行き先が初めての場所 | 段取りは同じ行事の過去の記録から、注意点は「この行き先の記録なし」と表示する |
| 行事名が別名の一覧に無い | 近い行事を選ばせず、総務に回して一覧に足す |
| 手書きの反省記録が読めない | 取り込みの段階で文字が取れないものを総務が拾い、担当に清書を頼む |
| 反省記録の申し送りが空 | 取り込む前に担当に戻す。空のまま取り込まない |
| 他校の記録しか無い | 自校の記録が無い旨を表示し、閲覧できる範囲の他校の記録を参考として出す |
| 検索の呼び出しが失敗する | 「確認できませんでした」と表示し、総務の窓口を示す |
1行目の「参考」は、色を変えて表示します。 同じ行事の記録のように読まれると、行き先も規模も違う手順が持ち込まれます。
記録を残す
- 計画の条件、日時、教職員の所属
- 中継プログラムが組み立てた検索の文と、使った絞り込みの式
- answer メソッドの応答の全文(段取り、注意点、照らし合わせ。出典と回答しなかった理由を含む)
repeat_countとcarry_over_checkの結果- 印の付いた反省事項について、学年会で決めた扱い
- その行事の反省記録が、実施後に取り込まれたかどうか
最後の行が、この構成を続けるための記録です。 計画のときに検索した行事が、実施のあとに反省記録を取り込んだかを結びつけておけば、記録が途切れている行事が年度末に一覧で分かります。
04実装レベルの3段階
半自動化で、1件50分が30分程度になります。 探す時間は縮みますが、教員が総務に頼み、総務が検索する形が残ります。本格構成で15分になり、この段階が本記事の想定です。 差が大きいのは、くり返しと引き継ぎの抜けを、人が反省記録を読み比べずに一覧で見られるからです。 段階を飛ばさないでください。 半自動化の1学期で、どの行事の記録が薄く、どの別名が足りないかが分かります。そこを埋めてから教員に開きます。
05工数削減シミュレーション
導入後 36件 × 15分 ÷ 60 = 9 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 校外学習・遠足・宿泊行事・体育祭・避難訓練など、毎月どこかの学年で行事の計画が動いている中学校・高等学校や、複数の学校を持つ学校法人・教育委員会。行事の担当が毎年替わり、起案・要項・反省記録が年度ごとのフォルダに分かれて残っている場合。異動や退職で、行事の段取りを知っている教員が毎年いなくなる場合。学校の文書を Google Workspace の共有ドライブや校務のファイルサーバーに電子で残している場合。
- 行事の数が少なく、担当がほぼ毎年同じ教員で回っている場合。過去の起案や反省記録が紙でしか残っておらず、電子化する手間を取れない場合(取り込むものが無いと探せません)。行事の実施の可否や安全上の判断そのものをAIに任せたい場合(判断は管理職と担当が行い、この構成は過去の記録の該当箇所を示すだけです)。児童生徒の健康状態や配慮事項を検索に入れたい場合(この構成では取り込みません)。
07最小構成で試す方法
- 毎年行っている校外学習を1つ選び、過去3〜5年分の起案・要項・反省記録を集める(生徒の名簿や配慮事項の添付は外す)
- 集めた文書を、手元のAIサービスに年度が分かるファイル名で読み込ませる
- 「添付の記録だけを根拠に、この行事の段取りを実施の何週間前かで並べ、反省記録の注意点を年度ごとに示してください。一般的な知識で補わないでください。今年どうするかは書かないでください」と指示する
- 「前年の反省記録の申し送りのうち、前年の要項に対応する記載が無いものを挙げてください」と続けて聞く
- 出てきた内容を、その行事を担当したことのある教員に見てもらう
| 出てきた内容 | 判断 |
|---|---|
| 経験のある教員が「そのとおり」と言う段取りと注意点が出た | データストアの構築に進む |
| 一般的な行事の知識が混ざった | 指示の書き方で直る。構成は有効 |
| 反省記録が薄く、注意点がほとんど出ない | 反省記録の様式を作るのが先。 検索の問題ではない |
3行目が出ることは珍しくありません。 失敗ではなく、反省記録が翌年の担当に何も渡していなかったと分かったということです。 申し送りの欄のある様式を作り、次の行事の反省から書き始めてください。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 記録に無い段取りを一般論で埋める | 一般的な知識で補うことを名指しで禁じ、「記録が見つかりません」と書かせる |
| 生徒の名簿や配慮事項が検索に出る | 要項の様式を変え、添付を切り離してから取り込む |
| 行事名が年度ごとに違って引けない | 絞り込みは行事の種類(5区分)で行い、行事名は検索の文で引く |
| 前年の日付がそのまま今年の予定に写る | weeks_before に直して返し、日付の置き直しは担当が行う |
| 印の付いた申し送りを「直していない」と読む | 印は確かめる合図。前年の担当か学年主任に事情を聞く |
| 反省記録が「うまくいった」だけ | 申し送りの欄を必須にし、空のまま取り込まない |
| 決裁前の下書きが混ざる | 決裁済みの文書だけを複製する |
| 定期の同期で権限が効かない | 定期の取り込みではアクセス制御が使えない。決裁のたびに取り込む |
上の2行が、この構成の失敗のほとんどです。 前者は学校の記録に出典の無い手順を混ぜ、後者は生徒の情報を別の教員の画面に出します。どちらも、検索の精度ではなく、指示と様式で防ぎます。
6行目は、運用が1年回ってから効いてきます。 申し送りの無い反省記録が増えると、「使っても何も出ない」という印象だけが残ります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 行事の起案・要項・反省記録・下見の報告・ヒヤリハットの記録です。生徒の名簿、健康状態、アレルギー、配慮事項、保護者の連絡先は取り込みません。
- 生徒の個人情報を入れない … 名簿や配慮事項の添付は要項から切り離します。取り込んでから伏せるのではなく、取り込む前に外します
- 学校ごとに記録を出し分ける …
acl_infoに学校のgroup_idを書き、ヒヤリハットの記録は管理職と学年主任に限ります - 判断をさせない … 行事の実施、行き先の安全、雨天時の判断は、担当・学年会・管理職が決めます。画面に「この行き先は安全です」と書かれる作りにしません
- 出典の年度を必ず表示する … 古い記録で答えていることが、画面で分かるようにします
- ヒヤリハットの記録を責める材料にしない … 誰の不注意かではなく、何が起きたかを書く様式にします。書きにくい様式にすると、記録そのものが出てこなくなります
- 設置者の規程に合わせる … 外部のサービスに置く文書の範囲は、自治体か学校法人の規程で決めます
誤りが起きた場合のリスクは、出典の無い段取りが学校の手順のように使われることと、生徒の情報が別の教員の画面に出ることの2つです。 前者は指示で、後者は様式と閲覧の範囲で防ぎます。どちらもAIの回答の文に頼らず、取り込む前と表示する前の規則で守ります。
10まず何から始めるか
1週目:反省記録の様式を作る
「何が起きたか/どこで/次年度への申し送り」の欄を持つ反省記録の様式を作り、今月実施する行事から書き始めます。 あわせて、要項から名簿と配慮事項の添付を切り離す様式に変えます。
2週目:1つの行事で試す
毎年行う校外学習を1つ選び、過去3〜5年分の文書を手元のAIサービスに読み込ませて、段取りと注意点、引き継ぎの抜けを聞きます。一般的な知識が混ざっていないかを最優先で見ます。
3週目:行事の種類と別名の一覧を作る
校外学習・遠足・宿泊行事の文書に、5区分の行事の種類と正規の行事名を付けます。別名の一覧は総務が持ち、迷うものは総務が決めます。
4週目:データストアを作る
アクセス制御を有効にして、学校ごとの group_id を付けた文書を取り込みます。総務の担当が検索画面で使い、経験のある教員の答えと比べます。
2か月目: 中継プログラムと検索の画面を作り、1つの学年の担当で試します。引き継ぎの抜けの印が何件付き、そのうち何件が「直したが書いていなかった」ものだったかを数えます。3か月目以降: 全学年に広げ、1件50分が何分になったかを実測します。実施した行事の反省記録が毎回取り込まれるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
Vertex AI Search が Agent Search へ改称中であること。answer メソッドの includeCitations、ignoreLowRelevantContent、answerSkippedReasons、preamble、filter、userPseudoId。maxReturnResults の既定値が10・最大25であること | Google Cloud: Get answers and follow-ups | 2026-10-06 |
絞り込みの ANY()、AND/OR/NOT、項目を索引可能にする必要があること | Google Cloud: Filter search for structured or unstructured data | 2026-10-06 |
レイアウト パーサーが HTML・PDF・DOCX・PPTX・XLSX の見出し・表・リストを検出し、スキャンした文書にOCRをかけられること。チャンクの大きさが100〜500トークン(既定500)で、includeAncestorHeadings で見出しをチャンクに付けられること | Google Cloud: Parse and chunk documents | 2026-10-06 |
データソースのアクセス制御で、acl_info に group_id を書いて閲覧の範囲を限れること。作成時にしか有効にできないこと。Google Identity と、外部の ID 基盤(Workforce Identity Federation)が使えること | Google Cloud: Use data source access control | 2026-10-06 |
Cloud Storage から取り込むときのメタデータの JSONL(id、structData、content.mimeType、content.uri)。定期的な取り込みではデータソースのアクセス制御が使えないこと | Google Cloud: Create a search data store | 2026-10-06 |
| 学校行事が、儀式的行事/文化的行事/健康安全・体育的行事/遠足・集団宿泊的行事/勤労生産・奉仕的行事 の5つに分けられていること | 文部科学省: 小学校学習指導要領(平成29年告示) | 2026-10-06 |
行事の実施と安全に関する判断は、各学校の管理職と担当が行ってください。 本記事は Google Cloud と文部科学省の公開資料で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0602)についてのご相談はこちらから。
