| name | llm-wiki |
| description | 이 저장소를 Karpathy LLM Wiki로 운영한다. raw/extracted/ 의 추출된 문서를 읽어 wiki/ 아래 상호 연결된 마크다운 페이지(concepts/entities/sources)로 컴파일·병합하고, [[위키링크]]로 연결하며 index/overview를 재생성한다. 사용자가 "문서 컴파일", "위키 만들어", "정리해줘", "이 자료 넣어줘", "ingest", "compile wiki" 등을 요청할 때 사용한다.
|
LLM Wiki 컴파일러 스킬
이 저장소는 3-레이어 LLM Wiki다 (Andrej Karpathy 패턴).
당신(에이전트)이 곧 컴파일러다. 외부 LLM API를 호출하지 말고, 당신이 직접 정리한다.
purpose.md / schema.md ← 방향·규칙 (먼저 읽는다)
raw/sources/ ← 원본 (불변, 건드리지 않는다)
raw/extracted/ ← 문서에서 뽑은 마크다운 텍스트 (당신이 읽을 입력)
wiki/ ← 당신이 만드는 결과물
사용 가능한 스크립트 (기계적 작업 전담)
python tools/ingest.py <파일/폴더> — 문서를 raw/sources 보관 + raw/extracted로 텍스트 추출 (markitdown, hwp/hwpx는 LibreOffice 경유). 중복은 sha256으로 스킵.
python tools/find_docs.py <폴더> [-q 키워드] [-e 확장자…] — 다른 폴더의 문서 검색.
python tools/reindex.py — index.md / overview.md 재생성 (컴파일 끝에 반드시 실행).
컴파일 절차 (소스 1개당)
먼저 purpose.md 와 schema.md 를 읽어 방향·규칙을 파악한다.
.llmwiki/manifest.json 에서 status: "extracted" 인 항목이 컴파일 대상이다.
각 대상 문서에 대해 2단계로 진행한다:
1단계 — 분석
raw/extracted/<...>.md 를 읽고 다음을 머릿속으로 정리한다:
- 핵심 개념(이론·기법·용어)과 개체(사람·조직·제품)
- 이 소스의 3~6문장 요약
wiki/index.md(기존 페이지 목록)와 비교해 연결되는 기존 페이지
- 모순·불확실·추가 조사가 필요한 검토 항목
2단계 — 생성/병합
schema.md 규칙에 따라 페이지를 쓴다:
- 소스 요약 1개 →
wiki/sources/<slug>.md (type: source)
- 주요 개념 →
wiki/concepts/<slug>.md (type: concept)
- 주요 개체 →
wiki/entities/<slug>.md (type: entity)
- 이미 있는 페이지면 기존 내용을 읽고 새 정보를 병합(덮어쓰기 금지). frontmatter의
sources:에 이 원본을 추가하고 updated:를 갱신.
- 페이지 간 참조는 모두
[[제목]] 위키링크.
- 사실/추측을 구분하고, 검토 항목은 페이지 안에
> ⚠️ 검토 필요: … 로 표시.
마무리
wiki/log.md 에 한 줄 기록: - {날짜} — "{원본명}" 컴파일 → N개 페이지(, 검토 M건).
.llmwiki/manifest.json 에서 해당 항목 status를 "compiled"로 바꾸고 compiled_at 추가.
- 모든 소스 처리 후
python tools/reindex.py 실행으로 index/overview 재생성.
질의(질문에 답하기)
사용자가 위키 내용에 대해 물으면: wiki/index.md로 관련 페이지를 찾고 → 해당 페이지와 [[링크]]로 연결된 페이지들을 읽어 → 출처 페이지를 인용해 답한다. 원본 전체를 다시 읽지 말고 컴파일된 위키를 먼저 읽는다(이것이 RAG와의 핵심 차이). 정리할 가치가 있으면 wiki/queries/에 남긴다.
원칙
raw/sources/ 는 절대 수정하지 않는다.
- 한국어로 작성한다.
- 페이지는 작게, 하나의 주제만. 큰 주제는 쪼개고 위키링크로 잇는다.
- 확신 없는 사실은 단정하지 말고 검토 항목으로 남긴다.