콘텐츠로 바로가기

LLM-WIKI: Zettelkasten을 에이전트 지식 베이스로 전환하는 법

Zettelkasten Permanent Note에 메타데이터를 설계하고, LLM 에이전트가 INGEST·QUERY·LINT·PUBLISH 4-루프로 지식을 순환시키는 구조를 설명한다.

sys.entry
M

Me

hyunyoun's Blog

architecture2 min read

🧠 Logbook: LLM-WIKI 구조 설계

Quote

Motto 세상은 보는 만큼 넓어지고, 나는 기록하는 만큼 단단해집니다.

Abstract

Core Insight Zettelkasten은 인간을 위한 지식 시스템이다. LLM-WIKI는 그 구조를 그대로 유지하면서 LLM 에이전트가 읽고, 쓰고, 검색할 수 있는 레이어를 추가한다.


🧠 1. 핵심 개념 정의

LLM-WIKI는 Zettelkasten의 3단계 구조(Literature → Permanent → MOC)를 유지하면서, 각 Permanent Note에 LLM이 파싱할 수 있는 표준 메타데이터를 부여하는 지식 관리 패턴이다.

핵심 아이디어는 에이전트 메모리 유형과 볼트 컴포넌트를 1<1로> 매핑하는 것이다:

에이전트 메모리 유형 볼트 컴포넌트
Sensory Memory 현재 대화 컨텍스트 윈도우
Working Memory 프롬프트 내 인라인 정보
Long-term Semantic Memory wiki-index.md + 22_Permanent/
Procedural Memory wiki-curator.md 에이전트 지시문

⚙️ 2. 작동 원리: 4-루프 엔진

CODE
INGEST → 외부 자료를 Literature Note로 증류, Permanent Note로 원자화
QUERY  → wiki-index 스캔 → Permanent Note 읽기 → [Wikilink](./wikilink) 인용 답변
LINT   → 고아 노트·broken link·outlinks < 3 탐지 및 수정
PUBLISH → Permanent Note → content/posts 변환 발행

각 루프는 wiki-log.md에 append-only 로그를 남긴다. 이 로그가 에이전트의 절차적 메모리 역할을 한다.

💡 3. Permanent Note 메타데이터 설계

LLM이 노트를 올바르게 분류하고 검색하려면 일관된 frontmatter가 필요하다:

CODE
---
title: "ZK-RAG-Architecture"
type: permanent
status: active
zk_stage: seedling # seedling | growing | evergreen
domain: "machine-learning"
topic: ["rag", "llm", "vector-search"]
authored_by: llm # llm | co-authored | human
ingested_at: "2026-04-19T22:10:00Z"
---

validate-zk.mjs는 이 스키마를 CI에서 자동 검증한다:

CODE
npm run validate:zk
# 22 files checked — 0 errors, 0 warnings

모든 Permanent Note는 최소 3개[Wikilink](./wikilink) 교차 참조를 가져야 한다. 이 규칙이 지식 그래프의 밀도를 보장한다.

generate-wiki-index.mjs22_Permanent/ 를 스캔해 에이전트 진입점 인덱스를 자동 생성한다. pre-commit hook이 해당 폴더의 변경을 감지하면 자동 재실행된다.

❓ 5. 자주 묻는 질문

Q: Obsidian 없이도 작동하나요? A: 네. 메타데이터는 순수 YAML frontmatter, 링크는 [텍스트](./텍스트) 표기다. Obsidian은 선택적 렌더링 레이어일 뿐이다.

Q: Permanent Note는 얼마나 짧아야 하나요? A: 하나의 원자적 개념만 담는다. 스크롤 없이 한 화면에 읽힐 정도(200~500자)가 적정하다.

Q: seedling이 evergreen이 되는 기준은? A: 3회 이상 독립 세션에서 참조되고, 내용을 수정해도 핵심 주장이 바뀌지 않을 때 evergreen으로 승격한다.


참고 및 출처

  • ZK-RAG-Architecture — 검색 증강 생성 구조
  • ZK-Prompt-Engineering — 에이전트 쿼리 최적화
  • ZK-LLM-Agent-Memory — 에이전트 메모리 4분류
  • 00_System/wiki-index.md — 에이전트 진입점 인덱스
  • docs/05.operations/guides/0008-zettelkasten-para-blog-llm-wiki-comprehensive-guide.md