Media > AI活用ユースケース > 人事 > 新入社員が Google フォームで出す週報に、指導担当の観点に沿ったフィードバックの下書きを付けて指導担当へ送る

新入社員が Google フォームで出す週報に、指導担当の観点に沿ったフィードバックの下書きを付けて指導担当へ送る

実装ステータス:構成例 技術的に実現可能な構成として設計したもの。自社未検証

新入社員が Google フォームで出す週報に、指導担当が返すフィードバックの下書きを付けます。部署ごとの指導の観点と先週の目標に照らして書き、指導担当へ届けます。

サマリー
生成AI
ChatGPT/Claude/Gemini
連携・自動化
Google Apps Script/Make/Power Automate
対象業界
小売/建設/物流/製造
対象部門
人事
対象業務
内容確認・チェック/書類作成
主な課題
人手が足りない/属人化している/期限・対応漏れが起きる
AIで行う処理
生成
主な効果
品質標準化/工数削減/教育コスト削減
導入難易度
★☆☆☆☆
実装レベル
半自動化
費用感
API連携(中)
人間の確認
条件付き
現在工数
40h/月
AI導入後
16h/月
想定削減
60%
年間削減
288h
モデル条件による試算値です。実在企業の実績ではありません。

01導入前 / 導入後の業務フロー

導入前(Before)
  1. 金曜の夕方、新入社員が Google フォームで週報を出す
  2. 指導担当が、回答のスプレッドシートで自分の担当の行を探す
  3. 週報を読み、先週の週報を開いて「来週の目標」を確かめる
  4. 部署の指導の観点の資料を見て、何を返すかを考える
  5. 返事を書き、メールかチャットで送る
  6. 気になる記述があれば、人事部に連絡する
導入後(After)
  1. 人金曜の夕方、新入社員が Google フォームで週報を出す(いまと同じ)
  2. 自動回答がスプレッドシートに書き込まれたのをきっかけに Apps Script が動く
  3. 自動本人の部署・指導担当・指導の観点と、先週と先々週の週報を引く
  4. 自動AIが、良かった点・先週の目標の振り返り・次に意識すること・指導担当が答える質問・気になる記述を出す
  5. 自動下書きを回答のシートの横の列に書き、指導担当へメールで知らせる
  6. 自動気になる記述の印が付いたものは、人事部の担当にも知らせる
  7. 人指導担当が下書きを読み、質問への答えを足し、直したものを確定の欄に書く
  8. 自動平日の夕方、確定の欄に書かれ送付の印が付いたものを新入社員へ送る
各工程の詳しい説明を読む
  1. 金曜の夕方、新入社員が Google フォームで週報を出す
  2. 指導担当が、回答のスプレッドシートで自分の担当の行を探す
  3. 週報を読み、先週の週報を開いて「来週の目標」を確かめる
  4. 部署の指導の観点の資料を見て、何を返すかを考える
  5. 返事を書き、メールかチャットで送る
  6. 気になる記述があれば、人事部に連絡する

(a)返事が遅れ、一言で終わる。 指導担当は金曜の夕方から月曜の朝にかけて現場の仕事が詰まっています。返事は「お疲れさま、来週も頑張って」の一言になるか、翌週の半ばにずれ込みます。 新入社員にとっては、書いた週報が読まれたのかも分かりません。

(b)指導担当によって中身がばらばら。 細かく返す人もいれば、ほとんど返さない人もいます。同期で集まると「うちの担当は何も言ってくれない」という話になります。

(c)先週の目標と照らしていない。 3番を省くと、目標を立てさせたまま振り返らないことになります。目標の欄が、毎週同じ文の繰り返しになっていきます。

(d)困りごとが読み流される。 「困ったこと」の欄に小さく書かれた「最近あまり眠れていない」が、忙しい週ほど見落とされます。人事部に届くのは、本人が休んだ後です。

  1. 【人】 金曜の夕方、新入社員が Google フォームで週報を出す(いまと同じ)
  2. 【自動】 回答がスプレッドシートに書き込まれたのをきっかけに Apps Script が動く
  3. 【自動】 本人の部署・指導担当・指導の観点と、先週と先々週の週報を引く
  4. 【自動】 AIが、良かった点・先週の目標の振り返り・次に意識すること・指導担当が答える質問・気になる記述を出す
  5. 【自動】 下書きを回答のシートの横の列に書き、指導担当へメールで知らせる
  6. 【自動】 気になる記述の印が付いたものは、人事部の担当にも知らせる
  7. 【人】 指導担当が下書きを読み、質問への答えを足し、直したものを確定の欄に書く
  8. 【自動】 平日の夕方、確定の欄に書かれ送付の印が付いたものを新入社員へ送る

7番が、この設計の分かれ目です。 AIが書くのは、週報の記述から読み取れることだけです。質問への答えと、現場で見ていた様子は指導担当が足します。 指導担当の確定を経ないものは、新入社員に届きません。

6番は、AIが判断するのではありません。 体調や気持ちに触れた記述を拾い、人事部の担当が週報の原文を読むきっかけを作るだけです。 見立てを書かせることはしません。

02今回想定するシステム構成

構成図
新入社員 ── Google フォーム(週報)
   ▼ 回答がスプレッドシートに書き込まれる
【トリガー】スプレッドシートのフォーム送信(インストール型)
Google Apps Script
   ├── 新入社員の名簿シート ── 部署・指導担当・観点を引く
   ├── 回答シート ── 先週と先々週の週報を引く
   ├── Claude API(UrlFetchApp、構造化出力)
   │      ── 良かった点・目標の振り返り・次に意識すること
   │         ・指導担当が答える質問・気になる記述
   ├── 回答シートの横の列 ── 下書きを書く
   └── MailApp ── 指導担当へ通知(気になる記述は人事部へも)
   ▼
【指導担当が直して確定の欄に書く】
   ▼【トリガー】平日17時(時間主導型)
Google Apps Script ── MailApp で新入社員へ送る
役割想定する製品代替候補
実行環境Google Apps ScriptMake、Power Automate
生成AIClaude API(構造化出力)OpenAI API、Gemini API
保管Google スプレッドシート(回答、名簿、指導の観点)-
通知Gmail(MailApp)Google Chat

新しく足すのは、Apps Script と、名簿のシートと観点のシートだけです。 フォームと回答のスプレッドシートはいまのものを使い、回答のシートの右に「下書き」「確定」「送付」「送付日時」の列を足します。 人事のシステムには、この構成から書き込みません。

きっかけにするのは、スプレッドシートの側のフォーム送信のトリガーです。 公式のページでは、フォーム送信のインストール型トリガーには Google フォームの側とスプレッドシートの側の2種類があります。スプレッドシートの側のイベントには、質問の名前と値の組(namedValues)と、書き込まれた範囲(range)が入ります。 下書きを同じ行の横の列に書くので、行の位置が分かる後者を使います。

AIは UrlFetchApp から Claude API を呼びます。 公式のページでは、muteHttpExceptions を有効にすると失敗の応答でも例外を投げずに応答を返します。応答の状態を自分で見て、失敗した行に印を付けるために使います。 構造化出力は output_config.format に JSON Schema を渡す形で、公式のページでは additionalProperties を false にすることなどが求められます。

03どうやって実装するのか

Step1

処理の起点を決める

2つのトリガーを使います。 1つ目は、週報の回答がスプレッドシートに書き込まれたときに動くフォーム送信のトリガー、2つ目は、平日の17時に確定したフィードバックを送る時間主導型のトリガーです。

フォーム送信のトリガーは、インストール型で作ります。 公式のページでは、インストール型トリガーは認可の要るサービスを呼べ、常に作った人のアカウントで動くとされています。Claude API を呼ぶ UrlFetchApp も、メールを送る MailApp も認可が要るので、シンプルトリガーでは動きません。作るのは人事部の育成担当の共用アカウントにします。 個人のアカウントで作ると、その人が異動したときに止まります。

時間主導型のトリガーは、指定した時刻ちょうどには動きません。 公式のページでは、たとえば9時に設定すると9時から10時の間のどこかで動き、その時刻は日ごとに変わらないとされています。17時に設定すれば、17時台のどこかで送られます。 新入社員の終業の前に届けたいなら、16時に設定します。

失敗は画面に出ません。 公式のページでは、トリガーの失敗は所有者へのメールで要約が届き、実行のログに残ります。育成担当の共用アカウントのメールを、誰かが毎日見る運用にします。

Step2

入力データを集める

データ中身取得元
今週の週報提出日時、社員番号、5つの欄の記述イベントの namedValues(回答シート)
新入社員の名簿社員番号、部署、配属日、指導担当の名前とメールアドレス名簿シート
指導の観点部署ごとに3〜5つの観点と、それぞれの短い説明観点シート
先週と先々週の週報5つの欄の記述と、指導担当が確定したフィードバック回答シート

質を決めるのは、指導の観点の書き方です。 「主体性」のような言葉だけでは、AIは何を見ればよいか分からず、どの新入社員にも同じ励ましを書きます。 「分からないことをその日のうちに聞けたか」「作業の前に標準書を開いたか」のように、週報の記述と照らせる形で書きます。

先週の確定したフィードバックを渡すのは、同じことを繰り返さないためです。 先週「報告のタイミング」に触れていれば、今週はその後どうなったかを尋ねます。毎週同じ指摘が並ぶと、新入社員は読まなくなります。

Step3

データの取得方法を決める

今週の週報は、イベントの中身から取ります。 公式のページでは、スプレッドシートの側のフォーム送信のイベントには namedValues(質問の名前と値の組)、values(シートの並びの値)、range(書き込まれた範囲)が入ります。range の行番号を控え、下書きを同じ行の横の列に書きます。

取るものどこから何に使うか
5つの欄の記述namedValues下書きの材料
書き込まれた行range下書きを書く位置
部署と指導担当名簿シートを社員番号で引く観点の選択と通知の宛先
指導の観点観点シートを部署で引く下書きの観点
先週・先々週の週報回答シートを社員番号と提出日で引く目標の振り返りと繰り返しの防止

API の呼び出しは、UrlFetchApp の fetch に4つの指定を渡す形です。 method は post、contentType は application/json、headers に API のキーと anthropic-version、payload に指示と週報と output_config を JSON の文字列にして入れます。公式のページでは、contentType を省くと既定はフォームの形式(application/x-www-form-urlencoded)になるとされています。JSON を送るのに contentType を書き忘れると、API は中身を読めません。

Claude API のキーは、スクリプトのプロパティに置きます。 公式のページでは、スクリプトのプロパティはスクリプトのすべての利用者で共有されるアプリ全体の設定に向くとされています。共有されるので、このスクリプトを編集できる人を育成担当に限ります。 コードに直接書くと、スプレッドシートを複製した人にもキーが渡ります。

Step4

AIへ渡す前に整形する

  1. 社員番号を確かめる … 名簿に無い社員番号なら、AIを呼ばずに育成担当へ知らせます
  2. 欄の空白を確かめる … 5つの欄のうち3つ以上が空なら、下書きを作らず指導担当に「記述が少ない」とだけ知らせます
  3. 先週の週報を探す … 提出日の7日前から13日前に提出された行を探します。無いときは「先週の週報なし」と明示して渡します
  4. 長さをそろえる … 1つの欄が極端に長いときは、先頭から一定の文字数で切り、切ったことを指導担当への通知に書きます
  5. 名前を外す … AIに渡すのは社員番号の代わりの通し番号と記述だけです。本人と指導担当の名前、メールアドレスは渡しません
  6. 二重の提出を確かめる … 同じ週に2回出ていれば、新しい方だけを扱い、古い方の行に「再提出あり」と書きます

3番の「先週の週報なし」は、AIが目標の振り返りを作り上げないための材料です。 何も渡さないと、「先週の目標だった〇〇はどうでしたか」と、ありもしない目標を書くことがあります。

5番で名前を外しても、下書きの冒頭の呼びかけは困りません。 宛名は送るときにスクリプトが名簿から差し込みます。

Step5

AIに処理させる

させるのは、週報の記述から5つの項目を書き出すことです。 どの項目も、週報の言葉を引いて書かせます。

項目中身書かないもの
良かった点「できるようになったこと」などから、観点に当たる記述を1〜2つ引いて認める週報に無い長所
目標の振り返り先週の「来週の目標」が今週の記述に出てくるかを見て、出てこなければ尋ねる達成したかどうかの決めつけ
次に意識すること観点のうち、今週の記述から次の一歩が見えるものを1つ叱責、他の新入社員との比較
指導担当が答える質問「聞きたいこと」の欄の質問を写す質問への答え
気になる記述体調・睡眠・気持ち・人間関係・けが・ヒヤリハットに触れた記述を写す見立て、助言

4行目と5行目が、この構成でいちばん大事な線引きです。 質問への答えをAIに書かせると、現場の標準書と違う手順や数値がもっともらしく書かれます。 締め付けのトルク、薬品の扱い、設備の止め方を誤って覚えると、けがにつながります。答えるのは指導担当です。

5行目も同じです。 「眠れない」に対して「睡眠の質を上げるには」と書くのは、AIの仕事ではありません。記述をそのまま写し、指導担当と人事部が本人と話すきっかけにします。 ヒヤリハットの記述は、安全の担当に回すべき情報でもあります。

させないこと理由
評価・点数を付ける週報の書きぶりと仕事の出来は別。評価は上司が決める
他の新入社員と比べる同期の比較は、本人の意欲を下げる
作業の手順・数値を答える標準書と違う答えがけがにつながる
体調や気持ちへの助言人事部と産業医の領分
週報に無い出来事を書く「先週の目標」を作り上げない
Step6

指示内容を固定する

あなたは製造業の会社で、新入社員の指導担当を補助する立場です。
新入社員の週報を読み、指導担当が返すフィードバックの下書きを書いてください。
下書きは指導担当が直してから送ります。

【書く項目】
1. good_points: 週報の記述から、指導の観点に当たる良かった点を1〜2つ。
   それぞれ、根拠にした週報の言葉を quote にそのまま写してください。
2. goal_review: 先週の「来週の目標」が今週の記述に出てくるかを見て、
   出てくれば認め、出てこなければ「〇〇はどうでしたか」と尋ねる一文。
   先週の週報が「なし」のときは空にしてください。
3. next_focus: 指導の観点のうち、今週の記述から次の一歩が見えるものを1つ。
   命令ではなく、「〜してみてください」の形で1〜2文。
4. questions_for_trainer: 「指導担当に聞きたいこと」の欄の質問を、
   1つずつそのまま写してください。答えは書かないでください。
5. attention: 体調、睡眠、気持ち、人間関係、けが、ヒヤリハットに
   触れた記述があれば、そのまま写してください。無ければ空の配列。

【厳守事項】
- 週報に書かれていないことを書かないでください。先週の目標を作らないでください。
- 作業の手順、数値、設備や薬品の扱いについて、答えや助言を書かないでください。
- attention に当たる記述について、助言や見立てを書かないでください。
- 評価、点数、他の新入社員との比較を書かないでください。
- 「頑張って」「さすが」のような中身の無い言葉だけで文を終えないでください。
- 全体で300字以内。です・ます調。宛名と署名は書かないでください。

【部署の指導の観点】{viewpoints}
【先週の週報と、指導担当が送ったフィードバック】{last_week}
【先々週の週報の「来週の目標」】{two_weeks_ago_goal}
【今週の週報】{this_week}

「答えは書かないでください」を質問の項目に直接書かないと、親切に答えます。 生成AIは質問を見ると答えようとし、「一般的には〜です」と前置きして数値を書きます。 項目の定義そのものを「写す」にしておくのが確実です。

「中身の無い言葉だけで文を終えない」は、第3章の(a)への対策です。 下書きが一言の励ましになるなら、AIを入れる意味がありません。

Step7

出力形式を固定する

次の形のJSONで受け取ります。 Claude API の構造化出力で、この形に合う JSON を返させます。

{
  "good_points": [
    { "text": "", "quote": "" }
  ],
  "goal_review": "",
  "next_focus": { "viewpoint": "", "text": "" },
  "questions_for_trainer": [""],
  "attention": [
    { "category": "health | sleep | feeling | relationship | injury | near_miss",
      "quote": "" }
  ]
}

1つ目の理由は、項目ごとにシートの列へ分けて書けることです。 good_points と goal_review と next_focus は下書きの本文に、questions_for_trainer は「答える質問」の列に、attention は「気になる記述」の列に書きます。指導担当は、どこを直し、どこに答えを足せばよいかが一目で分かります。

2つ目は、attention が空かどうかでスクリプトが通知の宛先を決められることです。 空でなければ人事部の担当にも知らせ、injury と near_miss のときは安全の担当にも知らせます。この判断をAIの文章から読み取る必要がありません。

3つ目は、quote で下書きの根拠を確かめられることです。 良かった点が週報のどの言葉から来たかが分かり、週報に無いことを書いていないかを指導担当が見分けられます。 公式のページでは、構造化出力の schema では文字数の制約(minLength・maxLength)が使えないとされているため、300字の上限は指示に書き、スクリプトで長さを数えます。

Step8

システムへ連携する

つなぎ先方式内容
回答シートフォーム送信のトリガーのイベント今週の週報と書き込まれた行
名簿・観点のシートSpreadsheetApp で読む部署・指導担当・観点
Claude APIUrlFetchApp(POST、JSON)5つの項目の下書き
回答シートの横の列SpreadsheetApp で書く下書き、答える質問、気になる記述
指導担当・人事部MailApp下書きができた知らせ、気になる記述の知らせ
新入社員MailApp(平日17時台)確定したフィードバック

指導担当への知らせには、下書きの本文と、回答シートの該当の行へのリンクを書きます。 指導担当は行を開き、「確定」の列に直した文を書き、「送付」の列に印を付けます。メールの返信で返事をさせないのは、確定した文をシートに残すためです。

新入社員へは、指導担当の名前で送ります。 MailApp の name に指導担当の名前を入れ、replyTo に指導担当のメールアドレスを入れ、cc に指導担当を入れます。新入社員が返信すれば、指導担当に届きます。 公式のページでは、noReply を有効にすると replyTo は無視されるため、noReply は使いません。

送る前に、その日に送れる残りの数を確かめます。 公式のページでは、MailApp の getRemainingDailyQuota でその日の残りの宛先数が分かり、上限は Google Workspace のアカウントで1日1,500です。月160件と通知では届きませんが、他のスクリプトと同じアカウントで動かすなら、残りが少ない日は翌日に回します。

Step9

人が確認する

指導担当が見るのは、自分の担当の2人分の下書きです。

  1. attention を先に見る … 気になる記述があれば、下書きより先に本人と話す段取りを考えます。人事部にも同時に届いています
  2. 質問に答える … 「答える質問」の列の質問に、現場の標準書を確かめて答えを書き足します。ここはAIが空けている場所です
  3. quote を確かめる … 良かった点が週報の記述から来ているかを見ます
  4. 現場で見た様子を足す … 週報に書かれていないが、指導担当が現場で見ていたことを一言足します
  5. 確定の欄に書き、送付の印を付ける

2番と4番が、指導担当にしか書けない部分です。 AIの下書きは週報の記述しか知りません。現場での様子を一言足すだけで、新入社員にとって「読まれた」返事になります。

目標は、1件6分です。 読む時間と質問に答える時間が中心で、質問の無い週は3分ほど、質問が多い週は10分を超えます。 6分を大きく超える指導担当が続くなら、観点の書き方か、質問の多さに理由があります。

Step10

例外に対処する

起きること対応
名簿に無い社員番号AIを呼ばず、育成担当へ知らせる。入力の誤りか、名簿の更新漏れ
欄の多くが空下書きを作らず、指導担当に「記述が少ない」とだけ知らせる
先週の週報が無い「先週の週報なし」と明示して渡し、goal_review を空にさせる
同じ週に二度提出新しい方を扱い、古い方に「再提出あり」と書く
Claude API が失敗を返すmuteHttpExceptions で応答を受け、行に「下書き失敗」と書く。30分後の時間主導型トリガーで再試行
下書きが300字を超えるスクリプトで数え、超えたものは「長い」と印を付けて指導担当に任せる
指導担当が3日たっても確定しない育成担当にまとめて知らせる。新入社員に下書きを直接送ることはしない
指導担当が異動・休職名簿の指導担当を差し替える。差し替えるまでは育成担当に通知が届く
1回の実行が長くなる公式のページでは、1回の実行は6分まで。1件ずつ動くので通常は届かない

7行目は、この設計の考え方そのものです。 指導担当が忙しくて確定できない週に、AIの下書きをそのまま送れば返事は早く届きます。ただ、それは指導担当の返事ではなく、新入社員もいずれ気づきます。 遅れているという事実を育成担当に知らせるところまでにします。

Step11

記録を残す

  • 週報の原文(回答シートにそのまま残る)
  • AIが返した JSON の全文と、呼んだ日時
  • 指導担当が確定した文と、送付の日時
  • 下書きと確定した文の違い … 指導担当がどこを直したか
  • attention の記述と、人事部・安全の担当に知らせた日時
  • 下書きに失敗した行と、その理由

4つ目は、観点と指示の見直しの材料になります。 指導担当が毎回 next_focus を書き換えているなら、観点の書き方が現場に合っていません。直された箇所を月に1回まとめて読むと、指示の何を変えればよいかが分かります。

5つ目は、人事部が扱う記録です。 気になる記述への対応の経過は、このシートではなく人事部の面談の記録に残します。回答のシートを見られる人に、面談の中身まで見せないためです。

04実装レベルの3段階

最小構成:週報と観点を手でAIの画面に貼り、下書きを書かせる / 1件ごとの下書き
半自動化:上記+フォーム送信で Apps Script が動き、下書きをシートに書いて指導担当へ知らせ、確定したものを送る / 下書きから送付まで
本格構成:上記+月に1回、新入社員ごとの4週分の週報と確定したフィードバックから、人事部向けの育成の経過をまとめる / 月ごとの経過の整理まで

最小構成は確かめるための段階です。 1件ずつ貼るので、月160件には使えません。 半自動化で1件15分が6分になり、この段階が本記事の想定です。 本格構成で足すのは人事部の側の仕事で、指導担当の1件あたりの時間は変わりません。 月ごとの経過を見て、伸び悩んでいる新入社員と、返事が遅れがちな指導担当を早めに見つけられます。 段階を飛ばさないでください。 半自動化を3か月回して、指導担当が下書きのどこを直しているかが分かってから、月ごとのまとめを足します。下書きの質が安定しないうちに月ごとのまとめを作ると、人事部が読むのは AIの下書きの癖のまとめになります。 本格構成でも、評価のための資料にはしません。 月ごとの経過は、育成の手当てが要る新入社員を見つけるためのもので、人事考課の材料には使わないことを、まとめの冒頭に毎回書きます。

05工数削減シミュレーション

前提値(モデル条件)
対象人数
20 名
月間件数
160 件
1件あたり現在時間
15 分
1件あたり導入後時間
6 分
現在  160件 × 15分 ÷ 60 = 40 時間/月
導入後 160件 × 6分 ÷ 60 = 16 時間/月
月間削減時間
24h
削減率
60%
年間削減時間
288h
年間金額換算(時間単価3,500円)
101万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

自社条件で導入効果を整理したい方へ

このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。

AI活用について相談する

06向いている企業・向いていない企業

向いている
  1. 新入社員を毎年数十人採用し、現場の先輩社員が指導担当として1年ほど付く製造業・建設業・物流業など。新入社員が週報を出しているのに、指導担当の返事が遅れたり、一言だけで終わったりしている場合。週報をすでに Google フォームで集めているか、集める形に変えられる場合。Google Workspace を使っている場合。
向いていない
  1. 新入社員が数人で、人事か上司が毎週面談して足りている場合。週報を出させておらず、日々の口頭の指導だけで回している場合。週報の中身が作業の数量の記録だけで、所感や困りごとを書く欄が無い場合。なお、新入社員の評価、配属の判断、体調や心の不調への対応は、この構成では代替できません。

07最小構成で試す方法

  1. 先月の週報から10件を選ぶ(指導担当が丁寧に返したものと、一言で終わったものを混ぜる)
  2. 名前と社員番号を消し、部署の指導の観点とあわせて手元の Claude の画面に貼る
  3. 第7章の指示の【書く項目】と【厳守事項】をそのまま貼り、下書きを書かせる
  4. 当時の指導担当に下書きを見せ、「このまま送れるか」「何を足したいか」を聞く
  5. 質問に答えていないか、週報に無いことを書いていないかを確かめる

10件は必ずやってください。 スクリプトを書く前に、「観点と週報から、指導担当が使える下書きが出るか」を確かめます。

出てきた内容判断
指導担当が「少し直せば送れる」と言ったスクリプトに進む
質問に答えてしまった指示の書き方で直る。構成は有効
どの新入社員にも同じような励ましになった観点の書き方が抽象的。 AIの問題ではない

3行目が出たら、観点を書き直します。 「主体性」を「分からないことをその日のうちに聞けたか」に変えるだけで、下書きが変わります。

08実装時につまずきやすいポイント

問題対策
質問に答えてしまう項目の定義を「写す」にし、答えを書かないことを項目の中に書く
ありもしない先週の目標を書く「先週の週報なし」を明示して渡し、goal_review を空にさせる
どの新入社員にも同じ励ましになる観点を週報と照らせる形に書き直す
気になる記述に助言を書く写すだけにし、助言と見立てを禁じる
トリガーが動かないシンプルトリガーでは認可の要るサービスを呼べない。 インストール型で作る
作った人が異動して止まるインストール型は作った人のアカウントで動く。共用アカウントで作る
17時に届かない時間主導型は指定の時刻から1時間のどこかで動く。16時に設定する
失敗に気づかない失敗は所有者へのメール。共用アカウントのメールを毎日見る
API のキーが漏れるスクリプトのプロパティに置き、編集できる人を限る
下書きがそのまま送られる確定の欄に書かれたものだけを送る。下書きの列からは送らない
新入社員の返信が届かないreplyTo に指導担当。noReply を使わない
API に送った JSON が読まれないcontentType の既定はフォームの形式。application/json を明示する
週報が評価に使われると思われる評価に使わないことを入社時に伝える。 困りごとが書かれなくなる

上の4行が、この構成の失敗のほとんどです。 どれも、AIに「週報に書かれていないこと」を書かせない、という同じ線引きから出ています。

下の2行のうち最後の行は、仕組みではなく運用の問題です。 週報に困りごとが書かれなくなれば、気になる記述を拾う仕組みは空回りします。新入社員が安心して書けるかどうかが、この構成の前提です。

09セキュリティ・AIガバナンス上の注意点

この構成で扱うデータ: 新入社員の週報(仕事の内容、失敗、困りごと)、そして記述によっては体調・睡眠・気持ち・人間関係に触れた内容です。

  1. AIに名前を渡さない … 渡すのは通し番号と記述だけです。宛名と指導担当の名前は、送るときにスクリプトが差し込みます
  2. 気になる記述をAIに判断させない … 写して人事部に知らせるだけです。本人との面談、産業医への相談は人事部が決めます
  3. 週報を評価に使わない … 下書きにも評価や点数を書かせません。週報が評価に使われると知れば、新入社員は困りごとを書かなくなります。 そのことを新入社員に先に伝えておきます
  4. AIが下書きを書いていることを新入社員に伝える … 指導担当が直して送る仕組みであることを、入社時の説明で伝えます
  5. 回答のシートを見られる人を限る … 指導担当には自分の担当の行だけが見えるのが理想です。難しければ、指導担当ごとのシートに分けて書き出します
  6. 作業の手順と安全の答えは標準書から … AIに答えさせない設計を、指導担当にも説明しておきます

誤りが起きた場合のリスクは、誤った手順を新入社員が覚えることと、困りごとが見落とされることの2つです。 前者は質問に答えさせることから、後者は気になる記述を要約で丸めることから起きます。どちらも「写す」と「答えない」の線引きで防ぎます。

10まず何から始めるか

1週目:指導の観点を書き直す

部署ごとの指導の観点を、週報の記述と照らせる形に書き直します。各部署の指導担当の代表と一緒に、1部署3〜5つにします。

2週目:10件で試す

第8章の手順で試し、質問に答えていないか、週報に無いことを書いていないかを最優先で見ます。

3週目:シートを整える

名簿のシートと観点のシートを作り、回答のシートに「下書き」「確定」「送付」「送付日時」の列を足します。共用アカウントを用意し、API のキーをスクリプトのプロパティに置きます。

4週目:下書きまでをつなぐ

フォーム送信のトリガーで下書きをシートに書き、指導担当へ知らせるところまで作ります。この時点では新入社員への送付は作らず、指導担当がいままでどおり自分で返事を送ります。

2か月目: 確定の欄からの送付と、気になる記述の人事部への通知を足します。3か月目以降: 下書きと確定した文の違いを月に1回まとめて読み、観点と指示を直します。一言で終わる返事がなくなり、困りごとの記述が週のうちに人事部に届くようになった時点で、この構成は完成です。


11関連ユースケース

12この仕組みを理解するための記事

13技術仕様の確認日・参考情報

技術仕様確認日:2026-10-14/最終更新:2026-10-14
確認した内容情報源確認日
インストール型トリガーが認可の要るサービスを呼べ、常に作った人のアカウントで動くこと。フォーム送信のトリガーにフォームの側とスプレッドシートの側があること。時間主導型は指定の時刻から1時間の中で動くこと。失敗が所有者へのメールで届くことGoogle: Installable triggers2026-10-14
スプレッドシートの側のフォーム送信のイベントに namedValues・values・range が入ることGoogle: Event objects2026-10-14
1回の実行が6分まで。MailApp の宛先数が Google Workspace で1日1,500であることGoogle: Quotas for Google Services2026-10-14
method・contentType・headers・payload を指定できること。contentType の既定が application/x-www-form-urlencoded であること。muteHttpExceptions を有効にすると失敗の応答でも例外を投げないことGoogle: UrlFetchApp2026-10-14
getRemainingDailyQuota で残りの宛先数が分かること。name・replyTo・cc を指定でき、noReply を有効にすると replyTo が無視されることGoogle: MailApp2026-10-14
スクリプトのプロパティがスクリプトのすべての利用者で共有されることGoogle: Properties Service2026-10-14
output_config.format に JSON Schema を渡すこと。additionalProperties を false にすること。minLength・maxLength が使えないことClaude Docs: Structured outputs2026-10-14

実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。

自社の業務に使えるAI活用候補を整理します

このユースケース(UC-1475)についてのご相談はこちらから。

AI活用について相談する
目次