목차(클릭하세요)
‘Gemma 4’+’옵시디언’ 을 활용한 나의 두뇌 복제하기
RAG가 정보검색에 강하다면, 지식체계 구조화는 나의 지식을 성장시키고 기록할 수 있음
단순히 도구를 알려주기보다는 예측 불가능한 AI시대에서 생존방향과 나의 철학을 정립하는 것이 보다 중요함!
[핵심]1. 지식은 마크다운으로 저장 2.옵시디언으로 지식 체계구조화 3. 체계화된 나의 지식구조를 활용해 AI Agent활용하기(gemma4)
0. 최종적으로 만들고자 하는 것은 무엇인가?
•
내 머리속에서 지식을 활용해 AI를 활용했다면, 그리고 그것들이 기록화되었다면,
•
아이디어의 출발점: 그 기록들을 하나의 지식그래프처럼 확장&연결한다면 그것이 바로 내 두뇌가 현재 작동하는 있는 형태이지 않을까?
•
따라서 지식을 먼저 축척하기 시작한다면, 나만의 Agent가 정말 ‘나’와 비슷하게 성장하지 않을까?
[참고자료]
•
깃허브: 안드레카파시의 ‘지식체계 구조화(LLM Wiki)
•
옵시디언 공식 사이트:
•
참고자료1
•
참고자료2
1. 왜 나만의 AI 두뇌가 필요한가?
1-1. 제2의 두뇌 개념
“일반적인 AI는 그럴싸하게 거짓말하지만, 42만 개로 쪼개진 10년치 지식 세포를 풀해서 오직 나만의 철학과 노하우가 담긴 데이터를 기반으로 대답한다.”
1.
데이터 네트워크: 내가 쌓아온 모든 경험, 지식, 콘텐츠를 점(node)으로 만들고 연결한 구조
옵시디언
2.
나만의 AI 모델: 그 데이터를 학습하고 분석하는 로컬 인공지능
ollama로 돌리고 있는 ‘(Gemma 4)’
이 두 가지가 결합될 때 비로소 “나를 닮은 AI” 가 탄생함.
[현재 AI 도구들의 한계]
일반 AI (ChatGPT, Gemini 등) | 나만의 AI 에이전트 |
인터넷 일반 지식 기반 | 내 5~6년 이상의 경험 기반 |
맥락 없이 매번 초기화 | 지식이 점점 축적·성장 |
토큰 비용 발생 | 로컬 실행, 비용 0원 |
데이터 외부 유출 위험 | 완전 보안, 오프라인 동작 |
1-2. 카파시의 LLM 위키 개념
“자신만의 지식을 마크다운 형식으로 구조화하고 축적하라. AI가 일반 텍스트를 읽는 게 아니라 키워드를 찾아 효율적으로 기억을 탐색하게 만들어야 한다.”
[RAG와 지식체계 구조화의 차이]
RAG: 질문마다 문서를 재검색하고 조합하여 즉각적으로 답을 내는 단발성 '읽기' 중심의 도구임.
LLM Wiki: 문서를 마크다운 위키로 누적·갱신하여 시스템 자체의 지식을 성장시키는 '쓰기 및 운영' 체계임.
결론: 두 방식은 경쟁 관계가 아니며, 지식 처리의 층위가 다른 상호 보완적 개념임.
2. 옵시디언(Obsidian)을 활용한 지식 연결망 구축
2-1. 마크다운으로 내 지식을 구조화해야 하는 이유!
일반 텍스트 | 마크다운 구조화 | |
AI 검색 | 전체 읽기 (토큰 낭비) | 키워드로 빠르게 탐색 |
지식 연결 | 불가능 | 태그·링크로 자동 연결 |
성장 방식 | 매번 초기화 | 점점 축적·강화 |
비용 | 토큰 대량 소비 | 효율적, 토큰 최소화 |
마크다운 기본 구조 예시:
---
id: 20260515
title: Gemma4 로컬 설치
tags: [AI, 로컬, Ollama]
date: 2026-05-15
---
## 핵심 내용
-Ollama 설치 후 gemma4:e2b 실행
-OLLAMA_NEW_ENGINE=false 설정 필수
## 관련 지식
[[Ollama]] [[로컬AI]] [[바이브코딩]]
Markdown
복사
2-2. 인간 뇌 구조를 닮은 그래프 네트워크
자전거를 떠올리면 하나의 기억만 나오지 않는다. 자전거 → 여행 → 친구 → 여름 이렇게 연결된 기억들이 함께 떠오른다.
옵시디언은 이 뇌의 연결 구조를 그대로 재현하는 도구임. 각 노트가 키워드로 연결되어 그래프 네트워크 형태를 이룸.
•
노트 하나 = 점(node) 하나 = 하나의 기억
•
키워드 링크 = 기억 간의 연결
•
그래프 뷰 = 내 지식 전체의 시각화
2-3. 옵시디언 설치 및 첫 번째 점 찍기
1.
설치:https://obsidian.md 접속
•
설치 완료된 모습
•
새로운 보관함을 생성한뒤, ‘보관함의 위치’는 내가 저장할 폴더를 선택
2.
시작화면
•
3분할 UI 구조(탐색기-편집기-그래프)
•
좌측 사이드바 : 지식의 저장소 및 파일 탐색기
◦
가장 왼쪽의 세로형 리본 메뉴를 통해 문서 검색, 그래프 뷰 열기, 설정 등 핵심 기능에 빠르게 접근할 수 있음.
•
중앙 편집기 : 지식의 가공 및 생산 공간
◦
노트의 제목과 본문을 작성하고 확인하는 메인 영역
•
우측 그래프 뷰 : 지식의 시각화 (Network)
◦
옵시디언의 정체성이자 가장 강력한 무기
2-3. 옵시디언 사용을 위한 기초지식
분류 | 용어/기능 | 의미 및 핵심 역할 | 노션과의 대응/비유 |
기반 구조 | Vault (보관함) | 옵시디언의 모든 노트와 첨부파일이 저장되는 최상위 로컬 폴더임: 하나의 독립된 지식 세계를 의미함. | 노션의 워크스페이스(Workspace) 개념과 유사함. |
기반 구조 | Markdown (마크다운) | 옵시디언이 사용하는 기본 텍스트 포맷임: 특정 플랫폼에 종속되지 않는 영구적인 데이터 보존이 가능함. | 노션의 일반 블록 텍스트가 변환되는 형태임. |
연결성 | WikiLink (위키링크) | [[노트제목]] 형태로 문서 간의 링크를 생성하는 문법임: 옵시디언 연결성의 핵심임. | 노션의 @페이지 멘션 기능에 대응됨. |
연결성 | Backlink (백링크) | 현재 노트를 인용하거나 링크를 걸어둔 다른 노트들의 목록을 보여주는 기능임: 지식의 역방향 추적이 가능함. | 노션 페이지 상단의 백링크와 동일함. |
연결성 | Graph View (그래프 뷰) | 노트 간의 연결 관계를 시각적인 네트워크 노드로 펼쳐주는 기능임: 지식의 군집과 확장을 한눈에 파악함. | 노션에는 없는 옵시디언만의 독보적인 무기임. |
분류성 | Tag (태그) | #단어 형태로 노트에 라벨을 붙이는 기능임: 문서의 상태나 유형을 그룹화하여 빠르게 필터링할 때 사용함. | 노션 DB의 선택(Select)/다중 선택 속성과 유사함. |
2-4. 옵시디언 한걸음
왼쪽 상단 새 노트 아이콘 클릭
→ 제목 입력 (예: 첫 번째 지식)
→ 내용 작성
→ 왼쪽 하단 그래프 뷰 아이콘으로 연결 확인
Plain Text
복사
•
이렇게 지식을 연결시킬때 사용하는 것이 바로 위키링크
•
# (태그): 노트에 특정 속성이나 상태라는 라벨을 붙여 그룹화하는 분류(Classification) 도구
◦
노트의 본질을 바꾸지 않고, 검색이나 필터링을 쉽게 하기 위해 메타데이터를 심는 행동
•
[[]] (위키링크): 노트와 노트 사이에 실질적인 통로를 뚫어 새로운 지식 개체를 생성하는 연결(Connection) 도구
◦
특정 단어를 클릭하면 이동할 수 있는 독립적인 '노트'로 격상시키는 행동
[[반드시 확인해야 할 1가지] 형태로 다른 노트와 연결하면 그래프 뷰에서 자동으로 연결선이 생김.
3. 지식 구조화 실전
3-1. 프롬프트 지식화 방법
•
잘 만든 프롬프트나 노하우를 재사용 가능한 지식으로 변환하는 과정
•
예시 프롬프트와 그 결과
{
"scene_description": "A surreal, high-octane cinematic concept art piece featuring a male athlete sprinting through a desert, pursued by a colossal, elemental cheetah formed entirely from swirling sand and dust.",
"subject": {
"type": "male athlete",
"age": "late 20s",
"features": {
"physique": "lean, muscular, runner's build",
"skin": "tanned/bronzed, sweat-glistening",
"expression": "intense focus, determination, mouth slightly open in exertion"
},
"attire": "light grey athletic t-shirt with a subtle white logo on the chest, matching athletic shorts, running cap or close-cropped hair",
"position": "mid-stride sprinting across a sand dune, leaning forward into the run"
},
"action": {
"primary": "sprinting dynamically across sand dunes",
"secondary": "kicking up a trail of dust and sand with every step",
"effect": "the motion creates a connection between the runner and the giant sand creature behind him"
},
"environment": {
"setting": "vast, sun-drenched desert dunes under a partly cloudy sky",
"foreground_elements": [
"flying sand particles",
"dune ridges",
"motion-blurred dust"
],
"background_elements": [
"deep blue sky with white cumulus clouds",
"rolling sand hills"
]
},
"visual_description": {
"core_subject": "A gigantic, hyper-realistic cheetah head and front paw emerging from a massive sandstorm.",
"creature_physics": "The cheetah is not solid; it is a volumetric simulation composed of millions of sand grains, dust, and wind. The edges of the fur dissolve into the sandstorm.",
"scale": "The cheetah is kaiju-sized, dwarfing the human runner, symbolizing speed and nature's power."
},
"lighting": {
"style": "High-contrast daylight",
"key_light": {
"type": "Harsh sun",
"direction": "Top-left",
"color": "Bright white/Warm daylight",
"illuminates": [
"the runner's profile",
"the textured ridges of the sand-cheetah's face"
]
},
"shadows": "Deep, sharp shadows casting definition on the sand ripples and the athlete's muscles"
},
"style": {
"medium": "Digital Art / VFX Concept",
"aesthetic": "Surrealism, Sports Advertising, Epic Cinematic",
"quality": "8k resolution, hyper-detailed particle simulation",
"details": "Grainy texture of sand, subsurface scattering in the dust clouds"
},
"scene_composition": {
"subject_action": "Dynamic movement from left to right",
"camera_behavior": "Low angle, wide lens to emphasize the massive scale of the sand creature",
"depth_layering": "Foreground runner -> Mid-ground Sand Cheetah -> Background Sky"
},
"lighting_and_atmosphere": {
"type": "Desert Day",
"specifics": "Atmospheric haze caused by the sandstorm, sun flares peaking through clouds",
"color_grade": "Desaturated blues, rich earthy beiges and tans, high contrast"
},
"attire_customization": {
"current_clothing": "Grey athletic t-shirt and shorts",
"customizable_clothing": "User can replace with specific sportswear brand kits or colors"
},
"brand_product_customization": {
"current_brand_product": "Generic athletic wear (resembling Nike)",
"customizable_brand": "Nike / Adidas / Puma",
"customizable_product": "Sportswear collection / Running shoes",
"product_placement_area": "Center chest of the t-shirt or the side of the shoes"
},
"objects_and_props": {
"main_objects": [
"Runner",
"Sand Cheetah Entity"
],
"secondary_objects": [
"Sand dunes",
"Dust clouds"
]
},
"camera_and_lens": {
"focal_length_feel": "24mm Wide Angle",
"aperture_effect": "f/8 (deep depth of field to keep both subjects relatively sharp)",
"camera_angle": "Low angle, tracking shot",
"lens_type": "Cinema Prime",
"bokeh_style": "Motion blur on the edges"
}
}
Plain Text
복사
•
이 프롬프트를 지식 체계에 넣고 싶다면?
아래의 형태로 프롬프트 지식화 및 구조화해줘.
# [[Title of Concept/Entity]]
## 📌 Brief Summary
(A concise 1-2 sentence definition of this topic.)
## 📖 Core Content
(Detailed explanation synthesized from raw sources.)
## 🔗 Knowledge Connections
- **Related Topics:** [[Related-Concept-A]], [[Related-Concept-B]]
- **Projects/Contexts:** [[Project-Name]]
- **Contradictions/Notes:** (e.g., "Source X claims this, but Source Y disagrees.")
---
*Last updated: 오늘 날짜*
프롬프트:
- result: 결과 요약
- connections: 연관 지식 링크
[프롬프트 내용]
(여기에 구조화할 프롬프트 붙여넣기)
Plain Text
복사
•
이렇게 옵시디언에 연결할 수 있는 스킬을 만들고 저장하기!
•
옵시디언 스킬 지침
---
name: obsidian-knowledge
version: 2.0
description: |
옵시디언(Obsidian) 지식 연결 스킬. 프롬프트, 개념, 아이디어 등 임의의 원본 자료를
옵시디언 [[백링크]] 기반의 지식 그래프에 연결 가능한 노트 형식으로 변환함.
트리거 (아래 키워드 중 하나라도 포함되면 자동 적용):
한국어: 옵시디언, 지식연결, 지식 연결, 지식 체계화, 지식 그래프,
지식 노드, 노트 지식화, 프롬프트 구조화, 지식화, 백링크
영어: obsidian, onsidian, knowledge graph, knowledge link,
knowledge node, backlink, second brain, PKM
---
# Obsidian Knowledge Structuring Skill v2
## 🎯 목적
임의의 원본 자료를 옵시디언의 **[[백링크]] 기반 지식 그래프**에 밀도 높게 연결되는
노트로 변환함. 단순 요약이 아니라, **노드들이 실제로 그래프에서 연결되는** 구조를
만드는 것이 목표임.
---
## 🧠 핵심 설계 원칙: 왜 기존 방식은 파편화를 만드는가
옵시디언 그래프에서 노드가 고립되는 이유는 **본문 안에 위키링크가 없기 때문**임.
| 나쁜 예 (파편화) | 좋은 예 (연결됨) |
|---|---|
| 본문: "카파시의 4원칙을 적용한다" | 본문: "[[Andrej Karpathy]]의 [[카파시 4원칙]]을 [[Claude Code]]에 적용한다" |
| 맨 끝에만: `[[관련-개념-A]]` | 개념이 처음 등장하는 문장에서 즉시 위키링크 처리 |
| 허브 없이 모든 노트가 동등 | 상위 허브([[MOC]])와 하위 노드의 계층 구조 |
**규칙: 본문에서 개념이 처음 등장할 때 즉시 `[[위키링크]]`로 감쌀 것.**
---
## 📐 출력 템플릿
아래 구조를 **항상 그대로** 사용할 것. 섹션 순서·헤딩 레벨 변경 금지.
```markdown
---
tags: [태그1, 태그2]
aliases: [별칭1, 별칭2]
created: YYYY-MM-DD
---
# {노트 제목}
> 한 줄 요약: (이 노트가 무엇인지 15단어 이내로)
## 📌 Brief Summary
(1~2문장 핵심 정의. **처음 등장하는 핵심 개념은 모두 [[위키링크]]로 처리**할 것.)
## 🗺️ 이 노트의 위치
- 상위 개념: [[허브-노트-또는-MOC명]]
- 같은 레벨: [[비슷한-노트-A]] · [[비슷한-노트-B]]
- 하위 개념: [[세부-개념-A]] · [[세부-개념-B]] (있을 경우)
---
## 📖 Core Content
(원본 자료를 분석·합성한 상세 설명. **본문 전체에 걸쳐 개념이 처음 등장할 때마다
[[위키링크]]로 감쌀 것. 같은 개념의 두 번째 등장부터는 일반 텍스트로 써도 됨.**)
### {소주제 1}
(내용 — 핵심 개념 [[위키링크]] 포함)
### {소주제 2}
(내용 — 핵심 개념 [[위키링크]] 포함)
...
### 💬 원본 자료
(원본 프롬프트·JSON·텍스트를 코드블럭으로 삽입. 없으면 생략.)
---
### ✅ Result
- **용도:** (실제 활용 사례 목록)
- **핵심 변수:** (커스터마이징 가능 요소 목록. 해당 없으면 생략.)
---
## 🔗 Knowledge Connections
### 직접 연결 (이 노트가 링크하는 노트)
- [[개념-A]] — 연결 이유 한 줄
- [[개념-B]] — 연결 이유 한 줄
- [[프로젝트-또는-MOC]] — 연결 이유 한 줄
### 역방향 기대 (이 노트를 링크해야 할 노트들)
> 아래 노트들은 아직 존재하지 않거나, 이 노트를 백링크로 걸어야 할 후보임.
- [[노트명-A]]: {왜 이 노트가 현재 노트를 참조해야 하는가}
- [[노트명-B]]: {왜 이 노트가 현재 노트를 참조해야 하는가}
### ⚠️ 충돌·한계·주의
(출처 간 불일치, 도구별 동작 차이, 주의사항. 없으면 생략.)
---
*Last updated: YYYY-MM-DD*
```
---
## 📏 작성 규칙
### 1. Frontmatter (YAML)
- `tags`: 검색·분류용. 2~5개. 예: `[AI코딩, 에이전트, 프롬프트엔지니어링]`
- `aliases`: 이 노트를 다른 이름으로 부를 때. 예: `[하네스, Harness Engineering]`
- `created`: 오늘 날짜 `YYYY-MM-DD`
### 2. 인라인 위키링크 규칙 ⭐ (가장 중요)
**개념이 처음 등장하는 문장에서 즉시 `[[위키링크]]`로 감쌀 것.**
```markdown
❌ 나쁜 예:
Andrej Karpathy가 정립한 4가지 원칙은 AI 코딩 에이전트의 과설계를 막는다.
✅ 좋은 예:
[[Andrej Karpathy]]가 정립한 [[카파시 4원칙]]은 [[AI 코딩 에이전트]]의
[[과설계(Over-engineering)]] 문제를 막는다.
```
**위키링크 후보 기준:**
- 별도 노트로 존재하거나 존재할 가능성이 있는 개념
- 고유명사 (사람, 도구, 프레임워크, 프로젝트명)
- 이 노트에서 핵심적으로 다루는 개념어
- 상위/하위 범주 개념
**위키링크 금지 대상:**
- 일반 동사·형용사 ("좋은", "빠른", "사용한다")
- 너무 포괄적인 개념 ("AI", "코드", "파일")
- 이미 같은 문단에서 한 번 링크한 개념의 반복
### 3. 이 노트의 위치 섹션 (허브 구조)
옵시디언 그래프에서 **계층**이 생겨야 파편화가 사라짐.
- **상위 개념:** 이 노트가 속하는 MOC(Map of Content) 또는 더 넓은 개념 노트
- 예: `하네스 엔지니어링` → 상위: `[[프롬프트 엔지니어링]]` 또는 `[[AI 코딩 도구 MOC]]`
- **같은 레벨:** 비슷한 성격의 형제 노트
- **하위 개념:** 이 노트에서 파생되는 세부 노트 (있는 경우만)
> 상위 개념 노트가 아직 없더라도 반드시 작성할 것.
> 작성하는 순간 "예정 노트"로서 그래프에 연결점이 생김.
### 4. 역방향 기대 (Backlink Expectation)
기존 스킬에 없던 핵심 추가 사항.
현재 노트를 **링크해야 할 다른 노트들**을 명시함으로써,
나중에 그 노트를 작성할 때 이 노트를 잊지 않고 연결할 수 있게 함.
```markdown
### 역방향 기대
- [[Claude Code 사용법]]: 하네스 엔지니어링 적용 방법을 이 노트에서 참조해야 함
- [[AI 에이전트 코딩 원칙 MOC]]: 이 노트가 해당 MOC의 하위 항목으로 포함되어야 함
```
### 5. 파일명 슬러그
- 한국어 노트명 → 한국어 그대로 사용 가능 (옵시디언은 한글 파일명 지원)
- 영어 혼용 시 공백은 하이픈(-), 특수문자 제거
- 예: `하네스-엔지니어링-karpathy.md`
---
## 🔄 처리 흐름
```
원본 자료 입력
↓
1. 자료 유형 판단 (프롬프트 JSON / 개념 텍스트 / 혼합)
↓
2. 핵심 개념어 목록 추출
→ 위키링크 후보 확정 (고유명사, 핵심 개념, 도구명 등)
↓
3. 이 노트의 계층적 위치 파악
→ 상위 MOC / 같은 레벨 / 하위 개념 결정
↓
4. Frontmatter 작성 (tags, aliases, created)
↓
5. Brief Summary 작성 — 핵심 개념 [[위키링크]] 포함
↓
6. Core Content 작성 — 개념 첫 등장마다 [[위키링크]] 삽입
↓
7. Result 요약
↓
8. Knowledge Connections 작성
- 직접 연결: 이 노트가 참조하는 노트 + 연결 이유
- 역방향 기대: 이 노트를 참조해야 할 노트 목록
- 충돌·한계
↓
9. 파일명 slug 생성 → /mnt/user-data/outputs/{slug}.md 저장
↓
10. present_files 로 다운로드 링크 제공
11. 채팅창에는 Brief Summary + 위치 + Connections 요약만 출력
```
---
## ✅ 품질 체크리스트
출력 전 아래 항목 확인:
- [ ] Frontmatter (tags / aliases / created) 포함
- [ ] `> 한 줄 요약` 15단어 이내
- [ ] Brief Summary 2문장 이하 + [[위키링크]] 포함
- [ ] **`이 노트의 위치` 섹션 존재** (상위 개념 반드시 1개 이상)
- [ ] **본문 전체에 핵심 개념 첫 등장 시 [[위키링크]] 처리됨**
- [ ] 인라인 위키링크 총 **5개 이상** (맨 끝 섹션 제외, 본문 안에서 카운트)
- [ ] Knowledge Connections에 **역방향 기대** 섹션 존재
- [ ] Last updated 날짜 정확
- [ ] 원본 자료 유실 없이 Core Content에 반영
- [ ] /mnt/user-data/outputs/에 .md 파일로 저장
- [ ] present_files 호출로 다운로드 링크 제공
- [ ] 채팅 출력은 Summary + 위치 + Connections 요약만 (파일 중복 출력 금지)
---
## 📝 적용 예시 (Before / After)
### ❌ v1 방식 (파편화 유발)
```markdown
# [[하네스 엔지니어링]]
## 📌 Brief Summary
AI 코딩 에이전트를 제어하는 프레임워크임.
## 📖 Core Content
### 개념 정의
Andrej Karpathy가 만든 4가지 원칙으로 AI의 과설계를 막음.
## 🔗 Knowledge Connections
- **Related Topics:** [[Andrej Karpathy]], [[Claude Code]], [[프롬프트 엔지니어링]]
```
→ 본문에 위키링크 0개. 그래프에서 고립된 노드 생성됨.
---
### ✅ v2 방식 (그래프 연결 유발)
```markdown
---
tags: [AI코딩, 에이전트제어, 프롬프트엔지니어링]
aliases: [하네스, Harness Engineering, 카파시 스킬]
created: 2026-05-17
---
# 하네스 엔지니어링 — Karpathy 4원칙
> 한 줄 요약: AI 코딩 에이전트의 잘못된 질주를 막는 65줄짜리 구조적 고삐
## 📌 Brief Summary
[[Andrej Karpathy]]가 [[LLM 코딩 실패 패턴]]을 분석해 정립하고,
[[Forrest Chang]]이 [[CLAUDE.md]]로 구현한 **AI 에이전트 행동 제약 프레임워크**임.
## 🗺️ 이 노트의 위치
- 상위 개념: [[AI 코딩 도구 MOC]] · [[프롬프트 엔지니어링]]
- 같은 레벨: [[Claude Code 설정법]] · [[Cursor 룰 설정]]
- 하위 개념: [[카파시 4원칙]] · [[CLAUDE.md 전역 vs 프로젝트 설정]]
---
## 📖 Core Content
### 개념 정의
[[AI 코딩 에이전트]]는 코드를 못 짜는 게 아님.
오히려 너무 잘 짜고, 너무 빠르고, 너무 자신 있게 짬.
문제는 **잘못된 방향으로 전속력으로 달려버린다**는 것.
[[하네스(Harness)]]란 말 그대로 마구(馬具) — 말에게 채우는 고삐와 안장.
[[AI 에이전트]]에게 더 많은 자유를 주는 게 아니라,
올바른 작업 습관을 강제하는 구조적 제약을 의미함.
...
## 🔗 Knowledge Connections
### 직접 연결
- [[Andrej Karpathy]] — 4원칙 최초 관찰자
- [[CLAUDE.md]] — 원칙을 파일로 구현한 핵심 산출물
- [[과설계(Over-engineering)]] — 이 프레임워크가 해결하는 핵심 문제
### 역방향 기대
- [[AI 코딩 도구 MOC]]: 이 노트가 MOC의 하위 항목으로 포함되어야 함
- [[Claude Code 시작 가이드]]: 하네스 엔지니어링 적용법을 참조해야 함
- [[AI 수업 설계 원칙]]: 4원칙의 교육 적용 사례를 이 노트에서 인용해야 함
```
→ 본문 인라인 링크 8개 + 계층 구조 + 역방향 기대 → 그래프에서 밀도 높은 허브 노드 생성됨.
---
## ⚠️ 주의사항
1. **원본 손실 금지:** 원본 자료의 핵심 내용은 반드시 Core Content에 포함
2. **위키링크 과잉 금지:** 모든 단어를 링크로 감싸면 노이즈. 의미 있는 개념만.
3. **날짜 하드코딩 금지:** 항상 현재 날짜를 계산하여 삽입
4. **파일로 출력:** present_files 호출 필수. 채팅창 전체 출력 금지 — 파일이 정본임.
5. **허브 없이 출력 금지:** `이 노트의 위치` 섹션에 상위 개념이 반드시 1개 이상 있어야 출력 가능.
Plain Text
복사
•
테스트(안드레 카파시 스킬)
•
프롬프트 엔지니어링이라는 위키링크로 서로 연결된 지식
•
좀더 체계적인 관리를 위해 속성을 옵시디언 노트 앞쪽에 추가하여 스킬을 업데이트
•
나중에 옵시디언 노트가 많아지면 이것들을 한눈에 지식구조화로 볼려면 main파일이 있어야 하는거 아닌가??
•
옵시디언에서 지식이 쌓일수록 허브 역할을 하는 인덱스 노트가 없으면 그래프가 아무리 연결돼도 "어디서부터 봐야 하지?"가 됨.
[옵시디언을 제대로 활용하기 위한 구조]
📁 00_MOC (메인 허브)
└── 📄 HOME.md ← 최상위 진입점
├── [[AI 코딩 도구 MOC]]
├── [[AI 이미지 프롬프트 MOC]]
├── [[양파고 수업 설계 MOC]]
└── [[Mcp&skills MOC]]
├── [[하네스 엔지니어링]]
├── [[CLAUDE.md]]
└── ...
Plain Text
복사
지금 당장 만들어두면 좋은 파일 2개:
① HOME.md — 전체 지식의 출발점. 모든 MOC로 가는 링크만 있으면 됨.
② 주제별 XXX MOC.md — 예: AI 코딩 도구 MOC.md. 하위 노트들을 한 페이지에서 조망.
•
이런 형태를 만들기 위해 필요한 개념이 바로 MOC(Map of Content)
•
옵시디언이 설치된 폴더에 파일을 이렇게 저장하가
•
옵시디언 철학은 폴더 대신 태그·링크로 분류하는 것이므로 너무 많은 폴더-하위폴더-하위폴더 구조는 지향하기
•
실용적으로 딱 3개면 충분
📁 vault/
├── 📄 HOME.md
├── 📁 MOC/ ← MOC 파일들
├── 📁 notes/ ← 모든 일반 노트
└── 📁 assets/ ← 이미지·첨부파일
Plain Text
복사
•
assets폴더에 영상, 이미지, 한글파일을 저장할때 태그와 위키링크는 어떻게 설정하는가?
•
방법은?
📁 vault/
├── 📁 notes/
│ └── 하네스-엔지니어링-강의영상.md ← 이 노트가 허브 역할
└── 📁 assets/
└── harness_lecture.mp4 ← 실제 파일
Plain Text
복사
•
프로젝트 폴더를 많이 만들면 안되는 이유?
◦
Hermes Agent 같은 AI 에이전트를 옵시디언에 연결하면 결국 vault 폴더 전체를 하나의 지식베이스로 읽는 구조이기 때문
◦
하나의 vault, 잘 정리된 MOC 체계가 나중에 Hermes Agent 연동의 기반이 됨
3-2. 지식 구조 체계화를 위한 스킬(skill.md) 고도화
[양파고 최종 스킬]
---
name: obsidian-knowledge
version: 3.1
changelog:
"1.0": 최초 작성. Knowledge Connections 섹션에만 위키링크 배치.
"2.0": 인라인 위키링크 의무화 / 이 노트의 위치 섹션 / 역방향 기대 섹션 추가.
"2.1": Frontmatter links 속성 추가. flat 리스트 구조로 수정 (중첩 키 JSON 오파싱 버그 수정).
"3.0": P-Reinforce 아키텍처 통합. 00_Raw·10_Wiki·20_Meta 폴더 전략 / confidence_score / Policy.md 피드백 루프 / GitHub 연동 / 원본 보존 구조 추가.
"3.1": 00_Raw 원본 정의 명확화. 출처 무관(Claude 생성·수기 작성·웹 클리핑 등) 가공 전 자료 모두 포함. 비마크다운 데이터(JSON·CSV·코드)는 코드블럭으로 감싸 .md로 저장.
description: |
옵시디언(Obsidian) 지식 연결 스킬 v3.1.
P-Reinforce(RL 기반 자동 분류·폴더링·GitHub 동기화)와
양파고 v2.1(인라인 위키링크·MOC 계층·역방향 기대)을 통합한
자율 지식 정원(Autonomous Knowledge Garden) 구축 스킬.
트리거 (아래 키워드 중 하나라도 포함되면 자동 적용):
한국어: 옵시디언, 지식연결, 지식 연결, 지식 체계화, 지식 그래프,
지식 노드, 노트 지식화, 프롬프트 구조화, 지식화, 백링크
영어: obsidian, knowledge graph, knowledge link,
knowledge node, backlink, second brain, PKM
---
# Obsidian Knowledge Structuring Skill v3.1
## — P-Reinforce × 양파고 통합 에디션
---
## 🎯 목적
파편화된 원시 정보를 **자율 지식 정원(Autonomous Knowledge Garden)** 으로 변환함.
- **P-Reinforce 엔진:** RL 기반 자동 분류 · 폴더 설계 · GitHub 동기화
- **양파고 엔진:** 인라인 위키링크 의무화 · MOC 계층 · 역방향 기대
두 엔진이 결합되어 **에이전트 없이도 작동하고, 에이전트가 붙으면 자동화되는** 구조를 목표로 함.
---
## 📂 표준 Vault 구조
```
vault/
├── HOME.md ← 전체 지식의 최상위 진입점
│
├── 00_Raw/ ← [불변] 원본 데이터 보존 (Source of Truth)
│ └── YYYY-MM-DD/ ← 날짜별 원본 보관
│
├── 10_Wiki/ ← [자동 구조화] 지식 처리 층
│ ├── 🛠️ Projects/ ← 목표 중심 (진행 중인 프로젝트)
│ ├── 💡 Topics/ ← 개념 중심 (AI, 교육, 철학 등)
│ ├── ⚖️ Decisions/ ← 의사결정 기록 (왜 이렇게 판단했는가)
│ └── 🚀 Skills/ ← 실행 중심 (프롬프트, 워크플로우)
│
├── 20_Meta/ ← [시스템] 지식 엔진의 두뇌
│ ├── Graph.json ← 지식 연결 관계 데이터 (시각화용)
│ ├── Policy.md ← 사용자 피드백 반영 분류 정책 (RL Weights)
│ └── Index.md ← 위키 전체 입구 (= HOME.md 역할 보조)
│
├── MOC/ ← 주제별 Map of Content
│ ├── AI 코딩 도구 MOC.md
│ ├── AI 이미지 생성 MOC.md
│ ├── Mcp&skills MOC.md
│ └── 옵시디언 지식관리 MOC.md
│
└── assets/ ← 이미지·영상·첨부파일 저장소
```
> **핵심 원칙:**
> - `00_Raw/` 는 절대 수정하지 않음. 원본 그대로 보존.
> - `10_Wiki/` 는 에이전트(또는 수동)가 구조화한 지식만 배치.
> - `20_Meta/` 는 시스템이 자동 관리. 직접 편집 최소화.
> - `MOC/` 는 주제별 허브. HOME.md와 함께 탐색 진입점 역할.
---
## 📐 출력 템플릿
아래 구조를 **항상 그대로** 사용할 것. 섹션 순서·헤딩 레벨 변경 금지.
```markdown
---
id: {{UUID}}
tags: [태그1, 태그2]
aliases: [별칭1, 별칭2]
created: YYYY-MM-DD
last_reinforced: YYYY-MM-DD
confidence_score: 0.0
category: "[[10_Wiki/Topics/카테고리명]]"
links:
# 상위
- "[[MOC명 또는 상위개념]]"
# 같은레벨
- "[[비슷한-노트-A]]"
# 하위
- "[[세부-개념-A]]"
raw_source: "[[00_Raw/YYYY-MM-DD/원본파일명]]"
---
# {노트 제목}
> 한 줄 통찰: (이 지식의 핵심을 꿰뚫는 단 한 문장, 15단어 이내)
## 📌 Brief Summary
(1~2문장 핵심 정의. **처음 등장하는 핵심 개념은 모두 [[위키링크]]로 처리**할 것.)
## 🗺️ 이 노트의 위치
- 상위 개념: [[MOC명]] · [[상위개념]]
- 같은 레벨: [[비슷한-노트-A]] · [[비슷한-노트-B]]
- 하위 개념: [[세부-개념-A]] · [[세부-개념-B]] (있을 경우)
---
## 📖 Core Content
(원본 자료 분석·합성. **본문 전체에서 개념 첫 등장마다 [[위키링크]] 삽입.**)
### {소주제 1}
(내용 — 핵심 개념 [[위키링크]] 포함)
### {소주제 2}
(내용 — 핵심 개념 [[위키링크]] 포함)
### 💬 원본 자료
(원본 프롬프트·JSON·텍스트를 코드블럭으로 삽입. 없으면 생략.)
---
### ✅ Result
- **용도:** (실제 활용 사례)
- **핵심 변수:** (커스터마이징 가능 요소. 해당 없으면 생략.)
---
## ⚠️ 모순 및 업데이트
- **과거 데이터와의 충돌:** [[이전_문서]]와 달라진 점 기록. (없으면 생략)
- **정책 변화:** 이 문서로 강화된 분류 기준. (없으면 생략)
---
## 🔗 Knowledge Connections
### 직접 연결 (이 노트가 링크하는 노트)
- [[개념-A]] — 연결 이유 한 줄
- [[개념-B]] — 연결 이유 한 줄
### 역방향 기대 (이 노트를 링크해야 할 노트들)
> 아래 노트들은 작성 시 이 노트를 반드시 백링크로 포함해야 함.
- [[노트명-A]]: 연결해야 하는 이유
- [[노트명-B]]: 연결해야 하는 이유
### ⚠️ 충돌·한계·주의
(출처 간 불일치, 도구별 동작 차이, 주의사항. 없으면 생략.)
---
*Last reinforced: YYYY-MM-DD*
```
---
## 📏 작성 규칙
### 1. Frontmatter (YAML) 필수 속성
| 속성 | 설명 | 예시 |
|---|---|---|
| `id` | UUID (에이전트 자동 생성, 수동 시 생략 가능) | `a1b2c3d4` |
| `tags` | 검색·분류용 2~5개 | `[AI코딩, 에이전트]` |
| `aliases` | 다른 이름으로 링크될 때를 위한 별칭 | `[하네스, Harness]` |
| `created` | 최초 생성일 | `2026-05-17` |
| `last_reinforced` | 마지막 업데이트일 | `2026-05-17` |
| `confidence_score` | RL 기반 분류 확신도 0.0~1.0 (에이전트 자동, 수동 시 생략) | `0.85` |
| `category` | 이 노트가 속한 `10_Wiki/` 경로 | `"[[10_Wiki/Topics/AI코딩]]"` |
| `links` | 계층 관계 flat 리스트 (상위·같은레벨·하위 주석 구분) | 아래 참고 |
| `raw_source` | 원본이 보존된 `00_Raw/` 경로 | `"[[00_Raw/2026-05-17/원본]]"` |
**links 작성 예시 (flat 리스트 — 중첩 키 사용 금지):**
```yaml
links:
# 상위
- "[[AI 코딩 도구 MOC]]"
- "[[프롬프트 엔지니어링]]"
# 같은레벨
- "[[Claude Code 설정법]]"
- "[[Cursor 룰 설정]]"
# 하위
- "[[카파시 4원칙 상세]]"
- "[[CLAUDE.md 전역 vs 프로젝트 설정]]"
```
> ⚠️ 중첩 키(`상위: - "[[...]]"`) 사용 시 옵시디언이 JSON으로 오파싱함. 반드시 flat 리스트 + 주석 구조로 작성.
---
### 2. 인라인 위키링크 규칙 ⭐ (가장 중요)
**개념이 처음 등장하는 문장에서 즉시 `[[위키링크]]`로 감쌀 것.**
```markdown
❌ 나쁜 예:
Andrej Karpathy가 정립한 4원칙은 AI 코딩 에이전트의 과설계를 막는다.
✅ 좋은 예:
[[Andrej Karpathy]]가 정립한 [[카파시 4원칙]]은 [[AI 코딩 에이전트]]의
[[과설계(Over-engineering)]] 문제를 막는다.
```
**위키링크 후보 기준:**
- 고유명사 (사람, 도구, 프레임워크, 프로젝트명)
- 핵심 개념어 (별도 노트로 존재하거나 존재할 개념)
- 상위·하위 범주 개념
**위키링크 금지:**
- 일반 동사·형용사
- 너무 포괄적인 단어 ("AI", "코드", "파일")
- 같은 문단에서 이미 링크한 개념의 반복
---
### 3. 이 노트의 위치 섹션 (허브 구조)
상위 개념이 없으면 출력 금지. 반드시 1개 이상 명시.
- **상위:** 이 노트가 속하는 MOC 또는 더 넓은 개념 노트
- **같은 레벨:** 비슷한 성격의 형제 노트
- **하위:** 이 노트에서 파생되는 세부 노트 (있는 경우만)
구분자는 **`·` (중간점)** 으로 통일. `,` 와 혼용 금지.
---
### 4. 역방향 기대 (Backlink Expectation)
현재 노트를 **링크해야 할 다른 노트들**을 미리 명시.
나중에 그 노트 작성 시 이 노트를 잊지 않고 연결하기 위한 장치.
---
### 5. Policy.md 피드백 루프
사용자가 노트를 이동·수정·칭찬할 때 `20_Meta/Policy.md`에 반영:
```markdown
## 분류 정책 변경 로그
| 날짜 | 행동 | 내용 | 가중치 변화 |
|---|---|---|---|
| 2026-05-17 | 이동 | "하네스 엔지니어링"을 Topics→Skills로 이동 | Skills 가중치 +0.1 |
| 2026-05-17 | 칭찬 | "치타 프롬프트 분류 완벽해" | 해당 카테고리 확신도 +0.05 |
```
---
### 6. GitHub 동기화 프로토콜
노트 작성·수정 후 아래 순서로 커밋:
```bash
git add .
git commit -m "[P-Reinforce] {Action_Summary}"
# 예: [P-Reinforce] Topics/AI코딩 폴더 생성 및 하네스 엔지니어링 노트 연결
git push origin main
```
커밋 성공 시 해당 노트의 `confidence_score` +0.05 보너스.
---
## 🔄 처리 흐름
```
원본 자료 입력
↓
1. 00_Raw/YYYY-MM-DD/ 에 원본 그대로 저장 (수정 금지)
- Claude 생성 노트 → 마크다운 그대로
- 수기 작성 초안 → 마크다운 그대로
- 웹 클리핑 → 복사한 텍스트 그대로
- JSON·CSV·코드 → 코드블럭으로 감싸 .md로 저장
↓
2. 20_Meta/Graph.json + Policy.md 읽어 현재 지식 지형도 파악
↓
3. 유사도 판단
- 85% 이상 → 기존 폴더 배치
- 85% 미만 → 신규 폴더 생성 (상위 개념 도출)
- 특정 폴더 12개 초과 → 세분화(Refactoring) 제안
↓
4. 위키링크 후보 추출 (고유명사·핵심 개념·도구명)
↓
5. 계층적 위치 파악 (상위 MOC / 같은레벨 / 하위)
↓
6. Frontmatter 작성
(id · tags · aliases · created · last_reinforced ·
confidence_score · category · links · raw_source)
↓
7. Brief Summary 작성 — 핵심 개념 [[위키링크]] 포함
↓
8. Core Content 작성 — 개념 첫 등장마다 [[위키링크]] 삽입
↓
9. 모순 및 업데이트 섹션 — 기존 노트와 충돌 여부 확인
↓
10. Knowledge Connections 작성
- 직접 연결 + 역방향 기대 + 충돌·한계
↓
11. 10_Wiki/ 적절한 하위 폴더에 파일 저장
↓
12. 20_Meta/Policy.md 업데이트
↓
13. GitHub 커밋
↓
14. present_files 로 다운로드 링크 제공
채팅창에는 Brief Summary + 위치 + Connections 요약만 출력
```
---
## ✅ 품질 체크리스트
출력 전 아래 항목 확인:
- [ ] `00_Raw/` 에 원본 보존 경로 명시 (`raw_source`)
- [ ] Frontmatter 전체 속성 포함 (id · tags · aliases · created · last_reinforced · confidence_score · category · links · raw_source)
- [ ] `links` flat 리스트 구조 확인 (중첩 키 사용 금지)
- [ ] `> 한 줄 통찰` 15단어 이내
- [ ] Brief Summary 2문장 이하 + [[위키링크]] 포함
- [ ] **`이 노트의 위치` 섹션 존재** (상위 개념 반드시 1개 이상)
- [ ] **본문 인라인 위키링크 5개 이상** (맨 끝 섹션 제외)
- [ ] 구분자 `·` 통일 (`,` 혼용 금지)
- [ ] `역방향 기대` 섹션 존재
- [ ] `모순 및 업데이트` 섹션 확인
- [ ] `last_reinforced` 날짜 정확
- [ ] `10_Wiki/` 적절한 하위 경로에 저장
- [ ] `20_Meta/Policy.md` 업데이트 여부 확인
- [ ] GitHub 커밋 메시지 작성
- [ ] present_files 호출로 다운로드 링크 제공
---
## ⚠️ 주의사항
1. **원본 손실 금지:** `00_Raw/` 원본은 절대 수정·삭제하지 않음
2. **위키링크 과잉 금지:** 의미 있는 개념만 링크. 모든 단어 링크 금지
3. **flat 리스트 준수:** `links` 중첩 키 사용 시 옵시디언 JSON 오파싱 버그 발생
4. **구분자 통일:** `·` 만 사용. `,` 혼용 시 시각적 불일치 발생
5. **허브 없이 출력 금지:** 상위 개념 없는 노트는 반드시 MOC 생성 후 연결
6. **파일로 출력:** present_files 호출 필수. 채팅창 전체 출력 금지
Plain Text
복사
[멘토J의 스킬]
[[P-Reinforce_Skill.md]]
📌 Brief Summary
P-Reinforce는Andre Karpathy의 LLM-Wiki 아키텍처와 강화학습(RL) 이론을 결합한 지식 자동화 에이전트입니다. 사용자가 던지는 파편화된 정보를 읽어 (1) 의미론적 분류 (2) 자동 폴더 생성 및 배치 (3) 지식 간 상호 연결 (4) GitHub 버전 관리를 인간의 개입 없이 수행합니다.
📖 에이전트 시스템 지침 (System Instruction)
Markdown
# Role: P-Reinforce Architect (The Autonomous Gardener)
너는 지식의 중력을 거스르는 'P-Reinforce' 엔진이다. 사용자의 원시 데이터를 영속적 위키로 변환하며, 모든 행동은 강화학습의 보상 정책에 따라 최적화된다.
# Core Mission
1. raw/ 폴더의 모든 입력을 실시간 모니터링하고 지식화하라.
2. 폴더 구조를 고정하지 말고, 지식의 맥락에 따라 스스로 '폴더 트리'를 설계하고 확장하라.
3. 지식의 파편들을 [[쌍방향 링크]]로 엮어 하나의 거대한 '외부 뇌'를 구축하라.
4. 모든 변화를 GitHub에 커밋하여 지식의 타임라인을 보존하라.
# 🧠 강화학습 기반 구조화 로직 (The RL Logic)
지식 배치 시 아래 보상 함수 $R$을 극대화하라.
$$R = w_1(\text{Categorization Accuracy}) + w_2(\text{Graph Connectivity}) + w_3(\text{User Satisfaction})$$
1. **상태(State) 분석**:
- 현재 `10_Wiki/` 하위의 모든 폴더 트리와 `20_Meta/Graph.json`을 읽어 지식의 지형도를 파악한다.
2. **행동(Action) - 분류 및 폴더링**:
- **기존 분류**: 유사도 85% 이상 시 기존 폴더 배치.
- **신규 생성**: 기존 카테고리에 맞지 않는 새로운 개념 등장 시 즉시 상위 개념을 도출하여 새 폴더 생성.
- **구조 재설계**: 특정 폴더의 파일이 12개를 초과하면 하위 카테고리로 세분화(Refactoring)를 제안한다.
3. **행동(Action) - 지식 합성**:
- Karpathy의 '영속적 위키' 템플릿에 맞춰 내용을 정제하고 최소 2개 이상의 관련 지식을 링크한다.
4. **보상(Reward) 및 정책 업데이트**:
- 사용자 피드백(이동, 수정, 칭찬)을 수집하여 `20_Meta/Policy.md`를 갱신하고 다음 분류 시 반영한다.
📂 P-Reinforce 표준 폴더 구조 (The Structure)
에이전트가 관리하는 폴더의 위계와 역할입니다.
Plaintext
root/
├── 00_Raw/ # [불변] 사용자로부터 입력된 가공되지 않은 모든 데이터
│ └── YYYY-MM-DD/ # 날짜별 원본 보관 (Source of Truth)
│
├── 10_Wiki/ # [자동 구조화] 에이전트가 RL 정책에 따라 관리하는 지식 층
│ ├── 🛠️ Projects/ # 목표 중심 (현재 진행 중인 일, 프로젝트별 요약)
│ ├── 💡 Topics/ # 개념 중심 (심리학, 코딩, 철학 등 스스로 생성한 분류)
│ ├── ⚖️ Decisions/ # 의사결정 중심 (왜 이렇게 판단했는가에 대한 기록)
│ └── 🚀 Skills/ # 실행 중심 (사용자만의 프롬프트, 워크플로우 패턴)
│
├── 20_Meta/ # [시스템] 지식 엔진의 두뇌 데이터
│ ├── Graph.json # 지식 간 연결 관계 데이터 (시각화용)
│ ├── Policy.md # 사용자 피드백이 반영된 분류 정책 (RL Weights)
│ └── Index.md # 위키 전체의 입구 (Table of Contents)
│
└── .github/ # GitHub Sync 설정 및 자동화 워크플로우
📝 지식 문서 변환 규격 (The Wiki Template)
에이전트가 최종적으로 생성/업데이트해야 하는 마크다운 형식입니다.
Markdown
---
id: {{UUID}}
category: "[[10_Wiki/Path/To/Folder]]"
confidence_score: 0.0 ~ 1.0 (RL 기반 확신도)
tags: [tag1, tag2]
last_reinforced: 2026-04-10
github_commit: "{{commit_hash}}"
---
# [[문서 제목]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> 이 지식의 핵심을 꿰뚫는 단 한 문장.
## 📖 구조화된 지식 (Synthesized Content)
- **추출된 패턴:** (파편화된 정보에서 찾아낸 반복 가능한 지혜)
- **세부 내용:** (불렛포인트 위주의 간결한 정리)
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **과거 데이터와의 충돌:** [[이전_문서]]와 달라진 점 기록.
- **정책 변화:** 이 문서를 통해 강화된 분류 기준 설명.
## 🔗 지식 연결 (Graph)
- **Parent:** [[상위_카테고리]]
- **Related:** [[연관_개념_A]], [[연관_개념_B]]
- **Raw Source:** [[00_Raw/YYYY-MM-DD/Original_Note]]
💻 GitHub 동기화 자동화 워크플로우 (Git Protocol)
스킬 실행 시 내부적으로 수행되는 명령어 시퀀스입니다.
Stage: git add . (새로운 구조와 문서 모두 포함)
Commit: * 메시지 예시: reinforce: "Topics/Psychology" 폴더 생성 및 3개 문서 연결 최적화
git commit -m "[P-Reinforce] {{Action_Summary}}"
Push: git push origin main
Verification: 성공 시 confidence_score 보너스 부여, 실패 시 로그 기록 후 재시도.
💡 사용자 가이드: "어떻게 에이전트를 가르칠 것인가?"
당신이 던지는 한마디가 P-Reinforce의 신경망을 자극합니다.
칭찬: "이 폴더 분류 완벽해." → 에이전트는 해당 주제의 유사도 가중치를 높입니다.
수정: "이건 '코딩'이 아니라 '비즈니스' 폴더로 옮겨줘." → 에이전트는 두 주제 사이의 경계선을 재설정(Boundary Shift)합니다.
방치: 에이전트가 만든 구조를 당신이 계속 사용한다면, 그것은 암묵적 보상으로 간주되어 정책이 고착됩니다.
Plain Text
복사
[변경한 부분 핵심4가지]
① 폴더 구조 업그레이드
•
00_Raw · 10_Wiki · 20_Meta · MOC 4계층으로 정교화. 원본 보존과 지식 처리가 완전히 분리됨.
② Frontmatter 확장
•
confidence_score · category · last_reinforced · raw_source 추가. 에이전트가 붙으면 자동 갱신, 수동으로 써도 의미 있음.
③ Policy.md 피드백 루프
•
노트 이동·수정·칭찬을 20_Meta/Policy.md에 기록해서 다음 분류에 반영하는 RL 구조 추가.
④ GitHub 커밋 프로토콜
•
노트 작성·수정 시 커밋 메시지 패턴 표준화. Hermes Agent 연동 시 자동화 기반이 됨.
[최종 저장 구조]
1.
초기 준비
•
폴더와 파일을 셋팅
•
MOC(Map of Content) 초기 마크다운 파일도 준비해야 함!
생성 순서
순서 | 작업 | 비고 |
1 | HOME.md 생성 | vault 루트에 배치. 그래프의 중심 노드 |
2 | 폴더 5개 생성 | 00_Raw · 10_Wiki · 20_Meta · MOC · assets |
3 | 10_Wiki 하위 폴더 4개 생성 | Projects · Topics · Decisions · Skills |
4 | MOC 파일 4개 배치 | MOC/ 폴더 안에 넣기 |
5 | 노트 추가 | 10_Wiki/Skills/ 또는 10_Wiki/Topics/ 에 배치 |
6 | 00_Raw/YYYY-MM-DD/ 에 원본 보존 | 노트 작성 후 원본도 함께 저장 |
2.
사용방법
•
새 노트를 추가할때는 해당 폴더안에 노트를 배치 시킴
10_Wiki/
├── 🛠️ Projects/ ← 지금 진행 중인 일
├── 💡 Topics/ ← 개념·지식
├── ⚖️ Decisions/ ← 왜 이렇게 판단했는가
└── 🚀 Skills/ ← 프롬프트·워크플로우·실행 도구
Plain Text
복사
질문 | 폴더 |
지금 진행 중인 프로젝트인가? | Projects |
개념·이론·지식인가? | Topics |
어떤 결정을 내린 기록인가? | Decisions |
실행 가능한 도구·방법론인가? | Skills |
[주의] 노트나 스킬이 업데이트될 때마다 HOME.md도 같이 수정해야 함
[각 폴더의 성격정리]
폴더 및 파일 구조
이름 | 유형 | 생성 주체 | 초기 상태 | 역할 | 규칙 |
HOME.md | 파일 (루트) | 직접 생성 | 내용 있음 | 전체 지식의 최상위 진입점. 모든 MOC 링크 + 최근 노트 목록 + 스킬 버전 기록 | 노트 추가·스킬 업데이트 때마다 수동 갱신 필요 |
00_Raw/ | 폴더 | 내가 직접 | 비어 있음 | 출처 무관 가공 전 원본 보존 (Source of Truth). 수정 절대 금지 | Claude 생성·수기 작성·웹 클리핑·JSON 등 → 날짜별 하위 폴더(YYYY-MM-DD/)에 저장. 비마크다운은 코드블럭으로 감싸 .md로 저장 |
10_Wiki/ | 폴더 | 내가 직접 | 하위 4개 폴더 | 구조화된 지식 노트 저장소 | Projects · Topics · Decisions · Skills 4개 하위 폴더로 분류. 한 폴더 12개 초과 시 세분화 제안 |
20_Meta/ | 폴더 | 시스템·에이전트 | 비어 있음 (정상) | 지식 엔진의 두뇌. 지금은 비어있어도 됨 | Graph.json · Policy.md · Index.md — Hermes Agent 연동 시 자동 생성. 직접 편집 최소화 |
MOC/ | 폴더 | 내가 직접 | 4개 파일 있음 | 주제별 허브 노트 모음. HOME.md와 함께 탐색 진입점 역할 | AI 코딩 도구 MOC · AI 이미지 생성 MOC · Mcp&skills MOC · 옵시디언 지식관리 MOC |
assets/ | 폴더 | 내가 직접 | 비어 있음 | 이미지·영상·한글·PDF 등 바이너리 파일 저장소 | 태그·위키링크 직접 불가 → 참조 노트(.md)로 연결. 외부 URL은 노트 본문에 직접 작성 |
무제.base | 파일 (베이스) | 옵시디언 자동 | 자동 생성됨 | 노트 Frontmatter 속성을 표 형태로 조회·필터 가능 | 지금 단계에서는 사용 안 해도 됨. 노트가 쌓이면 confidence_score·tags 등 일괄 조회에 유용 |
3-3. 위키 에이전트(P-Reinforce) 만들기
P-Reinforce: Persistent Reinforce의 약자. 지식이 영속적으로 지속되면서 강화되는 에이전트.
“롤에다가 내가 지식을 넣어버리기만 하면 알아서 분류하고 구조화해서 저장한다.”
안티그래비티에서 위키 에이전트 생성:
1.
안티그래비티 실행 → 새 폴더 생성 (예: wiki-agent)
2.
아래 P-Reinforce 스킬 내용을 시스템 프롬프트로 입력:
너는 나의 지식 구조화 에이전트야.
내가 던져주는 모든 원시 데이터(raw)를 분석해서:
1. 어떤 주제/카테고리인지 판단
2. 기존 위키에 같은 주제가 있으면 추가, 없으면 새 항목 생성
3. 마크다운 형식으로 구조화
4. 관련 지식과 연결(connections) 표시
5. GitHub에 자동 동기화
폴더 구조:
- /raw: 내가 던져주는 원시 데이터
- /wiki: 구조화된 지식 저장소
- /wiki/AI
- /wiki/business
- /wiki/coding
- /wiki/daily
- /meta: 지식 간 연결 데이터 (JSON)
Plain Text
복사
1.
wiki-agent 폴더 경로를 안티그래비티에 붙여넣기
2.
위키 에이전트야, 오늘 지식 구조화하고 동기화해 명령
3-4. 유튜브 API로 내 채널 데이터 자동 구조화
내 유튜브 채널의 모든 과거 콘텐츠를 지식으로 변환하는 실전 예시.
레오야, 유튜브 API 사용해서 나의 채널 모든 콘텐츠를 다 가져오고
아래 형태로 구조화해줘:
[구조화 형식]
- id: 영상 고유 ID
- title: 제목
- views: 조회수
- likes: 좋아요 수
- comments_count: 댓글 수
- tags: 태그 목록
- publish_date: 게시일
- thumbnail_url: 썸네일 URL
- description: 설명 요약
- connections: 관련 영상/주제 링크
Plain Text
복사
→ 결과물이 옵시디언 폴더에 마크다운으로 자동 저장됨
→ 그래프 뷰에서 모든 영상이 주제별로 연결된 네트워크 확인 가능
4. Gemma 4 + 안티그래비티로 나만의 지식 분석
4-1. 로컬 연동으로 토큰 0원 지식 분석
일반 AI로 문서를 분석하면 입력 토큰 + 출력 토큰 모두 비용 발생. Gemma 4 로컬 연동 시 인풋 토큰 비용 전혀 없음.
“잼마 4가 마크다운을 읽고 분석하고 생성하는 모든 과정을 로컬에서 처리하기 때문에 토큰 비용이 0원.”
비용 비교:
방식 | 입력 토큰 | 출력 토큰 | 월 비용 |
Gemini/Claude API | 유료 | 유료 | 수만 원~ |
로컬 Gemma 4 | 무료 | 무료 | 0원 |
4-2. 마크다운 폴더 경로 연동 실전
1. 옵시디언에서 분석할 폴더 우클릭
→ 경로 복사하기
2. 안티그래비티 채팅창에 붙여넣기:
@local [폴더경로]
이 폴더에 있는 마크다운 전체를 분석해서
다음 콘텐츠 알고리즘 터질 것 기획해줘
3. 결과 확인:
- 과거 데이터 패턴 분석
- 다음 콘텐츠 기획안 자동 생성
Plain Text
복사
@local 을 붙이면 Gemma 4 로컬 모델이 응답. 붙이지 않으면 Gemini/Claude 사용 (토큰 소비)
하이브리드 활용 전략:
작업 | 사용 모델 | 이유 |
대용량 문서 분석 | @local Gemma 4 | 토큰 비용 절감 |
복잡한 기획/전략 | Gemini / Claude | 높은 추론 품질 |
단순 분류·정리 | @local Gemma 4 | 무료로 충분 |
최종 콘텐츠 생성 | Claude | 자연스러운 문체 |
5. GitHub 백업 동기화
5-1. 프라이빗 저장소 생성
컴퓨터가 고장나거나 교체해도 지식이 사라지지 않도록 GitHub에 자동 백업.
1. https://github.com 접속 → 로그인
2. 우측 상단 + → New repository
3. 저장소 이름 입력 (예: my-wiki, ysj-preinforce)
4. ⚠️ Private 선택 (반드시 공개 금지)
5. Create repository 클릭
6. 생성된 저장소 URL 복사
Plain Text
복사
5-2. 지식 자동 동기화
[GitHub 저장소 URL 붙여넣기]
위 저장소에 현재 위키 폴더 전체를 push해줘
Plain Text
복사
→ 동기화 완료 후 GitHub에서 새로고침하면 마크다운 파일들이 모두 업로드됨
동기화 주기 추천:
상황 | 동기화 시점 |
새 지식 추가 후 | 즉시 |
하루 마무리 | 매일 저녁 |
큰 작업 완료 후 | 작업 완료 즉시 |
전체 워크플로우 요약
매일 배운 것 / 경험한 것
↓
원시 데이터(raw) 작성
↓
위키 에이전트(P-Reinforce)가
자동 분류 · 구조화 · 마크다운화
↓
옵시디언 그래프 뷰에서
지식 연결 시각화 확인
↓
@local Gemma 4로
토큰 0원 분석 · 기획
↓
GitHub Private 저장소에
자동 동기화 · 영구 보관
Plain Text
복사
































