本文:
Agentic AIは現在、ソフトウェア開発で最もホットなトピックです。毎週、新しいフレームワーク — LangChain、CrewAI、AutoGen、LlamaIndex Workflows — が登場し、マルチエージェント・システムをアクセスしやすくすることを約束します。しかし、すでに n8n を自動化に使っているなら、追加の依存関係なし、Python 環境なし、インフラの変更なしで、今日驚くほど能力の高いマルチエージェント・パイプラインを構築できます。
この記事は、3 つの専門 AI エージェントを起動し、2 つを並行して実行し、それらの出力を構造化された研究レポートに統合していく競合インテリジェンス・パイプラインを解説します。全体はウェブフックからトリガーされ、結果は Google Sheets に記録されます。
Section 1: The Architecture
ここに全体のワークフローを一目で確認できます:
Webhook Trigger
└── Validate Request (Code node)
├── Agent 1: Market Analyst ──────────┐
│ ├── Merge Node (waitForAll)
└── Agent 2: Competitor Analyst ───────┘
└── Code Node: Merge Results
└── Agent 3: Strategy Synthesizer
└── Respond to Webhook
└── Google Sheets Log
設計上の決定点は、Agent 1 と Agent 2 を 並行して実行することです。彼らは同じ入力――企業名と市場コンテキスト――を受け取りますが、それぞれが異なるシステムプロンプトを持ち、別々の分析スライスを生成します。Agent 3 は上流の2つのエージェントが終了した後にのみ実行され、両方の出力を取り込んでエグゼクティブ・シンセシスを作成します。
これは LangChain やタスクキューで実装する「ファンアウト / ファンイン」パターンに密接に対応しますが、n8n のビジュアルキャンバスはデータの流れを明示的にデバッグ可能な形で示し、オーケストレーションコードを書かずに済みます。
Section 2: The Three Agents
Agent 1 — Market Analyst
System prompt:
You are a senior market research analyst. Given a company name and industry context,
produce a structured market analysis covering:
1. Market overview and definition
2. Total addressable market (TAM) with size and growth rate
3. Key macro trends (3-5 bullet points)
4. Primary customer segments with pain points
5. Regulatory or technology tailwinds/headwinds
Be specific. Use numbers where available. Flag assumptions clearly.
Output valid JSON matching the schema provided.
Output schema:
{
"market_overview": "string",
"tam_estimate": "string",
"growth_rate": "string",
"key_trends": ["string"],
"customer_segments": [{
"name": "string",
"pain_points": ["string"]
}]
}
このエージェントは幅広さに長けています。舞台を設定します:この市場は混雑しているのか、それとも未開拓の市場か。市場は成長しているのか、それとも縮小しているのか。下流のエージェントと最終的な統合者はこの発見を参照します。
Agent 2 — Competitor Analyst
System prompt:
You are a competitive intelligence specialist. Given a target company and market,
produce a structured competitor analysis covering:
1. Top 3-5 direct competitors with brief profiles
2. Competitive positioning matrix (price vs. feature depth)
3. Identified gaps in current market offerings
4. Specific strategies for winning against each competitor
Focus on actionable intelligence, not generic descriptions.
Output valid JSON matching the schema provided.
Output schema:
{
"competitors": [{
"name": "string",
"strengths": ["string"],
"weaknesses": ["string"]
}],
"positioning_matrix": "string",
"market_gaps": ["string"],
"win_strategies": [{
"competitor": "string",
"tactics": ["string"]
}]
}
このエージェントを市場分析担当者と並行して実行すると、総待機時間を概ね半減させることができます。DeepSeek V3 では、各エージェントの呼び出しに約4~8秒かかります。逐次実行ではこれらの遅延が積み上がりますが、並行実行では2つのうち遅い方を上限として抑制されます。
Agent 3 — Strategy Synthesizer
System prompt:
You are a strategy consultant preparing an executive briefing. You will receive:
- A market analysis (from Market Analyst)
- A competitor analysis (from Competitor Analyst)
Synthesize these into a concise strategic report with:
1. Executive summary (3 sentences max)
2. Top 3 strategic recommendations with rationale
3. Quick wins achievable in 30 days
4. KPIs to track success over 90 days
Cross-reference findings from both inputs. Surface non-obvious connections.
Output valid JSON matching the schema provided.
Agent 3 はマルチエージェント設計の要です。単一エージェントのアプローチでは、市場コンテキストと競合の詳細の両方を同時に推論する必要があり、事実誤認のリスクが高まります。2つの専門エージェントが下準備を終えた後に統合者が動くことで、推論の対象をすでに構造化・検証済みの JSON に限定できます。
Section 3: The Parallel Execution Trick
これは、ほとんどの n8n チュートリアルが見落としがちな重要な洞察です。
ワークフローの実行を2つのブランチに分割して(1つのノードの出力を2つの下流ノードに接続することで)も、n8n は自動的に両ブランチの終了を待ってから先へ進みません。各ブランチを発火させてそのまま進みます。両方のエージェント出力を1つの下流ノードに接続すると、それぞれのブランチが完了したときに、その下流ノードが2回別々に実行されることになります。
その修正が Merge node で、次のように設定します:
{
"parameters": {
"mode": "waitForAll",
"outputType": "all"
},
"type": "n8n-nodes-base.merge",
"typeVersion": 3
}
mode: "waitForAll" を使うと、Merge ノードは すべての 入力ブランチが少なくとも1アイテムを生成するまで実行を保留します。outputType: "all" では、各ブランチのすべてのアイテムを結合配列として次のノードへ渡します。
Merge ノードの後には、データを再構築する小さな Code ノードがあります:
// Merge node outputs items from both branches in the items array
const marketAnalysis = items.find(i => i.json.agent === 'market_analyst')?.json;
const competitorAnalysis = items.find(i => i.json.agent === 'competitor_analyst')?.json;
return [{
json: {
market: marketAnalysis,
competitors: competitorAnalysis,
query: items[0].json.query,
timestamp: new Date().toISOString()
}
}];
これにより、エージェント3 に対して「単なる配列」ではなく、1つの構造化データ入力が渡されます。エージェントは1つの構造化ペイロードを見て、キーで両方の分析を参照できます。
実務的な注意点として、AI エージェントノードの出力マッピングで各エージェントの出力にその識別子を付与してください(agent: 'market_analyst' のように)。これにより、後段の Code ノードの find() ルックアップが、どのブランチが先に終了したかに関係なく信頼できます。
Section 4: Cost Analysis
DeepSeek V3 をバックエンド・モデルとして、1クエリあたりこのパイプラインの費用は以下のとおりです:
| Component | Tokens (approx.) | Cost |
|---|---|---|
| Agent 1 — Market Analyst | ~800 in / ~600 out | $0.0009 |
| Agent 2 — Competitor Analyst | ~800 in / ~700 out | $0.0010 |
| Agent 3 — Strategy Synthesizer | ~1,800 in / ~900 out | $0.0011 |
| Total per query | ~5,600 tokens | ~$0.003 |
1 レポートあたり $0.003 で、333 件の調査クエリを $1 で実行できます。
これを比較します:
- 研究アナリストの雇用: $50-100/時、1レポートあたり 2-4 時間 = 1 レポートあたり $100-400
- 専用競合インテリジェンス プラットフォーム(Crayon、Klue、Kompyte): $500-2,000/月
- Perplexity Pro または同様の AI 研究ツール: 月額 $20 だが、ワークフロー統合なし、構造化出力なし、Google Sheets ログなし
n8n のパイプラインは、下流の自動化へ直接流れる構造化 JSON を生成します — Notion データベース、Slack ダイジェスト、メールレポート、CRM の更新。実際の生産性向上は、純粋な AI 出力だけでなく、この統合レイヤーにこそあります。
週に 10-20 社の競合情報を扱うチームにとって、このパイプラインは手動のアナリスト作業のかなりの部分を置き換え、費用はほぼゼロ近くに抑えられます。
Putting It Together
このワークフローは以下のようなエッジケースにも対応します:
-
Validate Request ノード: 受信ウェブフックのペイロードに、空でない
queryフィールドとcompanyフィールドがあることを検証します。検証が失敗した場合は、トークンを無駄にせず 400 を返します。 - Google Sheets ログ: 最終応答が送信された後、別ブランチがクエリ、タイムスタンプ、出力の要約を記録します。これにより、応答をブロックせずにすべてのリサーチ実行の履歴を構築します。
- エラーハンドリング: 各 AI エージェントノードにはタイムアウトや API エラーを捕捉するフォールバック・ブランチがあり、構造化されたエラーペイロードを返します。Merge ノードは、結合時のフィールド未定義をチェックする Code ノードのおかげで部分的な障害を優雅に扱います。
全体のワークフローは12ノードです。JSON からのインポートは 30 秒未満です。新しい研究エージェントを追加するには(例えば特許エージェントや価格設定エージェント)、既存のエージェントノードを複製し、システムプロンプトを更新し、Merge ノードにもう1つの入力コネクタを追加するだけです。
Get the Workflow
このワークフローは、研究パイプライン、リードの充実、コンテンツ生成、Slack/メール要約などを網羅する16-template AI automation packの一部です。DeepSeek または OpenAI をバックエンドとして使用して、n8n 上で構築されています。
インポート可能な JSON ファイルは [GUMROAD_LINK] で入手できます。
AI 自動化、MCP サーバー、Claude Code 統合を専門とするフルスタック開発者。手作業のリサーチやコンテンツタスクを、構造化され検証可能な AI パイプラインに置換する本番ワークフローを構築します。