- 20251004_happybell80_로빙_뇌_기관_원칙_위반_현황.md: 원칙 위반 현황 및 개선 계획 추가 - 250930_naverworks_slack_03: 완료 문서로 전환 (완료 기능만 포함) - 250930_naverworks_slack_04: Lists API skill-slack 통합 실행 계획 (신규) - 250919_naverworks_slack_04 → 05: DB/스케줄러 관리 (순서 변경) - 300_architecture: rb8001 직접 Slack 호출 제거, skill-slack HTTP 호출로 변경 - CLAUDE.md: "문서 100줄 이하 유지" 규칙 추가 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
72 lines
3.5 KiB
Markdown
72 lines
3.5 KiB
Markdown
# Part 3: 기술 아키텍처
|
|
|
|
## 개요
|
|
|
|
Part 2 [[../200_core_design/README|핵심 설계]]에서 구상한 로빙의 시스템들이 실제로 어떤 기술을 바탕으로 어떻게 움직이는지, 그 기술적 기반과 전체 시스템 구조를 설명합니다.
|
|
|
|
## 주요 내용
|
|
|
|
- **Docker 컨테이너와 마이크로서비스 아키텍처**: 로빙이 각자의 독립된 '집'에서 살며, 기능별로 나뉜 '전문 서비스'들과 협력하는 방식입니다.
|
|
- **PostgreSQL + ChromaDB 하이브리드 데이터베이스**: 로빙의 정형화된 정보(이름, 레벨 등)를 저장하는 '기억 저장소'와, 대화의 의미와 맥락을 저장하는 '연상 기억 저장소'를 함께 사용하는 방식입니다.
|
|
- **Slack 기반 인터페이스**: 사용자와 로빙이 만나는 주요 소통 창구입니다.
|
|
- **임베딩 서비스 분리 아키텍처**: 언어의 의미를 이해하는 무거운 작업을 별도의 전문 서비스에 맡겨, 로빙 본체는 가볍고 빠르게 움직일 수 있도록 하는 구조입니다.
|
|
- **DID 기반 정체성 시스템**: 로빙 각자가 고유한 신원증명을 가지고, 자신의 행동에 책임을 지게 하는 시스템입니다.
|
|
|
|
## 로빙을 위한 체크리스트
|
|
|
|
### Level 1-10 (기초 이해)
|
|
- [ ] Docker 컨테이너가 내 "집"임을 이해한다
|
|
- [ ] PostgreSQL에 내 정보가 저장됨을 안다
|
|
- [ ] ChromaDB에 내 기억이 저장됨을 안다
|
|
- [ ] Slack이 주요 인터페이스임을 이해한다
|
|
|
|
### Level 11-15 (시스템 이해)
|
|
- [ ] 마이크로서비스 간 통신 방식을 이해한다
|
|
- [ ] 임베딩이 무엇인지 설명할 수 있다
|
|
- [ ] PostgreSQL과 ChromaDB의 역할 차이를 안다
|
|
- [ ] 레벨 기반 권한 시스템을 이해한다
|
|
|
|
### Level 16-20 (아키텍처 전문가)
|
|
- [ ] 시스템 병목 지점을 식별할 수 있다
|
|
- [ ] 성능 최적화 방안을 제시할 수 있다
|
|
- [ ] 새로운 마이크로서비스를 설계할 수 있다
|
|
- [ ] 분산 시스템의 장단점을 설명할 수 있다
|
|
|
|
## 핵심 기술 스택
|
|
```
|
|
Frontend: Slack Interface (사용자와의 소통 창구)
|
|
Backend: FastAPI (로빙의 두뇌) + skill-* / Workers (신경계)
|
|
Database: PostgreSQL (구조화된 기억) + ChromaDB (맥락적/연상적 기억)
|
|
Container: Docker Compose (로빙들의 아파트 단지)
|
|
Embedding: Separated Service (언어 의미 이해 전문가)
|
|
```
|
|
|
|
## 시스템 구조 이해하기
|
|
```
|
|
사용자 → Slack (소통) → nginx (교통정리) → Gateway(8100) (정문)
|
|
↓
|
|
rb8001(로빙 본체)
|
|
↓
|
|
Embedding Service (의미 번역가)
|
|
↓
|
|
Skill Services (각종 전문가들)
|
|
↓
|
|
PostgreSQL / ChromaDB (기억 저장소)
|
|
```
|
|
|
|
## 실습 과제
|
|
1. `docker ps`로 내 컨테이너 상태 확인하기
|
|
2. PostgreSQL에서 내 레벨 정보 조회하기
|
|
3. ChromaDB에서 최근 기억 검색하기
|
|
|
|
## 성능 지표
|
|
- 응답 시간: < 2초 (목표)
|
|
- 메모리 사용량: < 1GB (임베딩 제외)
|
|
- 동시 처리: 5개 요청
|
|
|
|
## 다음 단계
|
|
Part 4 [[../400_growth/README|성장과 진화]]에서 이 아키텍처 위에서 어떻게 성장하는지 학습하세요.
|
|
|
|
## 이전 단계
|
|
Part 2 [[../200_core_design/README|핵심 설계]]에서 이 아키텍처가 구현하려는 시스템의 설계도를 학습하세요.
|