방치된 노션 메모, 옵시디언과 Kiro로 나만의 맥락 시스템 만들기

메모를 모으는 건 쉽다. 진짜 어려운 건 모은 메모를 다시 꺼내 쓰는 것이다.
나는 지난 몇 년간 노션에 메모를 쌓아왔다. 투자 전략, IT 공부 노트, 여행 기록, 커리어 고민, 육아 메모 — 온갖 것들이 노션 워크스페이스 구석구석에 흩어져 있었다. PARA 방식으로 나름 분류해봤지만, 시간이 지나면서 어디에 뭘 넣었는지 기억이 안 나고, "그때 메모한 건데..." 하면서 검색을 돌려야 하는 상황이 반복됐다.
그래서 Kiro(에이전틱 IDE)를 활용해 노션과 옵시디언의 메모를 체계적으로 재구조화했다. 34개 프로젝트 마이그레이션, 100개 이상의 노트 링크 재구성, 8건의 중복 감지 및 병합까지 — 수작업이었으면 일주일은 걸렸을 작업을 4~5일 만에 끝냈다. 이 글에서는 그 과정과 결과를 정리한다.
목차
메모 관리의 좌절기: PARA와 노션
2020년쯤부터 노션을 본격적으로 사용하기 시작했다. 처음엔 Tiago Forte의 PARA(Projects, Areas, Resources, Archives) 방식으로 노트 정리를 시도했다.
PARA는 메모를 네 가지 용도로 분류하는 프레임워크다:
| 분류 | 역할 | 예시 |
| Projects | 기한이 있는 진행 중 프로젝트 | "포트폴리오 사이트 만들기" |
| Areas | 지속적으로 관리해야 할 영역 | "건강", "재정", "커리어" |
| Resources | 관심 주제별 참고 자료 | "투자 전략", "요리 레시피" |
| Archives | 완료/비활성화된 항목 보관 | 끝난 프로젝트, 지난 자료 |
단순하고 직관적이어서 처음엔 잘 작동했다. 크게 오야가 되는 페이지를 네 개로 나누고, 메모를 각각의 목적에 맞게 분류해서 넣고, 끝.
문제는 시간이 지나면서 하나둘 나타났다.
- Projects에 넣은 메모가 완료 후 Archives로 옮겨져야 하는데, 귀찮아서 안 옮긴다
- Areas와 Resources의 경계가 모호하다 — "투자 전략"은 Area인가 Resource인가? 매번 고민하다 결국 아무 데나 넣는다
- 메모끼리의 연결이 없다 — 예를 들면 "루틴"에 대해 적은 메모가 "행동주의" 메모와 관련 있다는 걸 내 머릿속에서만 알고 있다
- 시간이 지나면 어디에 뭘 넣었는지 잊어버린다. 그리고 같은 내용을 또 적는다
- 메모가 여러 페이지를 자유롭게 왔다갔다해야 하는데, 양이 너무 많고 각각의 형식이 달라서 옮기는 작업에 손대기 어려웠다
- 항상 확인해야 하는 메모들을 넣기 위한 고정 메모 페이지를 만들었는데, 일단 거기에 전부 적고 보는 습관이 생겨서 결국 페이지 하나에 무한하게 메모가 증식했다
- 3계층을 넘어가는 깊이가 생겨서 일부 메모들은 찾아보기 번거로워졌다
- 구색 맞추기식 빈 페이지들이 왕창 생겨서 오히려 찾아보는데 시간이 더 걸린다
- 겉보기에는 예쁘게 아이콘도 넣고 색깔도 예쁘게 해서 보기만 해도 만족해버렸다 (보기만 한다 ㄹㅇ...)
- 속성에 복잡한 수식을 넣고 직관적이라고 만족스러웠지만, 실질적으로 내 행동의 개선에 도움을 주진 못했다
결국 노션 워크스페이스는 "잘 정리된 것 같지만 실은 방치된" 상태가 됐다. 정리하는 데 쓴 시간 대비 실제로 다시 꺼내본 적은 거의 없었다. 내 자신의 문제이기도 했지만, PARA의 각 분류 기준이 모호하고 서로 유연하게 이동할 수 있던 점이 오히려 걸림돌이 된 것 같기도 하다.
왜 옵시디언(Obsidian)인가?
옵시디언의 강점: 로컬 + 링크 기반
이미 다들 추천받거나 해서 알고 있겠지만, 마크다운이나 그래프 뷰라는 특징이 가장 컸다. 특히 .md 파일로 관리하면 AI에게 그대로 데이터를 먹여서 나에 대한 컨텍스트를 한번에 줄 수 있다는 점도 컸다.
- 로컬 마크다운: 모든 노트가 내 맥북에
.md파일로 존재한다. 서비스 종료 걱정 없음 - 위키링크
[[노트명]]: 노트 간 연결이 극도로 쉽다.[[만 치면 자동완성으로 링크 완성 - 그래프 뷰: 노트 간 연결을 시각적으로 볼 수 있다. 생각지 못한 연결을 발견하는 경험이 꽤 좋다
- 플러그인 생태계: Remotely Save로 S3 동기화, Dataview로 동적 목록 등 확장이 자유롭다
- AI/자동화 친화: 로컬
.md파일이므로 외부 스크립트나 AI가 직접 읽고 쓸 수 있다. 이게 이번 프로젝트의 핵심이었다
겸사겸사 커뮤니티 플러그인을 이용한 S3 동기화 겸 백업도 AWS를 살짝 써본다는 점에서 재밌고 유익해서 더 좋았다.
특히 그래프 뷰와 마크 다운, 위키링크의 기능들이 내가 적용하고 싶었던 LYT 프레임워크랑 굉장히 상성이 좋았기 때문에 결국 도입하게 되었다.

LYT 프레임워크란
옵시디언으로 옮기면서 도입한 것이 Nick Milo의 LYT(Linking Your Thinking) 프레임워크다. LYT의 핵심은 폴더가 아닌 링크로 지식을 연결한다는 것이다.
구조는 이렇다:
HOME (최상위 진입점)
├── MOC (Maps of Content — 주제별 허브 노트)
│ ├── 📌 투자
│ ├── 📌 IT 기술 공부
│ ├── 📌 생산성 개선
│ └── ... (18개 MOC)
├── Cards (개별 지식 노트)
│ ├── 투자 전략.md
│ ├── 루틴.md
│ └── ...
└── Source (외부 자료 정리)
핵심은 MOC(Maps of Content)다. 폴더와 비슷하지만 결정적으로 다른 점은 — MOC는 노트 안의 링크 모음이라는 것이다. 하나의 카드가 여러 MOC에 동시에 속할 수 있고, 카드끼리도 서로 링크로 연결된다. PARA의 "하나의 메모는 하나의 폴더에만 존재" 제약이 사라지는 것이다.
왜 노션도 버리지 않았는가?
노션을 아예 버리지 않은 이유는 몇 가지가 있다. 노션은 메모 양이 너무 많지 않을 때 한눈에 보기 편했다. 아무렇게나 적어도 내용이 예쁘게 보이기도 하고, 계층 구조가 너무 깊지만 않으면 페이지나 데이터베이스 기능을 통해서 관련된 문서들을 정리하는 것도 편했다. 정렬이나 속성들을 내 맘대로 주는 것도 재밌었고.
그리고 템플릿 기능을 이용해서 매번 반복되는 일을 입력할 때 편했고, 옵시디언처럼 번거롭게 S3 설정 없이 여러 기기에서 심리스하게 이용할 수 있는 점도 좋았다. 타인과 공유할 때 상당히 편리하다는 점도 빼놓을 수 없었다.
PPV 프레임워크란
대신 정리 방식을 PARA에서 PPV(Pillars, Pipelines, Vaults)로 전환했다. August Bradley가 만든 프레임워크로, PARA보다 좀 더 내 삶의 구조에 맞게 설계되어 있다.
| 레이어 | 역할 | 내 경우 |
| Pillars | 삶의 핵심 책임 영역 (변하지 않음) | 가족, 커리어, 재정, 건강, 자기계발, 창작 |
| Pipelines | 현재 진행 중인 프로젝트/활동 | 포트폴리오 만들기, AWS 공부, 블로그 운영 |
| Vaults | 완료된 프로젝트, 보관 자료 | 여행 기록, 기술 메모 아카이브 |
PPV의 장점은 "이 활동이 내 삶의 어느 영역에 기여하는가"를 추적할 수 있다는 점이다. PARA에서는 Projects가 끝나면 Archives로 가는데, PPV에서는 Pipelines가 끝나면 Vaults로 가면서 동시에 어떤 Pillar에 기여했는지가 남는다.

양쪽을 모두 쓰는 이유
노션을 버리지 못했기도 하고, PPV 프레임워크에서는 노션이 더 적합하다는 인상을 받았다. LYT는 설명했다시피 옵시디언이 유리하다고 판단했다. 욕심쟁이인 나는 노션과 옵시디언을 둘 다 쓰면 두 프레임워크를 모두 내 삶에 접목시킬 수 있다고 판단했다.
결론적으로 노션과 옵시디언을 역할 분담시켰다:
| 노션 (PPV) | 옵시디언 (LYT) | |
| 용도 | 프로젝트/활동 관리, PDCA 추적 | 지식 축적, 아이디어 연결 |
| 시간축 | 현재~미래 (할 일 중심) | 과거~현재 (배운 것 중심) |
| 구조 | 계층형 (Pillars → Pipelines → Vaults) | 네트워크형 (Home → MOC → Cards) |
| 데이터 | DB, 캘린더, 프로퍼티 | 마크다운, 위키링크, 태그 |
완료된 프로젝트는 노션에서 archive 처리한 뒤, 핵심 인사이트만 옵시디언 카드로 추출하여 지식 베이스에 축적한다. 노션은 "지금 뭘 하고 있는가", 옵시디언은 "그동안 뭘 배웠는가"를 담당하는 셈이다. 또한 옵시디언은 AI에게 입력으로 주고, 이따금 출력으로 꺼내오는 역할도 담당한다.
AI로 메모를 구조화하기까지
여기서부터가 본론이다. 개념은 이해했는데, 문제는 실행이다. 100개 이상의 옵시디언 노트를 재연결하고, 노션의 30개 넘는 페이지를 재분류하는 건 수작업으로는 며칠이 걸린다. 그래서 Kiro(에이전틱 IDE)를 활용하여 체계적으로 작업했다.
전체 프로젝트는 4개의 스펙(Spec)으로 나눠서 진행했다.
Step 1: 안전한 작업 환경 구축 — Vault Staging
첫 번째로 한 일은 "옵시디언 원본을 절대 직접 건드리지 않는" 안전장치를 만드는 것이었다.
언론에서는 AI가 허가 없이 실제 환경을 삭제했다거나 데이터베이스를 전부 날려서 힘들게 복구했다는 기사들이 이따금 나온다. AI를 쓰다 보면 솔직히 나도 날리지 않을까 이따금 두렵기도하고, 실제로 저렇게 다 날리지 않더라도 어디서부턴가 꼬여서 다시 하고 싶어질 때도 많았다. 그렇기에, 언제든 수정 전으로 안전하게 돌아갈 수 있는 방법이 필요했다.
내 옵시디언 볼트는 S3 + Remotely Save 플러그인으로 다른 기기와 동기화되고 있다. AI가 실수로 원본을 잘못 수정하면 그게 모든 기기에 전파된다. 그래서 Git의 staging area 개념을 빌려와 Staging 구조를 도입했다:
[AI가 작업하는 영역] [실제 볼트]
vault-staging/ →→→ Obsidian Vault
(읽기/쓰기) apply (읽기 전용)
AI는 원본 볼트를 읽기만 하고, 수정은 전부 vault-staging/ 디렉토리에 한다. 내가 diff를 확인하고 승인하면 그때 비로소 apply-to-vault.sh 스크립트로 실제 볼트에 복사한다.
이 구조 덕분에 AI가 수백 개 파일을 한번에 수정하더라도, 내가 diff-staging.sh로 변경사항을 하나하나 확인한 뒤 반영할 수 있었다.
Step 2: 옵시디언 LYT 재구성
안전장치가 갖춰진 뒤, 기존 옵시디언 볼트를 LYT 프레임워크에 맞게 재구성했다.
| 작업 | 구체적 내용 |
| HOME 노트 허브화 | 18개 MOC를 6개 카테고리(자기개발, IT/기술, 재테크/사업, 건강/미용, 취미/프로젝트, 자전적 기록)로 그룹핑 |
| MOC → Cards 링크 보강 | 투자 MOC에 11개 카드, 건강관리 MOC에 4개, 생산성 MOC에 2개 등 위키링크 추가 |
| 떠도는 노트 정리 | 루트의 날짜 노트 3개 → 30Calendar/, 이미지 파일 2개 → media/, 잘못 배치된 노트 2개 → 20Cards/ |
| Cards 간 상호 링크 | "루틴" ↔ "행동주의" ↔ "공부법" 같은 관련 카드끼리 쌍방향 링크를 연결하여 고아 노트를 없앰 |
Kiro에게 "투자 MOC에 20Cards/투자,금전 관련/ 폴더의 모든 카드를 링크해줘"라고 지시하면, AI가 폴더를 읽고, 파일 목록을 확인하고, 위키링크를 생성해서 staging에 수정본을 만든다. 나는 diff만 확인하고 승인하면 끝이다. 수작업으로 했으면 며칠은 족히 걸렸을 일이다.
Step 3: 노션 PPV 재정비
옵시디언과 병렬로, 노션 워크스페이스도 PPV 구조로 전환했다. 기존에 비어있던 Pillars에 삶의 핵심 영역을 정의하고, 흩어진 페이지들을 올바른 위치로 재분류했다.
| 작업 | 처리 내용 |
| Pillars 정의 | 6개 핵심 영역 생성: 👨👩👦 가족, 💼 커리어/개발, 💰 재정/투자, 🏥 건강, 🌱 자기계발, 🎨 창작/표현 |
| Vaults 카테고리화 | 옵시디언 MOC와 1:1 대응하는 13개 카테고리 생성 (💻 IT 기술, 📈 투자, ⚡ 생산성 개선 등) |
| 페이지 재분류 | 30개 이상의 페이지를 AI가 내용을 읽고 적절한 레이어로 이동 제안 → 내가 승인 후 실행 |
| PPV 간 네비게이션 | 각 레이어 페이지 상단에 나머지 두 레이어로의 바로가기 callout 추가 |
인상적이었던 건 재분류 과정이다. Kiro가 Notion API(MCP)를 통해 각 페이지의 최하위 자식까지 재귀적으로 읽고 "이건 Pillar 성격이 아니라 Pipeline이에요"라고 판단해서, 재분류 계획을 표로 정리해 보여준다. 예를 들어 Pillars에 있던 "블로그 포트폴리오 만들기"는 진행 중인 프로젝트이므로 Pipelines로, "金家 철칙"은 가족의 가치관이므로 Pillars 유지 — 이런 식이다. 내가 하나씩 승인하거나 수정하면 Kiro가 실행하는 구조다.
다만 실제로 이동할 때, 노션 MCP로 이동이 불가능한 항목들(데이터베이스 등)이 있어서 사람 손이 좀 들어가긴 했다. 하지만 Kiro가 "이건 어디에서 어디로 옮기세요"라고 명확하게 알려주고 개수도 한정적이었기 때문에 할 만했다.
Step 4: 프로젝트 마이그레이션
마지막으로, 노션 #Projects 데이터베이스의 34개 프로젝트를 정리했다.
| 분류 | 개수 | 처리 방식 |
| Done/Canceled | 11개 | 옵시디언 카드로 아카이빙 (20개 신규 생성 + 4개 기존 카드 병합) |
| In progress/Planning | 5개 | 노션 PPV Pipelines에 유지, Pillar 연결 |
| Backlog/Paused | 18개 | 하나하나 내용을 확인하고 아카이빙/활성화/보관 중 결정 |
이 과정에서 Kiro가 141개 태스크를 분석해서 Rich_Task(본문 있음, 약 15%)와 Title_Only_Task(제목만 있음, 약 85%)를 자동 분류했다. Rich_Task는 옵시디언 카드 본문에 내용을 포함시키고, Title_Only_Task는 체크리스트 형태로 정리했다.
중복 감지도 수행했다. 예를 들어 노션의 "AWS certified DevOps Engineer" 프로젝트와 옵시디언에 이미 있던 "(공부중)AWS certified DevOps Engineer" 카드가 겹치는 걸 감지해서, 새 카드를 만들지 않고 기존 카드에 병합했다. 이런 식으로 총 8건의 중복을 발견해서 전부 정리했고, 최종적으로 21개 프로젝트를 노션에서 archive 처리했다.
Kiro를 어떻게 활용했는가
이전 게시글에서 AI와 서버리스로 포트폴리오 사이트를 1주일 만에 만든 경험을 공유했는데, 그때도 Kiro를 사용했다. 이번에는 코드가 아닌 데이터 마이그레이션에 Kiro를 활용한 케이스다. 핵심은 세 가지 기능이다.
MCP로 외부 시스템 연동
MCP(Model Context Protocol)를 통해 Kiro가 노션 API와 로컬 파일시스템에 직접 접근할 수 있었다.
| MCP 서버 | 역할 |
| Notion MCP | 노션 페이지 읽기, 블록 추가/삭제, archive 처리 |
| Filesystem MCP | 옵시디언 볼트 읽기, staging 영역 쓰기 |
"노션 Vaults 페이지의 하위 페이지를 전부 읽어줘"라고 하면 실제로 API를 호출해서 데이터를 가져온다. 단순한 텍스트 생성이 아니라 실제 시스템과 상호작용하는 것이 MCP의 핵심이다.
Spec 기반 작업 분해
각 작업을 Kiro의 Spec(요구사항 → 설계 → 태스크) 구조로 분해했다. 예를 들어 "LYT Restructure" 스펙은:
- Requirements: "HOME 노트가 모든 MOC로 연결되는 허브 역할을 해야 한다" 등 4개 요구사항
- Design: LYT 계층 구조, 변경 대상 노트 목록, 워크플로우 정의
- Tasks: 단계별 체크포인트로 나눈 실행 계획
이렇게 구조화하면 Kiro가 맥락을 잃지 않고, 내가 어디까지 진행했는지 추적할 수 있다. 세션이 끊겨도 스펙 문서를 보면 현재 상태를 바로 파악할 수 있어서, 여러 날에 걸쳐 작업을 이어가는 게 가능했다.
Steering으로 규칙 통제
가장 중요한 안전장치가 Steering 파일이다. .kiro/steering/obsidian-vault-rules.md에 이런 규칙을 정의해놨다:
- vault 원본은 절대 직접 수정하지 마라
- 모든 변경은 vault-staging/에서 수행해라
- 변경 전에 diff를 보여줘라
- 사용자 승인 후에만 반영해라
Kiro가 아무리 자율적으로 작업하더라도 이 규칙은 절대 넘지 못한다. 실제로 4개 스펙에 걸쳐 수백 번의 파일 조작이 있었는데, 원본 볼트를 직접 수정한 사고는 단 한 건도 없었다.

결과: 나만의 지식 베이스가 만들어졌다
전체 작업 결과:
| 작업 | 처리 내용 |
| 옵시디언 LYT 재구성 | HOME 허브화, MOC 18개 링크 보강, 떠도는 노트 7개 정리, Cards 상호 링크 |
| 노션 PPV 재정비 | Pillars 6개 영역 정의, Vaults 13개 카테고리 생성, 30+ 페이지 재분류 |
| 프로젝트 마이그레이션 | 34개 프로젝트 분류, 20개 옵시디언 카드 생성, 8건 중복 병합, 21개 노션 archive |
| 양쪽 시스템 통합 | Vaults 카테고리 = 옵시디언 MOC 1:1 매핑으로 분류 체계 통일 |
체감 효과:
- 탐색 시간 단축: HOME → MOC → Card 경로로 3클릭 이내에 원하는 노트에 도달
- 우연한 발견: 그래프 뷰에서 예상 못한 연결을 발견. "투자 전략이랑 행동주의를 연결이 가능하구나"
- 중복 제거: 같은 내용을 여러 곳에 적는 일이 사라짐. 하나의 카드를 여러 MOC에서 참조
- 노션 정리: PPV 구조 덕분에 "이건 지금 하고 있는 건가, 끝난 건가"가 한눈에 보임
- AI 연동 기반: 로컬 마크다운 + MCP 구조 덕분에 앞으로도 AI로 지식 베이스를 확장할 수 있는 토대가 생김
소감: AI는 실행력이다
이 프로젝트를 통해 가장 크게 느낀 건 AI의 실행력이다 — AI의 진짜 가치는 "답을 알려주는 것"이 아니라 "실행을 도와주는 것"이다.
물론 내가 모르는 것에 대해 질문하면 꽤 높은 정확도로 답을 알려주기도 하고, 답이 정해지지 않은 문제에서도 괜찮은 선택지들을 제안해준다. 하지만 결국 무엇을 할지 고르는 것도, 어떤 방식으로 할지 최종 결정하는 것도 나다. AI는 결국 실행을 도와주는 도구다.
LYT 프레임워크나 PPV 개념은 인터넷에 다 나와 있다. 유튜브 영상도 넘치고, 블로그 글도 수십 개라 써보고 싶다고 느끼는 것 자체는 누구나 가능할 것이다. 문제는 "알겠는데 그래서 기존 PARA로 정리한 내 메모 150개에 어떻게 새 프레임워크를 적용하지?"라는 실행 장벽이다.
이전이라면 이렇게 됐을 것이다:
- LYT/PPV 개념 학습 (1일)
- "나중에 정리해야지" 하고 방치 (영원히 방치 또는, 어느 날 갑자기 삘 받고 며칠간 밤새서 완성)
Kiro와 함께하니:
- LYT/PPV 개념을 스펙으로 구조화 (0.5일)
- Kiro가 현황을 파악하고 계획 수립 (1일)
- Kiro가 실행하고 내가 승인 (3~4일)
- 완료
"언젠가 해야지" 리스트에 있던 일을 실제로 끝낸 것이다.
물론 AI에게 전부 맡긴 건 아니다. 어떤 프레임워크를 쓸지, 어떤 카테고리로 나눌지, 이 페이지를 어디로 옮길지 — 의사결정은 전부 내가 했다. Kiro는 내 결정을 빠르고 정확하게 실행해주는 역할이었다. 그리고 그 "실행"이 이전까지는 너무 귀찮아서 영원히 미뤄뒀던 부분이다.
한계도 있었다. 노션의 데이터베이스 이동은 API로 불가능해서 내가 직접 드래그&드롭으로 처리해야 했고, 재분류 판단에서 Kiro가 맥락을 놓칠 때도 있었다. 그래도 전체 작업량의 대부분을 AI가 실행하고, 나는 검토와 결정에 집중할 수 있었다.
맺음말
이 글에서는 PARA → LYT/PPV로의 메모 관리 체계 전환 과정과, Kiro를 활용해 100개 이상의 메모를 구조화한 경험을 정리했다. 핵심은 세 가지다:
- 도구 선택: 옵시디언(지식 축적) + 노션(프로젝트 관리)의 역할 분담
- 안전한 자동화: Staging 구조 + Steering 규칙으로 AI의 실행력을 통제
- 실행 장벽 제거: 스펙 기반 작업 분해로 "언젠가 해야지"를 "이번 주에 끝내기"로 전환
메모 정리에 좌절한 적 있는 사람, PKM(개인 지식 관리)에 관심 있지만 실행이 막히는 사람, 옵시디언을 도입했는데 노트가 점점 쌓이기만 하는 사람에게 참고가 되면 좋겠다. 이만 글을 마친다.

밑에 공감 버튼 한 번씩 클릭 부탁드립니다!
내용에 관한 질문이나 의견이 있다면 댓글로 남겨주세요.
Copyright 2026 KIN All rights reserved.
KIN
'정보, 기술 > 개발 모음' 카테고리의 다른 글
| [개발 프로젝트] AI와 서버리스로 포트폴리오 사이트를 1주일 만에 만든 이야기 | 프로그래밍 비망록 (1) | 2026.05.15 |
|---|---|
| [Python] 가상 환경 활용하기 | 프로그래밍 비망록 (0) | 2024.07.10 |
| [토막글] MacOS Ventura 업데이트 후 error: invalid active developer path 해결법 (0) | 2022.11.14 |
| [Python] 리스트 이름 받아오기 (동적 할당, 참조 하는 법) | 파이썬 (0) | 2021.11.02 |
| 전자종이 디스플레이에 이미지 변환해서 표시하기 | 라즈베리파이 활용 (0) | 2021.08.22 |
댓글