> 핵심 메시지: "챗봇이 아니라, 살아있는 AI 파트너를 만들었다."
> 💡 미리 알아둘 말
> - 텔레그램 = 카카오톡처럼 쓰는 메신저 앱. 봇(자동응답 계정)을 만들기 쉬워서 개발자들이 많이 씀
> - 헤르메스(Hermes) = 볼트 봇이 어떻게 생각하고 행동할지 정해주는 AI 시스템 (두뇌 역할)
> - 볼트(VOLT) = 헤르메스를 입고 텔레그램에서 움직이는 에너지 토끼 AI 🐰⚡
> - 라우팅 = 어떤 봇에게 일을 넘길지 자동으로 결정하는 것
> - 프롬프트 = AI에게 역할과 행동 방식을 설명해주는 설명서
---
## 0. 한 줄 요약
> 텔레그램에 "볼트" 라는 AI 비서 봇을 만들었다.
> 그냥 말만 걸면 → 볼트가 알아서 어떤 일인지 판단하고 → 맞는 담당봇에게 넘긴다.
> 뒤에서 조용히 일하는 두뇌가 바로 헤르메스(Hermes) 시스템이다.
---
## 1. 왜 만들었나? (문제 인식)
You쌤은 드론 방과후 수업을 5개 학교에서 운영하고 있다.
매일매일 이런 일들이 생긴다:
| 상황 | 예전 방식 |
|------|----------|
| 수업 알림장 써야 할 때 | 직접 손으로 작성 |
| 블로그·콘텐츠 만들 때 | 따로 AI에게 요청 |
| 코드·자동화 물어볼 때 | 또 따로 챗GPT에 접속 |
| 새 아이디어 떠올랐을 때 | 어디에 물어봐야 할지 모름 |
문제: 하는 일마다 다른 도구, 다른 창을 열어야 한다. 번거롭다.
해결 아이디어: 텔레그램 하나로 "말만 하면 알아서 분류하고 처리해주는 AI 비서"를 만들자!
---
## 2. 볼트 AI 시스템 구조 (전체 그림)
```
📱 텔레그램에서 말을 건다
↓
⚡ 볼트 마스터 (총괄 입구)
@YD_W_Hermes_Main_Bot
↓ 자동 판단
┌────────────────────────────┐
│ 어떤 종류의 일인가? │
└────────────────────────────┘
↓ ↓ ↓
⚡ 볼트 클래스 🎨 볼트 스튜디오 🔧 볼트 랩
(수업·알림장) (콘텐츠·이미지) (코드·자동화)
```
> 비유로 이해하기:
> 회사 대표(볼트 마스터)한테 말하면 → 적절한 팀장(클래스/스튜디오/랩)에게 자동으로 연결해주는 구조!
### 각 봇의 역할
| 봇 이름 | 담당 업무 | 텔레그램 계정 |
|---------|----------|--------------|
| ⚡ 볼트 마스터 | 입구·총괄·라우팅 | @YD_W_Hermes_Main_Bot |
| ⚡ 볼트 클래스 | 수업·알림장·일정·퀴즈 | @W_Hermers_Volt_Class_Bot |
| 🎨 볼트 스튜디오 | 창작·블로그·이미지·콘텐츠 | @W_Hermers_Volt_Studio_Bot |
| 🔧 볼트 랩 | 코드·자동화·API·캘린더 | @W_Hermes_Lab_Bot |
---
## 3. 헤르메스(Hermes)란 무엇인가? 🧠
> 한 줄 설명: 볼트가 어떻게 생각하고, 말하고, 행동할지 정해주는 "두뇌 설명서"
### 초보자를 위한 비유
| 비유 | 실제 |
|------|------|
| 배우의 대본 | 볼트가 어떻게 말할지 |
| 직원 교육 매뉴얼 | 어떤 상황에서 어떻게 반응할지 |
| 회사 조직도 | 어느 봇에게 일을 넘길지 |
### 헤르메스 파일이 담고 있는 것 (HERMES.md)
```
📄 HERMES.md 안에는...
1. 볼트의 정체성
→ "나는 에너지 토끼 볼트다. 상상력을 전기로 바꾼다."
2. 말투와 태도
→ "존댓말 + 이모지 + 친근한 Gen Z 감각으로 말한다"
3. 라우팅 규칙
→ "알림장·수업 → 클래스봇 / 블로그·이미지 → 스튜디오봇 / 코드 → 랩봇"
4. 금지사항
→ "요청 없이 길게 설명하지 않는다. 캐릭터 설정 무시하지 않는다."
5. 학교 데이터
→ "호암초(화), 가야초(목), 장복초(금)"
```
---
## 4. 텔레그램 봇이 만들어지는 과정 (단계별)
### 🐣 STEP 1: 텔레그램에서 봇 계정 만들기
```
1. 텔레그램 앱 열기
2. 검색창에 @BotFather 입력
3. /newbot 입력
4. 봇 이름 정하기 (예: 볼트 마스터)
5. 토큰(비밀번호) 발급 받기
→ 예시: 7123456789:AAHxxxxxxxxxxxxxxxx
```
> 💡 토큰이란? 봇의 "열쇠" 같은 것. 이 번호가 있어야 봇을 제어할 수 있음.
---
### 🧠 STEP 2: 헤르메스(두뇌)와 연결하기
핵심 코드 (bot.py) — 초보자용 설명 포함
```python
# ① 환경 설정: 봇의 토큰과 AI 키를 불러온다
TELEGRAM_TOKEN = os.getenv("VOLT_MASTER_TOKEN") # 텔레그램 봇 열쇠
# ② 헤르메스 파일을 두뇌로 장착!
BASEPROMPT = Path("HERMES.md").read_text() # HERMES.md = 볼트의 두뇌 설명서
SYSTEM_PROMPT = BASEPROMPT + ROUTINGPROTOCOL # + 라우팅 규칙까지 추가
# ③ AI 엔진 연결 (Google Gemini 사용)
client = genai.Client(api_key=os.getenv("GEMINI_API_KEY"))
MODEL = "gemini-2.5-flash"
```
> 쉬운 설명: HERMES.md 파일을 통째로 Gemini AI에게 주면서
> "이게 너의 역할이야, 이렇게 행동해"라고 알려주는 것!
---
### 🔀 STEP 3: 자동 라우팅 (핵심 기능!)
> 💡 라우팅이란? 메시지를 받아서 어느 봇에게 넘길지 자동으로 결정하는 것
실제 동작 예시:
```
You쌤: "오늘 알림장 써줘"
↓
볼트 마스터: (수업 관련이네!) → 볼트 클래스로 처리
볼트 마스터: "⚡ 볼트 클래스 ON! 알림장 작성할게요!"
You쌤: "볼트 캐릭터 이미지 만들어줘"
↓
볼트 마스터: (이미지 요청이네!) → 볼트 스튜디오로 안내
볼트 마스터: "🎨 이건 볼트 스튜디오에서 하면 이미지 바로 뽑아줘요!
@W_Hermers_Volt_Studio_Bot 으로 이동해봐요 ⚡"
You쌤: "자동화 코드 짜줘"
↓
볼트 마스터: (코드 요청이네!) → 볼트 랩으로 안내
볼트 마스터: "🔧 이건 볼트 랩에서 캘린더 직접 등록까지 돼요!
@W_Hermes_Lab_Bot 으로 이동해봐요 ⚡"
```
이 판단이 어떻게 가능할까? (라우팅 코드)
```python
# AI가 응답할 때 [ROUTE_TO] 태그를 포함시킨다
# 예: [ROUTE_TO]{"bot": "class"}[/ROUTE_TO]
ROUTE_PATTERN = re.compile(r"\[ROUTE_TO\]\s*(.*?)\s*\[/ROUTE_TO\]", re.DOTALL)
match = ROUTE_PATTERN.search(raw) # 태그가 있으면
if match:
bot_key = route_data.get("bot", "") # 어느 봇인지 확인
await forward_to_subbot(cfg["token"], chat_id, user_msg, cfg["name"])
# → 해당 봇에 메시지를 자동으로 전달!
```
> 쉬운 설명: AI가 대답 안에 "이건 클래스봇 일이야 [ROUTE_TO]{"bot":"class"}[/ROUTE_TO]"라는
> 비밀 태그를 넣으면, 봇이 그걸 읽고 자동으로 전달하는 구조!
---
### 🔧 STEP 4: 프로필 설정으로 봇 3개 관리
각 봇마다 별도의 설정 파일로 관리:
```
📁 C:\Users\NAOS-02\AppData\Local\hermes\profiles\
├── lab\
│ ├── .env ← 봇 토큰, API 키 (비밀 정보)
│ └── config.yaml ← 봇 동작 설정
├── volt-studio\
│ ├── .env
│ └── config.yaml
└── volt-class\
├── .env
└── config.yaml
```
봇 시작 명령어:
```bash
lab gateway start # 볼트 랩 봇 시작
volt-studio gateway start # 볼트 스튜디오 봇 시작
volt-class gateway start # 볼트 클래스 봇 시작
```
> 💡 보안 설정: redact_secrets: true — 실수로 토큰이 채팅에 노출되지 않도록 자동 가림
---
## 5. 실제로 어떻게 동작하나? (데모)
### 수업 관련 요청
```
You쌤: "오늘 알림장 써줘"
볼트: "⚡ 볼트 클래스 ON!
🗓️ 오늘 날짜: 2026년 6월 2일 (월)
[호암초 드론마스터교실 알림장]
안녕하세요! 오늘 수업에서는...
✅ 다음 수업: 6월 9일 화요일"
```
### 창작 관련 요청
```
You쌤: "드론 수업 블로그 글 써줘"
볼트: "🎨 이건 볼트 스튜디오에서 하면 더 잘 만들어줘요!
@W_Hermers_Volt_Studio_Bot 으로 이동해봐요 ⚡
거기서 이미지 생성까지 한 번에 됩니다!"
```
### 코드/자동화 관련 요청
```
You쌤: "알림장을 카카오로 자동발송하고 싶어"
볼트: "🔧 이건 볼트 랩에서 코드 작성 + 캘린더 등록까지 돼요!
@W_Hermes_Lab_Bot 으로 이동해봐요 ⚡"
```
---
## 6. 무엇이 좋아졌나? (Before → After)
| | Before | After |
|---|---|---|
| 수업 알림장 | 손으로 직접 작성 | 텔레그램에 말 한마디 |
| AI 도구 접근 | 여러 사이트 왔다갔다 | 텔레그램 하나로 통합 |
| 일의 분류 | 내가 직접 판단 | 볼트가 자동 판단 |
| 사용 장소 | PC 앞에서만 | 스마트폰으로 언제 어디서나 |
| AI 캐릭터 | 그냥 챗봇 | 볼트라는 살아있는 파트너 |
| 봇 간 연결 | 따로따로 | 마스터가 자동으로 연결 |
한 줄로: 여러 AI 도구를 찾아 헤매던 것이, 볼트한테 말 한마디로 끝났다.
---
## 7. 막혔다가 고친 것들 (솔직하게)
| 문제 | 원인 | 해결 |
|------|------|------|
| 봇이 응답을 안 함 | 토큰을 잘못 입력 | .env 파일에 정확하게 다시 입력 |
| 라우팅이 작동 안 함 | HERMES.md에 규칙이 불명확 | 규칙을 더 구체적으로 수정 |
| 서브봇 전달 실패 | 서브봇에서 /start를 안 눌러서 | 각 봇에 직접 접속 후 /start 실행 |
| 한글 깨짐 | 인코딩 문제 | encoding="utf-8" 명시 |
> 교훈: 에러 메시지가 없어도 안 되는 경우가 있다. 하나씩 테스트가 답이다.
---
## 8. 시스템 구조도
### 전체 흐름
```
📱 You쌤이 텔레그램에서 말한다
↓
┌─────────────────────────┐
│ ⚡ 볼트 마스터 │
│ (헤르메스 두뇌 장착) │
│ Gemini AI로 분석 │
└─────────────────────────┘
↓ ↓ ↓
수업 요청 창작 요청 코드 요청
↓ ↓ ↓
⚡ 클래스 🎨 스튜디오 🔧 랩
(직접처리) (봇으로안내)(봇으로안내)
```
### 데이터 연결 흐름
```
클래스 → 알림장 생성 → 랩 → 카카오 자동발송
클래스 → 일정 정리 → 랩 → 구글 캘린더 등록
스튜디오 → 콘텐츠 작성 → 스튜디오 → 블로그·카드뉴스 확장
```
---
## 9. 핵심 기술 스택 (초보자 버전)
기술 요소
역할
쉬운 비유
텔레그램 봇
사용자와 대화하는 창구
🤖 볼트의 몸
봇의 성격, 말투, 행동 규칙 정의
🧠 볼트의 두뇌
Gemini AI
질문을 이해하고 판단하며 답변 생성
💡 볼트의 생각 능력
Python (bot.py)
모든 구성요소를 연결하고 명령 실행
⚡ 볼트의 신경계
헤르메스 프로필
각 봇의 역할과 개성 설정
🏷️ 볼트 팀원들의 이름표
.env 파일
API 키, 토큰 등 비밀정보 보관
🔑 열쇠 서랍
슬랙/텔레그램
사용자가 명령을 내리는 공간
🚪 볼트의 출입문
Google Drive
생성된 파일 저장소
📂 볼트의 서류 캐비닛
Notion
업무 기록 및 지식 관리
📚 볼트의 기억 창고
GitHub
코드와 기능 버전 관리
🏗️ 볼트의 공장
Excel 템플릿
출석부, 정산서 등의 원본 양식
📋 볼트의 업무 서식집
에이전트 시스템
여러 기능을 연결해 자동 처리
👨💼 볼트 비서팀
한국 로봇의 기능을 보여주는 다이어그램
볼트는 "AI 비서"이고, HERMES는 업무 매뉴얼, Gemini는 두뇌, Python은 신경계, 슬랙은 사무실 출입문, 구글드라이브와 노션은 서류보관실이라고 생각하면 됩니다. 🚀
---
## 10. 한계 & 다음 단계
현재 한계
- 볼트가 켜져 있어야만 동작 (자동 시작 설정 필요)
- 대화 내역이 세션마다 초기화됨 (기억력 없음)
- 스마트폰에서 명령 실행은 아직 불가
다음 목표
- ① PC 켜지면 자동으로 볼트도 시작
- ② 카카오 알림 연동
- ③ 대화 기록 저장 (장기 기억)
- ④ 볼트 클래스로 학생 퀴즈 자동 발송
---
## 참고 자료
- [헤르메스 두뇌 파일](file:///d:/hermes/volt/HERMES.md) — 볼트의 시스템 프롬프트
- [봇 파이썬 코드](file:///d:/hermes/volt/bot.py) — 텔레그램 봇 메인 코드
- [텔레그램-슬랙 연결 가이드](file:///d:/hermes/volt/workflow-telegram-slack-guide.md) — 양방향 연결 방법
- [봇 설정 파일](file:///d:/hermes/volt/hermes-telegram-bots-setup.md) — 프로필 설정 정보
---
컴퓨터 화면에 표시된 WhatsApp의 스크린샷
> ⚡ 볼트의 철학
> "기술은 어렵게 뽐내는 것이 아니라, 누구나 안전하고 재미있게 탐험할 수 있어야 해 ⚡🐰"
> "모르는 건 문제가 아니야. 시도하지 않는 게 문제야 ⚡"
슬랙과 텔레그램을 동시에 사용하고 싶었는데 아직 슬랙 사용이 익숙치 않아 무엇이 문제인지 모르겠지만 슬랙이 답을 하지 않네요... ㅠ.ㅠ