Skip to content

최근에 LLM-wiki라는 재밌는 개념이 나와서 이것을 구축해보았다. 외국에 AI 선구자적인 분이 있는데 그분이 개념을 깃허브에 올렸다.

핵심 요지는 이거다. 새롭게 알게되는 지식들을 기존의 지식들과 연결시켜서 점점 더 발전하는 지식층을 만들어내는 것. 이전에는 이게 예전 모든 지식들을 탐색하고 비교하고 사람이 하면 지루한 일들이어서 끝까지 가지못하는 개념이였는데 llm을 통해 문서들을 '링킹'하는 것이다.

그리고 세컨드 브레인이라는 게 있는데 이건 내 머리속에만 있는 지식들을 외부에 구조적으로 저장해서 필요할 때 꺼내 쓰자는 것이다.

이 2가지를 합쳐서

Second Brain
= 내 지식 저장소

Notion / Obsidian / Markdown / Docs
= 원본 지식 저장 위치

llm-wiki
= 그 지식을 LLM이 읽고 답하게 만드는 인터페이스

이렇게 되는 것이다.

X나 Youtube 너무 좋은 컨텐츠들이 많다. 그리고 가끔 좋은 아이디어가 떠오를 때가 있다. 하지만 시간이 지나면 다 까먹게 된다. 이런 이슈를 llm-wiki(second brain)을 통해 해결할 수 있다.

구현 과정은 어렵지 않다 llm-wiki 개념 md가 있는데 이걸 agent와 함께 obsidian 기반으로 구체화하면 된다. ingest, query, lint 스킬을 만들고 지식들을 하나씩 넣으면 금방 구축할 수 있다.

이슈

근데 내가 여기서 치명적인 이슈를 만났는데 새로운 지식들과 기존의 지식들을 링킹할 때 토큰이 어마무스하게 소모된다는 것이었다.

index.md를 통해 기존의 wiki들을 매핑해준다고 하더라도 llm이 매핑의 내용이 부족하다고 생각이 들면 해당 문서를 전체 Read 해버리고 또 그 문서를 타고 다른 문서를 전체 Read하고 하면서 토큰이 증발해버렸다. (추가 비용으로 20달러 냈다 ㅠㅠ)

이 문제의 핵심은 llm이 전체 문서를 읽는걸 막는 것이다. 그래서 생각한 방법이 충분한 메타데이터를 추출하는 것이다. 각 문서의 상단에 충분한 메타데이터를 둬서 굳이 문서를 다 안읽고도 지금 새롭게 들어온 문서와 연관이 있는지 없는지 파악하고 연관이 있다면 자세히 읽도록 하였다. 그리고 연결을 절대 억지로 하지 않게 했다. 많은 연결이 핵심이 아니라 진실된 연결이 핵심이라는 것을 강조했다. 기존의 llm-wiki 문서 그대로 참고해서 만들면 10개 이상의 연결이 권장되는 것 처럼 써져있어서 llm이 무조건 많이 연결시키려고 했었다. 스킬도 수정하고 AGENTS.md 나 CLAUDE.md를 수정해주었다.

그럤더니 예전에는 지식 2개만 해도 5시간 토큰 다쓰고 시간도 엄청 걸렸는데 이제는 여러 지식들을 추가해도 감당가능하게 토큰이 소모되었다.