Media > AI活用ユースケース > 品質管理 > 農業法人の圃場ごとの作業日誌から、月の作業・資材の使用・生育の記録を要約し、農薬の使用回数の上限に近い圃場を拾う

農業法人の圃場ごとの作業日誌から、月の作業・資材の使用・生育の記録を要約し、農薬の使用回数の上限に近い圃場を拾う

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

農業法人で作業員が付ける圃場ごとの作業日誌から、月の作業・資材の使用・生育の記録を圃場ごとに要約します。あわせて、農薬の使用回数が上限に近い圃場を拾い、生産管理の担当に届けます。

サマリー
生成AI
ChatGPT/Claude/Gemini
連携・自動化
Google Apps Script/Make/Power Automate
対象業界
その他
対象部門
品質管理/生産
対象業務
要約/集計・分析
主な課題
データ分析に時間がかかる/期限・対応漏れが起きる/確認ミスが多い
AIで行う処理
要約
主な効果
入力漏れ削減/判断支援/工数削減
導入難易度
★★☆☆☆
実装レベル
半自動化
費用感
API連携(中)
人間の確認
条件付き
現在工数
30h/月
AI導入後
10h/月
想定削減
67%
年間削減
240h
モデル条件による試算値です。実在企業の実績ではありません。

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

導入前(Before)
  1. 月末、生産管理の担当が日誌のスプレッドシートを圃場で絞り込む
  2. 1か月分の行を読み、作業の流れを月報の表に書き写す
  3. 資材の行を拾い、製品名と量を書き出す
  4. 農薬の行について、製品の有効成分を一覧で調べ、作期の初めからの回数に足す
  5. ラベルの回数と見比べ、残りの回数を書く
  6. メモの欄を読み、病害虫や生育の気づきを月報の所見に書く
  7. 責任者に月報を渡す
導入後(After)
  1. 人作業員が作業の後に日誌をフォームで付ける(いまと同じ)
  2. 自動毎日の夜、Apps Script がその日の日誌の資材の行をAIに渡し、農薬の一覧の製品に結び付ける
  3. 自動結び付いた農薬の有効成分を一覧から引き、作期の初めからの回数を Apps Script が数える
  4. 自動残りの回数が1回以下になった圃場、結び付けできなかった行、帳簿の項目が欠けた行を、翌朝に生産管理の担当へ知らせる
  5. 自動月初めに、圃場ごとの1か月分の日誌と回数の集計をAIに渡し、作業・資材・生育の所見を要約させる
  6. 自動要約と回数の表を月報のシートに書き、生産管理の担当へ知らせる
  7. 人担当が結び付けできなかった行と欠けた項目を作業員に確かめ、日誌を直す
  8. 人担当が月報の要約を読み、所見を直し、責任者に渡す
各工程の詳しい説明を読む
  1. 月末、生産管理の担当が日誌のスプレッドシートを圃場で絞り込む
  2. 1か月分の行を読み、作業の流れを月報の表に書き写す
  3. 資材の行を拾い、製品名と量を書き出す
  4. 農薬の行について、製品の有効成分を一覧で調べ、作期の初めからの回数に足す
  5. ラベルの回数と見比べ、残りの回数を書く
  6. メモの欄を読み、病害虫や生育の気づきを月報の所見に書く
  7. 責任者に月報を渡す

(a)回数の数え漏れが出る。 4番は、同じ有効成分を含む別の製品があるときに漏れます。製品ごとの回数は守っていても、有効成分の総使用回数を超えそうなことに気づかない、という形です。 月末にまとめて数えるので、気づくのは次の防除の後になることもあります。

(b)資材の書き方がそろっていない。 「アファーム」「アファーム乳剤」「アファ」、「殺虫剤(前と同じ)」のように、同じ製品がいくつもの書き方で書かれます。 「前と同じ」を何と読むかは、その作業員に聞かないと分かりません。

(c)生育の気づきが埋もれる。 「下葉黄化少し」「アブラムシちらほら」のようなメモは、1行だけだと見過ごされます。同じ圃場で同じ気づきが3回続いていても、月末にまとめて読むまで分かりません。

(d)帳簿の項目が欠ける。 希釈倍数や使用量が書かれていない行があり、月末に作業員に聞き直します。 聞き直すころには、本人も覚えていません。

  1. 【人】 作業員が作業の後に日誌をフォームで付ける(いまと同じ)
  2. 【自動】 毎日の夜、Apps Script がその日の日誌の資材の行をAIに渡し、農薬の一覧の製品に結び付ける
  3. 【自動】 結び付いた農薬の有効成分を一覧から引き、作期の初めからの回数を Apps Script が数える
  4. 【自動】 残りの回数が1回以下になった圃場、結び付けできなかった行、帳簿の項目が欠けた行を、翌朝に生産管理の担当へ知らせる
  5. 【自動】 月初めに、圃場ごとの1か月分の日誌と回数の集計をAIに渡し、作業・資材・生育の所見を要約させる
  6. 【自動】 要約と回数の表を月報のシートに書き、生産管理の担当へ知らせる
  7. 【人】 担当が結び付けできなかった行と欠けた項目を作業員に確かめ、日誌を直す
  8. 【人】 担当が月報の要約を読み、所見を直し、責任者に渡す

2番から4番を毎日にしているのが、この設計の要です。 月の要約は月初めで足りますが、農薬の回数は次の防除の前に分かっていないと意味がありません。 毎日の処理はAIの結び付けと Apps Script の数え上げだけで、要約はしません。

7番の確認は省けません。 結び付けできなかった行が残ったままだと、その農薬の回数が数えられていません。回数の表は、未確認の行が0になってから信じます。

8番で担当が足すのは、日誌に書かれていない現場の様子です。 担当や責任者が見回りで見たこと、取引先から言われたことは、日誌のメモには出てきません。AIの要約は日誌の範囲の整理で、月報の所見を完成させるのは人です。

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

構成図
作業員 ── Google フォーム(作業日誌)
   ▼ 回答がスプレッドシートにたまる
【トリガー①】毎日21時(時間主導型)
Google Apps Script
   ├── 当日の資材の行を集める
   ├── Claude API ── 資材の書き方を農薬の一覧の製品に結び付ける
   ├── 農薬の一覧 ── 製品の有効成分、使用回数、総使用回数を引く
   ├── 作期のシート ── 作期の開始日、指定種苗の使用回数を引く
   ├── 回数を数える(製品ごと・有効成分ごと)
   └── MailApp ── 残り1回以下・未確認の行・欠けた項目を翌朝に知らせる
【トリガー②】毎月1日(時間主導型)
Google Apps Script
   ├── 圃場ごとに1か月分の日誌と回数の表を集める
   ├── Claude API ── 作業・資材・生育の所見を要約する
   └── 月報のシート ── 圃場ごとの要約と回数の表を書く
役割想定する製品代替候補
実行環境Google Apps ScriptMake、Power Automate
生成AIClaude API(構造化出力)OpenAI API、Gemini API
保管Google スプレッドシート(作業日誌、農薬の一覧、作期、月報)-
通知Gmail(MailApp)Google Chat

新しく足すのは、Apps Script と、農薬の一覧のシートと作期のシートです。 作業日誌のフォームはいまのものを使い、日誌のシートに「結び付けた製品」「確認の状態」の列を足します。 作業員の入力のしかたは変えません。

農薬の一覧は、生産管理の担当が作る表です。 1行が「製品 × 作物」で、製品名・別名・有効成分(複数)・この作物での使用回数・有効成分ごとの総使用回数・希釈倍数の範囲・使用時期を書きます。値は、ラベルと農林水産省の農薬登録情報提供システムで確かめます。 このシステムは、農薬名・作物名・病害虫・有効成分などから農薬の登録の情報を検索できるとされています。

作期のシートは、圃場ごとの作付けの開始と終わりを書く表です。 総使用回数は生育期間の中で数えるため、作期の開始日が無いと、どこから数えればよいかが決まりません。

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

Step1

処理の起点を決める

2つの時間主導型トリガーを使います。 1つ目は毎日21時に動く結び付けと回数の数え上げ、2つ目は毎月1日の朝に動く月の要約です。

毎日の処理を夜にするのは、その日の日誌がそろってからにするためです。 作業員は夕方に日誌を付けるので、21時ならほぼ出そろいます。知らせのメールは処理の終わりに送り、担当が翌朝に読む形です。

時刻はちょうどにはなりません。 公式のページでは、時間主導型トリガーの時刻は少しずれることがあり、9時に設定すると9時から10時の間のどこかで動くとされています。21時に設定すれば21時台のどこかで動きます。 夜の処理なので、ずれは問題になりません。

月の要約は、60枚を1回で回しません。 公式のページでは、スクリプトの1回の実行は6分までです。1回に15枚ずつ、1日の朝に4回に分けてトリガーを作ります。 処理した圃場を記録し、同じ月に二度要約しないようにします。

トリガーは会社の共用アカウントで作ります。 インストール型トリガーは常に作った人のアカウントで動き、失敗は所有者へのメールで届くとされています。担当の個人のアカウントで作ると、退職や異動で止まります。

Step2

入力データを集める

データ中身取得元
作業日誌日付、圃場、作物、作業、使った資材と量(自由記述)、メモ、記録した人日誌のシート
農薬の一覧製品ID、製品名、別名、作物、有効成分(複数)、使用回数、有効成分ごとの総使用回数、希釈倍数の範囲農薬の一覧のシート
作期圃場、作物、作期の開始日(播種・定植)、終わりの日、指定種苗の有効成分ごとの使用回数作期のシート
肥料・その他の資材の一覧資材ID、名前、別名、種類資材の一覧のシート

質を決めるのは、農薬の一覧の「別名」の列です。 作業員が書く「アファ」「前と同じ」を製品に結び付けるには、どの書き方がどの製品に当たるかを書いておく必要があります。 「前と同じ」は別名にできないので、結び付けできない行として返させます。

作期のシートの「指定種苗の使用回数」は、見落としやすい欄です。 農薬を使用する者が遵守すべき基準を定める省令の第2条第1項第5号では、使用した農薬の有効成分ごとの使用回数の表示がある種苗を使う場合、総使用回数からその表示された回数を差し引いた回数を超えて使わないこととされています。購入した苗の表示を、作期の初めにこの欄へ書き写します。

Step3

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

取るものどこからどう取るか
当日の資材の行日誌のシート日付が今日で、作業が「防除」「施肥」などの行
製品の別名と有効成分農薬の一覧のシート作物で絞り、製品ID・製品名・別名だけをAIに渡す
作期の開始日作期のシート圃場と作物で引く
作期の初めからの農薬の行日誌のシート圃場で絞り、作期の開始日以降で「結び付けた製品」が農薬の行
1か月分の日誌日誌のシート月の要約のときだけ、圃場ごとに

AIは UrlFetchApp から Claude API を呼びます。 fetch に method を post、contentType を application/json、headers に API のキーと anthropic-version、payload に指示と材料と output_config を入れます。公式のページでは、contentType を省くと既定はフォームの形式になり、muteHttpExceptions を有効にすると失敗の応答でも例外を投げずに応答を返します。 応答の状態を見て、失敗した行に印を付けます。

農薬の一覧のうち、AIに渡すのは製品ID・製品名・別名だけです。 有効成分や回数はAIに渡しません。回数の計算に使う値は、スクリプトが一覧から直接引きます。 AIに有効成分を渡すと、結び付けの理由に成分の話を書き始め、回数の判断に踏み込むことがあります。渡す情報を絞ること自体が、AIにさせることを限る方法です。

API のキーはスクリプトのプロパティに置きます。 コードに書くと、スプレッドシートを複製した人にもキーが渡ります。スクリプトを編集できる人は、生産管理の担当に限ります。

Step4

AIへ渡す前に整形する

  1. 資材の欄を行ごとに分ける … 1行に「アファーム 2000倍、展着剤」のように複数書かれていれば、読点と改行で分けた候補をAIに渡します
  2. 作物で一覧を絞る … その圃場の作物に登録のある製品だけを候補にします。登録の無い作物の製品と結び付いたら、それ自体を知らせるためです
  3. 作期を引く … 作期のシートに無い圃場は、結び付けまで行い、回数は数えずに知らせます
  4. 帳簿の項目を確かめる … 農薬の行について、日付・圃場・作物・製品・希釈倍数か使用量がそろっているかをスクリプトで確かめます
  5. 月の要約のときは、行を日付順に並べる … 1か月分を圃場ごとに日付順にし、作業・資材・メモの列だけを渡します
  6. 名前を外す … 「記録した人」の列はAIに渡しません

4番の項目は、省令の第9条に並ぶものです。 農薬を使用したときは、使用した年月日・場所・農作物・農薬の種類または名称・単位面積当たりの使用量または希釈倍数を帳簿に記載するよう努めなければならないとされています。日誌がその帳簿を兼ねるので、欠けた行をその日のうちに拾います。

Step5

AIに処理させる

毎日の処理でさせるのは、資材の書き方を製品に結び付けることだけです。

書き方扱い判断できないときの扱い
「アファーム 2000倍」別名から製品IDに結び付け、希釈倍数を 2000 として返す別名に無ければ unmatched
「アファ」別名にあれば結び付ける複数の製品に当たれば ambiguous
「前と同じ」「いつもの」結び付けない必ず unmatched。前の行から推測しない
「展着剤」製品名が無ければ unmatched-
「化成 20kg」肥料の一覧に結び付け、農薬ではないと返す一覧に無ければ unmatched

3行目が、この構成でいちばん大事な線引きです。 「前と同じ」を前回の防除の製品に結び付けると、たいていは当たります。ただ、外れたときに、数えるべき有効成分が数えられず、数えなくてよい成分が数えられます。 回数の表が信じられなくなるので、結び付けません。作業員に聞き直します。

月の要約でさせるのは、圃場ごとに3つの項目をまとめることです。

項目中身書かないもの
作業の流れ月の作業を時系列で、3〜6行日誌に無い作業
資材の使用製品ごとの回数と量の一覧。スクリプトの集計をそのまま写す計算し直した数字
生育の所見メモの欄から、病害虫・生育・天候の影響の記述をまとめる。同じ気づきが繰り返されていればその回数原因の推定、防除の提案
させないこと理由
回数を数える・上限を判断するスクリプトが一覧の値で数える
使ってよい農薬を勧める登録とラベルの確認は人が行う
「前と同じ」を推測で埋める外れたとき回数の表が狂う
病害虫の原因を推定するメモの記述以上のことは分からない
収穫してよいかを判断する使用時期の判断は責任者が行う
Step6

指示内容を固定する

あなたは農業法人の生産管理の担当を補助する立場です。
1つの圃場の1か月分の作業日誌と、スクリプトが集計した資材の使用回数をもとに、
月報の要約を書いてください。

【書く項目】
1. work_flow: 月の作業を日付順に3〜6行で。日誌に書かれた作業だけを書く。
2. inputs: 資材の使用。集計表の数字をそのまま写す。計算し直さない。
3. observations: メモの欄から、病害虫、生育、天候の影響の記述を拾い、
   内容ごとにまとめる。同じ内容が複数回あれば、その日付をすべて並べる。
   それぞれ、根拠にしたメモの言葉を quote に写す。
4. data_gaps: 要約を書くうえで足りなかったこと
   (メモが無い週、結び付けできなかった資材の行など)。

【厳守事項】
- 日誌に書かれていない作業、資材、観察を書かないでください。
- 病害虫の原因を推定しないでください。防除の提案をしないでください。
- 農薬を使ってよいか、使用回数が上限に達しているかを書かないでください。
  回数の判断はスクリプトが別に行います。
- 収穫の時期や可否について書かないでください。
- 「少し」「ちらほら」などのメモの量の表現は、言い換えずにそのまま写してください。
- work_flow は1行40字以内。です・ます調は使わず、体言止めで書いてください。

【圃場と作物、作期の開始日】{field_info}
【1か月分の作業日誌(日付順)】{diary_rows}
【スクリプトが集計した資材の使用回数と量】{input_summary}
【結び付けできなかった資材の行】{unmatched_rows}

「同じ内容が複数回あれば、その日付をすべて並べる」が、第3章の(c)への対策です。 「アブラムシちらほら」が3回あれば、月報の所見に3つの日付が並びます。1回だけのメモと、続いているメモの違いが、担当に一目で分かります。

「原因を推定しない」を書くのは、生成AIが「黄化は窒素不足の可能性」のように続けがちだからです。 その一文が月報に残ると、確かめていない見立てが栽培の記録として取引先に出ていくことになります。

Step7

出力形式を固定する

月の要約は、次の形のJSONで受け取ります。 Claude API の構造化出力で、output_config.format に JSON Schema を渡します。

{
  "field_id": "",
  "month": "",
  "work_flow": [""],
  "inputs": [
    { "product_id": "", "times": 0, "amount": "" }
  ],
  "observations": [
    { "topic": "pest | growth | weather | other",
      "summary": "", "dates": [""], "quote": "" }
  ],
  "data_gaps": [""]
}

1つ目の理由は、inputs をスクリプトの集計と照らせることです。 AIが写した回数と、スクリプトの集計が1つでも違えば、その圃場の月報に「要確認」の印を付けます。 AIが数字を書き換えたことを、機械的に見つけられます。

2つ目は、observations の dates で繰り返しが分かることです。 日付が3つ以上並んだ所見は、月報の先頭に出します。

毎日の結び付けは、row_id、product_id、match(matched / unmatched / ambiguous / not_pesticide)、dilution、amount の形で受け取ります。 公式のページでは、構造化出力の schema では minimum・maximum のような数値の制約が使えないとされているため、希釈倍数が一覧の範囲に入っているかはスクリプトで確かめます。

回数の表は、AIを通さずスクリプトが作ります。

圃場作物有効成分使った回数(指定種苗の分を含む)総使用回数残り
3番キャベツ成分A231

残りが1以下の行は、翌朝の知らせの先頭に出します。 製品ごとの使用回数も同じ形の表にします。

Step8

システムへ連携する

つなぎ先方式内容
日誌のシートSpreadsheetApp で読み書き資材の行を読み、「結び付けた製品」「確認の状態」の列を書く
農薬の一覧・作期のシートSpreadsheetApp で読む別名、有効成分、回数、作期の開始日
Claude APIUrlFetchApp(POST、JSON)毎日の結び付けと月の要約
月報のシートSpreadsheetApp で書く圃場ごとの要約と回数の表
生産管理の担当MailApp翌朝の知らせと月報ができた知らせ

日誌の資材の欄そのものは書き換えません。 作業員が書いた元の文字は残し、結び付けた製品は別の列に書きます。 担当が作業員に確かめて直すときも、別の列を直します。

翌朝の知らせには、3つの一覧を書きます。 残りが1回以下の圃場と有効成分、結び付けできなかった行、帳簿の項目が欠けた行です。何も無い日は「該当なし」と1行だけ送ります。 送られてこない日があれば、処理が止まっていることが分かります。

Step9

人が確認する

  1. 翌朝、結び付けできなかった行を作業員に確かめる … 「前と同じ」が何だったかを聞き、結び付けた製品の列を直します。その日のうちに聞けば、本人が覚えています
  2. 残りが1回以下の圃場を責任者に伝える … 次の防除で使う製品を、有効成分が重ならないものに変えるかを責任者が決めます
  3. 帳簿の項目が欠けた行を直す … 希釈倍数や使用量を作業員に聞いて書き足します
  4. 月報の要約を読む … inputs の「要確認」の印と、observations の繰り返しを先に見ます
  5. 所見を直して責任者に渡す … 現場で見たことを足し、取引先に出す版を作ります

1番を翌朝に行うのが、この設計の要です。 月末にまとめて聞くと、(d)のとおり本人も覚えていません。毎日の結び付けは、聞き直しを早めるための仕組みでもあります。

目標は、月報1枚あたり10分です。 要約を読む時間、回数の表と未確認の行を見る時間、所見を直す時間が中心です。observations の繰り返しが多い圃場は、所見を直す時間が長くなります。 逆に、作業が少なくメモの無い月の圃場は数分で終わります。

作業員への聞き直しは、責めない形で行います。 「前と同じ」と書くのは、忙しい夕方に急いで付けているからです。聞き直しが続く作業員には、よく使う製品の別名を一覧に足すか、フォームの資材の欄に例を書いておくほうが効きます。

農薬の一覧の値は、担当が年に数回見直します。 登録の内容は変わることがあり、一覧が古いと、スクリプトの回数の表も古い基準で数えられます。

Step10

例外に対処する

起きること対応
「前と同じ」などの結び付けできない行unmatched。回数を数えず、翌朝の一覧に出す
1つの書き方が複数の製品に当たるambiguous。候補を並べて担当に回す
作物に登録の無い製品と結び付いた翌朝の知らせの先頭に出す。 書き間違いか、使ってはいけない製品か
作期のシートに無い圃場結び付けまで行い、回数は数えない。作期の登録を求める
希釈倍数が一覧の範囲の外スクリプトが印を付け、担当に回す
帳簿の項目が欠けている翌朝の一覧に出す
Claude API が失敗を返す行に「結び付け失敗」の印。翌日の処理でもう一度渡す
AIの inputs がスクリプトの集計と違う月報に「要確認」の印。表はスクリプトの集計を使う
実行が6分に近づく処理した圃場を記録して止め、次のトリガーに回す

3行目は、頻度は低くても見落とせない行です。 登録の無い作物に使った可能性があるので、数え上げの結果より先に、担当と責任者が確かめます。 多くは圃場の番号か作物の書き間違いですが、それを確かめるのも人の仕事です。

Step11

記録を残す

  • 日誌の元の行(作業員が書いたまま)
  • 結び付けの結果(製品ID、match、希釈倍数)と、担当が直した記録
  • 回数の表の日ごとの写し(作期の初めから)
  • 月の要約の JSON の全文と、担当が直した月報
  • 農薬の一覧の版(いつ、どの値を直したか)
  • 翌朝の知らせの写し

回数の表を日ごとに残すのは、後から「その日の時点で何回だったか」を示すためです。 取引先から栽培の記録を求められたとき、ある防除の時点での回数を、そのときの一覧の版とあわせて出せます。

04実装レベルの3段階

最小構成:日誌を手でAIの画面に貼り、圃場ごとに要約させる / 月の要約
半自動化:上記+Apps Script で毎日の結び付けと回数の数え上げ、翌朝の知らせ、月初めの要約まで動かす / 結び付け・回数・要約
本格構成:上記+収穫の予定日と使用時期を照らし、収穫前の使用の日数が足りない圃場を拾う / 使用時期の見張りまで

最小構成は確かめるための段階です。 回数の数え上げは自動になりません。 半自動化で1件30分が10分になり、この段階が本記事の想定です。 本格構成で足すのは使用時期の見張りで、農薬の一覧に使用時期を正しく持たせることが前提です。 段階を飛ばさないでください。 半自動化の3か月で一覧の別名と作期のシートがそろってから、使用時期に進みます。使用時期は収穫の予定日とも関わるので、収穫の計画を立てている担当と一緒に設計します。 回数の見張りよりも外れたときの影響が大きく、一覧の値と収穫の予定日の両方が正しくないと意味がありません。 本格構成でも、AIにさせることは増やしません。 使用時期の照らし合わせもスクリプトの計算で、AIの仕事は書き方の結び付けと要約のままです。

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

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

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

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

AI活用について相談する

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

向いている
  1. 露地野菜や施設野菜を数十枚の圃場で作る農業法人で、作業員が日々の作業日誌をスプレッドシートやフォームで付けている場合。生産管理の担当が月末に圃場ごとの作業と資材の使用をまとめ、農薬の使用回数を手で数えている場合。取引先から栽培の記録の提出を求められている場合。Google Workspace を使っている場合。
向いていない
  1. 圃場が数枚で、責任者が全部の作業を把握している場合。作業日誌が紙だけで、入力の仕組みを変える予定が無い場合。営農の管理のアプリが農薬の回数の集計と警告まで行っていて、そこで足りている場合。なお、どの農薬を使ってよいか、ラベルの使用基準の読み取り、収穫してよいかの判断は、この構成では代替できません。

07最小構成で試す方法

  1. 先月の日誌から、圃場を5枚選ぶ(資材の書き方がばらばらな圃場を混ぜる)
  2. 農薬の一覧を、その5枚の作物に使う製品だけで作る(製品名・別名)
  3. 1枚ずつ、1か月分の日誌の行を手元の Claude の画面に貼る
  4. 第7章の指示の【書く項目】と【厳守事項】を貼り、要約を書かせる
  5. 資材の行の結び付けも、一覧を貼って試す。担当が当時まとめた月報と見比べる

5枚は必ずやってください。 スクリプトを書く前に、「作業員の書き方から製品を特定できるか」と「メモから所見をまとめられるか」を確かめます。

出てきた内容判断
結び付けと要約が当時の月報とおおむね合ったスクリプトに進む
「前と同じ」を推測で埋めた指示の書き方で直る。構成は有効
結び付けできない行が多い一覧の別名が足りない。 AIの問題ではない

回数は、この段階でもAIに数えさせないでください。 最小構成で数えさせると、その結果を信じる癖がつきます。回数は、担当がいままでどおり数えます。

所見の要約は、責任者にも見せます。 担当が「当時の月報と合っている」と思っても、責任者が現場で見ていた様子と違えば、メモの書き方が足りていません。 その場合は、メモの欄に「何が、どのくらい、どこに」を書く例を作業員に示します。

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

問題対策
「前と同じ」を推測で結び付ける必ず unmatched。 翌朝に作業員に聞く
同じ有効成分の別の製品を見落とす回数は製品ではなく有効成分ごとにスクリプトが数える
指定種苗の回数を足し忘れる作期のシートに欄を作り、作期の初めに苗の表示を写す
作期の開始日が無く数えられない作期のシートに無い圃場を翌朝に知らせる
AIが回数を書き換えるinputs をスクリプトの集計と照らし、違えば「要確認」
要約に原因の推定が入る推定と提案を禁じる
一覧の値が古い年に数回、登録の内容を見直す。 一覧の版を残す
月の要約が6分で止まる15枚ずつ4回に分ける
処理が止まっても気づかない何も無い日も「該当なし」を送る
圃場の番号が日誌と作期で違う圃場の一覧を1つにし、フォームの圃場の欄を選択式にする
同じ圃場で2つの作物を作る作期のシートを「圃場 × 作物」の行にする
作業員が日誌を翌日に付ける毎日の処理で、日付が前日以前の新しい行も拾う

上の3行が、この構成の失敗のほとんどです。 どれも回数の数え漏れにつながり、数え漏れは農薬の使用の基準に関わります。 AIの要約の出来より、この3行を先に固めてください。

下の3行は、日誌と作期の表の作り方の問題です。 圃場の番号が表ごとに違うと、回数を数える相手を間違えます。仕組みを入れる前に、圃場の一覧を1つに決めておきます。

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

この構成で扱うデータ: 圃場の番号と作物、作業の内容、資材の使用、生育のメモ、日誌を付けた作業員の名前です。個人の機微な情報はほとんど含みませんが、栽培の記録は取引先に出す記録でもあります。

  1. 回数の判断をAIに任せない … 数えるのも、上限と比べるのもスクリプトです。AIは書き方の結び付けと要約だけを行います
  2. 使ってよい農薬を決めない … 次の防除の製品を選ぶのは責任者です。残りの回数の表は、その判断の材料です
  3. 月報の所見を確かめてから外に出す … AIの要約を、担当が直さずに取引先に出さないようにします
  4. 作業員の名前をAIに渡さない … 結び付けにも要約にも要りません
  5. 一覧の値の出どころを残す … 各行に、確かめた日と、ラベルか農薬登録情報提供システムかを書いておきます
  6. 手の数え上げをやめる時期を決めておく … 仕組みを入れた直後は、表と手の数え上げを並べます。3か月続けて合ったら手をやめる、と先に決めておかないと、二重の作業が続くか、確かめないうちに手をやめるかのどちらかになります
  7. 取引先に出す記録の版を分ける … 社内の月報には所見の下書きや未確認の印が残ります。取引先に出すのは、担当が直して責任者が確かめた版だけにし、シートのタブを分けます

誤りが起きた場合のリスクは、回数の数え漏れと、確かめていない所見が記録に残ることの2つです。 前者は推測の結び付けから、後者は原因の推定から起きます。どちらも、AIにさせることを結び付けと要約に限る線引きで防ぎます。

10まず何から始めるか

1週目:農薬の一覧を作る

いま作付け中の作物について、使っている製品の製品名・別名・有効成分・使用回数・有効成分ごとの総使用回数を、ラベルと農薬登録情報提供システムで確かめて書きます。

2週目:5枚で試す

第8章の手順で、先月の5枚の日誌を要約させ、資材の結び付けを試します。「前と同じ」を推測で埋めていないかを最優先で見ます。

3週目:作期のシートを作る

作付け中の60枚について、作期の開始日と指定種苗の使用回数を書きます。苗の表示が手元に残っていない作期は、購入先に問い合わせて確かめます。 分からないまま0と書くと、回数の表が実際より少なく出ます。

4週目:毎日の結び付けと回数をつなぐ

毎日21時のトリガーで、結び付けと回数の数え上げ、翌朝の知らせまでを動かします。最初の1週間は、知らせのメールを担当だけでなく責任者にも送り、残りの回数の表が防除の指示に使える形になっているかを見てもらいます。この時点では、担当はいままでどおり手でも回数を数え、表と見比べます。

2か月目: 月初めの要約を足します。3か月目以降: 手の数え上げと表が3か月続けて合ったら、手の数え上げをやめます。回数の上限に近い圃場が、次の防除の前に責任者に届くようになった時点で、この構成は完成です。


11関連ユースケース

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

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

技術仕様確認日:2026-10-14/最終更新:2026-10-14
確認した内容情報源確認日
インストール型トリガーが常に作った人のアカウントで動くこと。時間主導型の時刻が指定の時刻から1時間の中でずれること。失敗が所有者へのメールで届くことGoogle: Installable triggers2026-10-14
スクリプトの1回の実行が6分までであることGoogle: Quotas for Google Services2026-10-14
fetch に method・contentType・headers・payload を指定できること。contentType の既定がフォームの形式であること。muteHttpExceptions の動きGoogle: UrlFetchApp2026-10-14
output_config.format に JSON Schema を渡すこと。minimum・maximum などの数値の制約が使えないことClaude Docs: Structured outputs2026-10-14
生育期間において、有効成分の種類ごとの総使用回数(使用回数の表示のある種苗を使う場合は、そこから表示された回数を差し引いた回数)を超えて使用しないこと(第2条第1項第5号)。使用した年月日・場所・農作物・農薬の種類または名称・単位面積当たりの使用量または希釈倍数を帳簿に記載するよう努めること(第9条)e-Gov 法令API: 農薬を使用する者が遵守すべき基準を定める省令2026-10-14
農薬名・作物名・病害虫・有効成分などから農薬の登録の情報を検索できること農林水産省: 農薬登録情報提供システム2026-10-14

どの農薬を使うか、使用の基準を満たしているかは、ラベルと登録の内容で責任者が確かめてください。 本記事は省令の条文で確認できた範囲だけを扱っています。

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

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

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

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