소개
시도하고자 했던 것과 그 이유를 알려주세요.
기존 RAG(Retrieval-Augmented Generation)의 근본적 한계를 깨닫고, 에이전트가 지식을 "누적"할 수 있는 구조를 만들었습니다. RAG는 조회만 할 뿐, 조회해서 만들어낸 통찰을 다시 지식으로 피드백하지 못했습니다. 매번 같은 원점에서 검색하고, 답변하고, 잊어버리는 일회성 구조였죠. 에이전트는 읽고, 종합하고, 판단하고, 씁니다. 그런데 쓴 것을 다시 자신의 지식으로 흡수할 곳이 없었습니다. 이 순환 루프를 완성하고 싶었습니다.
진행 방법
어떤 도구를 사용했고, 어떻게 활용하셨나요?
Andrej Karpathy의 LLM Wiki 패턴을 기반으로 마크다운 기반 지식베이스를 구축했습니다.
사용 프롬프트
LLM-wiki 만들어줘한 마디로 끝입니다. 디렉토리 구조, SCHEMA.md, index.md, log.md가 자동으로 생성되었습니다.
구조:
wiki/
├── SCHEMA.md # 규칙, 태그 분류 체계
├── index.md # 전체 페이지 목록 + 한줄 요약
├── log.md # 누적 작업 로그
├── raw/ # 1계층: 원본 자료 (불변)
├── entities/ # 2계층: 인물/기관/제품 페이지
├── concepts/ # 2계층: 개념/주제 페이지
├── comparisons/ # 2계층: 비교 분석
└── queries/ # 2계층: 가치 있는 쿼리 결과
활용 흐름:
1. 원본 자료(URL, PDF, 텍스트)를 RAW 저장
2. 에이전트가 읽고 종합해서 entities, concepts에 마크다운 페이지 생성
3. [[wikilink]]로 교차참조 자동 연결
4. 다음 쿼리 시 위키를 먼저 읽고 컴파일된 지식으로 답변 5. 새로운 통찰이 생기면 다시 위키에 저장 → compounding
결과와 배운 점
배운 점과 나만의 꿀팁을 알려주세요.
- RAG는 검색엔진용이었습니다. 조회만 하는 존재에겐 충분했죠.
- 에이전트는 생성하는 존재입니다. 생성한 지식을 다시 넣을 곳이 있어야 합니다.
- LLM-wiki는 에이전트가 "자신의 출력을 다시 자신의 지식으로 흡수하는 루프"를 완성했습니다.
- 고정된 학습 파라미터 + 계속 자라는 외부 지식 = 능력 점프
꿀팁
- 프롬프트는 정말 "LLM-wiki 만들어줘" 한 마디면 됩니다. 나머지는 에이전트가 알아서 합니다.
- 위키가 클수록, 넣은 소스가 많을수록 답변의 정확도와 깊이가 기하급수적으로 좋아집니다.
- 에이전트가 아닌 일반 LLM 사용자에게는 RAG가 충분합니다.
과정 중에 어떤 시행착오를 겪었나요?
- 초기에는 RAG와 LLM-wiki를 혼용하려다 구조가 복잡해졌습니다. 위키만으로도 충분함을 확인하고 RAG 레이어는 정리했습니다.
- raw 디렉토리는 불변으로 유지해야 합니다. 수정은 위키 페이지에서만 해야 일관성이 깨지지 않습니다.
도움 받은 글 (옵션)
참고한 지피터스 글이나 외부 사례를 알려주세요.
- Andrej Karpathy, LLM Wiki
- "Unlike traditional RAG (which rediscovers knowledge from scratch per query), the wiki compiles knowledge once and keeps it current."