Cluster는 메모 속 개념(Entity)과 개념 간의 관계(Relation)를 추출하여 온톨로지 기반 지식 그래프(Ontology Knowledge Graph)로 관리하는 개인 지식 관리 시스템입니다.
사용자가 작성한 메모는 AI를 통해 분석되고, 프로젝트, 기술, 사람, 주제 등의 개념과 이들 사이의 관계를 자동으로 생성하여 Neo4j에 저장한다. 저장된 그래프는 개념지도 형태로 시각화되며, 사용자는 관계를 탐색하거나 수정하면서 자신의 지식 구조를 직관적으로 확인할 수 있습니다.
또한 이러한 정보를 기반으로 AI Chat을 할수 있습니다 이 기능은 단순한 키워드 검색이 아닌, 그래프에 저장된 관계를 기반으로 필요한 정보를 탐색하고 관련 메모를 참조하여 질문에 답변할수 있도록 하였습니다. 이를 통해 "지난달에 어떤 프로젝트를 진행했는가", "특정 기술과 관련된 작업은 무엇이었는가"와 같이 시간과 관계를 고려한 질의응답을 할수 있도록 하였습니다.
- 그래프에 저장된 메모와 관계를 바탕으로 질문에 답하는 화면입니다.
- AI는 그래프를 탐색해 답변을 생성하며, 근거가 된 관계와 메모를 함께 보여줍니다.
- 메모를 작성하고 관리하는 화면입니다.
- 작성한 메모는 AI 분석을 거쳐 Entity와 Relation으로 추출되어 그래프에 반영됩니다.
- 메모에서 추출된 개념과 관계를 그래프 형태로 시각화하는 화면입니다.
- 노드와 관계를 직접 조회, 수정, 삭제하며 지식 구조를 다듬을 수 있습니다.
메모는 다음과 같은 과정을 거쳐 그래프로 저장됩니다.
사용자 메모
│
▼
텍스트 분석 (Entity / Relation 추출)
│
▼
Ontology Graph 저장 (Neo4j)
│
▼
Graph Query (관계 탐색)
│
▼
LLM 응답 생성
│
▼
텍스트 분석 (Entity / Relation 추출)
│
▼
Ontology Graph 저장 (Neo4j)
│
▼
Graph Query (관계 탐색)
│
▼
LLM 응답 생성
- Node: 메모에서 등장하는 하나의 개념(사람, 프로젝트, 기술, 주제 등)입니다. 동일한 개념은 중복 생성되지 않고 하나의 Node로 관리되며, mention_count를 통해 등장 횟수를 누적합니다.
- Edge (Relation): Node와 Node 사이의 의미 있는 관계(WORK_ON, USE, LEARN 등)입니다. 관계는 source_memo_id를 함께 저장하여 어떤 메모에서 생성되었는지를 추적할 수 있으며, AI 응답 시 근거로 활용됩니다.
- Alias: 동일한 개념이 서로 다른 이름으로 등장하는 경우(GPT, ChatGPT, GPT-5 등) 이를 하나의 Node로 통합하여 관리합니다.
- Confidence / Weight: AI가 생성한 관계에는 신뢰도(Confidence)가 부여되며, 관계의 중요도는 다양한 요소를 반영한 가중치(Weight)로 함께 관리됩니다.
- Time 정보: created_at, updated_at, occurred_at, last_seen 등의 시간 정보를 통해 “지난달에 무엇을 했는가”와 같은 시간 기반 질의가 가능하도록 합니다.
| 구분 | 기술 |
|---|---|
| 프론트엔드 | React |
| 백엔드 | FastAPI |
| 일반 데이터 저장 | Supabase (사용자, 메모 원문, 채팅 기록, 설정) |
| 지식 그래프 저장 | Neo4j (Node, Relation, 관계 탐색) |
| 그래프 조회 | Cypher |
| DB 드라이버 | Neo4j Python Driver |
| 임베딩 / 추출 / 응답 생성 | OpenAI API |




