35

KG Q&A 시스템 아키텍처 설계

KG 기반 Q&A

학습 목표

KG Q&A 시스템의 전체 아키텍처를 이해한다 질문 유형별 처리 전략을 설계한다 대화 히스토리 관리 방식을 파악한다 답변 품질 개선을 위한 프롬프트 엔지니어링을 학습한다

KG Q&A 시스템 아키텍처: "누구나 전문가처럼 질문한다"

시스템 목표

[Before - 기존 방식]
신입: "알람 떴어요!"
반장: "무슨 알람?"
신입: "E-201이요"
반장: "어떤 장비?"
신입: "3호기요"
반장: "냉각수 확인해봐"
신입: "어디 있어요?"
반장: "뒤쪽... 아 내가 갈게"

→ 대화 5분 + 이동 10분 + 작업 15분 = 30분

[After - KG Q&A 시스템]
신입: "CNC밀링 3호기에서 알람 E-201 떴어요"
AI: "스핀들 과열 알람입니다. 확률순 조치 안내:

1. 냉각수 부족 (45%) - 15분
   → 장비 후면 하단 패널 열고 냉각수 레벨 확인
   → 기본 정비 스킬로 수행 가능 (이신입 님 OK)

2. 베어링 마모 (35%) - 4시간
   → ⚠️ 현재 사용률 81.3%, 교체 시기 임박
   → 김기술 님 호출 필요 (스핀들 정비 자격)

먼저 냉각수를 확인하시겠습니까?"

→ AI 응답 5초 + 작업 15분 = 15분

전체 아키텍처

┌──────────────────────────────────────────────────────────────┐
│                    KG Q&A 시스템 아키텍처                       │
├──────────────────────────────────────────────────────────────┤
│                                                              │
│  [사용자 인터페이스]                                           │
│  ┌─────────────────────────────────────────────────────┐     │
│  │  채팅 UI / API / 모바일 앱 / 키오스크                  │     │
│  └──────────────────────┬──────────────────────────────┘     │
│                         │                                    │
│  [대화 관리 레이어]       │                                    │
│  ┌──────────────────────▼──────────────────────────────┐     │
│  │  Conversation Manager                                │     │
│  │  ├── 대화 히스토리 관리                                │     │
│  │  ├── 컨텍스트 윈도우 유지                              │     │
│  │  └── 후속 질문 처리                                    │     │
│  └──────────────────────┬──────────────────────────────┘     │
│                         │                                    │
│  [질문 분석 레이어]       │                                    │
│  ┌──────────────────────▼──────────────────────────────┐     │
│  │  Query Analyzer                                      │     │
│  │  ├── Intent Classifier (의도 분류)                    │     │
│  │  ├── Entity Extractor (엔티티 추출)                   │     │
│  │  ├── Context Resolver (대명사/생략어 해결)             │     │
│  │  └── Query Router (처리 경로 결정)                    │     │
│  └──────────────────────┬──────────────────────────────┘     │
│                         │                                    │
│          ┌──────────────┼──────────────┐                     │
│          ▼              ▼              ▼                     │
│  ┌──────────┐   ┌──────────┐   ┌──────────┐                 │
│  │  Graph   │   │  Vector  │   │  Direct  │                 │
│  │  Search  │   │  Search  │   │  Answer  │                 │
│  │  (Neo4j) │   │  (문서)  │   │  (FAQ)   │                 │
│  └────┬─────┘   └────┬─────┘   └────┬─────┘                 │
│       │              │              │                        │
│       └──────────────┼──────────────┘                        │
│                      ▼                                       │
│  ┌──────────────────────────────────────────────────────┐    │
│  │  Response Generator                                   │    │
│  │  ├── Context Merger (맥락 통합)                       │    │
│  │  ├── LLM Prompt Builder (프롬프트 구성)               │    │
│  │  ├── Answer Formatter (답변 형식화)                   │    │
│  │  └── Citation Generator (근거 표시)                   │    │
│  └──────────────────────────────────────────────────────┘    │
│                                                              │
└──────────────────────────────────────────────────────────────┘

질문 유형별 처리 전략

유형 1: 고장 대응 (Troubleshooting)

질문: "알람 E-201 어떻게 해?"
처리: Graph Search (CAUSED_BY, RESOLVED_BY 경로 탐색)
응답: 확률순 원인-조치-인력 안내

유형 2: 설비 상태 조회 (Status)

질문: "3호기 부품 수명 현황 보여줘"
처리: Graph Search (HAS_COMPONENT, HAS_PART 탐색)
응답: 부품별 사용률, 교체 필요 부품 하이라이트

유형 3: 정비 이력 (History)

질문: "이번 달 3호기 정비 이력"
처리: Graph Search (MaintenanceRecord 탐색)
응답: 날짜순 정비 기록 + 반복 패턴 분석

유형 4: 절차/방법 안내 (How-to)

질문: "베어링 교체 절차 알려줘"
처리: Graph Search + Vector Search (절차 문서)
응답: 단계별 절차 + 필요 공구 + 주의사항

유형 5: 영향도 분석 (Impact)

질문: "3호기 정비하면 어떤 공정 영향받아?"
처리: Graph Search (USES_EQUIPMENT, NEXT_PROCESS 경로)
응답: 직접 영향 공정 + 후속 영향 공정

유형 6: 인력/자원 조회 (Resource)

질문: "스핀들 정비 가능한 사람 누구야?"
처리: Graph Search (REQUIRES_SKILL, HAS_SKILL 매칭)
응답: 가능 인력 목록 + 경력 + 현재 담당 설비

대화 히스토리 관리

# 대화 맥락 유지 예시

[Turn 1]
사용자: "3호기에서 알람 떴어"
AI: "어떤 알람 코드인지 알려주시겠어요?"
# 맥락 저장: equipment = "CNC밀링 3호기"

[Turn 2]
사용자: "E-201"
AI: "(3호기 + E-201 결합) 스핀들 과열 알람입니다..."
# 맥락 업데이트: alarm_code = "E-201"

[Turn 3]
사용자: "냉각수 확인했는데 괜찮아"
AI: "(1순위 배제, 2순위로) 그러면 베어링 마모를 확인해보세요..."
# 맥락 업데이트: excluded_causes = ["냉각수 부족"]

[Turn 4]
사용자: "베어링 교체 어떻게 해?"
AI: "(현재 맥락의 베어링으로) 3호기 스핀들 베어링 교체 절차..."
# 맥락 유지: 이전 대화에서 설비/부품 자동 연결

프롬프트 엔지니어링

SYSTEM_PROMPT = """당신은 루트브릭스 김포 공장의 AI 기술 지원 어시스턴트입니다.

## 역할
- 설비 고장 진단 및 조치 안내
- 정비 이력 조회 및 패턴 분석
- 부품 수명 관리 및 교체 안내
- 인력 스킬 매칭 및 작업 배정

## 답변 규칙
1. **안전 최우선**: 위험한 작업은 반드시 안전 주의사항 포함
2. **확률순 안내**: 고장 원인은 확률 높은 순서로 안내
3. **실행 가능한 답변**: 구체적인 위치, 절차, 소요 시간 포함
4. **스킬 확인**: 조치에 필요한 스킬과 현재 사용자 역량 비교
5. **근거 표시**: Knowledge Graph에서 가져온 정보임을 명시
6. **한국어 답변**: 기술 용어는 영문 병기 가능

## 제한 사항
- KG에 없는 정보는 "확인 불가"로 명시
- 안전 관련 불확실한 조언은 하지 않음
- 정비팀 호출이 필요한 경우 명확히 안내
"""
AI로 학습하기 — 꿀팁
🤖KG Q&A 질문 유형별 처리 표 생성AI 학습 팁

AI에게 제조 KG Q&A에서 질문 유형을 분류하고 각 유형별 처리 전략을 구조화된 표로 생성하게 요청하세요.

제조 설비 KG Q&A 시스템에서 사용자 질문을 유형별로 분류하고 처리 전략을 정리한 표를 만들어줘. 질문 유형: (1) 단순 사실 조회(특정 설비 스펙), (2) 관계 탐색(A 설비와 연관된 고장 부품), (3) 집계(월별 고장 빈도 TOP5), (4) 비교(설비별 MTBF 비교), (5) 복합 추론(고장 원인 추적). 각 유형에 예시 질문, Cypher 패턴, 권장 검색 방식을 포함해줘.
이 팁이 도움이 됐나요?
핵심 포인트
  • KG Q&A 시스템은 질문 분석 → 지식 탐색 → 답변 생성의 3단계
  • 6가지 질문 유형에 따라 처리 전략이 달라진다
  • 대화 히스토리 관리로 후속 질문에서 맥락 유지
  • 프롬프트 엔지니어링으로 안전 우선, 확률순, 실행 가능한 답변 보장