n8n AIエージェント機能入門:複数ステップ推論を使ったドキュメント要約パイプライン
「議事録やPDFの要約を自動化してほしい」と言われてn8nのAI Agentノードを開いた——どのノードを繋げばいいか、ChainとAgentの使い分けがわからない、Ollamaを試したが接続できない、という状況を想定して書いています。
この記事でわかること:
- AI AgentとChainをどちらを選ぶべきかの判断基準
- PDF要約パイプラインの実際のノード接続手順(Chain方式・Agent方式の両パターン)
- 実装でよく出るエラーとその対処法(Ollamaの2ノード問題・Nullエラー・ループ対策)
動作確認バージョン: n8n stable 2.27.5 / beta 2.28.3(出典: n8n Release Notes)
まずここを決める — AI AgentとChainのどちらを使うか
結論を先に書きます。
継続的な判断・ツール呼び出し・複数ターンの処理が必要ならAgent。固定シーケンスで十分ならChain。
この基準を頭に置いた上で、以下の比較表を参照してください。
| 比較軸 | Chain | Agent |
|---|---|---|
| 動作方式 | 固定シーケンス(ノードの繋ぎ順どおりに実行) | LLMが動的にツールを選択して実行 |
| メモリ | 非対応(n8n公式仕様) | 対応(Simple Memory等を接続可能) |
| ツール使用 | 不可 | 可(複数ツールをLLMが自律選択) |
| 複数ステップ推論 | 不可 | 可(デフォルト最大10回) |
| 向いている用途 | 単発要約・固定フォーマット変換 | 複合タスク・条件分岐が必要な処理 |
出典: n8n Docs — Agents vs Chains / What chains do
重要な制約: n8nのChainはすべてメモリ非対応です(公式ドキュメントに明記: “none of the chain nodes support memory”)。「前のステップの結果を後で参照したい」「会話を複数ターン続けたい」という要件がある場合、Chainは選択肢に入りません。
ドキュメント要約への当てはめ方:
- 単発ドキュメント1件を要約してシートに書き込むだけ → Chainで十分
- 複数ファイルを状況に応じて処理し直したり、外部APIを呼び出す条件分岐が必要 → Agent一択
v1.82.0以降の変更点 — エージェントタイプ選択は廃止された
古いチュートリアル動画や記事を見ていると、n8nのAI AgentノードにConversational Agent / OpenAI Functions Agent / Plan and Execute Agent / ReAct Agent / SQL Agentといった選択肢が並んでいる画面が出てきます。
現在のバージョンでは、これらの区分はすべて廃止されています。公式ドキュメントには次のように明記されています。
“Prior to version 1.82.0, the AI Agent had a setting for working as different agent types. This has now been removed and all AI Agent nodes work as a Tools Agent.”
古い画面が写ったチュートリアルを参照している場合、UIが違って当然です。現行バージョンではTools Agentとして動作することを前提に読み替えてください。
ノードの接続構造を把握する
AI AgentノードにはRoot node(親)とSub-node(子)の概念があります。多くのチュートリアルがこの説明を省略していますが、「どこにどうノードを繋ぐか」が最初のつまずきポイントになります。
Sub-nodeはRoot nodeの底部にある「+」アイコンから追加します。通常のフロー上の接続(右端→次ノード)とは異なる操作なので注意が必要です。
接続構造を整理すると次のようになります。
AI Agent(Root node)
├── Chat Model sub-node ← LLMを接続(OpenAI/Claude/Ollama Chat Model)※最低1つ必須
├── Memory sub-node ← オプション(会話継続が必要な場合のみ)
└── Tool sub-node(s) ← 1つ以上必須(なければAgentは動作しない)
例: Call n8n Workflow Tool / HTTP Request Tool / Custom Code Tool
Tool sub-nodeが1つも接続されていない場合、Agentノードはエラーで止まります。「とりあえずAgentを置いてLLMだけ繋いだ」という状態では動きません。
利用可能なTool sub-nodeの種類は n8n Docs — How tools work に一覧があります(Call n8n Workflow Tool / Custom Code Tool / HTTP Request Toolなど)。
PDF要約パイプラインの実装手順
実装パターンはAとBの2つを提示します。要件に応じてどちらを使うか判断してください。
Pattern A — Chain方式(単発・決定論的な処理向け)
メモリや動的ツール選択が不要な場合、構成はシンプルです。
Trigger → Extract From File(PDF → テキスト) → Basic LLM Chain → 出力(Sheets等)
Extract From Fileノードで「Extract From PDF」を選択し、テキストを取り出してからChainノードのプロンプトに渡すだけです。公式テンプレートとして n8n.io/workflows/2754 が参考になります(Google DriveのPDFを要約してSheetsに保存するパターン)。
Pattern B — AI Agentフルパイプライン
複数ファイルの振り分け・外部API呼び出し・条件分岐が必要な場合はAgentを使います。
Trigger(Email IMAP / Webhook / Schedule)
→ Extract From File(PDF → テキスト変換)
→ AI Agent(Tools Agent)
├── Chat Model sub-node(LLMを接続)
├── Simple Memory sub-node(オプション)
└── Tool sub-node(Call n8n Workflow Tool 等)
→ Notion Page Create / Google Sheets
各ノードの役割:
- Trigger: 処理を起動するイベント。メール受信・Webhookの着信・スケジュール実行から選択
- Extract From File: PDFからテキストを取り出すコアノード。Operationsメニューから「Extract From PDF」を選択。入力フィールド名のデフォルトは
data(出典: n8n Docs — Extract From File node) - AI Agent: テキストを受け取り、LLMとツールを使って要約・分類・出力先の判断を行う
- 出力ノード: 要約結果をNotionページやGoogle Sheetsに書き込む
メール添付PDFを処理する構成の参考として n8n.io/workflows/3169 が公開されています。「Extract from PDF nodeでテキストを取り出し、PDF Analyzerノードでコンテンツを要約する」という構成です。
LLMモデルの選び方とコスト感
OpenAI
n8nでの接続ノード名は「OpenAI Chat Model」です。
OpenAI APIの料金はモデルにより異なります。最新の料金は OpenAI公式(platform.openai.com/docs/pricing) で確認してください。モデルの選択によってコストは大きく変わるため、要約用途の規模と予算に合わせて公式ページを参照してください。
Anthropic Claude
n8nでの接続ノード名は「Anthropic Chat Model」です。
現時点でn8nのノードUI上に表示されるモデル選択肢は「Claude」と「Claude Instant」の2種類のみです(出典: n8n Docs — Anthropic Chat Model node)。claude-opus-4など最新モデル名との対応については、ドキュメント上で確認できていないため、実機での確認を推奨します。
API料金についても本記事では確認できていません。Anthropicの公式APIページでご確認ください。
Ollama(ローカルLLM)— ここは要注意
Ollamaをn8nに接続する際、ノードが2種類あり、接続先が異なります。間違えると何も動かない状態でハマります。
| ノード名 | 接続可能 | 補足 |
|---|---|---|
Ollama Model(lmollama) | AI Agentには接続不可 | Basic LLM Chain専用 |
Ollama Chat Model(lmchatollama) | AI Agentに接続可能 | こちらを使う |
公式ドキュメントには次のように明記されています。
“This node lacks tools support, so it won’t work with the AI Agent node. Instead, connect it with the Basic LLM Chain node.”
AI AgentにはかならずOllama Chat Modelを使ってください。
接続設定のBase URLは環境によって異なります(出典: Ollama Docs — n8n Integration)。
- n8nをローカル直接で動かしている場合:
http://localhost:11434 - n8nがDockerコンテナ内で動いている場合:
http://host.docker.internal:11434
Dockerコンテナ内からlocalhostを指定してもOllamaに届かないのは、コンテナのネットワーク境界の問題です。host.docker.internal を使うことで解決します。
よく出るエラーと対処法
エラー1: 400 Invalid value for 'content': expected a string, got null
原因: Agentノードのプロンプト設定を「Connected Chat Trigger Node」モードにしている状態で、前段からnull値が流れ込んでいます。
対処: Agentノードのプロンプト設定を「Define below」モードに切り替え、プロンプト内容を明示的にマッピングしてください。上流ノードの出力フィールドを {{ $json.text }} のように式で参照することで、nullが混入するケースを回避できます。
出典: n8n Docs — AI Agent Common Issues
エラー2: Memoryノードのバージョン不整合
原因: 旧テンプレートをコピーした際に「Window Buffer Memory」という旧ノード名が残り、現行バージョンとの不整合が発生します。
対処: 該当のMemoryノードを一度削除して再追加してください。再追加後は接続が現行バージョンのノードに置き換わります。
エラー3: AgentがAPIコストを消費し続ける / 無限ループ
原因: System Messageに終了条件が書かれていない状態でデフォルトのMax Iterations(10回)が走り続けます。Max Iterationsのデフォルト値は10です(出典: n8n Docs — Tools Agent)。
対処:
- System Messageに「要約が完了したら必ずFINALと出力して終了する」などの明確な終了条件を書く
- Max Iterationsを要件に合わせて3〜5程度に下げる
なお、100ページを超えるPDFを丸ごとAgentに渡すとトークン超過エラーが発生する別問題もあります。その場合はSplitterノードでチャンク分割し、RAGパターン(検索+生成の組み合わせ)に切り替える設計が必要です。n8nにはMapReduceチェーンが自動組み込まれていないため、チャンク処理は手動設計になります。
Sub-nodeの式展開の制限(バッチ処理時の落とし穴)
バッチ処理で複数アイテムを渡した場合でも、Sub-node内の式({{ $json.name }}など)は仕様上、先頭アイテムのみを参照します(n8n公式ドキュメントより)。
5件送ったつもりが1件しか処理されない、という症状の原因はここにあります。バッチ処理を設計する際は、アイテムごとにフローを分岐させる構成(SplitInBatchesノード等の活用)を検討してください。
n8nクラウド vs セルフホスト — AI Agent利用時のコスト感
検証段階と本番運用では、選ぶべき環境が変わります。
n8n公式クラウド(app.n8n.cloud)のStarterプランに含まれるAI Workflow Builderのクレジットは月50回分です(出典: n8n Pricing)。AgentノードはLLMへの複数回のAPI呼び出しを1実行で消費するため、複雑なパイプラインを繰り返し動かすとすぐに枯渇します。機能の確認や小規模な検証であればクラウドから始めるのが合理的です。
本番環境で大量のドキュメントを処理する用途では、セルフホスト版が現実的な選択肢になります。n8n本体のライセンスコストはゼロ(ただしLLM APIの費用とサーバーの維持費は別途かかります)。OpenAI APIを直接使う構成であれば、処理件数に比例したコスト管理がしやすくなります。
本番環境での運用設計やセルフホスト構成は、要件によって選択肢が変わります。n8n AI Agentの設計レビューやセルフホスト環境の構築については、要件をメールに書いていただければ、構成案の初回確認を無料で回答しています。
参考リンク
以下はいずれもFetch確認済みのソースです。
- n8n Release Notes — バージョン確認
- n8n Docs — AI Agent node — Tools Agent統合の変更履歴
- n8n Docs — Tools Agent — Max Iterations仕様
- n8n Docs — Agents vs Chains — 判断基準
- n8n Docs — What chains do — Chainのメモリ非対応を明記
- n8n Docs — How tools work — Tool sub-node一覧
- n8n Docs — Extract From File node — PDF抽出ノード設定
- n8n Docs — Ollama Model node — AI Agent非対応の明記
- n8n Docs — Ollama Chat Model node — AI Agent対応ノード
- Ollama Docs — n8n Integration — Base URL設定(localhost / host.docker.internal)
- n8n Docs — AI Agent Common Issues — Nullエラーの対処
- n8n Docs — Anthropic Chat Model node — モデル選択肢の確認
- OpenAI Platform Pricing — モデル別APIコスト確認
- n8n Template 2754 — Chain方式のPDF要約テンプレート
- n8n Template 3169 — Agent方式のメール添付PDF処理テンプレート
- n8n Pricing — Starterプランのクレジット数
この続きはメンバー限定です
メールアドレスを登録すると、本記事の続き(設定ファイル・コード)と全 6 本のメンバー限定記事がその場で読めます。無料・いつでも解除可。