株式会社ヒカリ様 AI・DX研修
Geminiキャンバスでアプリを2本作り、2本目でその日の日報を書いて提出するまで
← → キーでめくる / T で目次 / 印刷でそのままPDF
アプリを2本作ります。1本目は見せるため、2本目は今日から本当に使うため。
すごいけれど、受講者にとってはまだ他人事。「文章の指示だけでアプリができる」を体験させる。
作ったアプリを自分がその場で使い、成果物(日報PDF)を提出する。ここで自分事に変わる。
出力したPDFを共有ドライブに提出。2限目で習ったDriveをその場で使い、1日の学びが1本につながる。
このスライドだけブックマークしておけば、当日の操作はここで完結します。
コピー → Googleチャットに貼る → 受講者がチャットからコピーして Gemini に貼る、が当日いちばん速い導線です。
第1回で実際に使うのは A 受注売上明細 の2ファイルだけ。B・Cは時間が余ったとき用。
チェックは自動保存されます。当日の朝にもう一度リハーサル⑥〜⑩を通してください。
研修日報_第1回_氏名_日付 になる| 時間 | 内容 | 要点 |
|---|---|---|
| 0:00–0:05 | つかみ/Canvasをオンにする/貼り付け | ここは1人も置いていかない |
| 0:05–0:09 | 生成待ち | ★一番効く時間。3点を話す |
| 0:09–0:19 | アプリ①を触る(取込→AIチェック→承認→帳票) | ★承認が核心 |
| 0:19–0:20 | つなぎの一言 | 空気を変える |
| 0:20–0:23 | 新しいチャットを開く/貼り付け | 同じスレッドだと前のアプリと混ざる |
| 0:23–0:27 | 生成待ち | 日報の意味を2点話す |
| 0:27–0:31 | 使い方を1周見せる | 30秒で流す。細かく説明しない |
| 0:31–0:46 | 各自で記入(15分) | 机間巡回。書き出しボタンを教える |
| 0:46–0:53 | PDF出力 → 共有ドライブに提出 | ★送信先を「PDFに保存」に |
| 0:53–1:00 | 1日の振り返り/締め | 学びが1本につながったことを言う |
| 時間 | 内容 | 講師の動き・言葉 |
|---|---|---|
| 0:00–0:02 | つかみ | 「今から、皆さんの文章の指示だけで、業務で使えるアプリを作ります。プログラミングはしません」 |
| 0:02–0:04 | Canvasをオン | 1人も置いていかない。全員の画面でCanvasが光っているのを目視確認してから進む |
| 0:04–0:05 | 貼り付け | 「長い文章ですが、読まなくていいです。貼るだけ」 |
| 0:05–0:09 | 生成待ち | 次のスライドの3点を話す |
| 0:09–0:11 | 触る① 取込 | 「サンプルで試す」→ A 受注売上明細。件数と合計を確認 |
| 0:11–0:13 | 触る② AIチェック | 「ヒレカツ33 と ヒレカツ33 を同じ商品だと気づいた」を声に出させる |
| 0:13–0:16 | 触る③ 承認 ★核心 | 承認前後で合計金額と商品ランキングが変わるのを見せる |
| 0:16–0:19 | 触る④ 帳票 | 上から下まで流す。印刷プレビューまで出して「これがそのまま会議資料になる」 |
| 0:19–0:20 | つなぎ | 次々スライドの一言 |
4分の待ち時間がこの研修でいちばん効く教育機会です。手持ち無沙汰にしない。
サンプルにはAIが原理的に決められないものを2つ仕込んであります。承認ステップが必要な理由を、説明ではなくデータで体験させます。
株式会社﨑山青果 → 株式会社崎山青果
AIは「同じ得意先です」と提案する。でも本当に同じ会社かは営業しか知らない。
知多コース → 知多・西三河コース
統合したのか、別コースを新設したのか。配送管理の人にしか分からない。
ここで空気を変えます。このまま読んでも構いません。
今作ったのは「データを分析するアプリ」でした。正直、まだ他人事だと思います。
次は、皆さんが今日から本当に使うアプリを作ります。
この研修の日報です。作って、そのまま今日の分を書いて、提出まで行きます。
| 時間 | 内容 | 講師の動き・言葉 |
|---|---|---|
| 0:20–0:22 | 新しいチャットを開く | ★重要。同じスレッドに貼ると前のアプリと混ざる |
| 0:22–0:23 | 貼り付け | プロンプト②を配る |
| 0:23–0:27 | 生成待ち | 次のスライドの2点を話す |
| 0:27–0:31 | 使い方を1周見せる | 講師の画面で【1】→【6】→「PDFを作る」まで30秒で流す。細かく説明しない |
| 0:31–0:46 | 各自で記入(15分) | 机間巡回。詰まっている人に「書き出しボタン」を教える |
| 0:46–0:50 | PDF出力 | 「PDFを作る」→ 印刷 → 送信先を「PDFに保存」に変更 → 保存 |
| 0:50–0:53 | 提出 | 共有ドライブ AI研修 > 日報 > 第1回 にドラッグ&ドロップ |
自由記述は3つだけ。残りはすべてクリック。必須は氏名のみで、他が空でもPDFが出ます。
受講日(自動)/回次/氏名=唯一の必須/所属(営業部・業務部・総務部)
◎○△のボタンを押すだけ。回次で項目が切替(第1回4限21項目〜フェーズ3まで内蔵)
自由記述はここだけ。各欄に書き出しボタン4〜5個=タイピング対策の中核
候補をチェック+実施予定日
時間がかかっている作業/週あたり時間/AI活用可否。フェーズ3で何を自動化するかの材料
匿名希望チェック付き
| 症状 | 対処 |
|---|---|
| 印刷画面で「プリンター」になっている | 送信先を「PDFに保存」に変える。最大のつまずき。全体に声をかける |
| 2枚になる | そのままでよい。当日は直さない |
ファイル名が document.pdf | その場では手で名前を付けさせる |
最後に提出してもらった日報は、2限目で習った共有ドライブに入っています。
今日習ったことが、最後に全部つながりました。
それから、作ったのはAIですが、何を作るか決めたのは皆さんです。
AIは「こういうものが欲しい」と言える人の道具です。
次回は、その「言い方」をもっと練習します。
研修は必ず押します。削る順番を決めておくことが当日の保険です。上から順に削ってください。
| 順 | 削るもの | 影響 |
|---|---|---|
| 1 | アプリ①の帳票(0:16–0:19)を2分に短縮 | 小。承認の山場は残る |
| 2 | アプリ①の「触る④ 帳票」を講師のデモだけにする | 小 |
| 3 | 日報の記入を10分に短縮し、残りは持ち帰り | 中。ただしPDF出力は必ずその場で |
| 4 | 共有ドライブへの提出を持ち帰りにする | 中。1日の締めくくりが弱くなる |
同じ会社の3部門・3つの業務・違う表。部署が変わっても同じアプリで分析できることを体感させる教材です。
| 分野 | 部門 | 形式 | 列 | ねらい | 開く | |
|---|---|---|---|---|---|---|
| A | 受注売上明細 | 営業部 | CSV | 納品日/得意先名/商品コード/商品名/数量/単価/金額 | 基本形。数量×単価の要因分解まで出る | A |
| B | 製造日報 | 業務部(入場工場) | PDF+CSV | 製造日/製造ライン/商品コード/商品名/生産数/規格外数/製造原価 | PDFから読める。規格外率が出る | B |
| C | 配送実績 | 業務部(配送) | PDF+CSV | 配送日/配送コース/得意先コード/得意先名/納品ケース数/配送距離/配送時間 | 金額の列が1つも無い分野でも成立する | C |
PDFの読み取りが当日不調なら、同内容のCSVを同梱しているので黙って差し替えてください。
当日「AIは何件見つけましたか?」と聞くと会話が生まれます。わざと間違いを入れてあると最後に明かすと腹に落ちます。
作り直させない。日本語で症状を伝えて直させます。コピーしてそのまま貼ってください。
STEP2からSTEP3に進めません。エラーで止まらないようにして、 AIの応答が取れない場合はルールベースの判定結果に切り替えて必ず次に進めるようにしてください。 また、画面のどこで止まったか分かるように、処理中の表示を入れてください。
起動直後に「サンプルで試す」ボタンを追加し、押すと次の3分野から選べるようにしてください。 A 受注売上明細(納品日,得意先名,商品コード,商品名,数量,単価,金額) B 製造日報(製造日,製造ライン,商品コード,商品名,生産数,規格外数,製造原価) C 配送実績(配送日,配送コース,得意先コード,得意先名,納品ケース数,配送距離,配送時間) 各分野とも2026年7月と8月の2つを用意し、ファイルを選ばずにSTEP1からSTEP4まで 最後まで体験できるようにしてください。8月側には表記ゆれ・新規・消滅・異常値・ 計算違い・重複行・マイナスの値・期間外の日付・必須列が空の行を含めてください。 商品名は「旨牛ちゃんコロッケ」「ヒレカツ33」「真アジフライ」「カツ味噌」など 惣菜・業務用食品の名前にしてください。
STEP3で承認した名寄せが、STEP4の集計に反映されていません。 承認した項目は同一項目として合算し、却下した項目は別項目として扱うように修正してください。 承認前と承認後で合計と増減ランキングが変わることを確認できるようにしてください。 また、承認カードそれぞれに「承認すると合計がいくら変わるか」を表示してください。
金額の列が1つも無いデータでも動くようにしてください。 帳票の中心に据える「主指標」を、金額系の列があればそれ、無ければ数量系の先頭の列に 自動で決め、STEP4の上部のプルダウンで人が切り替えられるようにしてください。 画面の文言は「金額」と決め打ちせず、選ばれた主指標の列名をそのまま使ってください。 単位も列名から推定してください(〜金額/原価/単価→円、〜数/ケース数→ケース、 〜距離→km、〜時間→時間)。
列の役割の判定を直してください。列名を決め打ちせず、次の5つの役割に分類してください。 日付(いつ)/区分(どこ:得意先・製造ライン・配送コース・部署)/項目コード/項目名/数値列。 「得意先名」のように区分にも名称にも当てはまる列があるので、得意先コードがある場合は 得意先を項目として扱い、配送コースなど別の列を区分に回してください。 判定結果はSTEP1の画面に「日付=『配送日』、区分=『配送コース』として読み込みました」の ように日本語で表示し、プルダウンで人が直せるようにしてください。
PDFを読み込むと数値の列が1行ずれます。 pdf.jsで取得したテキストを出現順に連結しないでください。右揃えの数値セルが 別のタイミングで描画されるため必ずずれます。各itemの座標(x=transform[4], y=transform[5])を使い、 yが近いもの(±2pt程度)を同じ行としてグルーピングしてから、xで列に割り当ててください。 列の境界は、ヘッダー行の各セルのx位置の中間に取ってください。 「カツ味噌 (八丁味噌入り)」「株式会社みなと屋フーズ」のように空白を含む語は 複数itemに分かれるので、同じ列に割り当たったitemはx順に連結して1つのセルに戻してください。
PDFを入れても読み込めません。pdf.jsで全ページのテキストを座標つきで抽出し、 表として組み直してください。テキストが取得できないPDFの場合は「このPDFは画像として 保存されている可能性があります。CSVでお試しください」と案内し、アプリは止めないでください。 また、帳票に印字された合計と、読み込んだ明細の合計が一致するかを検算して画面に表示してください。
CSVを読み込むと日本語が文字化けします。
まずUTF-8として読み、文字化け文字(U+FFFD)が含まれていたらTextDecoder('shift_jis')で
読み直すようにしてください。先頭のBOMも除去してください。
ダウンロードするCSVもUTF-8のBOM付きで出力してください。AIの応答がJSONとして読めずに失敗します。 generationConfigにresponseMimeType: "application/json"とresponseSchemaを指定して 構造を固定してください。それでも解析に失敗した場合はルールベースの判定に切り替えてください。
AIの確認に時間がかかりすぎます。 AI呼び出しを1回にまとめ、渡すデータは項目・区分ごとに集計した要約(主指標の上位200件まで) にしてください。タイムアウトは20秒、再試行は2回までとし、それ以降はルールベースに切り替えます。
ITに不慣れな人向けに、もっと分かりやすくしてください。 本文は18px以上、ボタンは高さ56px以上にし、各ステップの先頭に「今から何をするか」を 1行で大きく表示してください。次に進むボタンは画面の右下に1つだけ置いてください。
続きを実装してください。
土台が動いてから1つずつ貼って足します。一度に全部言わないこと。上から順に効きます。
帳票が読みにくいので、次のルールで整えてください。 ・上から「結論 → 要因 → 明細」の順に並べる ・図や表の直下に必ず「この表から分かること」を1行入れる ・数値は3桁区切りで右揃え。単位は列ヘッダーに1回だけ書く ・増加は緑、減少は赤、横ばいは灰色。色だけに頼らず ▲▼→ の記号も必ず付ける ・表は既定で上位10件まで。「全件を表示」で展開できるようにする ・セクション間の余白を広く取り、罫線は横線だけにする ・帳票の先頭に「この帳票の読み方」を1行だけ置く
帳票の一番上に「エグゼクティブサマリー」を追加してください。 3〜5行の日本語で「何がどれだけ増減したか」「主な要因は何か」「注意すべき点」 「次に確認すべきこと」を書きます。AIが使えない時は数値から組み立てた文章を出し、 空欄にはしないでください。
帳票に「増減の内訳」セクションを追加してください。 Chart.jsの積み上げ棒で擬似ウォーターフォールを描きます。 左から「前期合計 → 増加の上位5項目 → 減少の上位5項目 → その他まとめて → 当期合計」と並べ、 「なぜ増えた/減ったか」が1枚で分かるようにしてください。
帳票に「増減の構造分解」セクションを追加してください。 増減額を次の3つに分解し、金額と構成比を表で示します。分解式も画面に書いてください。 増減額 = 継続項目の増減 + 新規項目の寄与 − 消滅項目の消失 さらに、主指標が「数量列 × 単価列」で表せる場合に限り、数量要因と単価要因に分解してください。 数量要因 ≒ (当期数量 − 前期数量) × 前期単価 単価要因 ≒ (当期単価 − 前期単価) × 当期数量 この関係が成立しない分野では、このセクションは自動的に非表示にしてください。
増減ランキングの表に「寄与度」の列を追加してください。 その項目の増減額が、全体の増減額に占める割合をパーセントで表します。 列は「項目名/前期/当期/増減/増減率/寄与度/横棒グラフ」とし、 増加TOP10と減少TOP10を並べ、「区分別/項目別」をタブで切り替えられるようにしてください。
帳票に次の2つを追加してください。
(1) 構成比の変化: 前期と当期の構成比をドーナツグラフ2つで並べ、その下に
「項目/前期構成比/当期構成比/ポイント差」の表を出す。主役が入れ替わったかが分かるように。
(2) クロス集計ヒートマップ: 縦=区分、横=項目(上位10)、セル=増減率。
増加は緑、減少は赤の濃淡で塗り、マウスを乗せると前期・当期の実数を表示する。数値列が2つ以上あるとき、「A ÷ B」の比率を自動で1つ提案して帳票に載せてください。 例: 規格外数÷生産数=規格外率、配送時間÷配送距離=1kmあたり所要時間、金額÷数量=ケース単価。 AとBはプルダウンで人が選び直せるようにし、この比率の前期→当期の変化も表示してください。
帳票の最後に「データ品質レポート」を追加してください。 前期・当期それぞれの行数/欠損のある行数/重複行数/期間外の日付の行数/ 計算が合わない行数を表で示し、読み込んだ明細の合計=帳票の合計であることの検算も出してください。 あわせて、AIを使ったのかルールベースにフォールバックしたのかも記載してください。
印刷とPDF保存を整えてください。@media print でA4縦にし、ボタンやナビゲーションは印刷しない。 各セクションに page-break-inside: avoid を効かせ、表が途中で切れないようにしてください。 画面では2カラムでも、印刷時は1カラムにしてください。
3-A〜3-F が復旧、3-G・3-H が第2回以降の増築です。
日報の紙面がA4縦1枚に収まりません。余白とフォントサイズを詰めて1枚に収めてください。 学習内容の一覧は2段組にし、理解度は◎○△−の記号だけで表してください。 各ブロックには page-break-inside: avoid を効かせ、途中で切れないようにしてください。
印刷すると入力欄の枠やボタンまで出てしまいます。 入力する画面と、印刷する紙面を完全に分けてください。 「PDFを作る」を押したら、入力欄を一切含まない紙面を組み立てて表示し、 その紙面だけが印刷されるようにしてください。ボタンやナビゲーションは印刷しないでください。
PDFのファイル名が分かるようにしてください。 印刷を実行する直前に document.title を「研修日報_第1回_山田太郎_2026-10-08」のように (回次_氏名_受講日)書き換え、印刷が終わったら元に戻してください。
入力した内容が消えてしまいます。入力のたびにlocalStorageへ自動保存し、 開き直したときに「書きかけの日報があります。続きから書きますか?」と復元を提案してください。 localStorageが使えない環境でも落ちないよう、読み書きはtry/catchで囲んでください。
ITに不慣れな人向けに、もっと分かりやすくしてください。 本文は18px以上、入力欄の文字は20px、ボタンは高さ56px以上にしてください。 各ブロックの先頭に「ここでは何を書くのか」を1行で大きく表示し、 画面の右下に「PDFを作る」ボタンを常に固定表示してください。
回次のプルダウンを変えても学習項目が切り替わりません。 第1回(1限目〜4限目)/第2回(Geminiを実務で使う)/第3回(Notebookで自社資料を使う)/ フェーズ2(チームで使う)/フェーズ3(アプリ化・自動化)で、それぞれの項目リストに 切り替わるようにしてください。切り替えても、すでに入力した他の欄は消さないでください。
学習項目を追加してください。第◯回に「◯◯◯」「◯◯◯」の項目を加えてください。 既存の項目や入力内容はそのままにしてください。
次の3つを追加してください。
(1) 前回の日報の「次回までにやってみること」を入力して、できたかどうかを
○×で答える欄を【1】の下に追加する
(2) 理解度が△だった項目だけを集めた「もう一度教えてほしいことリスト」を紙面の最後に出す
(3) 入力欄で音声入力が使えるように、マイクのボタンを付ける
(Web Speech APIを使い、使えない環境ではボタンを非表示にする)generativelanguage.googleapis.com 宛の
fetch を親ページ(Gemini Web UI)が横取りし、ログイン済みセッション経由で転送している。だから apiKey = "" で動く。