
마크다운 파일이 곧 메모리다 — Obsidian과 Claude Code로 만든 세컨드 브레인
이 블로그에 그동안 쓴 글들 — 복원력 5계층, 시리얼 콘솔, 무재시작정책 함정 — 은 전부 서버를 오래 굴리다 손에 익은 패턴입니다. 그런데 정작 그 패턴들을 어디에, 어떻게 쌓아두는가는 한 번도 쓴 적이 없습니다. 사실 그게 나머지 전부를 떠받치는 토대인데도요.
셀프호스트를 오래 하면 결정·함정·교훈이 머리 용량을 넘어섭니다. 6개월 전 내가 왜 그 선택을 했는지가 기억나지 않고, 메모는 앱 여기저기 흩어집니다. 그래서 정착한 게 평문 마크다운 볼트 한 곳에 다 모으고, 거기에 AI를 사고 파트너(thinking partner)로 붙이는 방식입니다. 최근 한 팟캐스트 영상(Greg Eisenberg × Internet Vin)을 보다가, 내가 이미 하던 이 방식을 다시 점검하게 됐습니다.
그 영상에서 가장 오래 남은 한 줄은 이거였습니다.
"토큰이 아니라 마크다운 파일이 메모리다." — 원문은 tokens are not the oxygen — markdown files are the memories.
처음엔 당연한 소리 같았는데, 곱씹을수록 내 작업 방식의 이름표였습니다. 정리해 두면 세 가지로 압축됩니다.
- 평문 마크다운이 단일 진실원 — 외부 DB도 데몬도 없이, 그냥 파일이다.
- 사람 글과 AI 글은 섞지 않는다 — AI는 볼트에 직접 쓰지 않는다.
- 쌓는 게 아니라 큐레이션 — 정보의 질이 에이전트의 능력을 정한다.
이 글은 제 개인 지식 관리 방식을 회고한 기록이지, "이렇게 따라 만들라"는 가이드가 아닙니다. 언급하는 도구는 모두 공식 배포처로 연결합니다.
왜 노션·메모 앱이 아니라 평문 마크다운인가
가장 자주 받는 질문입니다. 답은 단순합니다 — 로컬 평문이 가장 오래 살아남고, 가장 잘 읽힙니다.
- 단일 진실원(SSOT) — 노트가 Obsidian 같은 마크다운 볼트에 평문으로 있으면, 같은 파일을 사람도 읽고 에이전트도 읽습니다. 포맷이 곧 인터페이스라 변환 레이어가 없습니다.
- 로컬 전용 — 외부 DB도, 늘 떠 있어야 하는 데몬도, 텔레메트리도 없습니다. 인터넷이 끊겨도 내 지식은 손 안에 있습니다.
- 에이전트가 통째로 grep할 수 있음 — 클라우드 메모 앱은 "AI에게 내 노트 전부를 먹여라"가 잘 안 됩니다. 평문 디렉토리는 그냥 검색하면 됩니다.
여기엔 트라우마도 한몫했습니다. 예전에 평문 시크릿을 잘못 흘려 클라우드 계정이 정지된 적이 있습니다. 그 뒤로 제 볼트엔 규칙이 하나 박혔습니다 — 운영 비밀(토큰·키·내부 주소)은 볼트에 절대 쓰지 않고, 원격 저장소도 두지 않는다. 지식과 비밀은 다른 서랍에.
핵심은 "어떤 앱이 예쁘냐"가 아니라 **"5년 뒤에도 이 파일을 열 수 있나"**입니다. 평문 마크다운은 그렇습니다.
좋은 컨텍스트를 먹인다 — 능력을 정하는 건 모델이 아니다
영상에 feeding the beast good context(짐승에게 좋은 먹이를 준다)라는 표현이 나옵니다. 풀어 쓰면 "에이전트가 가진 정보의 질이, 에이전트가 해줄 수 있는 일을 전부 결정한다."
저는 Claude Code를 볼트 위에서 돌립니다. 그런데 모델이 똑똑한 것과, 내 맥락을 아는 것은 다른 문제입니다. 같은 모델이라도 "내가 왜 unless-stopped를 전 스택에 강제했는지"를 적어둔 회고 노트를 먹였을 때와 안 먹였을 때의 답은 전혀 다릅니다. 모델 성능이 아니라 내가 떠먹인 컨텍스트가 가른 차이입니다.
그래서 제 작업의 절반은 코딩이 아니라 컨텍스트 엔지니어링입니다 — 무엇을 노트로 남기고, 무엇을 버리고, 어떻게 연결할지. 토큰을 많이 쓰는 게 아니라, 좋은 마크다운을 쌓는 것입니다.
사람 글과 AI 글은 섞지 않는다
영상에서 가장 강하게 공감한 원칙입니다. AI는 볼트에 직접 쓰지 않는다. 영상의 표현으로는 "내가 생각하는 것에서 끌어내지, 그것이 생각하는 것에서 끌어내지 않는다."
이건 제가 이미 시스템으로 굳혀둔 방식과 똑같았습니다. 저는 여러 기기에 워커를 분산한 작은 에이전트 함대를 굴리는데, 규칙이 하나 있습니다 — 워커는 초안만 만들고, 볼트에 편입하는 건 사람이 게이트한다.
에이전트(워커) → 초안 생성 (격리된 작업 공간)
│
사람 게이트 (검토 · 시크릿 점검 · 링크 검증)
│
└→ 볼트(SSOT)에 편입
왜 이렇게까지 하냐 — 볼트가 오염되면 다음 답변이 그 오염을 먹기 때문입니다. AI가 추측으로 채운 문장이 내 "기억"으로 굳으면, 다음번 에이전트는 그걸 사실로 알고 위에 또 쌓습니다. 틀린 기억이 복리로 불어나는 구조죠. 실제로 이 게이트에서 워커가 흘릴 뻔한 내부 주소나 깨진 링크를 사람이 잡아낸 적이 여러 번입니다.
한 줄 요약: AI는 후보를 가져오고, 채택은 사람이 한다.
자기개선 루프 — 작업이 다음 작업을 똑똑하게
볼트가 단순한 노트 더미가 아니라 루프라는 게 핵심입니다.
작업
├ 회고 — 무엇이 통했나 · 어디서 틀렸나 · 왜 그 결정을 했나
└ 반복되는 패턴 → 재사용 절차로 승격 → 다음 작업서 자동 재로딩
작업이 끝나면 회고 노트를 남깁니다. 같은 함정을 두 번 밟았거나 절차가 반복되면, 그걸 재사용 가능한 절차로 승격합니다. 그러면 다음에 비슷한 일을 할 때 에이전트가 그 절차를 먼저 읽고 시작합니다. 스스로 개선하는(self-improving) 거라고 해도 모델 가중치를 바꾸는 게 아니라 — 밖에 적어둔 마크다운을 다시 먹이는 것뿐입니다. 거창한 강화학습이 아니라, 외부화 + 큐레이션 + 재로딩.
이 블로그의 글들도 사실 그 루프의 산출물입니다. 무재시작정책 함정은 같은 사고를 두 번 겪고 나서야 회고로 굳었고, 굳은 뒤엔 같은 실수를 안 합니다.
에이전트에게 그래프를 먹인다 — 메타인지 렌즈
여기서부터는 영상에서 가져와 지금 시도 중인 부분입니다. 아직 완성형은 아닙니다.
제 빈틈을 솔직히 적자면, 그동안 노트 사이의 연결(backlink·그래프)을 수동 grep으로 뒤졌습니다. 에이전트는 "내가 던진 검색어"만큼만 봤지, 볼트의 링크 구조 자체는 못 봤습니다. 영상은 여기를 정확히 찔렀습니다 — 공식 CLI로 backlink·그래프 메타데이터를 에이전트에 노출하면, 에이전트가 내가 못 본 패턴을 표면화한다는 것. (영상 시점 신규 도구라, 저는 실재·설치를 검증한 뒤에 들일 생각입니다.)
더 끌린 건 메타인지 커맨드였습니다. 작업용 명령(검색·정리)만 있던 제 도구에 없던, 자기성찰용 렌즈입니다.
| 렌즈(커맨드) | 무엇을 표면화하나 |
|---|---|
/trace | 한 개념이 볼트에서 시간축으로 진화한 과정 |
/drift | 선언한 의도 vs 실제 행동의 간극 |
/emerge | 볼트가 암시하지만 명시 안 한 결론 |
/challenge | 현재 믿음을 과거 기록으로 반박 |
특히 /drift라는 발상이 뼈아팠습니다. 가령 "보안 백로그를 정리하겠다"고 선언해 놓고 실제로 닫은 항목과 대조하면 — 말과 행동의 간극이 그대로 드러날 겁니다. 사람한테 들으면 잔소리지만, 에이전트가 내 기록을 근거로 짚으면 변명할 수가 없죠. 이게 사고 파트너의 진짜 가치입니다 — 답을 주는 게 아니라 내가 안 보는 곳을 비추는 것.
함정 — 도구가 아니라 나를 경계한다
좋아 보여서 다 들이면 망합니다. 직접 밟은 것들입니다.
- 과설계(YAGNI) — 혼자 쓰는 볼트에 노트가 수십 개인데 자동화 파이프라인부터 깔면 배보다 배꼽입니다. 저는 수동 루프로 가치를 입증한 뒤에만 자동화합니다. 지금도 큐레이션은 손으로 합니다.
- 통째로 읽기 비용 — 볼트 전체를 먹이면 답 한 번에 수 분씩 걸립니다. 그래서 grep으로 범위를 좁혀 필요한 노트만 먹입니다. "다 읽혀라"는 매력적이지만 느리고 비쌉니다.
- 전제는 실측으로 검증 — 노트도 틀립니다. "예전에 이렇게 정리해뒀으니 맞겠지"가 가장 위험합니다. 기록은 출발점이지 증거가 아닙니다.
- 단일 방법 과신 금지 — 한 검색, 한 노트로 결론 내지 말고 적대적으로 한 번 더 의심합니다. 제 1차 검색이 불완전했던 적이 한두 번이 아닙니다.
정리
- 마크다운 파일이 메모리다 — 모델 성능이 아니라 떠먹인 컨텍스트가 능력을 정한다.
- 평문 · 로컬 · 단일 진실원 — 5년 뒤에도 열리고, 비밀은 다른 서랍에.
- 사람 글과 AI 글 분리 — AI는 초안, 진실원은 사람이 게이트. 오염은 복리로 불어난다.
- 자기개선 루프 — 작업 → 회고 → 승격 → 재로딩. 학습은 가중치가 아니라 외부화다.
- 메타인지 렌즈 — 내가 선언한 것과 실제 한 것의 간극을 에이전트가 짚게 한다.
세컨드 브레인은 거창한 도구가 아닙니다. 좋은 마크다운을 꾸준히 큐레이션하고, 사람과 AI의 역할을 나누는 규율입니다. 도구는 거들 뿐, 진실원을 지키는 건 결국 사람입니다.
개인 지식 볼트를 AI 사고 파트너로 운영하며 정착한 방식을, 한 영상에 자극받아 다시 회고하며 정리했습니다.