AIスマートチケット緊急度分類システム

Ticket Urgency Classification

RAGアーキテクチャに基づくスマートチケット分類システム。ベクトル検索により過去の事例を参照し、チケットの緊急度を自動判定。自動記録および異常アラート機能をサポートします。

12 NodesAI & MLAI_Agentカスタマーサポート自動化チケット管理

ワークフロー概要

これは、RAG(Retrieval-Augmented Generation:検索拡張生成)アーキテクチャに基づくインテリジェントカスタマーサポートチケット緊急度分類システムです。このワークフローはWebhook経由でチケットデータを受信し、Pineconeベクトルデータベースに過去のチケット情報を保存・検索し、Anthropic Claude大規模言語モデルと連携してインテリジェントな分析および分類を行い、最終的に処理結果をGoogle Sheetsに記録します。またエラー発生時にはSlackを通じてアラート通知を行います。

主要機能

本ワークフローはチケット処理のエンドツーエンド自動化を実現しています:

  1. データ受信と前処理:POST方式のWebhookでチケットデータを受信
  2. テキストのベクトル化:チケット内容をチャンクに分割し、ベクトル表現に変換
  3. ナレッジベース管理:Pineconeベクトルデータベースで関連チケット情報を保存・検索
  4. インテリジェント分析:AIエージェントが過去データを活用して緊急度を判定
  5. 結果記録:分類結果を自動でGoogle Sheetsに書き込み
  6. 異常監視:エラー発生時にリアルタイムでSlackアラートを送信

ノード詳細分析

1. Webhook Trigger(トリガーノード)

ノードタイプ: n8n-nodes-base.webhook
設定パラメータ:

  • HTTPメソッド: POST
  • パス: ticket-urgency-classification
  • 座標: (-300, 0)

機能説明: ワークフローのトリガー入口として、外部システムから送信されるチケットデータをリッスンします。新規チケットが作成されると、POSTリクエストによりチケット情報がこのノードに渡されます。

出力接続:

  • メイン出力 → Text Splitter(テキストチャンキング処理)
  • 同時にWindow Memory(セッションメモリ)にも接続

2. Text Splitter(テキストチャンカー)

ノードタイプ: @n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter
設定パラメータ:

  • チャンクサイズ: 400文字
  • オーバーラップ長: 40文字
  • 座標: (-130, 0)

機能説明: 受信したチケットテキストを固定サイズのチャンクに分割し、後続のベクトル化処理を容易にします。40文字のオーバーラップにより文脈の一貫性を保ち、チャンク境界で重要な情報が失われるのを防ぎます。

出力接続:

  • メイン出力 → Embeddings
  • AIテキストチャンカー出力 → Pinecone Insert

3. Embeddings(ベクトル埋め込み)

ノードタイプ: @n8n/n8n-nodes-langchain.embeddingsCohere
設定パラメータ:

  • モデル: embed-english-v3.0
  • 座標: (70, 0)
  • 認証情報: Cohere API

機能説明: Cohereの埋め込みモデルを使用してテキストチャンクをベクトル表現に変換します。このモデルは英語テキスト向けに最適化されており、テキストの意味情報を正確に捉えます。

出力接続:

  • AI埋め込み出力は以下の両方に接続:
    • Pinecone Insert(ベクトル保存)
    • Pinecone Query(ベクトル検索)

4. Pinecone Insert(ベクトル保存-挿入)

ノードタイプ: @n8n/n8n-nodes-langchain.vectorStorePinecone
設定パラメータ:

  • モード: insert(挿入)
  • インデックス名: ticket_urgency_classification
  • 座標: (270, 0)
  • 認証情報: Pinecone API

機能説明: チケットのベクトル表現をPineconeベクトルデータベースに保存し、過去のチケットナレッジベースを構築します。各新規チケットはインデックスに追加され、今後の類似チケット検索に活用されます。

5. Pinecone Query(ベクトル検索-クエリ)

ノードタイプ: @n8n/n8n-nodes-langchain.vectorStorePinecone
設定パラメータ:

  • インデックス名: ticket_urgency_classification
  • 座標: (270, -180)
  • 認証情報: Pinecone API

機能説明: Pineconeベクトルデータベースから現在のチケットと最も類似した過去のチケットを検索します。ベクトル類似度計算により意味的に近い事例を見つけ出し、分類の参考情報として提供します。

出力接続: AIベクトルストア出力 → Vector Tool

6. Vector Tool(ベクトルツール)

ノードタイプ: @n8n/n8n-nodes-langchain.toolVectorStore
設定パラメータ:

  • ツール名: Pinecone
  • 説明: Vector context
  • 座標: (450, -180)

機能説明: ベクトル検索機能をAIエージェントが呼び出せるツールとしてカプセル化します。エージェントはこのツールを通じて能動的に関連する過去チケット情報をクエリできます。

出力接続: AIツール出力 → RAG Agent

7. Window Memory(スライディングウィンドウメモリ)

ノードタイプ: @n8n/n8n-nodes-langchain.memoryBufferWindow
バージョン: 1.3
座標: (450, -40)

機能説明: AIエージェントに短期記憶機能を提供し、直近の対話コンテキストを保持します。これによりエージェントは複数回のやり取りにおける文脈関係を理解できます。

出力接続: AIメモリ出力 → RAG Agent

8. Chat Model(チャットモデル)

ノードタイプ: @n8n/n8n-nodes-langchain.lmChatAnthropic
座標: (450, -340)
認証情報: Anthropic API

機能説明: Anthropic Claude大規模言語モデルをエージェントの推論エンジンとして使用します。Claudeはチケット内容を理解し、関連する過去事例を分析して緊急度を判断します。

出力接続: AI言語モデル出力 → RAG Agent

9. RAG Agent(検索拡張生成エージェント)

ノードタイプ: @n8n/n8n-nodes-langchain.agent
設定パラメータ:

  • プロンプトタイプ: define
  • テキスト: "Handle data"
  • システムメッセージ: "You are an assistant for Ticket Urgency Classification"
  • 座標: (720, -40)

機能説明: ワークフローの中核となる意思決定ノードです。このエージェントは言語モデル、ベクトル検索ツール、メモリシステムを統合し、以下を実行します:

  • 現在のチケット内容と特徴を分析
  • ベクトルツールを呼び出して類似の過去事例を検索
  • 文脈メモリを活用してインテリジェントな判断を下す
  • チケットの緊急度分類結果を出力

出力接続:

  • メイン出力 → Append Sheet
  • エラー出力 → Slack Alert

10. Append Sheet(データ記録)

ノードタイプ: n8n-nodes-base.googleSheets
設定パラメータ:

  • 操作: append(追記)
  • ドキュメントID: SHEET_ID
  • シート名: Log
  • 列マッピング: Status
  • 座標: (930, -40)
  • 認証情報: Google Sheets OAuth2 API

機能説明: エージェントの分類結果をGoogle Sheetsのログシートに自動追記します。これにより監査可能な履歴記録が得られ、後続のデータ分析やモデル改善に役立ちます。

11. Slack Alert(エラーアラート)

ノードタイプ: n8n-nodes-base.slack
設定パラメータ:

  • チャンネル: #alerts
  • メッセージテンプレート: "Ticket Urgency Classification error: {$json.error.message}"
  • 座標: (930, 120)
  • 認証情報: Slack API

機能説明: ワークフローのエラー処理ノードです。RAGエージェントの実行中に例外が発生すると、自動的にSlackの#alertsチャンネルへエラー詳細を送信し、チームが迅速に対応・修正できるようにします。

12. Sticky Note(説明注釈)

ノードタイプ: n8n-nodes-base.stickyNote
設定パラメータ:

  • 内容: "Placeholder for Ticket Urgency Classification"
  • 高さ: 530px
  • 幅: 1100px
  • 色: 5
  • 座標: (-480, -240)

機能説明: ワークフローの可視化ドキュメントとして機能する説明注釈です。

データフロー分析

メインフロー

  1. チケット受信 → Webhook Triggerが外部チケットデータを受信
  2. テキスト処理 → Text Splitterでチャンキング → Embeddingsでベクトル化
  3. ナレッジ保存 → Pinecone Insertでベクトルをデータベースに保存
  4. 類似検索 → Pinecone Queryで関連過去事例を検索
  5. インテリジェント分析 → RAG Agentが総合分析・分類を実施
  6. 結果記録 → Append SheetでGoogle Sheetsに書き込み

補助フロー

  • コンテキストメモリ: Webhook → Window Memory → RAG Agent
  • ツール呼び出し: Pinecone Query → Vector Tool → RAG Agent
  • モデルサポート: Chat Model → RAG Agent
  • 例外処理: RAG Agent (onError) → Slack Alert

技術スタック

  • ワークフローエンジン: n8n
  • ベクトルデータベース: Pinecone
  • 埋め込みモデル: Cohere embed-english-v3.0
  • 言語モデル: Anthropic Claude
  • データ保存: Google Sheets
  • 通知システム: Slack
  • アーキテクチャパターン: RAG(検索拡張生成)

特長と利点

  1. インテリジェント化: AIによる自動緊急度判定で人的介入を削減
  2. コンテキスト認識: ベクトル検索による類似過去事例参照で分類精度を向上
  3. スケーラビリティ: 処理チケット数が増えるにつれナレッジベースが自動蓄積され、モデル性能が継続的に向上
  4. トレーサビリティ: 全分類結果をGoogle Sheetsに記録し、監査・分析を容易に
  5. 高信頼性: エラー自動アラートによりシステムの安定稼働を確保

応用シーン

  • カスタマーサポートチケットの自動振り分け
  • IT運用障害チケットの優先度ソート
  • 顧客フィードバックの緊急性評価
  • サポートリクエストのインテリジェントルーティング
  • 自動テキスト分類が必要なあらゆるシーン