AI 에이전트를 위한 위키 시스템 공개
📌 핵심 요약
AI 에이전트를 위한 마크다운(Markdown)과 깃(Git)을 활용한 위키 시스템이 공개되었습니다. 이 시스템은 에이전트가 지식을 읽고 쌓을 수 있는 LLM-native 지식 기반을 제공합니다.
📰 상세 내용
이 시스템은 각 에이전트에게 개인 노트북과 팀 위키에 대한 접근을 제공하며, 노트북의 내용을 검토하여 위키로 승격하는 흐름을 갖추고 있습니다. 또한, 각 엔티티에 대한 사실 기록을 JSONL 형식으로 유지하고, 링크 오류 감지 및 매일의 데이터 검증을 수행합니다. 현재는 벡터 데이터베이스를 사용하지 않지만, BM25 기반의 검색 성능을 보여주고 있습니다.
💡 시사점
이 새로운 위키 시스템은 AI 에이전트의 지식 관리 방식을 혁신할 수 있는 가능성을 보여줍니다. 개발자들은 마크다운과 깃을 활용하여 경량화된 솔루션을 통해 AI의 지식 축적을 효율적으로 지원할 수 있습니다.
📄 Original (English)
Show HN: A Karpathy-style LLM wiki your agents maintain (Markdown and Git)
It runs locally in ~/.wuphf/wiki/ and you can git clone it out if you want to take your knowledge with you.
The shape is the one Karpathy has been circling for a while: an LLM-native knowledge substrate that agents both read from and write into, so context compounds across sessions rather than getting re-pasted every morning. Most implementations of that idea land on Postgres, pgvector, Neo4j, Kafka, and a dashboard.
I wanted to go back to the basics and see how far markdown + git could go before I added anything heavier.
What it does: -> Each agent gets a private notebook at agents/{slug}/notebook/.md, plus access to a shared team wiki at team/.
-> Draft-to-wiki promotion flow. Notebook entries are reviewed (agent or human) and promoted to the canonical wiki with a back-link. A small state machine drives expiry and auto-archive.
-> Per-entity fact log: append-only JSONL at team/entities/{kind}-{slug}.facts.jsonl. A synthesis worker rebuilds the entity brief every N facts. Commits land under a distinct "Pam the Archivist" git identity so provenance is visible in git log.
-> [[Wikilinks]] with broken-link detection rendered in red.
-> Daily lint cron for contradictions, stale entries, and broken wikilinks.
-> /lookup slash command plus an MCP tool for cited retrieval. A heuristic classifier routes short lookups to BM25 and narrative queries to a cited-answer loop.
Substrate choices: Markdown for durability. The wiki outlives the runtime, and a user can walk away with every byte. Bleve for BM25. SQLite for structured metadata (facts, entities, edges, redirects, and supersedes). No vectors yet. The current benchmark (500 artifacts, 50 queries) clears 85% recall@20 on BM25 alone, which is the internal ship gate. sqlite-vec is the pre-committed fallback if a query class drops below that.
Canonical IDs are first-class. Fact IDs are deterministic and include sentence offset. Canonical slugs are assigned once, merged via redirect stubs, and never renamed. A rebuild is logically identical, not byte-identical.
Known limits: -> Recall tuning is ongoing. 85% on the benchmark is not a universal guarantee.
-> Synthesis quality is bounded by agent observation quality. Garbage facts in, garbage briefs out. The lint pass helps. It is not a judgment engine.
-> Single-office scope today. No cross-office federation.
Demo. 5-minute terminal walkthrough that records five facts, fires synthesis, shells out to the user's LLM CLI, and commits the result under Pam's identity: https://asciinema.org/a/vUvjJsB5vtUQQ4Eb
Script lives at ./scripts/demo-entity-synthesis.sh.
Conte