青果・水産の週間市況と産地の天候の見通しをエージェントが毎週見回り、飲食チェーンの主要食材の仕入値と納品への影響の候補を購買の担当に届ける
東京都中央卸売市場の週間市況と、農林水産省の野菜の価格見通し、気象庁の早期天候情報を毎週集めます。エージェントが自社の主要食材と照らし、仕入値と納品に影響しそうな食材の候補を購買の担当に届けます。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- 宿泊/小売/飲食
- 対象部門
- 購買
- 対象業務
- 要約/集計・分析
- 主な課題
- データ分析に時間がかかる/人手が足りない/属人化している
- AIで行う処理
- エージェント
- 主な効果
- 判断支援/工数削減/機会損失防止
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 金曜に、担当者が東京都中央卸売市場の週間市況(野菜・果実・水産)を開く
- 自社の主要食材に当たる品目の入荷量と相場の前週比を探し、表に書き写す
- 月末には、農林水産省の野菜の生育状況と価格見通しを読む
- 気象庁の天候の見通しやニュースで、主な産地の天候を確かめる
- 食材グループごとに、仕入値と納品への影響を考えて短い文を書く
- 仕入先の営業に電話して、来週の見通しを聞く
- 見通しをまとめて、月曜の商品部との打ち合わせに出す
- 自動毎週金曜の昼に、ワークフローが週間市況の一覧のページから最新の野菜・果実・水産のPDFを取得する
- 自動PDFから文字を取り出し、自社の主要食材の一覧にある品目の行と、概況の文を拾う
- 自動月に1回の農林水産省の見通しと、最新の早期天候情報を取得する
- 自動エージェントが、食材グループごとに、入荷量・相場・概況・見通し・天候を自社の食材に当てはめる
- 自動エージェントが、仕入値と納品に影響しそうな食材の候補と、確かめる先を挙げる
- 自動結果を週次の見通しの表に書き、購買部のチャットに知らせる
- 人担当者が候補を読み、根拠の数字を原典で確かめ、仕入先に聞くことを決める
- 人仕入先の話を足して見通しを仕上げ、月曜の打ち合わせに出す
各工程の詳しい説明を読む
- 金曜に、担当者が東京都中央卸売市場の週間市況(野菜・果実・水産)を開く
- 自社の主要食材に当たる品目の入荷量と相場の前週比を探し、表に書き写す
- 月末には、農林水産省の野菜の生育状況と価格見通しを読む
- 気象庁の天候の見通しやニュースで、主な産地の天候を確かめる
- 食材グループごとに、仕入値と納品への影響を考えて短い文を書く
- 仕入先の営業に電話して、来週の見通しを聞く
- 見通しをまとめて、月曜の商品部との打ち合わせに出す
(a)資料を読み合わせる時間が長い。 週間市況はPDFで、野菜・果実・水産で別々です。自社の60品目に当たる行を3つの資料から探し、表に写すだけで、担当者の金曜の午後が埋まります。
(b)市況の言葉の読み方が担当者で違う。 「強保合」「弱含み」のような市況の言葉を、経験の長い担当者は来週の動きの手がかりとして読みますが、配属の浅い担当者は数字の前週比だけを見ます。 同じ資料から、違う見通しが出てきます。
(c)天候と市況をつなげて読めていない。 産地で高温や少雨が続いても、市況の数字に出るのは数週間後です。天候の見通しを見ているのは経験の長い担当者だけで、その担当者が休むと先回りの相談ができません。
(d)値上がりに気づくのが仕入先からの連絡のあと。 仕入先から「来週から値上げ」と連絡が来てから、献立や仕込みの調整を考えることになります。事前に相談できていれば、代わりの産地や規格を探す時間がありました。
- 【自動】 毎週金曜の昼に、ワークフローが週間市況の一覧のページから最新の野菜・果実・水産のPDFを取得する
- 【自動】 PDFから文字を取り出し、自社の主要食材の一覧にある品目の行と、概況の文を拾う
- 【自動】 月に1回の農林水産省の見通しと、最新の早期天候情報を取得する
- 【自動】 エージェントが、食材グループごとに、入荷量・相場・概況・見通し・天候を自社の食材に当てはめる
- 【自動】 エージェントが、仕入値と納品に影響しそうな食材の候補と、確かめる先を挙げる
- 【自動】 結果を週次の見通しの表に書き、購買部のチャットに知らせる
- 【人】 担当者が候補を読み、根拠の数字を原典で確かめ、仕入先に聞くことを決める
- 【人】 仕入先の話を足して見通しを仕上げ、月曜の打ち合わせに出す
7番目が、この設計の分かれ目です。 エージェントが出すのは候補と根拠で、来週の値上がりを言い切ってはいません。担当者は、根拠の数字が原典どおりかと、候補が自社の仕入れの形に合っているかを確かめます。
4番目で天候の見通しを市況と並べるので、第3章の(c)の「経験の長い担当者だけが見ている」状態が消えます。 誰が担当しても、産地の高温の見通しが同じ表に載ります。
8番目の仕入先への確認を人に残しているのも、意図してのことです。 市場の相場と、自社が仕入先から受け取る価格は同じではありません。仕入先の営業から聞く「来週の荷の具合」は、公表された資料には出てきません。
02今回想定するシステム構成
自社の主要食材の一覧(スプレッドシート:品目・市況の品目名・主産地・規格・仕入れの形・仕入先) │ ▼【トリガー】Schedule Trigger(毎週金曜 13時、Asia/Tokyo) n8n のワークフロー ├──▶ HTTP Request + HTML(週間市況の一覧のページから最新のPDFのリンクを拾う) ├──▶ HTTP Request(PDF)→ Extract From File(Extract From PDF) ├──▶ HTTP Request(農林水産省の見通し:月1回) ├──▶ HTTP Request(気象庁の早期天候情報) ▼ AI Agent ノード(Tools Agent)+ Anthropic Chat Model │ 食材グループごとに、道具を選んで使う │ ・主要食材の一覧を引く ・前の週までの見通しを引く │ ・産地と気象庁の地方区分の対応を引く │ Structured Output Parser で決まった形のJSONを返す ▼ 週次の見通しの表(スプレッドシート)→ 購買部のチャットへ通知 ▼【人】原典での確認・仕入先への確認・打ち合わせの資料
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | n8n | Make、Zapier、Power Automate |
| 生成AI | Claude API(n8n の Anthropic Chat Model ノード) | OpenAI API、Gemini API |
| 記録 | スプレッドシート(主要食材の一覧・週次の見通しの表) | データベース |
新しく足すのは、n8n のワークフローと、主要食材の一覧に足す列だけです。 一覧には、自社の品目名に加えて、週間市況での品目名、主産地、気象庁の地方区分、規格、仕入れの形(相場連動/月決め/年間契約)の列を足します。
週間市況は、東京都中央卸売市場のサイトに、野菜・果実・水産に分けて毎週PDFで載ります。 野菜の週間市況は、入荷量が全市場、相場が大田市場の調べで、品目ごとの1日平均入荷量、前週比、前年同期比、主な産地、せりと相対の高値・中値・安値、そして「概況」の文があります。水産の週間市況は、魚種ごとの取扱数量、前週比、前年同期比、産地、高値・中値・安値、サイズです。
一覧のページのリンクの名前は、週ごとに揃っていません。 野菜は日時を並べた名前、水産は年と月と週の番号の名前で、同じ年の中でも書き方が変わっています。URLを規則で組み立てず、一覧のページから最新の週のリンクを拾います。
市況の数字の前提は、日報のページの注記に書かれています。 東京都中央卸売市場日報のページには、卸売価格(高値・中値・安値)に消費税額が含まれること、数値を四捨五入しているため合計と内訳が一致しない場合があることが書かれています。自社の仕入値と比べるときは、税込みであることをそろえます。
03どうやって実装するのか
処理の起点を決める
毎週金曜の13時に、Schedule Trigger で動かします。 週間市況(野菜)の一覧で、2026年の各週のPDFの名前に付いた日付はほぼ金曜で、10月第1週の野菜の資料は10月2日から8日の分です。掲載の時刻はページに書かれていないので、13時に取れなければ16時にもう一度取る Trigger Rule を足します。 ワークフローのタイムゾーンは Asia/Tokyo にします。
早期天候情報は、原則として毎週月曜と木曜に発表されます。 金曜の実行では、前日の木曜に出た最新の情報を使います。気象庁のページでは、発表日の6日後から14日後までを対象とし、5日間平均気温が「かなり高い」か「かなり低い」となる確率が30%以上と見込まれるときなどに出るとされています。
農林水産省の野菜の生育状況及び価格見通しは、月に1回の公表です。 令和8年8月の見通しは7月31日に公表されています。月末の金曜の実行で新しい月の分を取り、その月の毎週の実行で同じ見通しを使います。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 週間市況(野菜・果実) | 品目ごとの1日平均入荷量、前週比、前年同期比、産地、高値・中値・安値、概況の文 | 東京都中央卸売市場の週間市況のPDF |
| 週間市況(水産) | 魚種ごとの取扱数量、前週比、前年同期比、産地、高値・中値・安値、サイズ | 同上 |
| 野菜の価格見通し | 主要な野菜の主産地、生育と出荷の見通し、価格の見通し(平年比) | 農林水産省の公表 |
| 早期天候情報 | 地方ごとの、かなりの高温・低温・多雪の見込み | 気象庁 |
| 主要食材の一覧 | 自社の品目名、週間市況での品目名、主産地、地方区分、規格、仕入れの形、仕入先 | 購買部が作る |
| 前の週までの見通し | グループごとの候補と、担当者の書いた見通し | 週次の見通しの表 |
質を決めるのは、主要食材の一覧の「週間市況での品目名」と「仕入れの形」の列です。 自社の「千切りキャベツ用キャベツ」は市況では「キャベツ」、「サーモン」は水産の市況には出てこない輸入の冷凍品です。対応する行が無い食材は、一覧で「市況なし」と書いておきます。 書いておかないと、エージェントが近い品目を探して当てはめます。
仕入れの形は、同じ相場の動きの重さを変えます。 相場連動の葉物なら来週の仕入値にすぐ響き、月決めのキャベツなら翌月の価格の相談の材料になり、年間契約のサケならほとんど響きません。
農林水産省の見通しの「平年並み」は、平年(過去5か年平均)との比率がおおむね90%以上110%以下であることを指します。 この定義を指示に入れ、エージェントが「平年並み」を「変化なし」と読み替えないようにします。
データの取得方法を決める
週間市況のPDFは、2段階で取ります。 まず HTTP Request で一覧のページを取り、HTML ノードの Extract HTML Content で、リンクの href を Attribute で、週の表示を Text で取ります。Return Array を有効にして全件を配列で受け、いちばん新しい週のリンクを選びます。
| 取るもの | どこから | 取り方 |
|---|---|---|
| 野菜・果実・水産の最新のPDFのリンク | 週間市況の一覧のページ | HTTP Request → HTML(CSSセレクタでリンクを拾う) |
| 週間市況の文字 | HTTP Request(Response Format:File)→ Extract From File(Extract From PDF) | |
| 野菜の価格見通し | 農林水産省の報道発表のページ | HTTP Request → HTML(本文の表を Text で取る) |
| 早期天候情報 | 気象庁のページ | HTTP Request → HTML |
文字コードは、ページによって違います。 週間市況の一覧のページは UTF-8 ですが、日報のページは Shift_JIS(x-sjis)で、応答のヘッダに文字コードがありません。日報を足すときは、Response Format を File にして受け、文字コードを指定して読みます。
気象庁には、防災情報XMLの Atom フィードもあります。 高頻度のフィードは毎分、長期のフィードは毎時更新され、長期のフィードは数日分の電文を持ちます。1日に10GB以上のダウンロードがあると、アクセス元のIPアドレスを遮断するとページに書かれています。本記事は週1回の実行なので、早期天候情報のページを読む形にし、警報のような毎日の情報は扱いません。
AIへ渡す前に整形する
- 新しい週かを確かめる … PDFの冒頭にある「2026年10月第1週(10月2日~10月8日)」のような期間を取り出し、前の週と同じなら取得をやり直します
- 自社の品目の行を拾う … 主要食材の一覧の「週間市況での品目名」で、PDFの文字から行を拾います。水産の資料は「マ グ ロ」のように文字の間に空白が入るので、空白を落としてから照らします
- 概況の文を切り出す … 野菜の資料の「概況」から後ろの文を、品目ごとの文に分けます(「『キャベツ』の1日平均入荷量は、前週比増減なしとなった。群馬県産の価格は強保合となった。」)
- 見通しと天候を付ける … 食材ごとに、農林水産省の見通しの行と、主産地の地方区分の早期天候情報を付けます
- 食材グループごとにまとめる … 1つのグループの食材と、その市況・見通し・天候を1つの入力にします
2番目は、PDFの表の崩れを前提にします。 Extract From PDF で取り出した文字は、表の列の並びが崩れ、1つの品目が「せり」と「相対」の2行に分かれ、数字が前後の行にずれることがあります。数字を規則で列に割り当てることはせず、品目の行の文字をそのままエージェントに渡し、後でワークフローが数字を照合します。
3番目の概況の文が、この構成でいちばん役に立つ入力です。 数字の表は崩れても、概況の文は品目ごとに1文で書かれていて崩れにくく、「強保合」「弱含み」のような相場の向きが言葉で書かれています。
AIに処理させる
させるのは、食材グループごとに、市況・見通し・天候を自社の食材に当てはめ、仕入値と納品に影響しそうな食材の候補と、確かめる先を挙げることです。
| 手順 | エージェントがすること | 使う道具 |
|---|---|---|
| 1 | グループの食材と、仕入れの形・主産地を確かめる | get_items |
| 2 | 食材ごとに、入荷量と相場の前週比・前年同期比、概況の言葉を原文から写す | なし |
| 3 | 農林水産省の見通しと、主産地の地方の早期天候情報を当てはめる | get_region |
| 4 | 前の週までの見通しと比べ、続いている動きか、新しい動きかを分ける | get_history |
| 5 | 仕入値と納品に影響しそうな食材の候補と、確かめる先を挙げる | なし |
候補には、決まった区分を付けさせます。 「仕入値の上がる候補」「仕入値の下がる候補」「納品の量や規格が揃わない候補」「動きなし」の4つです。区分を決めておくと、月曜の打ち合わせで「上がる候補が3品目」と数えられ、第3章の(b)の読み方のばらつきが消えます。
水産のグループには、早期天候情報を当てはめさせません。 魚の水揚げは海の状況や漁の具合で決まり、陸の気温の見込みとは結び付きません。水産では、週間市況の取扱数量・前週比・中値と、前の週までの動きだけで候補を挙げさせます。 結び付けてよい情報だけを渡すことで、もっともらしい理由づけを防ぎます。
確かめる先は、仕入れの形で変えさせます。 相場連動なら仕入先の営業に来週の荷の具合を、月決めなら翌月の価格の相談の予定を、年間契約なら確かめることは無し、と書かせます。
| させないこと | 理由 |
|---|---|
| 来週の相場を数字で予測する | 公表された資料に無い数字になる |
| 自社の仕入値の上げ幅を見積もる | 仕入先との価格は市場の相場と同じではない |
| 献立の差し替えを決める | 商品部と店の事情を合わせて人が決める |
| 市況に無い食材に近い品目を当てはめる | 一覧で「市況なし」と決めた食材は扱わない |
| 天候から作柄を断定する | 早期天候情報は確率で出る見込み |
1行目がいちばん起きやすい失敗です。 前週比で入荷が20%減っていると、エージェントは「来週は1割程度の値上がりが見込まれる」と書きたがります。書けるのは、公表された前週比と概況の言葉と、農林水産省の見通しの文までです。
指示内容を固定する
あなたは飲食チェーンの購買部で、生鮮の食材の市況と産地の天候を
読み、自社の食材への影響の候補を整理する担当です。
入力の資料の文字と、道具で確かめた事実だけで答えてください。
【入力】
- 食材グループ:{group}
- 週間市況の期間:{period}
- 週間市況の該当の行(PDFから取り出した文字のまま):{market_rows}
- 概況の文:{market_comments}
- 農林水産省の見通し(該当の行):{maff_outlook}
- 早期天候情報(発表日と内容):{early_warning}
【使える道具】
- get_items:グループ名を渡すと、自社の食材ごとの週間市況での品目名、
主産地、気象庁の地方区分、規格、仕入れの形、仕入先を返す
- get_region:地方区分を渡すと、その地方の早期天候情報を返す
- get_history:グループ名を渡すと、前の週までの候補と見通しを返す
【進め方】
1. get_items で食材を確かめてください。「市況なし」の食材は扱わないでください。
2. 食材ごとに、入荷量と中値の前週比・前年同期比、概況の言葉を
入力の文字から写してください。
3. 見通しと、主産地の地方の早期天候情報を当てはめてください。
4. get_history で前の週と比べ、continued / new を付けてください。
5. 区分(price_up / price_down / supply_short / no_change)と、
確かめる先を書いてください。
【厳守事項】
- 来週以降の相場を数字で書かないでください。
- 数字は入力の文字にあるものだけを写してください。
列がずれて読み取れない数字は空にし、needs_human を true にしてください。
- 「平年並み」は平年(過去5か年平均)比おおむね90%以上110%以下の
意味です。「変化なし」と言い換えないでください。
- 早期天候情報は確率の見込みです。作柄や収量を断定しないでください。
- 市況の価格は税込みの卸売価格です。自社の仕入値と同じものとして
書かないでください。
- 献立や仕込みの量の変更を提案しないでください。
「列がずれて読み取れない数字は空にする」を明記しないと、隣の行の数字を拾います。 PDFの表の崩れは毎週起きるので、読めないことを読めないと書かせる指示が要ります。
「平年並み」の定義を入れているのも同じ理由です。 定義を渡さないと、平年比105%を「平年並み」と書いた見通しを「平年より高い」と読み替えることがあります。
出力形式を固定する
Structured Output Parser で、次の形のJSONを受け取ります。
{
"group": "葉物",
"period": "2026-10-02/2026-10-08",
"items": [
{
"item": "",
"market_name": "",
"arrival_vs_last_week": "",
"price_vs_last_week": "",
"market_comment": "",
"maff_outlook": "",
"weather": "",
"trend": "continued | new",
"category": "price_up | price_down | supply_short | no_change",
"check_with": "",
"needs_human": false
}
],
"group_summary": ""
}
1つ目の理由は、数字と候補を別の欄に置けることです。 arrival_vs_last_week と price_vs_last_week は原文の数字、category は候補です。ワークフローの側で、写した数字がPDFの文字の中にあるかを確かめ、無ければ needs_human を立てます。
2つ目は、category で週ごとの件数を規則で数えられることです。 打ち合わせの資料の冒頭の「上がる候補3品目、揃わない候補1品目」は、ワークフローが数えます。
3つ目は、check_with で担当者の次の作業が決まることです。 候補を読んだ担当者が、誰に何を聞くかを考え直す必要がありません。
Structured Output Parser の Generate From JSON Example では、すべての項目が必須として扱われるとされています。空のときは空文字を返させます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 週間市況・見通し・早期天候情報 | HTTP Request ノード+HTML/Extract From File | 最新の資料を取る |
| 主要食材の一覧・前の週までの見通し | Google Sheets ノード | 道具のサブワークフローから読む |
| Claude API | Anthropic Chat Model ノード | 当てはめ、候補、確かめる先 |
| 週次の見通しの表 | Google Sheets ノード | 食材ごとに1行ずつ書く |
| 購買部のチャット | n8n のチャットのノード | 区分ごとの件数と、needs_human の件数を知らせる |
仕入先と商品部へは自動で送りません。 候補は購買部の中で確かめ、仕入先の話を足してから打ち合わせに出します。市場の相場の動きをそのまま仕入先に伝えると、価格の相談の材料を先に渡すことになるからです。
人が確認する
人が見るのは、category が no_change 以外の食材と、needs_human が立った食材です。 no_change は一覧で流し見ます。
- 数字を原典で確かめる … 週間市況のPDFを開き、写した前週比と概況の言葉が合っているかを見ます
- 仕入れの形に合っているかを見る … 年間契約の食材に「上がる候補」が付いていないかを見ます
- 仕入先に聞く …
check_withに書かれた先に、来週の荷の具合を聞きます - 見通しを仕上げる … 仕入先の話を足し、来週の見通しの一言は担当者が書きます
1番目は、PDFの表の崩れがあるので省かないでください。 担当者が見るのは候補の付いた食材の数字だけで、資料の全体を読み直す必要はありません。
担当者の直しは、主要食材の一覧と指示を直す材料にします。 同じ食材で区分の付け直しが続くなら、仕入れの形か主産地の書き方が実態と合っていません。
目標は、48件をならして1件10分です。 動きの大きい週は長く、市況が落ち着いた週は数分で終わります。
例外に対処する
| 起きること | 対応 |
|---|---|
| 金曜の13時に新しい週のPDFが無い | 16時に取り直す。無ければ前の週のまま「未更新」と書く |
| 一覧のページの作りが変わりリンクが取れない | 担当者へ知らせ、CSSセレクタを直す |
| 文字化けして品目が拾えない | ページの文字コードを確かめ、指定して読み直す |
| PDFの表が崩れて数字が読めない | 数字を空にして needs_human。概況の文は使う |
| 自社の食材の行が市況に無い | その週は入荷が無かった可能性。「該当なし」と書く |
| 写した数字がPDFの文字に無い | 候補を採らず、needs_human にする |
| 祝日で開市日が少ない週 | 1日平均の数字なので比べられるが、概況の開市日の数を一緒に載せる |
| Claude API が応答しない | 拾った行と概況の文だけを表に書き、候補は空にする |
4行目は毎週のように起きます。 数字が読めないことを隠さずに needs_human で回し、概況の文で向きだけは伝えます。 日報のページには、後日、高値・中値・安値の誤りを訂正したお知らせが出ることもあります。数字は原典の確認を経てから打ち合わせの資料に載せます。
記録を残す
- 実行の日時、取得した資料のURLと期間、取得の結果
- PDFから取り出した文字の全文と、拾った行
- エージェントの入力、道具の呼び出しの記録、結果のJSONの全文、数字の照合の結果
- 担当者が直した候補と区分、仕入先から聞いたこと、見通しの一言
- 打ち合わせに出した資料の版
PDFの文字を残すのは、後から市況の資料が差し替わったときに比べられるようにするためです。 Tools Agent の Return Intermediate Steps を有効にすると、道具を呼んだ順も残せます。
04実装レベルの3段階
半自動化で、第4章の①がほぼ無くなります。 自社の食材の行と概況の文が表に並びます。本格構成で②と③が確認の作業に変わり、この段階が本記事の想定です。 差が大きいのは、③の見通しを書く作業が、担当者の経験で長さが変わる手作業だからです。 本格構成では、前の週までの見通しを道具で引かせるので、「先週から続く値上がり」と「今週新しく出た動き」が分かれて表に並びます。 月曜の打ち合わせで、新しい動きから先に話せるようになります。 段階を飛ばさないでください。 半自動化を1か月回すと、市況に出てこない食材と、表の崩れで数字の取れない品目が分かります。そこを片付けてからエージェントを足します。
05工数削減シミュレーション
導入後 48件 × 10分 ÷ 60 = 8 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 生鮮の野菜と魚を多く使う定食・和食・居酒屋などの飲食チェーンや、惣菜を作る食品スーパーの本部で、購買の担当が毎週、市場の市況や天候のニュースを読んで仕入先との相談や献立の調整の材料にしている場合。主要食材が数十品目に決まっていて、東京の市場の相場を目安にしている場合。市況の読み方が担当者の経験に頼っている場合。
- 仕入れの大半が年間の固定価格の契約で、相場の動きが仕入値にほとんど響かない場合。主要な仕入れが東京以外の市場や産地直送で、東京都中央卸売市場の市況が目安にならない場合。主要食材が数品目で、担当者が毎日相場を見ている場合。なお、仕入先との価格の交渉や、メニューの変更・休止の判断は、この構成では代替できません。
07最小構成で試す方法
- 食材グループを2つ(葉物と青魚など)選ぶ
- 主要食材の一覧に、週間市況での品目名・主産地・仕入れの形の列を足す
- 先週の週間市況のPDF(野菜と水産)と、早期天候情報のページを開く
- 手元のAIサービスに、一覧とPDFの該当のページを貼り、「自社の食材ごとに、入荷量と中値の前週比と概況の言葉を写し、仕入値と納品に影響しそうな候補を4つの区分で挙げてください。来週の相場を数字で予測しないでください」と指示する
- 担当者が先週書いた見通しと見比べる
2グループは必ず試してください。 ワークフローを組む前に、「自社の食材と市況の品目の対応が取れるか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 担当者と同じ食材に候補が付いた | ワークフローの構築に進む |
| 自社の食材と市況の品目の対応が取れない | 一覧の「週間市況での品目名」を書き足す。構成は有効 |
| 隣の行の数字を写した | 指示の書き方で直る。数字の照合を必須にする |
2行目が出ることは珍しくありません。 失敗ではなく、資料から自社の食材を探す時間がかかっていた理由が分かったということです。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| PDFの表の数字が隣の行にずれる | 数字を規則で割り当てず、照合して読めなければ空にする |
| 最新のPDFのURLが組み立てられない | リンクの名前が揃っていない。一覧のページから拾う |
| 日報のページが文字化けする | Shift_JIS で書かれている。文字コードを指定して読む |
| 自社の食材が市況の品目に当たらない | 一覧に「週間市況での品目名」を書き、無ければ「市況なし」 |
| 来週の相場を数字で言い切る | 数字の予測を禁じ、区分で候補を挙げさせる |
| 「平年並み」を「変化なし」と読む | 平年比おおむね90〜110%の定義を指示に入れる |
| 市場の価格を自社の仕入値と取り違える | 税込みの卸売価格であることを指示と資料に書く |
| 年間契約の食材に値上がりの候補が付く | 仕入れの形を一覧に持たせ、道具で引かせる |
| 天候から不作を断定する | 早期天候情報は確率の見込みだと指示に書く |
上の3行が、この構成の資料の取り扱いの問題です。 どれもエージェントの賢さとは関係が無く、公表された資料の形から起きます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 公表された市況・見通し・天候の情報と、自社の主要食材の一覧(品目・規格・仕入れの形・仕入先)、週次の見通し、仕入先から聞いたことです。公表された資料に機密はありませんが、仕入先ごとの仕入れの形と、仕入先から聞いた荷の具合は、取引の情報です。
- エージェントに渡す自社の情報を絞る … 仕入値や契約の価格は渡しません。候補を挙げるには、仕入れの形の区分で足ります
- 公表された資料の取り方を守る … 週1回、必要なページとPDFだけを取ります。気象庁のフィードには、ダウンロードの量が多いとIPアドレスを遮断するという記載があります
- 候補を見通しとして外に出さない … 仕入先や商品部へは、担当者が確かめて書き直した見通しだけを出します
- 数字は原典で確かめてから使う … PDFの表の崩れと、後日の訂正があるためです
- APIの鍵を守る … n8n の認証情報に置き、ワークフローの中に書き込みません
誤りが起きた場合のリスクは、値上がりや欠品の兆しを見落とすことと、崩れた数字や言い切った見通しで献立や仕入れを誤らせることの2つです。 前者は市況なしの食材の見直しで、後者は数字の照合と、候補と見通しの書き分けで防ぎます。
10まず何から始めるか
1週目:主要食材の一覧に列を足す
60品目それぞれについて、週間市況での品目名、主産地、気象庁の地方区分、仕入れの形を書きます。市況に出てこない食材は、この時点で「市況なし」にします。
2週目:2グループで試す
葉物と青魚で、手元のAIサービスに先週の資料を貼って候補を挙げさせます。隣の行の数字を拾っていないかを最優先で見ます。
3週目:資料の取得と行の拾い出しをつなぐ
n8n で一覧のページから最新のPDFを取り、自社の食材の行と概況の文を表に書き出すところまで作ります。この時点ではエージェントを入れず、数字が読めない品目がどれくらいあるかを数えます。
4週目:見通しと天候を足す
農林水産省の見通しと早期天候情報を取り、主産地の地方区分で当てはめます。
2か月目: エージェントを足し、候補と確かめる先を表に書きます。担当者の直しを毎週見て、一覧と指示を直します。3か月目以降: 1件35分が何分になったかを実測し、月曜の打ち合わせで、候補の直しが無い週が続いた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 週間市況(野菜)が週ごとのPDFで載ること、2026年の各週の資料の名前と期間(10月第1週は10月2日〜8日)、入荷量が全市場・相場が大田市場の調べであること、品目ごとの入荷量・前週比・前年同期比・産地・高値・中値・安値・概況の文 | 東京都中央卸売市場: 週間市況(野菜) | 2026-10-12 |
| 週間市況(水産)の資料の名前の付け方が年によって違うこと、魚種ごとの取扱数量・前週比・前年同期比・産地・高値・中値・安値・サイズ | 東京都中央卸売市場: 週間市況(水産) | 2026-10-12 |
| 卸売価格に消費税額が含まれること、四捨五入で合計と内訳が一致しない場合があること、販売結果の訂正のお知らせ | 東京都中央卸売市場日報 | 2026-10-12 |
| 野菜の生育状況及び価格見通しが東京都中央卸売市場に出荷される野菜についてのもので、主産地・卸売会社等からの聞き取りで作られること、「平年並み」の定義、令和8年8月分が7月31日の公表であること | 農林水産省: 野菜の生育状況及び価格見通し(令和8年8月) | 2026-10-12 |
| 早期天候情報が原則毎週月曜と木曜に発表され、6日後から14日後を対象とし、かなりの高温・低温の確率30%以上などで出ること | 気象庁: 早期天候情報 | 2026-10-12 |
| 防災情報XMLの Atom フィードの種類と更新の頻度、1日10GB以上のダウンロードで遮断すること | 気象庁: 防災情報XML PULL型 | 2026-10-12 |
| Extract HTML Content の CSS Selector、Return Value、Return Array | n8n Docs: HTML | 2026-10-12 |
| Extract From PDF の操作があること | n8n Docs: Extract From File | 2026-10-12 |
| Return Intermediate Steps | n8n Docs: Tools Agent | 2026-10-12 |
| 例から作ったスキーマは全項目が必須 | n8n Docs: Structured Output Parser | 2026-10-12 |
仕入先との価格の相談と、献立や仕込みの量の判断は、購買部と商品部で行ってください。 本記事は上記の公式ページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1268)についてのご相談はこちらから。
