d8a80f6272
이름만 다른(표기 변형) [[위키링크]]를 대상 문서의 canonical 제목으로 치환해 끊겼던 1,200개 링크를 연결. 제목/파일명 정규화 일치만 적용하고 별칭 매칭은 과병합 위험으로 제외(애매성 가드). 원본은 _link_reconcile_backup/ 에 백업. 도구: Datacollect/scripts/link_reconcile_apply.mjs Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
181 lines
4.5 KiB
Markdown
181 lines
4.5 KiB
Markdown
---
|
|
id: wiki-2026-0508-local-brain-management
|
|
title: Local Brain Management
|
|
category: 10_Wiki/Topics
|
|
status: verified
|
|
canonical_id: self
|
|
aliases: [PKM, Personal Knowledge Management, Second Brain]
|
|
duplicate_of: none
|
|
source_trust_level: A
|
|
confidence_score: 0.9
|
|
verification_status: applied
|
|
tags: [pkm, obsidian, logseq, tana, zettelkasten, ai-pkm]
|
|
raw_sources: []
|
|
last_reinforced: 2026-05-10
|
|
github_commit: pending
|
|
tech_stack: { language: markdown, framework: obsidian/logseq/tana }
|
|
---
|
|
|
|
# Local Brain Management
|
|
|
|
## 매 한 줄
|
|
> **"매 검색 가능한 outboard memory"**. Local-first, plain text, link-heavy — 도구는 Obsidian/Logseq/Tana, 방법론은 Zettelkasten.
|
|
|
|
## 매 핵심
|
|
### 매 4 layer
|
|
- **Capture**: 빠르게 던져넣기 (inbox)
|
|
- **Process**: atomic note 로 쪼개기 + 링크
|
|
- **Distill**: 중복 정리, MOC (Map of Content)
|
|
- **Express**: 글/코드/제품으로 출력
|
|
|
|
### 매 도구 비교
|
|
| | Obsidian | Logseq | Tana |
|
|
|---|---|---|---|
|
|
| 모델 | file-per-note | outliner blocks | supertag (graph) |
|
|
| 저장 | local md | local md/edn | cloud |
|
|
| 강점 | plugin 생태계 | block reference | structured |
|
|
| 약점 | DB-style 약함 | UX 익숙 안함 | non-local |
|
|
|
|
### 매 방법론
|
|
- **Zettelkasten** (Luhmann): atomic + permanent + link
|
|
- **PARA** (Forte): Project / Area / Resource / Archive
|
|
- **LYT** (Milo): Map of Content 중심
|
|
|
|
### 매 AI 융합
|
|
1. Local LLM 으로 노트 요약
|
|
2. Embedding 기반 semantic search
|
|
3. RAG over vault (Obsidian Smart Connections)
|
|
4. 자동 tag 추천
|
|
5. Daily note → weekly review 자동 생성
|
|
|
|
## 💻 패턴
|
|
|
|
### Pattern 1: Obsidian frontmatter convention
|
|
```yaml
|
|
---
|
|
id: 20260510-1422
|
|
title: Strangler Fig
|
|
type: zettel
|
|
status: stub
|
|
tags: [legacy, migration]
|
|
links: [[Legacy_Modernization]]
|
|
created: 2026-05-10
|
|
---
|
|
```
|
|
|
|
### Pattern 2: Atomic note rule
|
|
```markdown
|
|
# Strangler Fig
|
|
|
|
> 한 노트 = 하나의 idea.
|
|
|
|
핵심: 신규 시스템이 legacy 를 점진적으로 둘러싸고 대체.
|
|
|
|
## Why
|
|
- Big-bang rewrite 실패 위험
|
|
- ...
|
|
|
|
## See
|
|
- [[Legacy_Modernization]]
|
|
- [[Branch_by_Abstraction]]
|
|
```
|
|
|
|
### Pattern 3: Map of Content (MOC)
|
|
```markdown
|
|
# 🗺️ MOC: Web Performance
|
|
|
|
## Core
|
|
- [[Core Web Vitals Optimization (INP, LCP, CLS)|Core_Web_Vitals]]
|
|
- [[Long Animation Frames API]]
|
|
|
|
## Tools
|
|
- [[Lighthouse]]
|
|
- [[WebPageTest]]
|
|
|
|
## Patterns
|
|
- [[Code Splitting]]
|
|
- [[Image_Optimization]]
|
|
```
|
|
|
|
### Pattern 4: Daily note + dataview
|
|
````markdown
|
|
# 2026-05-10
|
|
|
|
## Captures
|
|
- ...
|
|
|
|
## Today's notes
|
|
```dataview
|
|
LIST FROM "" WHERE file.cday = date("2026-05-10")
|
|
```
|
|
````
|
|
|
|
### Pattern 5: Local RAG over vault (Python)
|
|
```python
|
|
from pathlib import Path
|
|
import chromadb
|
|
from sentence_transformers import SentenceTransformer
|
|
|
|
model = SentenceTransformer("all-MiniLM-L6-v2")
|
|
client = chromadb.PersistentClient("./vault_index")
|
|
col = client.get_or_create_collection("vault")
|
|
|
|
for md in Path("~/vault").rglob("*.md"):
|
|
text = md.read_text()
|
|
emb = model.encode(text).tolist()
|
|
col.upsert(ids=[str(md)], embeddings=[emb], documents=[text])
|
|
|
|
def search(q, k=5):
|
|
e = model.encode(q).tolist()
|
|
return col.query(query_embeddings=[e], n_results=k)
|
|
```
|
|
|
|
### Pattern 6: Backlinks-driven review
|
|
```markdown
|
|
## Weekly Review
|
|
- 미해결 [[?]] orphans 재방문
|
|
- 새 backlink 들어온 오래된 노트 재정리
|
|
- Inbox → atomic note 로 변환
|
|
```
|
|
|
|
### Pattern 7: Logseq block reference
|
|
```markdown
|
|
- 핵심 idea ((block-uuid))
|
|
- 다른 페이지에서 ((block-uuid)) 로 transclude
|
|
```
|
|
|
|
## 매 결정 기준
|
|
|
|
| 상황 | Tool |
|
|
|---|---|
|
|
| Plain md + plugin | Obsidian |
|
|
| Outliner / block reference 중요 | Logseq |
|
|
| 구조화 DB 필요 | Tana / Notion |
|
|
| 코드/터미널 친화 | nb / Foam (VS Code) |
|
|
| 완전 local + git sync | Obsidian + git |
|
|
|
|
**기본값**: Obsidian + git + atomic note + MOC + Smart Connections.
|
|
|
|
## 🔗 Graph
|
|
- Adjacent: [[RAG]], [[LlamaIndex]]
|
|
|
|
## 🤖 LLM 활용
|
|
**언제**: 자동 요약, semantic search, tag 추천, weekly review 초안.
|
|
**언제 X**: thinking 자체를 outsourcing — 본인이 이해 안 한 노트는 dead.
|
|
|
|
## ❌ 안티패턴
|
|
- Inbox 만 쌓고 process 안 함 → 검색 안 되는 묘지
|
|
- Note 가 길고 monolithic → 재사용 0
|
|
- 링크 없음 → flat list, 그래프 가치 0
|
|
- 도구 너무 자주 바꿈 (yak shaving) → 정작 노트는 안 씀
|
|
- AI 가 다 해줄 거라 가정 → 본인 사고가 죽음
|
|
|
|
## 🧪 검증 / 중복
|
|
- Verified (Obsidian docs, Logseq docs, Luhmann Zettelkasten, Forte PARA). 신뢰도 A.
|
|
|
|
## 🕓 Changelog
|
|
| 날짜 | 변경 |
|
|
|---|---|
|
|
| 2026-05-08 | Phase 1 |
|
|
| 2026-05-10 | Manual cleanup — 4 layer + 도구 비교 + AI 융합 patterns |
|