LLM Wiki 기반 텔레그램 봇 비서

1 minute read

1. 개요

인터넷에 이미 공개된 지식이 아니라, 진짜 내 지식을 기반으로 한 세컨드 브레인을 만들고 싶었다.

생각의 흐름은 이랬다.

  1. LLM으로 대화하는 비서 챗봇을 만든다
  2. 챗봇과 나눈 대화 내용을 일기로 남긴다
  3. 쌓인 대화와 일기로 지식을 축적한다
  4. 축적된 지식을 RAG로 만들어 LLM이 검색해서 답할 수 있게 한다

“대화 → 기록 → 지식화 → 검색”으로 이어지는 개인용 지식 파이프라인을 만드는 게 목표였다.

2. 사전조사

비슷한 컨셉의 프로젝트가 있는지 찾아봤지만, 정확히 같은 방향의 프로젝트는 찾지 못했다.

  • 단순히 일기를 작성해주는 봇 정도는 있었음
  • 그나마 방향이 비슷했던 건 Genspark의 SecondBrain Note

참고할 만한 선례가 마땅치 않아서, 구조는 직접 설계하며 만들어야 했다.

3. 구성

아키텍처 다이어그램

  • 텔레그램 ↔ 봇 서버: 사용자와의 대화 창구. 명령어 처리와 대화 흐름을 담당
  • 봇 서버 ↔ LLM: 사용자 메시지를 LLM(Gemini 또는 Claude, 전환 가능)에게 전달하고 응답을 받아옴
  • 저장소: 대화 내용을 옵시디언 일기와 DB에 기록. LLM이 필요하면 과거 기록을 직접 조회하기도 함
  • LLM Wiki: 인물·장소 등 압축된 지식을 LLM이 읽기 전용으로 참조 (이 봇이 직접 관리하지는 않음)
  • 스케줄러: 정해진 시간에 먼저 말을 걸거나(체크인), 자정에 하루 일기를 자동 생성

“대화 → LLM → 기록”이 기본 축이고, 스케줄러가 능동적인 동작을 더해주는 구조다.

여기서 저장소는 LLM Wiki의 raw 원본 역할을 한다. 안드레 카파시가 제안한 LLM Wiki 구조처럼, 매일 쌓이는 원본 기록(저장소)을 그대로 두지 않고 주기적으로 사람/장소/일 단위로 압축·정리해서 LLM Wiki로 만든다. LLM은 평소엔 압축된 LLM Wiki를 참조하고, 더 자세한 원문이 필요할 때만 저장소(raw)를 직접 뒤져본다.

4. 결과

작성중

5. 아쉬운점

봇이 능동적으로, 그리고 자연스럽게 말을 걸면서 정보를 수집해주길 바랐는데, 실제로는 응답이 다소 기계적이다.

토큰 사용량을 줄이기 위해 프롬프트/문맥을 최소화한 데서 오는 트레이드오프로 보이며, 자연스러움과 비용 사이에서 어쩔 수 없이 감수한 부분이라고 생각한다.

Leave a comment