農業法人の圃場ごとの作業日誌から、月の作業・資材の使用・生育の記録を要約し、農薬の使用回数の上限に近い圃場を拾う
農業法人で作業員が付ける圃場ごとの作業日誌から、月の作業・資材の使用・生育の記録を圃場ごとに要約します。あわせて、農薬の使用回数が上限に近い圃場を拾い、生産管理の担当に届けます。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Google Apps Script/Make/Power Automate
- 対象業界
- その他
- 対象部門
- 品質管理/生産
- 対象業務
- 要約/集計・分析
- 主な課題
- データ分析に時間がかかる/期限・対応漏れが起きる/確認ミスが多い
- AIで行う処理
- 要約
- 主な効果
- 入力漏れ削減/判断支援/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 月末、生産管理の担当が日誌のスプレッドシートを圃場で絞り込む
- 1か月分の行を読み、作業の流れを月報の表に書き写す
- 資材の行を拾い、製品名と量を書き出す
- 農薬の行について、製品の有効成分を一覧で調べ、作期の初めからの回数に足す
- ラベルの回数と見比べ、残りの回数を書く
- メモの欄を読み、病害虫や生育の気づきを月報の所見に書く
- 責任者に月報を渡す
- 人作業員が作業の後に日誌をフォームで付ける(いまと同じ)
- 自動毎日の夜、Apps Script がその日の日誌の資材の行をAIに渡し、農薬の一覧の製品に結び付ける
- 自動結び付いた農薬の有効成分を一覧から引き、作期の初めからの回数を Apps Script が数える
- 自動残りの回数が1回以下になった圃場、結び付けできなかった行、帳簿の項目が欠けた行を、翌朝に生産管理の担当へ知らせる
- 自動月初めに、圃場ごとの1か月分の日誌と回数の集計をAIに渡し、作業・資材・生育の所見を要約させる
- 自動要約と回数の表を月報のシートに書き、生産管理の担当へ知らせる
- 人担当が結び付けできなかった行と欠けた項目を作業員に確かめ、日誌を直す
- 人担当が月報の要約を読み、所見を直し、責任者に渡す
各工程の詳しい説明を読む
- 月末、生産管理の担当が日誌のスプレッドシートを圃場で絞り込む
- 1か月分の行を読み、作業の流れを月報の表に書き写す
- 資材の行を拾い、製品名と量を書き出す
- 農薬の行について、製品の有効成分を一覧で調べ、作期の初めからの回数に足す
- ラベルの回数と見比べ、残りの回数を書く
- メモの欄を読み、病害虫や生育の気づきを月報の所見に書く
- 責任者に月報を渡す
(a)回数の数え漏れが出る。 4番は、同じ有効成分を含む別の製品があるときに漏れます。製品ごとの回数は守っていても、有効成分の総使用回数を超えそうなことに気づかない、という形です。 月末にまとめて数えるので、気づくのは次の防除の後になることもあります。
(b)資材の書き方がそろっていない。 「アファーム」「アファーム乳剤」「アファ」、「殺虫剤(前と同じ)」のように、同じ製品がいくつもの書き方で書かれます。 「前と同じ」を何と読むかは、その作業員に聞かないと分かりません。
(c)生育の気づきが埋もれる。 「下葉黄化少し」「アブラムシちらほら」のようなメモは、1行だけだと見過ごされます。同じ圃場で同じ気づきが3回続いていても、月末にまとめて読むまで分かりません。
(d)帳簿の項目が欠ける。 希釈倍数や使用量が書かれていない行があり、月末に作業員に聞き直します。 聞き直すころには、本人も覚えていません。
- 【人】 作業員が作業の後に日誌をフォームで付ける(いまと同じ)
- 【自動】 毎日の夜、Apps Script がその日の日誌の資材の行をAIに渡し、農薬の一覧の製品に結び付ける
- 【自動】 結び付いた農薬の有効成分を一覧から引き、作期の初めからの回数を Apps Script が数える
- 【自動】 残りの回数が1回以下になった圃場、結び付けできなかった行、帳簿の項目が欠けた行を、翌朝に生産管理の担当へ知らせる
- 【自動】 月初めに、圃場ごとの1か月分の日誌と回数の集計をAIに渡し、作業・資材・生育の所見を要約させる
- 【自動】 要約と回数の表を月報のシートに書き、生産管理の担当へ知らせる
- 【人】 担当が結び付けできなかった行と欠けた項目を作業員に確かめ、日誌を直す
- 【人】 担当が月報の要約を読み、所見を直し、責任者に渡す
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 Script | Make、Power Automate |
| 生成AI | Claude API(構造化出力) | OpenAI API、Gemini API |
| 保管 | Google スプレッドシート(作業日誌、農薬の一覧、作期、月報) | - |
| 通知 | Gmail(MailApp) | Google Chat |
新しく足すのは、Apps Script と、農薬の一覧のシートと作期のシートです。 作業日誌のフォームはいまのものを使い、日誌のシートに「結び付けた製品」「確認の状態」の列を足します。 作業員の入力のしかたは変えません。
農薬の一覧は、生産管理の担当が作る表です。 1行が「製品 × 作物」で、製品名・別名・有効成分(複数)・この作物での使用回数・有効成分ごとの総使用回数・希釈倍数の範囲・使用時期を書きます。値は、ラベルと農林水産省の農薬登録情報提供システムで確かめます。 このシステムは、農薬名・作物名・病害虫・有効成分などから農薬の登録の情報を検索できるとされています。
作期のシートは、圃場ごとの作付けの開始と終わりを書く表です。 総使用回数は生育期間の中で数えるため、作期の開始日が無いと、どこから数えればよいかが決まりません。
03どうやって実装するのか
処理の起点を決める
2つの時間主導型トリガーを使います。 1つ目は毎日21時に動く結び付けと回数の数え上げ、2つ目は毎月1日の朝に動く月の要約です。
毎日の処理を夜にするのは、その日の日誌がそろってからにするためです。 作業員は夕方に日誌を付けるので、21時ならほぼ出そろいます。知らせのメールは処理の終わりに送り、担当が翌朝に読む形です。
時刻はちょうどにはなりません。 公式のページでは、時間主導型トリガーの時刻は少しずれることがあり、9時に設定すると9時から10時の間のどこかで動くとされています。21時に設定すれば21時台のどこかで動きます。 夜の処理なので、ずれは問題になりません。
月の要約は、60枚を1回で回しません。 公式のページでは、スクリプトの1回の実行は6分までです。1回に15枚ずつ、1日の朝に4回に分けてトリガーを作ります。 処理した圃場を記録し、同じ月に二度要約しないようにします。
トリガーは会社の共用アカウントで作ります。 インストール型トリガーは常に作った人のアカウントで動き、失敗は所有者へのメールで届くとされています。担当の個人のアカウントで作ると、退職や異動で止まります。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 作業日誌 | 日付、圃場、作物、作業、使った資材と量(自由記述)、メモ、記録した人 | 日誌のシート |
| 農薬の一覧 | 製品ID、製品名、別名、作物、有効成分(複数)、使用回数、有効成分ごとの総使用回数、希釈倍数の範囲 | 農薬の一覧のシート |
| 作期 | 圃場、作物、作期の開始日(播種・定植)、終わりの日、指定種苗の有効成分ごとの使用回数 | 作期のシート |
| 肥料・その他の資材の一覧 | 資材ID、名前、別名、種類 | 資材の一覧のシート |
質を決めるのは、農薬の一覧の「別名」の列です。 作業員が書く「アファ」「前と同じ」を製品に結び付けるには、どの書き方がどの製品に当たるかを書いておく必要があります。 「前と同じ」は別名にできないので、結び付けできない行として返させます。
作期のシートの「指定種苗の使用回数」は、見落としやすい欄です。 農薬を使用する者が遵守すべき基準を定める省令の第2条第1項第5号では、使用した農薬の有効成分ごとの使用回数の表示がある種苗を使う場合、総使用回数からその表示された回数を差し引いた回数を超えて使わないこととされています。購入した苗の表示を、作期の初めにこの欄へ書き写します。
データの取得方法を決める
| 取るもの | どこから | どう取るか |
|---|---|---|
| 当日の資材の行 | 日誌のシート | 日付が今日で、作業が「防除」「施肥」などの行 |
| 製品の別名と有効成分 | 農薬の一覧のシート | 作物で絞り、製品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 のキーはスクリプトのプロパティに置きます。 コードに書くと、スプレッドシートを複製した人にもキーが渡ります。スクリプトを編集できる人は、生産管理の担当に限ります。
AIへ渡す前に整形する
- 資材の欄を行ごとに分ける … 1行に「アファーム 2000倍、展着剤」のように複数書かれていれば、読点と改行で分けた候補をAIに渡します
- 作物で一覧を絞る … その圃場の作物に登録のある製品だけを候補にします。登録の無い作物の製品と結び付いたら、それ自体を知らせるためです
- 作期を引く … 作期のシートに無い圃場は、結び付けまで行い、回数は数えずに知らせます
- 帳簿の項目を確かめる … 農薬の行について、日付・圃場・作物・製品・希釈倍数か使用量がそろっているかをスクリプトで確かめます
- 月の要約のときは、行を日付順に並べる … 1か月分を圃場ごとに日付順にし、作業・資材・メモの列だけを渡します
- 名前を外す … 「記録した人」の列はAIに渡しません
4番の項目は、省令の第9条に並ぶものです。 農薬を使用したときは、使用した年月日・場所・農作物・農薬の種類または名称・単位面積当たりの使用量または希釈倍数を帳簿に記載するよう努めなければならないとされています。日誌がその帳簿を兼ねるので、欠けた行をその日のうちに拾います。
AIに処理させる
毎日の処理でさせるのは、資材の書き方を製品に結び付けることだけです。
| 書き方 | 扱い | 判断できないときの扱い |
|---|---|---|
| 「アファーム 2000倍」 | 別名から製品IDに結び付け、希釈倍数を 2000 として返す | 別名に無ければ unmatched |
| 「アファ」 | 別名にあれば結び付ける | 複数の製品に当たれば ambiguous |
| 「前と同じ」「いつもの」 | 結び付けない | 必ず unmatched。前の行から推測しない |
| 「展着剤」 | 製品名が無ければ unmatched | - |
| 「化成 20kg」 | 肥料の一覧に結び付け、農薬ではないと返す | 一覧に無ければ unmatched |
3行目が、この構成でいちばん大事な線引きです。 「前と同じ」を前回の防除の製品に結び付けると、たいていは当たります。ただ、外れたときに、数えるべき有効成分が数えられず、数えなくてよい成分が数えられます。 回数の表が信じられなくなるので、結び付けません。作業員に聞き直します。
月の要約でさせるのは、圃場ごとに3つの項目をまとめることです。
| 項目 | 中身 | 書かないもの |
|---|---|---|
| 作業の流れ | 月の作業を時系列で、3〜6行 | 日誌に無い作業 |
| 資材の使用 | 製品ごとの回数と量の一覧。スクリプトの集計をそのまま写す | 計算し直した数字 |
| 生育の所見 | メモの欄から、病害虫・生育・天候の影響の記述をまとめる。同じ気づきが繰り返されていればその回数 | 原因の推定、防除の提案 |
| させないこと | 理由 |
|---|---|
| 回数を数える・上限を判断する | スクリプトが一覧の値で数える |
| 使ってよい農薬を勧める | 登録とラベルの確認は人が行う |
| 「前と同じ」を推測で埋める | 外れたとき回数の表が狂う |
| 病害虫の原因を推定する | メモの記述以上のことは分からない |
| 収穫してよいかを判断する | 使用時期の判断は責任者が行う |
指示内容を固定する
あなたは農業法人の生産管理の担当を補助する立場です。
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が「黄化は窒素不足の可能性」のように続けがちだからです。 その一文が月報に残ると、確かめていない見立てが栽培の記録として取引先に出ていくことになります。
出力形式を固定する
月の要約は、次の形の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番 | キャベツ | 成分A | 2 | 3 | 1 |
残りが1以下の行は、翌朝の知らせの先頭に出します。 製品ごとの使用回数も同じ形の表にします。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 日誌のシート | SpreadsheetApp で読み書き | 資材の行を読み、「結び付けた製品」「確認の状態」の列を書く |
| 農薬の一覧・作期のシート | SpreadsheetApp で読む | 別名、有効成分、回数、作期の開始日 |
| Claude API | UrlFetchApp(POST、JSON) | 毎日の結び付けと月の要約 |
| 月報のシート | SpreadsheetApp で書く | 圃場ごとの要約と回数の表 |
| 生産管理の担当 | MailApp | 翌朝の知らせと月報ができた知らせ |
日誌の資材の欄そのものは書き換えません。 作業員が書いた元の文字は残し、結び付けた製品は別の列に書きます。 担当が作業員に確かめて直すときも、別の列を直します。
翌朝の知らせには、3つの一覧を書きます。 残りが1回以下の圃場と有効成分、結び付けできなかった行、帳簿の項目が欠けた行です。何も無い日は「該当なし」と1行だけ送ります。 送られてこない日があれば、処理が止まっていることが分かります。
人が確認する
- 翌朝、結び付けできなかった行を作業員に確かめる … 「前と同じ」が何だったかを聞き、結び付けた製品の列を直します。その日のうちに聞けば、本人が覚えています
- 残りが1回以下の圃場を責任者に伝える … 次の防除で使う製品を、有効成分が重ならないものに変えるかを責任者が決めます
- 帳簿の項目が欠けた行を直す … 希釈倍数や使用量を作業員に聞いて書き足します
- 月報の要約を読む …
inputsの「要確認」の印と、observationsの繰り返しを先に見ます - 所見を直して責任者に渡す … 現場で見たことを足し、取引先に出す版を作ります
1番を翌朝に行うのが、この設計の要です。 月末にまとめて聞くと、(d)のとおり本人も覚えていません。毎日の結び付けは、聞き直しを早めるための仕組みでもあります。
目標は、月報1枚あたり10分です。 要約を読む時間、回数の表と未確認の行を見る時間、所見を直す時間が中心です。observations の繰り返しが多い圃場は、所見を直す時間が長くなります。 逆に、作業が少なくメモの無い月の圃場は数分で終わります。
作業員への聞き直しは、責めない形で行います。 「前と同じ」と書くのは、忙しい夕方に急いで付けているからです。聞き直しが続く作業員には、よく使う製品の別名を一覧に足すか、フォームの資材の欄に例を書いておくほうが効きます。
農薬の一覧の値は、担当が年に数回見直します。 登録の内容は変わることがあり、一覧が古いと、スクリプトの回数の表も古い基準で数えられます。
例外に対処する
| 起きること | 対応 |
|---|---|
| 「前と同じ」などの結び付けできない行 | unmatched。回数を数えず、翌朝の一覧に出す |
| 1つの書き方が複数の製品に当たる | ambiguous。候補を並べて担当に回す |
| 作物に登録の無い製品と結び付いた | 翌朝の知らせの先頭に出す。 書き間違いか、使ってはいけない製品か |
| 作期のシートに無い圃場 | 結び付けまで行い、回数は数えない。作期の登録を求める |
| 希釈倍数が一覧の範囲の外 | スクリプトが印を付け、担当に回す |
| 帳簿の項目が欠けている | 翌朝の一覧に出す |
| Claude API が失敗を返す | 行に「結び付け失敗」の印。翌日の処理でもう一度渡す |
AIの inputs がスクリプトの集計と違う | 月報に「要確認」の印。表はスクリプトの集計を使う |
| 実行が6分に近づく | 処理した圃場を記録して止め、次のトリガーに回す |
3行目は、頻度は低くても見落とせない行です。 登録の無い作物に使った可能性があるので、数え上げの結果より先に、担当と責任者が確かめます。 多くは圃場の番号か作物の書き間違いですが、それを確かめるのも人の仕事です。
記録を残す
- 日誌の元の行(作業員が書いたまま)
- 結び付けの結果(製品ID、
match、希釈倍数)と、担当が直した記録 - 回数の表の日ごとの写し(作期の初めから)
- 月の要約の JSON の全文と、担当が直した月報
- 農薬の一覧の版(いつ、どの値を直したか)
- 翌朝の知らせの写し
回数の表を日ごとに残すのは、後から「その日の時点で何回だったか」を示すためです。 取引先から栽培の記録を求められたとき、ある防除の時点での回数を、そのときの一覧の版とあわせて出せます。
04実装レベルの3段階
最小構成は確かめるための段階です。 回数の数え上げは自動になりません。 半自動化で1件30分が10分になり、この段階が本記事の想定です。 本格構成で足すのは使用時期の見張りで、農薬の一覧に使用時期を正しく持たせることが前提です。 段階を飛ばさないでください。 半自動化の3か月で一覧の別名と作期のシートがそろってから、使用時期に進みます。使用時期は収穫の予定日とも関わるので、収穫の計画を立てている担当と一緒に設計します。 回数の見張りよりも外れたときの影響が大きく、一覧の値と収穫の予定日の両方が正しくないと意味がありません。 本格構成でも、AIにさせることは増やしません。 使用時期の照らし合わせもスクリプトの計算で、AIの仕事は書き方の結び付けと要約のままです。
05工数削減シミュレーション
導入後 60件 × 10分 ÷ 60 = 10 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 露地野菜や施設野菜を数十枚の圃場で作る農業法人で、作業員が日々の作業日誌をスプレッドシートやフォームで付けている場合。生産管理の担当が月末に圃場ごとの作業と資材の使用をまとめ、農薬の使用回数を手で数えている場合。取引先から栽培の記録の提出を求められている場合。Google Workspace を使っている場合。
- 圃場が数枚で、責任者が全部の作業を把握している場合。作業日誌が紙だけで、入力の仕組みを変える予定が無い場合。営農の管理のアプリが農薬の回数の集計と警告まで行っていて、そこで足りている場合。なお、どの農薬を使ってよいか、ラベルの使用基準の読み取り、収穫してよいかの判断は、この構成では代替できません。
07最小構成で試す方法
- 先月の日誌から、圃場を5枚選ぶ(資材の書き方がばらばらな圃場を混ぜる)
- 農薬の一覧を、その5枚の作物に使う製品だけで作る(製品名・別名)
- 1枚ずつ、1か月分の日誌の行を手元の Claude の画面に貼る
- 第7章の指示の【書く項目】と【厳守事項】を貼り、要約を書かせる
- 資材の行の結び付けも、一覧を貼って試す。担当が当時まとめた月報と見比べる
5枚は必ずやってください。 スクリプトを書く前に、「作業員の書き方から製品を特定できるか」と「メモから所見をまとめられるか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 結び付けと要約が当時の月報とおおむね合った | スクリプトに進む |
| 「前と同じ」を推測で埋めた | 指示の書き方で直る。構成は有効 |
| 結び付けできない行が多い | 一覧の別名が足りない。 AIの問題ではない |
回数は、この段階でもAIに数えさせないでください。 最小構成で数えさせると、その結果を信じる癖がつきます。回数は、担当がいままでどおり数えます。
所見の要約は、責任者にも見せます。 担当が「当時の月報と合っている」と思っても、責任者が現場で見ていた様子と違えば、メモの書き方が足りていません。 その場合は、メモの欄に「何が、どのくらい、どこに」を書く例を作業員に示します。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 「前と同じ」を推測で結び付ける | 必ず unmatched。 翌朝に作業員に聞く |
| 同じ有効成分の別の製品を見落とす | 回数は製品ではなく有効成分ごとにスクリプトが数える |
| 指定種苗の回数を足し忘れる | 作期のシートに欄を作り、作期の初めに苗の表示を写す |
| 作期の開始日が無く数えられない | 作期のシートに無い圃場を翌朝に知らせる |
| AIが回数を書き換える | inputs をスクリプトの集計と照らし、違えば「要確認」 |
| 要約に原因の推定が入る | 推定と提案を禁じる |
| 一覧の値が古い | 年に数回、登録の内容を見直す。 一覧の版を残す |
| 月の要約が6分で止まる | 15枚ずつ4回に分ける |
| 処理が止まっても気づかない | 何も無い日も「該当なし」を送る |
| 圃場の番号が日誌と作期で違う | 圃場の一覧を1つにし、フォームの圃場の欄を選択式にする |
| 同じ圃場で2つの作物を作る | 作期のシートを「圃場 × 作物」の行にする |
| 作業員が日誌を翌日に付ける | 毎日の処理で、日付が前日以前の新しい行も拾う |
上の3行が、この構成の失敗のほとんどです。 どれも回数の数え漏れにつながり、数え漏れは農薬の使用の基準に関わります。 AIの要約の出来より、この3行を先に固めてください。
下の3行は、日誌と作期の表の作り方の問題です。 圃場の番号が表ごとに違うと、回数を数える相手を間違えます。仕組みを入れる前に、圃場の一覧を1つに決めておきます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 圃場の番号と作物、作業の内容、資材の使用、生育のメモ、日誌を付けた作業員の名前です。個人の機微な情報はほとんど含みませんが、栽培の記録は取引先に出す記録でもあります。
- 回数の判断をAIに任せない … 数えるのも、上限と比べるのもスクリプトです。AIは書き方の結び付けと要約だけを行います
- 使ってよい農薬を決めない … 次の防除の製品を選ぶのは責任者です。残りの回数の表は、その判断の材料です
- 月報の所見を確かめてから外に出す … AIの要約を、担当が直さずに取引先に出さないようにします
- 作業員の名前をAIに渡さない … 結び付けにも要約にも要りません
- 一覧の値の出どころを残す … 各行に、確かめた日と、ラベルか農薬登録情報提供システムかを書いておきます
- 手の数え上げをやめる時期を決めておく … 仕組みを入れた直後は、表と手の数え上げを並べます。3か月続けて合ったら手をやめる、と先に決めておかないと、二重の作業が続くか、確かめないうちに手をやめるかのどちらかになります
- 取引先に出す記録の版を分ける … 社内の月報には所見の下書きや未確認の印が残ります。取引先に出すのは、担当が直して責任者が確かめた版だけにし、シートのタブを分けます
誤りが起きた場合のリスクは、回数の数え漏れと、確かめていない所見が記録に残ることの2つです。 前者は推測の結び付けから、後者は原因の推定から起きます。どちらも、AIにさせることを結び付けと要約に限る線引きで防ぎます。
10まず何から始めるか
1週目:農薬の一覧を作る
いま作付け中の作物について、使っている製品の製品名・別名・有効成分・使用回数・有効成分ごとの総使用回数を、ラベルと農薬登録情報提供システムで確かめて書きます。
2週目:5枚で試す
第8章の手順で、先月の5枚の日誌を要約させ、資材の結び付けを試します。「前と同じ」を推測で埋めていないかを最優先で見ます。
3週目:作期のシートを作る
作付け中の60枚について、作期の開始日と指定種苗の使用回数を書きます。苗の表示が手元に残っていない作期は、購入先に問い合わせて確かめます。 分からないまま0と書くと、回数の表が実際より少なく出ます。
4週目:毎日の結び付けと回数をつなぐ
毎日21時のトリガーで、結び付けと回数の数え上げ、翌朝の知らせまでを動かします。最初の1週間は、知らせのメールを担当だけでなく責任者にも送り、残りの回数の表が防除の指示に使える形になっているかを見てもらいます。この時点では、担当はいままでどおり手でも回数を数え、表と見比べます。
2か月目: 月初めの要約を足します。3か月目以降: 手の数え上げと表が3か月続けて合ったら、手の数え上げをやめます。回数の上限に近い圃場が、次の防除の前に責任者に届くようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| インストール型トリガーが常に作った人のアカウントで動くこと。時間主導型の時刻が指定の時刻から1時間の中でずれること。失敗が所有者へのメールで届くこと | Google: Installable triggers | 2026-10-14 |
| スクリプトの1回の実行が6分までであること | Google: Quotas for Google Services | 2026-10-14 |
fetch に method・contentType・headers・payload を指定できること。contentType の既定がフォームの形式であること。muteHttpExceptions の動き | Google: UrlFetchApp | 2026-10-14 |
output_config.format に JSON Schema を渡すこと。minimum・maximum などの数値の制約が使えないこと | Claude Docs: Structured outputs | 2026-10-14 |
| 生育期間において、有効成分の種類ごとの総使用回数(使用回数の表示のある種苗を使う場合は、そこから表示された回数を差し引いた回数)を超えて使用しないこと(第2条第1項第5号)。使用した年月日・場所・農作物・農薬の種類または名称・単位面積当たりの使用量または希釈倍数を帳簿に記載するよう努めること(第9条) | e-Gov 法令API: 農薬を使用する者が遵守すべき基準を定める省令 | 2026-10-14 |
| 農薬名・作物名・病害虫・有効成分などから農薬の登録の情報を検索できること | 農林水産省: 農薬登録情報提供システム | 2026-10-14 |
どの農薬を使うか、使用の基準を満たしているかは、ラベルと登録の内容で責任者が確かめてください。 本記事は省令の条文で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1477)についてのご相談はこちらから。
