35분
KG Q&A 시스템 아키텍처 설계
KG 기반 Q&A
KG Q&A 시스템 아키텍처 설계
온톨로지 & Knowledge Graph > 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가지 질문 유형에 따라 처리 전략이 달라진다
- • 대화 히스토리 관리로 후속 질문에서 맥락 유지
- • 프롬프트 엔지니어링으로 안전 우선, 확률순, 실행 가능한 답변 보장