시간 순서대로 글을 쌓아 올리는 기존 블로그는 글이 많아질수록 지식이 파편화됩니다. 반년 전에 쓴 글과 오늘 쓰는 글이 단절되고, 과거의 글은 스크롤 아래로 침식되어 잊힙니다.
이 문제를 해결하기 위해 블로그를 개념과 관계 중심의 온톨로지(Ontology) 형태로 설계했습니다. 거창하고 무거운 OWL 스키마 대신, 마크다운의 위키링크([[링크]])와 태그를 활용해 가볍고 유연한 디지털 가든을 만들었습니다.
특히 이 구조는 **AI 코딩 에이전트(Claude Code 등)**와 함께 일할 때 진가를 발휘합니다. 로컬 마크다운 파일은 에이전트가 직접 읽고 쓰기 가장 쉬운 포맷이며, 링크로 엮인 맥락을 따라가며 스스로 연관 지식을 탐색할 수 있기 때문입니다.
전체 아키텍처 및 파이프라인
글 작성부터 배포까지의 흐름은 다음과 같이 간결한 파이프라인으로 구축했습니다.
- 작성 환경: Obsidian (로컬 파일 기반의 지식 볼트)
- AI 협업: Claude Code (터미널에서 직접 볼트 파일 탐색 및 정리)
- 정적 사이트 생성기: Quartz v5 (위키링크, 양방향 백링크, 인터랙티브 지식 그래프 지원)
- 호스팅 & 배포: GitHub + Cloudflare Pages (빠른 엣지 캐싱 및 무료 호스팅)
AI 에이전트 협업과 프론트매터의 교훈
초기에는 지식 그래프의 완벽성을 위해 CLAUDE.md에 매우 엄격한 규칙을 부여했습니다:
- “새 글은 반드시 기존 노트 2개 이상과 양방향 링크를 맺을 것”
- “프론트매터에
parent,related메타데이터를 필수 기재할 것”
하지만 막상 첫 글들을 쓰려니 볼트가 아직 텅 비어 있었고, 규칙을 억지로 맞추려다 보니 알맹이 없는 껍데기 노트만 양산되는 부작용이 생겼습니다. 형식에 얽매여 글쓰기의 흐름이 끊긴 것입니다.
결국 그날 바로 규칙을 단순하게 변경했습니다:
---
title: "노트 제목"
date: 2026-10-26
tags:
- domain/지식영역
- type/분류
draft: false
---- 단순함이 최고다: 프론트매터는 최소화하고, 링크는 억지가 아니라 문맥상 자연스러운 곳에만 겁니다.
- 백링크의 자동화: 역방향 연결은 Quartz가 자동으로 백링크 패널로 렌더링해 주므로 손수 관리할 필요가 없습니다.
스킬셋 역시 Steph Ango(Obsidian CEO)가 관리하는 kepano/obsidian-skills 중에서 핵심 도구(obsidian-markdown, json-canvas, obsidian-bases, defuddle)만 남겨 에이전트의 컨텍스트 낭비를 줄였습니다.
현재 워크플로우와 앞으로의 계획
현재의 일상 작업 흐름은 매우 단순하고 쾌적합니다:
- 옵시디언에서 자유롭게 생각을 메모합니다.
- AI 에이전트에게 노트를 다듬고 관계를 이어달라고 요청합니다.
- 터미널에서
npx quartz sync --no-pull한 줄을 실행하면, 30초 안에 Cloudflare Pages를 통해 전 세계로 배포됩니다.
앞으로 이 정원에는 AI 에이전트 아키텍처, 딥러닝 실험 기록, 그리고 데이터 엔지니어링에 관한 생각의 씨앗들을 심고 차근차근 키워나갈 예정입니다.
함께 읽으면 좋은 글
- 디지털 가든: 이 블로그가 추구하는 비선형적 지식 네트워크 철학