통합 아키텍처 기준: 본 문서는 LMS (Leader's Mind Security) v4.0의 **데이터 계층(Data Layer)**을 다루며, Neo4j 그래프 데이터베이스와 Pinecone Vector 데이터베이스의 스키마 설계, ERD, 활용 방법, Cypher/Python 쿼리 예제를 포함합니다. GoT(Graph of Thoughts) 자료 및 RAG 자료의 DB 설계를 통합·정리한 문서입니다.
LMS v4.0은 4-Database Stack을 채택하여 각 데이터의 특성에 최적화된 저장소를 사용합니다.
| 데이터베이스 | 용도 | 담당 에이전트 | 핵심 역할 |
|---|---|---|---|
| Neo4j | 그래프 DB | Reasoning, Knowledge, Visualization | 감정 관계 그래프, 마인드 온톨로지, 지식 그래프 |
| Pinecone | Vector DB | Memory, Knowledge, Episode Memory | 의미론적 유사도 검색, 임베딩 저장 |
| PostgreSQL | 관계형 DB | 전체 에이전트 | 메시지 로그, 세션, 메타데이터, 사용자 프로필 |
| Redis | 캐시 | Intent Classifier, Safety | 실시간 세션 캐시, 응답 속도 최적화 |
Vector DB만으로는 "왜 그런 감정이 생겼는지"(인과관계)를 파악할 수 없고, Graph DB만으로는 "비슷한 경험을 한 사람의 이야기"(의미론적 유사도)를 찾을 수 없습니다. LMS는 두 DB를 결합하여 GraphRAG 패턴을 구현합니다.
[사용자 입력] "팀원들이 변화를 거부해요"
│
├──→ VectorDB: "변화 저항" 관련 과거 기록/전문 지식 검색 (유사도 기반)
│
└──→ Neo4j: "변화 저항" → [감정 지능 부족] → [공감 능력 강화] (인과 관계)
│
└──→ 결과: 단순 기록이 아닌 "근본 원인 + 해결책" 연결
LMS의 Neo4j 그래프는 6가지 핵심 노드 타입으로 구성됩니다.
| 노드 타입 | 설명 | 주요 속성 | 사용 에이전트 |
|---|---|---|---|
| Emotion | 감정 노드 (GoT 출력) | name, intensity, duration, trigger, confidence | Reasoning (GoT) |
| Technique | 치료/코칭 기법 | name, domain, description, evidence_level | Knowledge |
| Condition | 심리 상태/조건 | name, category, severity | Knowledge |
| Concept | 리더십/심리학 개념 | name, definition, domain | Knowledge |
| Memory | 사용자 기억 노드 | id, content, created_at, importance | Memory |
| Person | 사용자 관계 인물 | name, role, relationship_to_user | Memory |
추가 노드 타입 (마인드 온톨로지 전용):
| 노드 타입 | 설명 | 주요 속성 | 사용 레이어 |
|---|---|---|---|
| LeadershipConcept | 리더십 개념 | name, description, framework | 조직 레이어 |
| PsychologicalPattern | 심리 패턴 | name, type, frequency | 개인 레이어 |
| UserStory | 익명 사용자 이야기 | id, themes, anonymized_at | 팀 레이어 |
| ExpertResource | 전문 자료 | title, source, evidence_level | 조직 레이어 |
| 관계 | 시작 노드 | 끝 노드 | 속성 | 의미 |
|---|---|---|---|---|
| AMPLIFIES | Emotion | Emotion | strength | 감정 A가 감정 B를 증폭 |
| CONFLICT_WITH | Emotion | Emotion | tension_level | 감정 간 충돌 관계 |
| TRIGGERS | Emotion | Emotion | probability | 감정 A가 감정 B를 유발 |
| EXACERBATES | Emotion | Emotion | severity | 감정 A가 감정 B를 악화 |
| TREATS | Technique | Condition | effectiveness, evidence_strength | 기법이 조건을 치료 |
| RELATED_TO | Technique | Technique | similarity_score | 기법 간 유사 관계 |
| INCLUDES | Technique | Concept | - | 기법이 개념을 포함 |
| MENTIONS | Memory | Person | context | 기억이 인물을 언급 |
| ASSOCIATED_WITH | Memory | Emotion | intensity | 기억에 연관된 감정 |
| HAS_ROOT_CAUSE | PsychologicalPattern | Concept | confidence | 심리 패턴의 근본 원인 |
| RELATED_TO_CONCEPT | UserStory | LeadershipConcept | relevance | 사용자 이야기 → 리더십 개념 |
| SIMILAR_TO_PATTERN | PsychologicalPattern | PsychologicalPattern | similarity_score | 유사 심리 패턴 연결 |
| SUPPORTED_BY_RESEARCH | LeadershipConcept | ExpertResource | evidence_level | 리더십 개념의 연구 근거 |
┌──────────────────────────────────────────────┐
│ LMS Neo4j ERD (v4.0) │
└──────────────────────────────────────────────┘
┌─────────┐ AMPLIFIES/TRIGGERS ┌─────────┐
│ Emotion │◄──────────────────────►│ Emotion │
│ │ CONFLICT_WITH │ │
│ name │ EXACERBATES │ name │
│intensity│ │intensity│
│duration │ │trigger │
└────┬────┘ └─────────┘
│ ASSOCIATED_WITH
▼
┌─────────┐ MENTIONS ┌─────────┐
│ Memory │────────────►│ Person │
│ │ │ │
│ id │ │ name │
│ content │ │ role │
│importance│ └─────────┘
└─────────┘
┌───────────┐ TREATS ┌───────────┐
│ Technique │───────────►│ Condition │
│ │ │ │
│ name │ INCLUDES │ name │
│ domain │─────┐ │ category │
│ evidence │ │ └───────────┘
└─────┬─────┘ ▼
│ ┌─────────┐
RELATED_TO │ Concept │
│ │ │
▼ │ name │
┌───────────┐│definition│
│ Technique ││ │
└───────────┘└────┬────┘
│ HAS_ROOT_CAUSE
▼
┌────────────────────┐ SIMILAR_TO_PATTERN ┌────────────────────┐
│PsychologicalPattern│◄────────────────────►│PsychologicalPattern│
│ name │ │ name │
│ type │ └────────────────────┘
└────────┬───────────┘
│
┌────────┴───────────┐ RELATED_TO_CONCEPT ┌──────────────────┐
│ UserStory │────────────────────►│LeadershipConcept │
│ id, themes │ │ name, framework │
└────────────────────┘ └────────┬─────────┘
│ SUPPORTED_BY_RESEARCH
▼
┌──────────────────┐
│ ExpertResource │
│ title, source │
└──────────────────┘