AI 기반 지능형 티켓 긴급도 분류 시스템

Ticket Urgency Classification

RAG 아키텍처 기반의 지능형 티켓 분류 시스템으로, 벡터 검색을 통해 과거 사례를 참조하여 티켓의 긴급도를 자동으로 판단하며, 자동 기록 및 이상 알림 기능을 지원합니다.

12 NodesAI & MLAI_Agent고객지원 자동화티켓 관리

워크플로우 개요

이 시스템은 RAG(Retrieval-Augmented Generation, 검색 강화 생성) 아키텍처 기반의 지능형 고객 지원 티켓 긴급도 분류 시스템입니다. 이 워크플로우는 Webhook을 통해 티켓 데이터를 수신하고, Pinecone 벡터 데이터베이스에 과거 티켓 정보를 저장 및 검색하며, Anthropic Claude 대형 언어 모델(LLM)을 활용해 지능적으로 분석 및 분류합니다. 최종적으로 처리 결과는 Google Sheets에 기록되며, 오류 발생 시 Slack을 통해 경고 알림을 전송합니다.

핵심 기능

이 워크플로우는 티켓 처리의 엔드투엔드(end-to-end) 자동화를 구현합니다:

  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 운영 장애 티켓 우선순위 정렬
  • 고객 피드백 긴급도 평가
  • 지원 요청 지능형 라우팅
  • 자동화된 텍스트 분류가 필요한 모든 시나리오