01
자료와 노트 수집
PDF, 오디오, 이미지, 텍스트, 협업 노트를 프로젝트 안에서 관리합니다.
AI로 만드는 지식 OS.
흩어진 PDF, 녹음, 노트를 한 곳에서 검색하고, 과목과 문서를 넘어 연결합니다. Sungblab이 직접 만들고 운영합니다.
Origin
처음에는 제 자료를 잘 찾아주는 RAG를 만들고 싶었습니다. 그런데 만들수록 문제는 검색 하나가 아니었습니다. PDF, 노트, 녹음, 프로젝트 문서가 따로 흩어져 있고, AI는 근거 없이 그럴듯하게 답할 수 있으며, 실제 작업으로 이어질 때는 권한과 실행 기록이 필요했습니다.
자료를 넣는 순간만이 아니라, 계속 바뀌는 노트까지 따라가야 합니다.
AI 답변은 출처와 권한을 지켜야 신뢰할 수 있습니다.
모델이 바로 수정하거나 실행하지 않고, 검토 가능한 액션으로 남아야 합니다.
Workflow
OpenCairn은 채팅창 하나보다 조금 더 아래의 구조를 먼저 만듭니다.
01
PDF, 오디오, 이미지, 텍스트, 협업 노트를 프로젝트 안에서 관리합니다.
02
업로드 자료는 ingest 시점에 분석하고, 노트는 변경에 맞춰 다시 색인합니다.
03
검색 결과는 사용자가 읽을 수 있는 노트와 자료만 근거로 사용합니다.
04
목표를 typed step으로 나누고, 필요한 승인과 실행 상태를 남깁니다.
Technical Notes
검색 품질보다 먼저 접근 권한을 확인합니다. 근거로 쓰인 자료가 사용자에게 보이면 안 되는 자료라면, 좋은 답변이 아니라 보안 사고입니다.
노트 본문은 협업 편집 상태가 기준입니다. AI가 데이터베이스 본문을 직접 덮어쓰는 대신, 최신 상태와 충돌 가능성을 고려합니다.
모델이 바로 작업하지 않습니다. 노트 수정, 파일 생성, 코드 실행 같은 작업은 검증된 action으로 기록되고 승인 흐름을 거칩니다.
문서 생성, 가져오기, 내보내기, 코드 실행처럼 오래 걸리는 작업은 worker와 workflow로 분리합니다.
Architecture
랜딩 문구보다 중요한 것은 실제 경계입니다. OpenCairn은 UI, API, worker, collaboration, database, LLM provider를 나눠서 AI가 어디까지 제안하고 어디부터 제품이 검증하는지 분리합니다.
Next.js UI, editor, Agent Panel, Workflow Console
Hono routes, auth, permission checks, typed actions
Temporal workflows, parsing, generation, agent runtime
Postgres, pgvector, object storage, Yjs documents
Gemini, Ollama, provider abstraction, grounded calls
Evaluation
좋은 구조와 좋은 품질은 다릅니다. OpenCairn은 RAG, parser, agentic workflow를 실제 fixture로 측정하는 방향으로 만들고 있습니다.
좋다고 주장하기 전에 fixture와 실패 예시를 먼저 공개해야 합니다. 첫 baseline은 작은 deterministic fixture로 권한 누수와 agentic workflow 감사 구조를 확인한 기록입니다.
제품이 완성된 척하기보다, 왜 이런 구조가 필요했는지와 만들면서 바뀐 판단을 블로그에 남깁니다.