1. 개요 및 핵심 개념
1.1 Claire Bible이란?
Claire Bible은 텔레그램 메신저, 웹 UI, CLI를 통해 수집한 다양한 링크, 웹 문서, 메모를 대형 언어 모델(Gemini 등)을 통해 구조화하여 팔란티어식 타입 온톨로지(Ontology) 지식 그래프로 적재하고, 기존 지식과 연결하여 지능형 검색과 종합 분석을 제공하는 개인용 지식베이스(Personal Knowledge Base) 시스템입니다.
일반적인 RAG(Retrieval-Augmented Generation) 시스템이나 메모 도구와 비교할 때, Claire Bible은 다음과 같은 차별화된 가치를 제공합니다:
-
단일 사용자 전용(Single-User Focus): 멀티테넌시(Multi-tenancy)로 인한 아키텍처 복잡성과 보안 오버헤드를 배제하고, 1인 사용자의 지식 축적과 탐색 경험 극대화에 집중합니다.
-
타입 온톨로지 지식 그래프: 단순한 텍스트 임베딩이나 비정형 그래프가 아닌, 명확히 정의된 도메인/레인지(Domain/Range) 규칙을 준수하는 정형 엔티티-관계 모델을 구축합니다.
-
단일 적재 파이프라인(
IngestService): 텔레그램 봇, CLI, 웹 UI 등 어떤 경로로 진입하든 동일한 정규화, 중복 방지, 복구 정책이 일관되게 적용됩니다. -
원문 불변성과 정본 분리: 수집된 원문은 절단 없이 온전히 보존되며, SQLite가 시스템의 유일한 정본(Single Source of Truth) 역할을 담당합니다.
1.2 처리 파이프라인 흐름
Claire Bible의 데이터 처리 흐름은 아래와 같이 체계적인 단계를 거쳐 진행됩니다.
각 단계별 핵심 동작은 다음과 같습니다:
-
입력 분류와 원문 수집: URL, 텍스트 메모, 파일 등의 입력을 라우팅하고, 웹 Fetcher가 표준 메타데이터(제목, 작성자, 게시일, Canonical URL, 콘텐츠 해시)를 추출합니다.
-
구조화 추출 및 엔티티 해소: 언어 모델이 본문을 분석하여 정형 엔티티, 관찰 사실(Observation), 관계(Relationship)를 도출합니다. 기존에 축적된 노드들과 별칭(Alias), 약어, 임베딩 유사도를 종합 대조하여 동일 엔티티로 매칭합니다.
-
스키마 검증 및 영속화: 온톨로지 도메인/레인지 규칙을 만족하는 관계만 승인하여 SQLite 정본에 저장합니다.
-
색인 및 단방향 투영: SQLite FTS5 전문 색인과 sqlite-vec 벡터 색인을 갱신하며, Obsidian 호환 Vault 디렉터리로 Markdown 파일을 단방향 투영(Export)합니다.
1.3 핵심 설계 원칙
Claire Bible은 안정적이고 신뢰할 수 있는 개인 지식 관리를 위해 다음 4가지 핵심 원칙을 고수합니다.
1. 원문 보존과 멱등성 (Idempotency)
수집된 문서 원문은 절단되거나 왜곡되지 않고 그대로 저장됩니다. 동일한 Canonical URL이나 콘텐츠 해시를 가진 자료가 재진입하더라도 중복 데이터가 생성되지 않고 기존 레코드가 안전하게 갱신됩니다.
2. 닫힌 타입 우선 온톨로지 (Closed-World Typing)
지식 그래프의 엔티티와 관계는 사전에 정의된 온톨로지 스키마 집합을 우선 사용합니다. 모델이 제안하는 신규 타입은 즉시 반영되지 않고 잠정적(Provisional) 데이터로 보존되어 그래프의 무결성을 유지합니다.
3. 계층형 보안 경계 (Tiered Access Boundary)
로컬 루프백(127.0.0.1) 바인딩을 기본으로 하며, 소유자 쓰기 권한(Owner Token)과 읽기 전용 권한(Read-only Token)을 엄격히 분리합니다. CLAIRE_ANONYMOUS_READONLY=1 모드에서는 외부 네트워크에 공개하더라도 숨김 문서와 엔티티가 철저히 격리되고, provider 비용을 유발하지 않는 FTS 전용 모드로 제한됩니다.
4. 장애 복원력 (Self-Healing & Fault-Tolerance)
일시적인 네트워크 오류나 API 할당량 초과 시 지수 백오프(Exponential Backoff)를 적용하는 recover 루프가 동작하며, 영구적 실패 건은 별도의 에러 인박스(Error Inbox)로 격리하여 시스템 전체의 가용성을 보장합니다.