競合企業のプレスリリースとIRのお知らせをエージェントが毎日見回り、新製品・提携・設備投資・価格改定の動きを要約して、自社への影響の候補を経営企画に届ける
競合15社のニュースとIRのお知らせを毎朝取得し、新しく出たリリースだけをエージェントに読ませます。新製品・提携・設備投資・価格改定などに分け、自社の事業と照らした影響の候補を付けて経営企画に届けます。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- IT・SaaS/商社/製造
- 対象部門
- 経営企画
- 対象業務
- 情報検索/要約
- 主な課題
- 人手が足りない/属人化している/情報が見つからない
- AIで行う処理
- エージェント
- 主な効果
- 判断支援/工数削減/機会損失防止
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 毎朝、受け持ちの競合のニュースとIRのお知らせのページを1社ずつ開く
- 前日に見たところまでを思い出し、新しく出たリリースを探す
- リリースを開き、PDFならダウンロードして読む
- 新製品・提携・増産・値上げなど、何の発表かを判断する
- 自社の事業・製品・顧客に関わりそうかを考え、記録の表に1行書く
- 関わりそうなものは、事業部の企画担当にチャットで知らせる
- 月に1回、記録の表から主なものを選び、経営会議の報告にまとめる
- 自動毎朝7時に、ワークフローが競合の一覧を読む
- 自動RSS のある会社は RSS を、無い会社はニュースの一覧のページを取得する
- 自動前回までに見たリリースのURLと比べ、新しく出たものだけを残す
- 自動リリースの本文を取得する(HTMLは本文の部分を取り出し、PDFは文字を取り出す)
- 自動エージェントが、リリースの種類を分け、事実を抜き書きする
- 自動エージェントが、自社の事業の一覧と過去の記録を引き、影響の候補を付ける
- 自動結果を競合の動きの記録に1行ずつ書き、経営企画のチャットに日次の一覧を送る
- 人担当者が一覧を読み、重要度の高いものは原文を開いて抜き書きと候補を確かめる
- 人事業部に伝えるものを選び、担当者の判断の一言を付けて知らせる
各工程の詳しい説明を読む
- 毎朝、受け持ちの競合のニュースとIRのお知らせのページを1社ずつ開く
- 前日に見たところまでを思い出し、新しく出たリリースを探す
- リリースを開き、PDFならダウンロードして読む
- 新製品・提携・増産・値上げなど、何の発表かを判断する
- 自社の事業・製品・顧客に関わりそうかを考え、記録の表に1行書く
- 関わりそうなものは、事業部の企画担当にチャットで知らせる
- 月に1回、記録の表から主なものを選び、経営会議の報告にまとめる
(a)新しいものを探す時間が長い。 各社のページは作りがばらばらで、日付の位置もリンクの並びも違います。前日に見たところまでを覚えておき、そこから上を読むという探し方で、休み明けや担当の交代のときに漏れます。
(b)営業や購買から聞いて初めて知る。 担当者が出張や繁忙で数日見られないと、その間の動きを取引先から聞いた営業が先に知ることがあります。経営企画が知るのは、その数日後です。
(c)影響の書き方が担当者ごとに違う。 同じ「競合が新工場を建てる」を、ある担当は「供給能力の増加」、別の担当は「価格競争の激化の恐れ」と書きます。半年後に読み返すと、何を根拠にそう書いたのかが分かりません。
(d)記録がたどれない。 担当者の書いた1行には、日付とURLが入っていないことがあり、半年前の発表にたどり着けません。
- 【自動】 毎朝7時に、ワークフローが競合の一覧を読む
- 【自動】 RSS のある会社は RSS を、無い会社はニュースの一覧のページを取得する
- 【自動】 前回までに見たリリースのURLと比べ、新しく出たものだけを残す
- 【自動】 リリースの本文を取得する(HTMLは本文の部分を取り出し、PDFは文字を取り出す)
- 【自動】 エージェントが、リリースの種類を分け、事実を抜き書きする
- 【自動】 エージェントが、自社の事業の一覧と過去の記録を引き、影響の候補を付ける
- 【自動】 結果を競合の動きの記録に1行ずつ書き、経営企画のチャットに日次の一覧を送る
- 【人】 担当者が一覧を読み、重要度の高いものは原文を開いて抜き書きと候補を確かめる
- 【人】 事業部に伝えるものを選び、担当者の判断の一言を付けて知らせる
8番目が、この設計の分かれ目です。 エージェントが付けるのは候補で、自社にとって脅威か機会かは書かせていません。担当者は、候補が的外れでないかと、抜き書きが原文どおりかを確かめます。
3番目でURLを鍵にして新旧を分けるので、第3章の(a)の「前日に見たところまでを覚えておく」探し方が消えます。 担当者が休んでも、ワークフローは毎朝同じように取りに行くので、(b)の数日の空白もなくなります。
6番目で過去の記録を引かせるのも、意図してのことです。 同じ会社が3か月前に同じ工場の計画を発表していれば、今回は「着工」や「稼働」の続報です。続報であることが分かれば、記録の表で元の発表とつなげられ、(d)が解けます。
02今回想定するシステム構成
競合の一覧(スプレッドシート:会社名・RSSのURL・一覧ページのURL・CSSセレクタ・取得の可否) │ ▼【トリガー】Schedule Trigger(毎朝7時、Asia/Tokyo) n8n のワークフロー ├──▶ RSS Read(RSSのある会社) ├──▶ HTTP Request + HTML(RSSの無い会社の一覧ページ) ├──▶ Remove Duplicates(前回までに見たURLを除く) ├──▶ 本文の取得(HTML は HTML ノード、PDF は Extract From File) ▼ 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 のワークフローと、自社の事業の一覧だけです。 競合の一覧と動きの記録はいまあるスプレッドシートに列を足して使います。競合の一覧には、会社ごとに RSS のURL、一覧ページのURL、リリースのリンクを指すCSSセレクタ、取得してよいかの確認結果の列を持たせます。
RSS は、RSS Read ノードで読みます。 公式のページでは、パラメータは RSS のURLで、オプションは SSL の検証を飛ばす Ignore SSL Issues だけです。RSS が新しく出たときに動く RSS Feed Trigger という別のノードもありますが、15社を同じ時刻にまとめて処理したいので、Schedule Trigger から RSS Read を呼ぶ形にします。
RSS の無い会社は、HTTP Request ノードで一覧のページを取り、HTML ノードでリンクを抜き出します。 HTML ノードの Extract HTML Content では、CSSセレクタと、返す値(Text、HTML、Attribute、Value)を指定できます。リンクのURLは Attribute で href を、題名は Text で取ります。 Return Array を有効にすると、一覧の全件が配列で返ります。
リリースの本文がPDFのことも多くあります。 IRのお知らせはたいていPDFです。Extract From File ノードの Extract From PDF で文字を取り出します。 画像だけのPDFは文字が取れないので、例外として人に回します(第7章の例外処理)。
03どうやって実装するのか
処理の起点を決める
毎朝7時に、Schedule Trigger で動かします。 Schedule Trigger はワークフローのタイムゾーンを使い、無ければインスタンスのタイムゾーンを使います。セルフホストの既定は America/New York なので、ワークフローのタイムゾーンを Asia/Tokyo にします。 公式のページは、保存して公開(publish)しないと動かないとしています。
1日1回にしているのは、翌朝に読めば足りるからです。 1日に何度も取りに行くと、相手のサイトへの負荷が増えるだけです。
決算発表の日だけは、例外にします。 競合の決算発表の日は競合の一覧に入れておき、その日だけ18時にもう一度動かす Trigger Rule を足します。公式のページでは、複数の Trigger Rule で別々の時刻に動かせるとされています。決算の数字の要約は UC-0743 の構成に任せ、本記事では決算と同時に出る提携や設備投資の発表を拾います。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 競合の一覧 | 会社名、RSSのURL、一覧ページのURL、CSSセレクタ、取得の可否、決算発表の日 | スプレッドシート |
| リリースの一覧 | 題名、URL、公表日 | RSS Read / HTTP Request + HTML |
| リリースの本文 | 本文の文字(HTMLの本文の部分、PDFの文字) | HTTP Request + HTML / Extract From File |
| 自社の事業の一覧 | 事業部、製品群、主な用途と業界、主要顧客の業界、主要な仕入品 | 経営企画が作る |
| 過去の記録 | 会社ごとの、過去の発表の種類・要点・日付・URL | 競合の動きの記録 |
質を決めるのは、自社の事業の一覧です。 「工作機械事業」とだけ書くと、競合のどの発表も「工作機械事業に関わる」になります。「5軸加工機:航空機部品・医療機器部品向け、主要顧客は航空機の Tier2」のように、製品群・用途・顧客の業界まで書きます。 ここまで書くと、競合が「医療機器メーカーと提携」と発表したときに、関わる製品群を1つに絞れます。
主要顧客は、社名ではなく業界で書きます。 一覧はエージェントに渡すので、個別の顧客名を入れません。 業界で書いても、候補を付けるには足ります。
過去の記録は、続報を見分けるために持ちます。 同じ会社の同じ工場の話なら、今回は新しい動きではなく続報です。
データの取得方法を決める
取りに行く前に、会社ごとに取得してよいかを確かめます。 robots.txt は、RFC 9309 でサイトの最上位の /robots.txt に置くと定められた、クローラーへの依頼の書き方です。競合の一覧の「取得の可否」の列は、robots.txt と各社のサイトの利用条件を人が読んで埋めます。 断っているページは、ワークフローで取らずに人が見る対象に分けます。
RFC 9309 には、運用で効く決まりが3つあります。
| 決まり | この構成での扱い |
|---|---|
| キャッシュした robots.txt を24時間を超えて使うべきでない | 毎朝の実行の最初に各社の robots.txt を取り直す |
| 4xx が返ったら、どのページにもアクセスしてよい | 取りに行くが、「取得の可否」の列の判断を優先する |
| 5xx などで届かないときは、全部を断られているとみなす | その日はその会社を取らず、翌日に回す |
RFC 9309 は、これらの決まりがアクセスの許可ではないとも書いています。 robots.txt が許していても、利用条件が断っていれば取りません。
一覧の取得は、会社ごとに次のように分けます。
| 会社の状態 | 取り方 | 取る項目 |
|---|---|---|
| RSS がある | RSS Read | 題名、URL、公表日 |
| RSS が無く、一覧ページがHTMLで書かれている | HTTP Request(Response Format:Text)→ HTML ノード | リンクの href、題名、日付の文字 |
| 一覧ページがスクリプトで描かれていて、HTMLに中身が無い | 取らない | 人が見る対象に分ける |
3行目は、試してみるまで分かりません。 HTML ノードで空の配列が返る会社は、ページの中身がスクリプトで後から描かれています。この構成ではブラウザを動かす取得はしません。 RSS を探し直すか、人が見る対象に分けます。
HTTP Request には、Batching を設定します。 Items per Batch を1、Batch Interval を数秒にして、1社ずつ間をあけて取ります。 Timeout も設定し、応答の遅いサイトで全体が止まらないようにします。Include Response Headers and Status を有効にして、ステータスコードを例外処理で使います。
AIへ渡す前に整形する
- 新しいリリースだけを残す … Remove Duplicates の Remove Items Processed in Previous Executions で、Keep Items Where を Value Is New、Value to Dedupe On をリリースのURLにします。履歴として持つ件数の既定は10,000件で、15社で月120本なら数年分を持てます
- URLをそろえる … 末尾のスラッシュ、
?utm_などの追跡用のパラメータを落としてから重複を見ます。そろえないと、同じリリースが別のURLとして2回流れます - 本文を取り出す … HTMLは HTML ノードで本文の部分のCSSセレクタを指定して Text で取り、Clean Up Text で余分な空白と改行を落とします。PDFは HTTP Request で Response Format を File にして取り、Extract From File の Extract From PDF にかけます
- 長さで分ける … 本文が数ページを超える統合報告書や中期経営計画の資料は、エージェントに渡さず「長文」として人に回します
- 会社名と日付を付ける … 競合の一覧の会社名と、RSS や一覧ページの公表日を付けます。公表日はエージェントに読ませず、取得した値を使います
1番目の Scope は Node のままにし、RSS と一覧ページの2つの経路を1つの Remove Duplicates に合流させてから通します。 URLが同じなら同じリリースだからです。
4番目で長い資料を外すのは、費用と見落としのためです。 100ページの資料をそのまま渡すと費用がかかるうえに、エージェントが冒頭の要旨だけで種類を決めがちです。 長い資料は人が目次を見て、関わりのある章だけを読みます。
AIに処理させる
させるのは、リリースごとに、種類を分け、事実を抜き書きし、自社の事業の一覧と過去の記録を引いて影響の候補を付けることです。
| 手順 | エージェントがすること | 使う道具 |
|---|---|---|
| 1 | リリースの種類を、決まった区分から選ぶ | なし |
| 2 | 何を、いつ、どれだけ、を原文から抜き書きする | なし |
| 3 | その会社の過去の記録を引き、続報かどうかを見る | get_history |
| 4 | 自社の事業の一覧を引き、関わりそうな事業・製品群を選ぶ | get_business_map |
| 5 | 関わり方の候補を書き、重要度を決まった基準で付ける | なし |
種類の区分は、経営企画で決めた次の8つです。 新製品・新サービス/提携・出資・買収/設備投資・増産・新拠点/価格改定/撤退・縮小・生産終了/受注・採用事例/組織・人事/その他。区分を決めておくと、月ごとに「提携が何件」と数えられ、第3章の(c)のばらつきが消えます。
道具は、Call n8n Workflow Tool でサブワークフローとして持たせます。 公式のページでは、道具の Description がいつ呼ぶかをエージェントに伝え、本番ではサブワークフローを公開しておかないと「Workflow is not active and cannot be executed」が返るとされています。エージェントはこの応答を返事の中に埋めてしまうことがあるので、道具の実行の一覧に記録が残っているかを確かめます。
| させないこと | 理由 |
|---|---|
| 競合の狙いや戦略を断定する | リリースから言えるのは「何を発表したか」まで |
| 自社への影響額を見積もる | 根拠の数字を持っていない |
| 脅威か機会かを決める | 自社の打ち手と合わせて人が判断する |
| リリースに無い数字を補う | 「増産」とだけあるのに能力を推し量らない |
| 自社の事業の一覧に無い事業を作る | 候補が散らばり、事業部に届かない |
4行目がいちばん起きやすい失敗です。 「新工場を建設」とだけあるリリースで、エージェントは「生産能力が約2倍になる見込み」と書きたがります。書いていない数字は、経営会議の資料に載った瞬間に事実として扱われます。
指示内容を固定する
あなたは産業機械メーカーの経営企画部で、競合のリリースを読み、
自社への関わりの候補を整理する担当です。
入力のリリース本文と、道具で確かめた事実だけで答えてください。
【入力】
- 会社名:{company}
- 公表日:{published_at}(取得した値。本文から読み直さないこと)
- 題名:{title}
- URL:{url}
- 本文:{body}
【使える道具】
- get_history:会社名を渡すと、その会社の過去の発表の種類・要点・
日付・URLを返す
- get_business_map:自社の事業部・製品群・用途・顧客の業界・
主要な仕入品の一覧を返す
【進め方】
1. 種類を次から1つ選んでください。
new_product / alliance / capex / price_change / withdrawal /
order_case / organization / other
2. 何を、いつ、どれだけ、を本文から原文のまま抜き書きしてください。
本文に無い項目は空にしてください。
3. get_history で過去の発表を確かめ、続報なら元の発表のURLを
follow_up_of に入れてください。
4. get_business_map で自社の事業を確かめ、関わりそうな製品群を
一覧の名称のまま選んでください。無ければ空にしてください。
5. 関わり方の候補を1〜2文で書いてください。
【厳守事項】
- 本文に書かれていない数字(能力、金額、時期、シェア)を
補ったり推し量ったりしないでください。
- 競合の狙いや戦略を断定しないでください。「〜を狙っている」と
書かず、「〜と発表した」と書いてください。
- 自社にとって脅威か機会かを書かないでください。
- 影響額を見積もらないでください。
- 製品群は get_business_map の名称だけを使ってください。
- 抜き書きは本文の文字をそのまま写してください。言い換えないでください。
- 判断がつかないときは needs_human を true にし、理由を書いてください。
「本文に無い数字を補わない」を明記しないと、増産の規模や投資額を推し量って書きます。 経営企画の資料で、最も困る誤りです。
「狙いを断定しない」も明記します。 エージェントは「価格攻勢に出た」「シェア拡大を狙う」と書きたがります。それは人が書く見立てで、記録の表では発表の事実と分けて残します。
出力形式を固定する
Structured Output Parser で、次の形のJSONを受け取ります。
{
"company": "",
"url": "",
"published_at": "2026-10-09",
"category": "new_product | alliance | capex | price_change | withdrawal | order_case | organization | other",
"facts": {
"what": "",
"when": "",
"how_much": ""
},
"quotes": [""],
"follow_up_of": "",
"related_products": [""],
"impact_candidate": "",
"priority": "high | normal | low",
"needs_human": false,
"reason": ""
}
1つ目の理由は、facts と impact_candidate を別の欄に置けることです。 記録の表でも別の列に書き、経営会議の資料に写すときに、発表の事実とエージェントの候補を取り違えません。
2つ目は、quotes をワークフローの側で照合できることです。 抜き書きが本文の中にそのまま含まれるかを Code ノードで確かめ、含まれないものは needs_human を立てます。 言い換えた抜き書きは、数字や条件が変わっていることがあるからです。
3つ目は、priority を規則で付け直せることです。 エージェントには基準を渡して付けさせますが、ワークフローの側で「related_products が空でなく、category が capex・price_change・alliance なら high」と決め直します。重要度の決め方が変わっても、直すのは規則だけです。
Structured Output Parser の Generate From JSON Example では、すべての項目が必須として扱われるとされています。本文に無い項目は空文字や空の配列を返させます。 公式のページは、JSON Schema の $ref には対応していないとしています。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 競合の一覧・自社の事業の一覧 | Google Sheets ノード | 取りに行く先と、照らす先を読む |
| 各社の RSS | RSS Read ノード | 題名・URL・公表日を取る |
| 各社の一覧ページ・本文 | HTTP Request ノード+HTML ノード/Extract From File | リンクと本文を取る |
| Claude API | Anthropic Chat Model ノード | 種類の分類、抜き書き、候補 |
| 競合の動きの記録 | Google Sheets ノード | 1リリース1行で書く |
| 経営企画のチャット | n8n のチャットのノード | 日次の一覧を送る |
事業部へは自動で送りません。 日次の一覧は経営企画のチャットだけに送り、担当者が選んで事業部に伝えます。候補が的外れなまま事業部に届くと、次から読まれなくなるからです。
日次の一覧は、priority の順に並べます。 high は題名・抜き書き・候補を、normal は題名と候補を、low は題名だけを載せます。15社の全部を同じ重さで並べると、毎朝の一覧が長くなり、読み飛ばされます。
人が確認する
人が見るのは、priority が high のものと、needs_human が立ったものです。 normal と low は一覧で題名と候補を流し読みします。
- 原文を開く …
highのものは、URLから原文を開いて抜き書きが原文どおりかを確かめます - 候補を確かめる … 関わる製品群の選び方が的外れでないかを見ます
- 判断の一言を書く … 事業部に伝えるかと、その理由を記録の表に書きます。この一言は担当者が書きます
- 直したら記録する … 種類、製品群、重要度のどれを、どう直したかを残します
4番目は、自社の事業の一覧を直す材料になります。 同じ製品群を何度も付け外ししているなら、一覧の用途や顧客の書き方が足りていません。
目標は、120件をならして1件4分です。 high のものは原文を読んで10分前後、low のものは数秒です。競合の決算発表が重なる月は、4分を超えます。
例外に対処する
| 起きること | 対応 |
|---|---|
| robots.txt が5xxなどで取れない | その日はその会社を取らない。 翌日に回す |
| 一覧ページから空の配列が返る | スクリプトで描かれたページか、CSSセレクタの変更。担当者へ知らせる |
| 一覧ページの作りが変わった | 取れた件数が0の日が続いたら、CSSセレクタの見直しを担当者へ |
| PDFから文字が取れない | 画像だけのPDF。needs_human で人に回す |
| 本文が長すぎる | 「長文」として題名とURLだけを一覧に載せ、人が読む |
| 抜き書きが本文に無い | 候補を採らず、needs_human にする |
| 同じ発表が日本語と英語で2本出る | 題名と公表日が近いものを束ね、1行にする |
| Claude API が応答しない | 題名とURLだけを一覧に載せ、翌朝の実行で処理する |
2行目と3行目は、この構成が止まる典型です。 会社ごとの取得件数を毎日記録し、3営業日続けて0の会社を担当者に知らせます。
記録を残す
- 実行の日時、会社ごとの取得の経路(RSS/一覧ページ)、robots.txt の取得結果、取れた件数
- リリースごとの、題名、URL、公表日、取得した本文
- エージェントの入力、道具の呼び出しの記録、結果のJSONの全文
- 抜き書きの照合の結果
- 担当者が直した種類・製品群・重要度と、判断の一言
- 事業部に伝えた日と、伝えた先
本文を残すのは、各社のサイトからリリースが消えることがあるからです。 後から「半年前の発表」をたどるときに、元のページが無くなっていても記録で読めます。Tools Agent の Return Intermediate Steps を有効にすると、どの道具を何の順で使ったかも残ります。
04実装レベルの3段階
半自動化で、第4章の①がほぼ無くなります。 担当者は、毎朝表に並んだ新しいリリースだけを読めばよくなります。本格構成で②と③が確認の作業に変わり、この段階が本記事の想定です。 差が大きいのは、③の自社への関わりを考える作業が、担当者の事業への詳しさで長さが変わる手作業だからです。 段階を飛ばさないでください。 半自動化を1か月回すと、取れない会社と、一覧ページの作りがよく変わる会社が分かります。そこを片付けてからエージェントを足します。
05工数削減シミュレーション
導入後 120件 × 4分 ÷ 60 = 8 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 産業機械・部品・素材などのメーカーや専門商社で、追いかける競合が10〜20社に決まっており、各社のニュースとIRのページを経営企画や営業企画の担当が毎朝手で開いている場合。競合の新製品・提携・増産・値上げを、営業や購買から聞いて初めて知ることがある場合。競合の動きの記録が担当者のメモに散らばり、半年前の動きをたどれない場合。
- 競合が数社で、リリースが月に数本しか出ない場合(手で読めば足りる)。競合の情報源が業界紙や展示会など、Webに出ない情報が中心の場合。競合の非公開の情報を集めたい場合(この構成は公表されたものしか扱わない)。なお、競合の動きが自社にとって脅威か機会か、どう手を打つかの判断は、この構成では代替できません。
07最小構成で試す方法
- 競合を3社選び、先月の各社のリリースを10本ずつ集める
- 経営企画で、種類の8区分と、自社の事業の一覧を製品群・用途・顧客の業界まで書く
- 手元のAIサービスに、事業の一覧とリリースの本文を1本ずつ貼る
- 「種類を8区分から選び、何を・いつ・どれだけを原文から抜き書きし、関わりそうな製品群を一覧の名称で選んでください。本文に無い数字を補わないでください」と指示する
- 担当者が先月書いた記録と見比べる
30本は必ず試してください。 ワークフローを組む前に、「自社の事業の一覧で、担当者と同じ製品群が選べるか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 担当者と同じ製品群が選ばれた | ワークフローの構築に進む |
| 製品群が広く選ばれすぎる | 事業の一覧の用途と顧客の書き方を足す。構成は有効 |
| 本文に無い数字を書いた | 指示の書き方で直る。抜き書きの照合を必須にする |
2行目が出ることは珍しくありません。 失敗ではなく、担当者ごとに影響の書き方が違っていた理由が分かったということです。 事業の一覧は、担当者の頭の中にあった「どの発表が、どの事業に関わるか」を書き出したものです。
あわせて、3社のサイトの robots.txt と利用条件を読み、RSS があるかも確かめます。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 一覧ページから何も取れない | スクリプトで描かれたページ。RSS を探すか、人が見る対象に分ける |
| サイトの改修で急に0件になる | 会社ごとの取得件数を毎日記録し、3営業日続けて0なら知らせる |
| 同じリリースが2回流れる | URLの追跡用のパラメータと末尾のスラッシュをそろえてから重複を見る |
| 取得を断っているサイトを取ってしまう | robots.txt と利用条件を人が読み、「取得の可否」の列で止める |
| 本文に無い数字が記録に載る | 補わないよう指示し、抜き書きを本文と照合する |
| 狙いを断定した文が並ぶ | 「〜と発表した」と書かせ、見立ては人が書く |
| 続報が別の動きとして数えられる | 過去の記録を道具で引かせ、follow_up_of でつなぐ |
| 画像だけのPDFで本文が空 | 文字が取れなければ needs_human |
上の2行が、この構成の運用で最も手間のかかるところです。 どちらもエージェントの賢さとは関係が無く、各社のサイトの作りから起きます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 各社が公表したリリースと、自社の事業・製品群・用途・顧客の業界・主要な仕入品の一覧、競合の動きの記録、担当者の判断の一言です。公表されたリリースに機密はありませんが、自社の事業の一覧と判断の一言は、自社の戦略そのものです。
- エージェントに渡す自社の情報を絞る … 事業の一覧には、個別の顧客名、売上、計画中の製品を入れません。候補を付けるには、製品群と用途と顧客の業界で足ります
- 相手のサイトに負荷をかけない … 1日1回、1社ずつ間をあけて取ります。robots.txt と利用条件を守り、断っているページは取りません
- 発表の事実とエージェントの候補を分けて残す … 記録の表で列を分け、経営会議の資料に写すときに候補を事実のように書きません
- 判断の一言は社外へ出さない … 記録の表の閲覧の範囲を、経営企画と事業部の企画担当に限ります
- APIの鍵を守る … n8n の認証情報に置き、ワークフローの中に書き込みません
誤りが起きた場合のリスクは、競合の動きを見落とすことと、書かれていない数字や断定が経営の判断材料に混ざることの2つです。 前者は取得件数の監視で、後者は抜き書きの照合と、事実と候補の列の分離で防ぎます。
10まず何から始めるか
1週目:競合の一覧に取り方の列を足す
15社それぞれについて、RSS のURL、一覧ページのURL、robots.txt と利用条件の確認結果を書きます。取れない会社は、この時点で人が見る対象に分けます。
2週目:自社の事業の一覧を書き、3社で試す
経営企画で事業の一覧を製品群・用途・顧客の業界まで書き、手元のAIサービスで3社のリリース30本を分類させます。製品群の選び方が担当者と合うかを最優先で見ます。
3週目:取得と新旧の判定をつなぐ
n8n で RSS と一覧ページを取り、新しいリリースを表に書き出すところまで作ります。この時点ではエージェントを入れず、取りこぼしが無いかと、取得件数が0の会社が無いかだけを見ます。
4週目:本文の取得を足す
HTMLの本文とPDFの文字を取り出すところを足し、画像だけのPDFと長い資料がどれくらいあるかを数えます。
2か月目: エージェントを足し、種類・抜き書き・候補を記録の表に書きます。担当者の直しを毎週見て、事業の一覧を直します。3か月目以降: 1件15分が何分になったかを実測し、事業部への連絡で、候補の直しが無い週が続いた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| パラメータが RSS のURLで、オプションが Ignore SSL Issues であること。RSS Feed Trigger が別にあること | n8n Docs: RSS Read | 2026-10-12 |
| Batching(Items per Batch、Batch Interval)、Response Format、Include Response Headers and Status、Timeout | n8n Docs: HTTP Request | 2026-10-12 |
| Extract HTML Content の CSS Selector、Return Value、Return Array、Trim Values、Clean Up Text | n8n Docs: HTML | 2026-10-12 |
| Extract From PDF の操作があること | n8n Docs: Extract From File | 2026-10-12 |
| Value Is New、履歴の件数の既定10,000、Scope(Node/Workflow) | n8n Docs: Remove Duplicates | 2026-10-12 |
| タイムゾーンの扱いとセルフホストの既定、保存と公開が要ること、複数の Trigger Rule | n8n Docs: Schedule Trigger | 2026-10-12 |
| Return Intermediate Steps、Max Iterations、出力の形式を求める設定 | n8n Docs: Tools Agent | 2026-10-12 |
| 道具の Description の役割、サブワークフローの公開が要ることと、その応答 | n8n Docs: Call n8n Workflow Tool | 2026-10-12 |
例から作ったスキーマは全項目が必須、$ref に対応しないこと | n8n Docs: Structured Output Parser | 2026-10-12 |
| ノードの設定項目と Prompt Caching のオプション | n8n Docs: Anthropic Chat Model | 2026-10-12 |
| robots.txt の置き場所、24時間を超えてキャッシュを使わないこと、4xx と 5xx の扱い、アクセスの許可ではないこと | RFC 9309: Robots Exclusion Protocol | 2026-10-12 |
競合の動きが自社にとって何を意味するかは、経営企画と事業部で判断してください。 本記事は上記の公式ページで確認できた範囲だけを扱っています。各社のサイトの利用条件は、会社ごとに確かめてください。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1267)についてのご相談はこちらから。
