3. 시스템 아키텍처 및 상세 설계
Claire Bible은 장기적인 지식의 신뢰성과 확장성을 확보하기 위해 탄탄한 데이터 모델과 모듈식 아키텍처를 기반으로 설계되었습니다. 본 장에서는 시스템 내부를 구성하는 온톨로지, 검색 엔진, 엔티티 해소, 듀얼 포맷 파이프라인, MCP 지원 등의 핵심 설계를 상세히 다룹니다.
3.1 온톨로지 데이터 모델 (Ontology Data Model)
Claire Bible의 핵심은 팔란티어(Palantir)의 온톨로지 개념에서 영감을 받은 타입 온톨로지 그래프(Typed Ontology Graph)입니다.
1. 엔티티 (Entity)
지식베이스의 핵심 노드입니다. 사전에 정의된 EntityType (예: Person, Organization, Project, Technology, Concept, Location, Event 등)을 가집니다. 각 엔티티는 대표 명칭(Canonical Name), 별칭 목록(Aliases), 요약 정보와 벡터 임베딩을 보유합니다.
2. 관찰 사실 (Observation)
엔티티에 대해 원문 문서가 진술하는 구체적인 사실 명제(Fact Claim)입니다. 특정 문서(Document)에 명시된 인용 근거(Evidence)와 신뢰도 점수를 포함합니다. 하나의 엔티티는 여러 문서로부터 수집된 다수의 Observation을 축적함으로써 시간이 지남에 따라 정보가 입체화됩니다.
3. 관계 (Relationship)
두 엔티티를 연결하는 유향 엣지(Directed Edge)입니다. 술어(Predicate)는 엄격한 Domain/Range 레지스트리에 의해 검증됩니다. 예를 들어 FOUNDED 관계는 Source가 Person, Target이 `Organization`이어야만 유효합니다.
4. 잠정적(Provisional) 타입 관리
언어 모델이 기존 스키마에 정의되지 않은 새로운 엔티티 타입이나 관계 술어를 추출한 경우, 시스템은 이를 즉시 정식 온톨로지로 승격하지 않고 provisional 상태로 안전하게 보존하여 온톨로지 무결성을 유지합니다.
3.2 하이브리드 RRF 검색 엔진 (Hybrid Search Engine)
Claire Bible은 키워드 기반의 정확한 일치(Lexical Match)와 의미론적 유사도(Semantic Similarity)를 완벽히 결합하기 위해 RRF(Reciprocal Rank Fusion) 기반 하이브리드 검색을 구현합니다.
검색 파이프라인
-
FTS5 전문 검색 (BM25): SQLite FTS5 확장 모듈을 활용하여 형태소 및 키워드 매칭 점수를 산출합니다.
-
벡터 유사도 검색 (Cosine Similarity):
sqlite-vec확장(또는 인메모리 cosine fallback)을 통해 쿼리 임베딩과 엔티티/문서 임베딩 간의 코사인 유사도 순위를 계산합니다. -
RRF 결합 (Reciprocal Rank Fusion): \[ RRF_Score(d) = \sum_{m \in \{FTS, Vector\}} \frac{1}{k + rank_m(d)} \quad (k = 60) \]
-
그래프 이웃 문맥 확장 (Graph Neighbor Expansion): 상위 검색된 노드들의 1홉 인접 노드 및 Observation을 함께 인출하여 LLM의 RAG 컨텍스트를 풍부하게 보강합니다.
-
LLM 인용 정리: 검색 결과와 증거 인용을 결합하여 사실에 기반한 정밀한 답변을 사용자에게 제공합니다.
3.3 구조화 추출 및 엔티티 해소 (Entity Resolution)
수집된 비정형 텍스트에서 지식 그래프를 구성하는 과정은 고도로 정밀한 엔티티 해소 파이프라인을 거칩니다.
-
1단계 (Exact & Alias 매칭): 엔티티의 정규 명칭 및 기등록된 별칭(Alias)과 완벽히 일치하는 기존 노드가 있는지 조회합니다.
-
2단계 (약어 및 정규화 매칭): 대소문자, 공백, 하이픈 제거 및 표준 약어 사전을 대조합니다.
-
3단계 (벡터 임베딩 후보군 추출): 의미적으로 유사한 상위 K개의 기존 엔티티 후보를 선별합니다.
-
4단계 (LLM 기반 최종 판정): 모호성이 존재하는 경우, 언어 모델에게 두 엔티티의 문맥과 정의를 제시하여 동일 개체 여부(Is Same Entity?)를 최종 판정하도록 합니다. 판정 결과가 동일 개체이면 별칭 목록에 추가하고 노드를 통합합니다.
3.4 1홉 확장 (Expand) 및 병합 (Merge) 정책
문서 내에 중요한 외부 링크가 포함되어 있을 때, 시스템은 1홉 깊이까지 지식을 자동으로 확장할 수 있습니다.
-
연관성 필터링 (Relevance Filtering): 부모 문서의 주제와 밀접한 연관이 있는 링크만 선별적으로 수집 대상에 포함합니다.
-
원문 보존 및 병합: 1홉 확장으로 수집된 내용이 부모 문서와 동일 주제를 다루고 있다면, 별도 문서를 과도하게 증식시키지 않고 부모 문서의 보조 섹션으로 원문을 보존한 채 병합할 수 있습니다.
-
트랜잭션 롤백: 병합 도중 오류가 발생하거나 모델 판정에 모순이 발견되면 이전 스냅샷으로 즉시 롤백됩니다.
3.5 AsciiDoc 듀얼 포맷 파이프라인
Claire Bible은 일반적인 Markdown 외에도 기술 문서 표준인 AsciiDoc 형식을 네이티브로 지원하는 듀얼 포맷 읽기 파이프라인을 제공합니다.
-
동적 렌더링 엔진: 원문 형식(
markdown또는asciidoc) 메타데이터에 따라 웹 UI 리더가 최적화된 파서(AsciiDoctor.js / Markdown-it)를 동적으로 선택하여 렌더링합니다. -
상호 변환 및 Vault 투영: Obsidian 등의 마크다운 도구와의 호환성을 유지하기 위해 필요 시 표준 Markdown으로 단방향 투영을 수행합니다.
3.6 MCP (Model Context Protocol) 지원
외부 AI 에이전트(예: Claude Desktop, Cursor, Custom Agent)가 Claire Bible의 지식베이스를 도구(Tool) 및 리소스(Resource)로 활용할 수 있도록 MCP 서버 인터페이스를 내장하고 있습니다.
-
claire_search: 지식베이스 하이브리드 검색 도구 -
claire_get_entity: 특정 엔티티의 세부 속성, 관찰 사실, 관계망 조회 -
claire_find_path: 두 노드 간 최단 연결 경로 계산 도구 -
claire_ingest: 외부 에이전트로부터 새로운 자료를 실시간 적재하는 도구