Show HN: 에이전트가 관리하는 Karpathy 스타일 LLM 위키 (Markdown 및 Git)
Source: Hacker News
Overview
AI 에이전트를 위한 위키 레이어를 출시했습니다. 이 레이어는 Markdown + Git을 진실의 원천으로 사용하고, 그 위에 Bleve (BM25) + SQLite 인덱스를 두었습니다. 로컬 ~/.wuphf/wiki/에서 실행되며 git clone을 통해 지식을 휴대할 수 있습니다. 설계는 Karpathy‑style LLM‑native 지식 기판을 따릅니다: 에이전트가 위키를 읽고 쓰면서 컨텍스트가 세션 간에 누적되며, 매일 아침에 다시 붙여넣을 필요가 없습니다.
Features
- Private notebooks – 각 에이전트는
agents/{slug}/notebook/.md에 노트북을 가지고,team/에 있는 공유 팀 위키에도 접근할 수 있습니다. - Draft‑to‑wiki promotion flow – 노트북 항목은 (에이전트 또는 인간에 의해) 검토된 뒤 백링크와 함께 정식 위키로 승격됩니다. 작은 상태 머신이 만료와 자동 보관을 관리합니다.
- Per‑entity fact log –
team/entities/{kind}-{slug}.facts.jsonl에 추가 전용 JSONL 파일이 저장됩니다. 합성 워커가 N개의 사실마다 엔티티 요약을 재구성합니다. 커밋은 별도의 “Pam the Archivist” Git 아이덴티티로 이루어져, Git 로그에 출처가 명시됩니다. - Wikilinks –
[[Wikilinks]]형식이며, 깨진 링크는 빨간색으로 표시됩니다. - Daily lint cron – 모순, 오래된 항목, 깨진 위키링크를 검사합니다.
- Lookup tools –
/lookup슬래시 커맨드와 인용 검색을 위한 MCP 도구가 제공됩니다. 휴리스틱 분류기가 짧은 조회는 BM25에, 서술형 질의는 인용‑답변 루프에 라우팅합니다.
Substrate Choices
- Markdown: 내구성을 위해 선택했습니다. 위키는 런타임보다 오래 살아남으며, 사용자는 모든 바이트를 가지고 떠날 수 있습니다.
- Bleve: BM25 검색을 담당합니다.
- SQLite: 구조화된 메타데이터(사실, 엔티티, 엣지, 리다이렉트, 대체)를 저장합니다. 아직 벡터는 지원하지 않습니다.
- Benchmark(500 아티팩트, 50 쿼리)에서 BM25만 사용했을 때 85 % recall@20을 달성했으며, 이는 내부 출시 기준을 만족합니다. 쿼리 클래스가 이 기준 이하로 떨어질 경우
sqlite-vec가 사전 약속된 백업으로 사용됩니다. - Canonical IDs는 일급 객체입니다. 사실 ID는 결정적이며 문장 오프셋을 포함합니다. 정식 슬러그는 한 번 할당되고, 리다이렉트 스텁을 통해 병합되며, 절대 이름이 바뀌지 않습니다. 재구성은 논리적으로 동일하지만 바이트 단위로는 동일하지 않을 수 있습니다.
Known Limits
- Recall 튜닝이 진행 중이며, 벤치마크에서 85 %라는 수치는 보편적인 보증이 아닙니다.
- 합성 품질은 에이전트 관찰 품질에 제한됩니다 – “입력은 쓰레기, 출력도 쓰레기.” 린트 단계가 도움을 주지만, 시스템은 판단 엔진이 아닙니다.
- 현재는 단일 사무실에만 적용됩니다; 사무실 간 연합은 지원되지 않습니다.
Demo
5분짜리 터미널 시연에서는 다섯 개의 사실을 기록하고, 합성을 실행하며, 사용자의 LLM CLI에 결과를 전달하고, Pam의 아이덴티티로 커밋합니다:
https://asciinema.org/a/vUvjJsB5vtUQQ4Eb
스크립트는 ./scripts/demo-entity-synthesis.sh에 있습니다.
Context
위키는 WUPHF의 일부로 제공됩니다. WUPHF는 Claude Code, Codex, OpenClaw, 로컬 LLM 등 AI 에이전트를 위한 오픈소스 협업 오피스입니다. MIT 라이선스로 배포되며 자체 호스팅이 가능하고, 자체 키를 가져와 사용할 수 있습니다. 전체 오피스를 사용하지 않아도 위키 레이어만 별도로 사용할 수 있습니다; 이미 에이전트가 설정돼 있다면 WUPHF를 해당 에이전트에 연결하면 위키가 자동으로 부착됩니다.
- Source repository:
- Installation:
npx wuphf@latest
Further Discussion
다음 주제에 대해 더 깊이 이야기하고 싶습니다:
- Substrate trade‑offs
- Promotion‑flow 상태 머신
- BM25‑first 검색 전략
- Canonical‑ID 안정성 규칙
Obsidian 볼트를 플러그인과 함께 사용하는 것이 왜 안 되는지 궁금하시면 언제든 질문해 주세요. 기꺼이 답변해 드리겠습니다.