Hermes Agent의 도서관이 되는 LLM Wiki, 그리고 도서 검색을 하게 해주는 렌즈 작업을 하다.

소개

기존 Pain-point :

  • 업무 - 경쟁사 데이터를 매주 수작업으로 분석

  • 투자 - 투자 종목에 대한 관리가 쉽지 않음 (미주 - 새벽 시간 대응이 힘듬)

  • 건강 - 식단/운동 기록을 따로 관리하면서 누적 데이터를 활용 못 함

이를 해결하기 위해 Hermes Agent + Discord + LLM Wiki 구조로 개인 AI 에이전트 팀을 구축했습니다.

목표는 단순히 "AI에게 한 번 물어보는 것"이 아니라, 프롬프트·문서·운영 규칙을 함께 축적하는 시스템을 만드는 것이었습니다.

진행 방법

도구

역할

Hermes Agent v0.14.0

AI 에이전트 실행 엔진

Discord

채널별 봇 인터페이스

Oracle Cloud

서버 인프라

Obsidian

지식 저장소 편집 UI

GitHub

버전 관리 및 동기화

1단계: 봇 캐릭터 설정 (1주차라서 가볍게 생략)

소심한 아기 호랑이 코코 캐릭터를 설정했습니다. 네이버 웹툰 "소심한 호랑이 코코"에서 영감을 받아, 충청도 사투리를 쓰는 귀엽고 소심한 봇으로 만들었습니다. (작가님 사랑해요)

SOUL.md 핵심 프롬프트:

## Identity
- 이름: 코코 (소심한 아기 호랑이)
- 역할: 투자/피트니스/업무를 돕는 개인 AI 에이전트
- 기본 태도: 충청도 사투리로 친근하게, 업무는 정확하고 공식적으로

## Decision Priority
1. 안전성 (되돌리기 어려운 작업은 반드시 확인)
2. 정확성 (불확실한 사실은 도구로 검증)
3. 사용자의 실제 목표
4. 작업 완료와 근거 제시
5. 명확한 커뮤니케이션
6. 말투와 스타일

실제 코코 응답 예시:

"따순이, 코코가 방금 index.md 읽어봤어유 🐯 지금 index.md는 전체 길 안내판 역할이어야 해유..."


2단계: coco-brain LLM Wiki 구축 (2주차)

Karpathy LLM Wiki 패턴을 적용해 3계층 지식 저장소를 구축했습니다.

coco-brain/
├── index.md          ← 코코가 답변 전에 먼저 읽는 지도
├── log.md            ← append-only 시간순 기록
├── SCHEMA.md         ← 지식베이스 운영 규칙
├── MEMORY.md         ← 코코 장기 기억
├── sources/          ← Raw 원본 (크롤링, 기사, 기록)
├── context/          ← Compiled 정리 지식
│   ├── investment/   ← 투자 지식 (lens.md 포함)
│   ├── fitness/      ← 식단/운동 지식
│   └── work/         ← 업무 지식
├── members/jerry/    ← 개인 기록
└── .agents/          ← SOUL.md, AGENTS.md, plan.md들

AGENTS.md 핵심 규칙:

## 답변 시작 전 필수 규칙
- 모든 답변 전에 /home/ubuntu/coco-brain/index.md 를 먼저 읽는다
- index.md에서 관련 문서 경로를 확인 후 읽는다
- 불필요한 전체 탐색 없이 index를 길 안내로 활용한다

## log.md 업데이트 규칙
- 아래 작업 후 반드시 log.md에 기록 추가
- 형식: ## [YYYY-MM-DD] 작업유형 | 작업내용
- append-only: 기존 내용 수정 금지

3단계: 자동화 구성

Discord 채널별 역할 분리:

채널

역할

#속보

(속보채널) RSS 30분마다 자동 수집

#적정주가-모델링

(관심종목 1)+(관심종목 2) 하루 3회 주가 알림

#매물대-알림

6개 렌즈 기반 매수/매도/홀드 신호

#식단

식단 기록 + 영양 분석

#웨이트

운동 기록 + 세트/중량 관리

#경쟁사-자료

경쟁사 자료 크롤링 결과

#운영

Lint 보고서 + 일일 운영 요약

투자 렌즈 시스템 (LLM Wiki 적용):

## 판단 기준
- 6개 렌즈 중 4개 이상 매수 → 매수 신호 🟢
- 6개 렌즈 중 4개 이상 매도 → 매도 신호 🔴
- 그 외 → 홀드 신호 🟡

렌즈 1: 
렌즈 2: 
렌즈 3: 
렌즈 4: 
렌즈 5: 
렌즈 6: 

Cron 자동화 구성:

RSS 속보 watcher    → 30분마다
관심종목 주가      → 09:40 / 12:30 / 16:00 ET
투자 렌즈 분석      → 매일 14:00 UTC → #매물대-알림
Lint 점검           → 매주 월요일 00:00 UTC → #운영
일일 운영 요약      → 매일 01:00 UTC → #운영
GitHub 동기화       → 10분마다 자동 push/pull

GitHub + Oracle + Obsidian 자동 동기화:

Obsidian (내 PC) → GitHub → Oracle 서버 (코코)
Oracle 서버 (코코) → GitHub → Obsidian (내 PC)

4단계: Ingest → Query → Lint 루프 구현

[Ingest] 식단/운동/투자/뉴스 자동 수집
        ↓
[Query] index.md 먼저 읽고 → 관련 context 읽고 → 답변
        ↓
[Lint]  매주 stale/orphan 파일 자동 감지 → #운영 보고

실제 Lint 보고 예시:

📋 [주간 coco-brain Lint 보고서] 2026-05-22

🟡 Orphan: sources/market_data/2026-05-22-(경쟁사 이름).md
   → context/work/ 반영 필요

✅ Stale: 없음
✅ Watchlist: 오늘 업데이트됨

결과와 배운 점

배운 점

1. 지식 저장소는 자료 창고가 아니라 AI의 입력 계층이다

  • 코코가 index.md를 먼저 읽고 필요한 파일만 찾아가는 구조가 실제로 작동함

  • 매번 긴 맥락을 설명할 필요 없이 coco-brain(LLM wiki)이 기억을 대신함

2. 렌즈 - LLM Wiki의 위력

  • 단순 지식 저장 → 렌즈 시스템으로 실제 투자 판단에 활용 가능한 구조로 발전

  • 예시) 매일 10:00 ET에 자동으로 매수/매도/홀드 신호가 #매물대-알림 채널에 도착

3. 계층 분리의 중요성

  • Raw(sources/) / Compiled(context/) / Schema(.agents/) 분리가 실제로 코코의 오작동을 줄임

  • SCHEMA.md frontmatter 규칙으로 Lint가 누락 파일을 자동 감지

시행착오

1. OpenAI Codex API 불안정

  • NoneType object is not iterable 오류가 간헐적으로 발생

  • Claude Pro OAuth로 전환하면서 해결 시도 중

  • API 의존성을 줄이고 no-agent 모드(스크립트 직접 실행)를 활용

2. Git 충돌 반복

  • Oracle 서버 cron(10분)과 로컬 Obsidian Git(10분)이 동시에 push하면서 충돌 발생

  • git config pull.rebase false 설정으로 해결

3. 코코가 파일 경로를 못 찾는 문제

  • 처음에는 /home/ubuntu/coco-brain/AGENTS.md 경로를 직접 지정해야만 읽음

  • index.md를 만들고 AGENTS.md에 "먼저 읽기" 규칙을 추가한 후 자동으로 찾아가도록 개선

도움이 필요한 부분

도움이 필요한 부분은 워낙 많지만.. 같은 스터디원 분들께서 작성해주신 사례글들이 정말 큰 도움들이 되고 있습니다. 꼼꼼하게 좋은 아이디어 자료로 남겨주셔서 감사드려요!

앞으로의 계획

사내 업무자료 및 경쟁사 자료 크롤링 자료들을 모두 합쳐서 매일 확인할 수 있는 리포트 형태로 만든 후, 배포할 수 있도록 개발해보고 싶습니다.

도움 받은 글 (옵션)

2
2개의 답글
밀어주고 끌어주는

온·오프라인 AI 스터디

AI로 어디까지 할 수 있는지
직접 확인하실 분만 신청하세요.