Karpathy LLM Knowledge Base Workflow — context-vault 적용 가이드

Andrej Karpathy가 제안한 5단계 LLM 지식 베이스 워크플로우를 context-vault에 적용하는 실전 가이드.

워크플로우 개요

Data Ingest → IDE → Q&A → Output → Linting → (반복)

각 단계는 독립적으로 실행 가능하며, LLM/에이전트가 각 단계를 자동화합니다.


1. Data Ingest (데이터 수집)

LLM이 소스 문서를 증분적으로 마크다운 위키로 “컴파일”합니다.

현재 구현 상태: ✅ 완료

기능도구설명
웹 클리핑context-vault-writer 스킬URL → 마크다운 변환 → 자동 저장
원본 보관raw/ 디렉토리미가공 소스 보관
자동 분류AGENTS.md 규칙7개 주제 카테고리 자동 분류
메타데이터Frontmattertitle, created, modified, tags, source_url
인덱스MOC + sidebar주제별 이정표 + 사이드바 자동 업데이트

사용법

에이전트에게 URL을 전달하면 자동 처리:

"이 URL을 context-vault에 저장해줘: https://..."

수동으로 추가할 때

# defuddle로 파싱
defuddle parse "URL" --md > /tmp/content.md
 
# AGENTS.md 규칙에 따라 노트 생성
# notes/{topic}/YYYY-MM-DD-slug.md 형식

2. IDE (지식 탐색)

마크다운 위키를 탐색하고 시각화합니다.

현재 구현 상태: ✅ 완료

기능도구설명
웹 뷰어Docsify + GitHub Pageshttps://jeongsk.github.io/context-vault/
로컬 뷰어Obsidian일반 마크다운 구조라 그대로 열림
로컬 미리보기npx docsify-cli serve .로컬에서 Docsify 실행
검색QMD키워드 + 임베딩 검색 (미완)

주요 URL


3. Q&A (지식 질의응답)

위키가 충분히 커지면(약 100개 아티클, 40만 단어) LLM 에이전트에게 복잡한 질문이 가능합니다.

현재 구현 상태: 🟡 부분 완료

현재 context-vault는 133개 노트, 약 6만 단어. Q&A가 의미 있는 수준입니다.

스크립트 기반 Q&A

# 키워드 검색 (QMD 임베딩 없을 때)
python3 scripts/vault-qa.py "멀티 에이전트 오케스트레이션 방법"
 
# 상위 N개 결과
python3 scripts/vault-qa.py "에이전트 통신" --top 10
 
# vault 통계
python3 scripts/vault-qa.py --stats

에이전트 기반 Q&A (권장)

에이전트에게 직접 질문하면 vault의 노트를 검색하여 문서 기반 답변:

"context-vault에서 멀티 에이전트 관련 내용 정리해줘"

QMD 임베딩 검색 (향후)

# 임베딩 생성 (현재 타임아웃 이슈 — GPU 환경 필요)
qmd embed
 
# 임베딩 기반 자연어 쿼리
qmd query "멀티 에이전트 시스템에서 에이전트 간 통신은 어떻게 하나요?"

참고: QMD embed는 llama.cpp 기반이므로 ARM 서버에서 컴파일/실행에 시간이 걸릴 수 있음. GPU 환경 또는 사전 빌드된 바이너리 필요.


4. Output (결과 파일링)

탐색/분석 결과를 다시 위키에 “파일링”하여 지식 베이스를 점진적으로 향상시킵니다.

현재 구현 상태: ✅ 스크립트 완료

# Q&A 결과 저장
python3 scripts/vault-file.py --type qa --title "멀티 에이전트 통신 비교" \
  --topic ai-agents --content "Paperclip은 React UI 기반 오케스트레이션..."
 
# 인사이트 저장
python3 scripts/vault-file.py --type insight --title "에이전트 아키텍처 트렌드" \
  --content "2026년 3-4월 트렌드 분석..."
 
# stdin에서 내용 읽기
echo "린트 결과 요약" | python3 scripts/vault-file.py --type summary \
  --title "2026-04-04 Lint Report" --topic misc
 
# Output 노트 통계
python3 scripts/vault-file.py --stats

Output 노트 타입

타입접두사용도
qaqa-Q&A 결과 정리
lint-reportlint-린트 리포트
insightinsight-분석 인사이트
analysisanalysis-심층 분석
summarysummary-요약 정리

5. Linting (건강 검사)

LLM/스크립트로 위키 무결성을 점검하고 개선합니다.

현재 구현 상태: ✅ 스크립트 완료

# 전체 린트 실행
python3 scripts/vault-lint.py
 
# vault-qa.py에서도 실행 가능
python3 scripts/vault-qa.py --lint

체크 항목

체크설명심각도
고아 노트MOC/sidebar에 링크되지 않은 노트🔴
깨진 링크존재하지 않는 파일 참조🔴
위키링크[[ ]] 형식 (Docsify에서 깨짐)🔴
프론트매터필수 필드 누락, 금지 태그🟡
관련 노트유사 태그 노트 간 링크 누락🟡
임베딩embedding_ready: false 노트🟡

첫 린트 결과 (2026-04-04)

총 노트: 133개
고아 노트: 8개
깨진 링크: 8개
프론트매터 문제: 189개 (대부분 created/modified 누락)
위키링크: 54개 (Docsify 호환 불가)
임베딩 미생성: 119개

자동 수정 가이드

고아 노트 → MOC/sidebar에 링크 추가: 에이전트에게 “린트에서 발견된 고아 노트들을 MOC와 sidebar에 추가해줘”라고 요청.

위키링크 → 표준 링크 변환:

[[2026-03-29-memento-skills]]  →  [Memento-Skills](2026-03-29-memento-skills.md)

프론트매터 → 필드 추가: 파일 생성일(또는 파일명의 날짜)로 created/modified 필드 보완.


전체 파이프라인 (에이전트가 자동 실행)

에이전트에게 다음과 같이 요청하면 전체 파이프라인이 자동 실행됩니다:

"context-vault 정기 점검해줘"

에이전트는 다음을 수행합니다:

  1. vault-lint.py 실행 → 이슈 목록 획득
  2. 이슈 자동 수정 (고아 노트 링크, 위키링크 변환, 프론트매터 보완)
  3. vault-qa.py --stats 실행 → vault 성장 추적
  4. 수정 사항 커밋 & 푸시

향후 개선 (Further Explorations)

QMD 임베딩 안정화

  • GPU 환경에서 qmd embed 실행 또는 API 기반 임베딩으로 대체
  • OpenAI/Anthropic embeddings API 활용

Fine-tuning (장기적)

  • vault가 충분히 커지면(40만+ 단어) 합성 데이터 생성
  • 개인 지식 베이스에 특화된 모델 파인튜닝

자동 크롤링

  • 관심 키워드 모니터링 → 자동 수집 → 자동 노트 생성
  • GitHub Trending, arXiv, RSS 피드 자동화

Sources