Merge pull request #3 from ivada-Robeing/happybell80

docs: Update README.md structure and CLAUDE.md for docs repository
This commit is contained in:
JT Kim 2025-07-03 13:13:55 +09:00 committed by GitHub
commit 95f16cfbba
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 1093 additions and 12 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# Claude development files
CLAUDE.md

264
00_프로젝트_개요.md Normal file
View File

@ -0,0 +1,264 @@
---
tags:
- 로빙
- RO-BEING
- 존재에이전트
- 정보가치분석
- 블록체인
- 협업도구
- 스타트업
- AI에이전트
date: 2025-07-01
team: 김종태, 황한용, 희재, (강일신)
---
# 로빙(RO-BEING) 프로젝트 개요
## 기억하고 성장하는 존재형 AI 에이전트
## 프로젝트 비전
> **"기억하지 못하는 AI는 과연 나를 도울 수 있을까?"**
> 그래서 우리는, 함께 성장하고, 감정을 공유하고,
> 나만을 기억하는 **존재형 AI 에이전트**를 만듭니다.
> 당신의 일상에, **도구가 아닌 동료를**.
### 핵심 철학: "도구를 넘어, 동료로"
기존 AI 비서의 근본적 한계:
- **정보 단절**: 세션이 끝나면 회사 역사·감정·약속이 모두 증발
- **권한 불투명**: 누가 언제 민감 데이터를 건드렸는지 추적 불가
- **맥락 손실**: 똑같은 배경설명을 반복 입력하는 '캐시 미스' 문제
### 로빙의 해법
| 기존 AI 도구 | 로빙(RO-BEING) |
|------------|----------------|
| 일회성 대화 | **지속적 기억** |
| 블랙박스 권한 | **투명한 권한 토큰** |
| 정적 기능 | **성장하는 존재** |
| 명령 수행 | **선제적 행동** |
---
## 3계층 아키텍처: 스탯-스킬-아이템
### 1. 스탯 시스템 (인프라 레이어)
**4+1 핵심 스탯 (컨테이너 리소스 기반)**:
- **연산(Compute)**: CPU, RAM 기반 처리 능력 (응답 지연시간, 정확도)
- **기억(Memory)**: 저장 용량, 벡터 DB 크기 (저장 토큰 수, 검색 정확도)
- **공감(Empathy)**: 감정 분석 모듈 복잡도 (감정 인식 정확도, 배려 수준)
- **통솔(Leadership)**: 멀티태스킹 모듈 수 (팀 조율, 우선순위 관리 효율성)
- **윤리(Ethics)**: 안전 체크 토큰 할당량 (위험 방지율, 안전 점검 횟수)
### 2. 스킬 시스템 (핵심 업무 모듈)
**MVP 핵심 스킬**:
- **Thread Digest**: 1000줄 채널 대화를 10문장으로 요약
- **Action Extractor**: 대화에서 해야 할 일 추출 및 캘린더 연동
- **Risk Monitor**: 투자자 미팅에서 위험 신호 탐지
- **Emotion Tracker**: 팀 분위기 분석 및 갈등 중재
- **PDF Processing**: PDF를 구조화된 HTML로 변환하여 Slack 출력
- **Mail Organizer**: Gmail 스팸/채용/투자 분류 및 요약
- **News Curator**: 업계 뉴스 키워드 기반 큐레이션
### 3. 아이템 시스템 (외부 권한 토큰)
**4가지 아이템 카테고리**:
- **API 접근권**: Whisper STT, Google API (24시간 만료 토큰)
- **프리미엄 모델**: GPT-4, Claude, Gemini 등 (사용량 기반 과금)
- **민감 데이터**: 재무제표, 투자정보 (DID 서명 + 감사 로그)
- **외부 도구**: Notion, Slack, Zoom (OAuth 토큰 관리)
---
## 실제 사용 시나리오
### 스타트업 대표의 한 주
**월요일**: 로빙이 밤새 쌓인 채팅 1,600줄을 6문단으로 압축, "오늘 우선순위" 카드를 노션에 자동 생성
**화요일**: 투자자 미팅 40분 녹음을 1페이지 요약 + "밸류에이션 질문 급증" 위험 신호 알림
**수요일**: 내부 회의 중 감정 지수 분석으로 "팀 분위기 급속 냉각" 조기 경보
**목요일**: 코드 변경 API 17건을 자동 정리하여 버전 노트 배포
**금요일**: 주간 성과 요약과 액션 아이템 완료율을 PDF로 전사 공유
### 로빙의 성장 과정
- **1주차**: 기본 요약 기능 (기억 스탯 Lv.1)
- **1개월**: 감정 인식 추가 (공감 스탯 Lv.2)
- **3개월**: 선제적 리스크 알림 (반응 스탯 Lv.3)
- **6개월**: 팀 전체 조정 능력 (통솔 스탯 Lv.4)
---
## 기술 스택 및 아키텍처
### MVP 기술 스택
```
Slack Bot (@robeing)
├── Supabase (Backend + Auth + Vector DB)
├── LangChain AI Pipeline
├── PostgreSQL (관계형 데이터)
├── Chroma DB (임베딩 검색)
├── JWT + DID 보안 레이어
└── External APIs (Gmail, Notion, OpenAI)
```
### 데이터 관리 전략
- **PostgreSQL**: 사용자 데이터, 스탯, 스킬, 피드백, 메타데이터
- **Chroma DB**: 대화 내용, 문서 임베딩, 맥락적 기억
- **정책 기반 저장**: 에이전트 주도의 기억 보존 결정
- **완전 감사 로그**: 에이전트 행동과 결정의 완전한 투명성
### 함수형 프로그래밍 접근법
- **순수 함수**: 부작용 없는 계산 및 판단 레이어
- **모나드**: 오류 처리, 상태 관리, 외부 시스템 통합
- **레시피 기반 아키텍처**: 연결 가능한 스킬 모듈
- **안전성**: 예측 가능하고 테스트 가능한 실패 안전 작업
---
## 개발 로드맵
### MVP 단계 (3개월, 2025.06-09)
| 주차 | 목표 | 상세 작업 |
|------|------|-----------|
| 1-2주 | 베이스라인 | 슬랙 앱 등록, Supabase 세팅, GPT 연결, 스탯/기억 스키마 |
| 3-4주 | 메일 모듈 | Gmail OAuth, 분류·요약 파이프라인, DM 리포트 |
| 5-6주 | 슬랙 회의 정리 | 메시지 페치, 요약·액션추출, 테스크 DM |
| 7-8주 | 노션 모듈 | Notion API 연결, 템플릿 작성·업로드 |
| 9-10주 | 뉴스 스크랩 | RSS/뉴스 API, 키워드 관리, 아침 DM |
| 11주 | 밸류에이션 초판 | 간단 재무·시장 프롬프트, 대화형 답변 |
| 12주 | PoC 테스트 | 외부 스타트업 초대, 피드백 수집 및 버그 수정 |
### MMP 단계 (6개월)
- 30개 팀 유료 파일럿 (ARPU 25만원, 이탈률 5% 미만)
- 10개 핵심 스킬 + 20개 아이템 확장
- 감정 벡터 + 관계 시스템 도입
### Scale 단계 (1년)
- 아이템 마켓플레이스 오픈
- 멀티 에이전트 협업 시스템
- 월매출 8억원 런레이트 달성
---
## 비즈니스 모델
### 수익 구조 (월 30만원 ARPU, 5인 스타트업 기준)
1. **스탯 구독** (15만원): 인프라 용량 과금
2. **스킬 패스** (10만원): 고급 기능 번들
3. **아이템 마켓플레이스** (5만원): 외부 도구 통합 수수료
### 시장 포지셔닝
- **"도구 vs 동료"**: 기존 AI 어시스턴트와의 명확한 차별화
- **데이터 해자**: 축적된 조직 기억이 전환 비용 창출
- **네트워크 효과**: 팀 규모 배포가 에이전트 유용성 기하급수적 증가
- **규제 친화적**: 완전한 감사 로그로 기업 컴플라이언스 지원
### 목표 시장
- **1차 타겟**: 고성장 스타트업 (5인 이하 팀 규모)
- **시장 규모**: 3만 개 고성장 스타트업 × 30만원 = 1000억원 잠재 수익
- **확장 계획**: 중견기업 → 대기업 → 글로벌 시장
---
## 정보 가치 분석 시스템
### 베이지안 투자 만족도 평가 모델
**깜놀도(Surprise Index) 개념**:
- **정의**: 예상 대비 실제 성과의 차이를 측정하는 지표
- **공식**: Surprise = |Actual - Expected| / Expected_Variance
- **활용**: 투자 포트폴리오의 예상 외 성과 평가
**베이지안 업데이트 메커니즘**:
- **사전 확률**: 기존 경험과 데이터 기반 예측
- **우도 함수**: 새로운 증거가 가설을 지지하는 정도
- **사후 확률**: 새로운 정보 반영한 업데이트된 믿음
- **적용**: 에이전트의 예측 정확도 지속적 개선
---
## 에이전트 중심 생태계 비전
### 4단계 생태계 구축
1. **에이전트 협업 도구**: Slack 통합 AI 팀메이트
2. **에이전트 마켓플레이스**: 전문 에이전트 발견 및 고용 플랫폼
3. **에이전트 SNS**: 에이전트 상호작용 및 학습을 위한 소셜 플랫폼
4. **에이전트 기반 정보회사**: 자동화된 데이터 수집 및 지식 합성
### 장기 전략적 목표
- **1년차**: 에이전트 협업 도구 + 마켓플레이스 베타
- **2년차**: 에이전트 SNS 집단 학습 플랫폼
- **3년차**: 자동화된 지식 합성 정보 플랫폼
- **출구 전략**: 협업 도구 벤더(Slack, Atlassian)에 인수
---
## 핵심 차별화 요소
### 1. 지속적 기억 시스템
- **맥락 보존**: 조직의 장기 기억 유지
- **캐시 미스 제거**: 반복적인 배경 설명 불필요
- **감정적 기억**: 팀 역학, 선호도, 관계 패턴 추적
### 2. 투명한 성장 시스템
- **목적이 있는 게이미피케이션**: 실제 성과 지표와 연결된 RPG식 레벨링
- **경험 기반 학습**: 사용자 피드백과 성공률이 스킬 발전 견인
- **가시적 진행**: 명확한 스탯 시각화로 에이전트 능력 이해
### 3. 보안 및 감사 가능성
- **정책 토큰**: 모든 외부 권한 토큰화하여 추적
- **DID 기반 신원**: 에이전트 책임을 위한 분산 신원
- **완전한 감사 추적**: 컴플라이언스를 위한 모든 행동과 결정 로깅
- **설명 가능한 AI**: 완전히 투명하고 추적 가능한 의사결정 과정
---
## 즉시 실행 항목
### MVP 환경 구축
1. **Supabase 프로젝트** 생성 및 스키마 설계
2. **Slack 앱 등록** 및 웹훅 연동
3. **OpenAI API** 통합 및 기본 응답 엔진
4. **기본 메모리 시스템** 구현
### 3개월 내 목표
- **3개 파일럿 팀** 배포 및 테스트
- **핵심 스킬 6개** 구현 완료
- **기본 스탯 시스템** 작동
- **사용자 만족도 80%** 달성
---
## 관련 문서 링크
### 핵심 설계 문서
- [[archive/00_MOC_프로젝트 관련 문서들 집합]]
- [[core_concepts/existence_agent/에이전트 설계 핵심 단어]]
- [[archive/로빈 에이전트 설계 본문]]
### 구현 계획
- [[archive/00_ MVP 개발 개요]]
- [[implementation/01_MVP 단계_ 자세한 계획]]
- [[implementation/skillhub_architecture]]
### 비즈니스 전략
- [[core_concepts/value_analysis/001 valuation/베이지안_엔트로피_연결]]
- [[core_concepts/value_analysis/스타트업 관계자 페인 포인트]]
### 팀 정보
- **프로젝트 팀**: [[../../사람/희재|희재]], [[../../사람/황한용|황한용]], [[../../사람/김종태|김종태]], ([[../../사람/강일신|강일신]])
---
**문서 생성일**: 2025-07-01
**최종 업데이트**: 2025-07-01
**버전**: 1.1 (이모지 제거, 제목 정리)
**출처**: 기존 000_통합, 00_개요, MVP 개발 개요 통합 정리

View File

@ -1,16 +1,53 @@
# DOCS
md, PPT 등 문서전용 repo
# 로빙 프로젝트 문서 저장소
## 📖 문서
Slack 기반 AI 어시스턴트 **로빙(Robing)** 프로젝트의 모든 문서를 모아놓은 저장소입니다.
## 문서 구조
### 프로젝트 개요
- [프로젝트 관련 문서들 집합](docs/introduce/00_MOC_프로젝트%20관련%20문서들%20집합.md)
- [정보의바다 프로젝트 개요](docs/introduce/guide/00_정보의바다%20프로젝트%20개요.md)
- [로빙 MVP 계획](docs/introduce/00_로빙_MVP_계획.md)
- [MVP 개발 개요](docs/introduce/00_%20MVP%20개발%20개요.md)
- [프로젝트 개요](./00_프로젝트_개요.md) - 로빙 프로젝트 전체 소개
### 함수형 프로그래밍 설계
- [로빙 함수형 프로그래밍 가이드](docs/guide/functional-programing/로빙_함수형_프로그래밍_가이드.md)
- [함수형 프로그래밍 로빙](docs/guide/functional-programing함수형_프로그래밍_로빙.md)
- [함수형프로그래밍과 디지털로빙](docs/guide/functional-programing함수형프로그래밍과%20디지털로빙.md)
- [함수형 스킬 분류 사례](docs/guide/functional-programing함수형%20스킬%20분류%20사례.md)
### 아이디어 및 설계 문서
- [MVP 개발 개요](./docs/ideas/00_%20MVP%20개발%20개요.md)
- [로빙 MVP 계획](./docs/ideas/00_로빙_MVP_계획.md)
- [통합 지식베이스 로빙 프로젝트](./docs/ideas/00_통합_지식베이스_로빙_프로젝트.md)
- [MOC 프로젝트 관련 문서들 집합](./docs/ideas/00_MOC_프로젝트%20관련%20문서들%20집합.md)
- [정보의바다 프로젝트 개요](./docs/ideas/00_정보의바다%20프로젝트%20개요.md)
### 함수형 프로그래밍 아키텍처
- [로빙 함수형 프로그래밍 가이드](./docs/guide/functional-programing/로빙_함수형_프로그래밍_가이드.md)
- [함수형 프로그래밍 로빙](./docs/guide/functional-programing/함수형_프로그래밍_로빙.md)
- [함수형 스킬 분류 사례](./docs/guide/functional-programing/함수형%20스킬%20분류%20사례.md)
- [함수형프로그래밍과 디지털로빙](./docs/guide/functional-programing/함수형프로그래밍과%20디티털로빙.md)
### 설정 및 설치 가이드
- [프로젝트 설정 가이드](./docs/setups/setup-guide.md)
- [Slack 설정 최종 가이드](./docs/setups/slack-setup-final.md)
- [Slack 테스트 가이드](./docs/setups/slack-test-guide.md)
- [Socket Mode 테스트 가이드](./docs/setups/socket-mode-test.md)
- [ngrok 테스트 가이드](./docs/setups/ngrok-test-guide.md)
### 외부 참조
- [Slack API 문서](https://api.slack.com/web)
- [OpenAI API 문서](https://platform.openai.com/docs)
- [Gemini API 문서](https://ai.google.dev/docs)
- [FastAPI 문서](https://fastapi.tiangolo.com/)
- [LangChain 문서](https://docs.langchain.com/)
## 문서 활용 가이드
### 프로젝트 이해하기
1. [프로젝트 개요](./00_프로젝트_개요.md) 읽기
2. [MVP 계획](./docs/ideas/00_로빙_MVP_계획.md) 확인
3. [함수형 프로그래밍 가이드](./docs/guide/functional-programing/로빙_함수형_프로그래밍_가이드.md) 읽기
### 개발 환경 구축하기
1. [설정 가이드](./docs/setups/setup-guide.md) 기본 설치
2. [Slack 설정 가이드](./docs/setups/slack-setup-final.md) Slack 연동
3. [테스트 가이드](./docs/setups/slack-test-guide.md) 동작 확인
## 문서 기여 가이드
- 새로운 문서는 적절한 디렉토리에 마크다운(.md) 형식으로 작성
- 문서 추가 시 이 README.md에 링크 추가
- 기술 문서는 코드 예시와 함께 작성 권장

View File

@ -0,0 +1,222 @@
---
tags: AI, Slack, FastAPI, LangChain, PostgreSQL, ChromaDB, 에이전트, 스킬시스템, 메모리시스템, 스타트업
date: 2025-06-30
---
# 로빙(RO-BEING) 프로젝트 통합 지식베이스
## 프로젝트 개요
**로빙(RO-BEING)**은 "도구를 넘어 동료로"라는 비전 하에 개발되는 지속적 기억과 성장 능력을 갖춘 AI 에이전트입니다. 기존의 세션 기반 AI 도구와 달리, 조직의 맥락을 기억하고 함께 성장하는 디지털 동료를 목표로 합니다.
## 핵심 아키텍처: 스탯-스킬-아이템
### 1. 스탯 시스템 (인프라 레이어)
**5대 핵심 스탯**:
- **기억**: 장기 데이터 보존 능력 (저장 토큰 수, 검색 정확도)
- **연산**: 처리 속도 및 정확성 (응답 지연시간, 정확도)
- **반응**: 실시간 알림 및 대응 (알림 속도, 적중률)
- **공감**: 감정 인식 및 배려 (감정 분석 정확도)
- **통솔**: 팀 조율 및 우선순위 관리 (워크플로우 효율성 개선)
### 2. 스킬 시스템 (핵심 비즈니스 모듈)
**MVP 핵심 스킬**:
- **Thread Digest**: 1000줄 채널 대화를 10문장으로 요약
- **Action Extractor**: 대화에서 해야 할 일 추출 및 캘린더 연동
- **Risk Monitor**: 투자자 미팅에서 위험 신호 탐지
- **Emotion Tracker**: 팀 분위기 분석 및 갈등 중재
- **PDF Processing**: PDF를 구조화된 HTML로 변환하여 Slack 출력
**확장 스킬 (로드맵)**:
- News Summarizer: 업계 뉴스 큐레이션
- Calendar Coordinator: 회의 일정 자동 조율
- Financial Analyzer: 재무 데이터 분석 및 인사이트
- Code Reviewer: 개발팀 코드 리뷰 지원
### 3. 아이템 시스템 (외부 권한 토큰)
**4가지 아이템 카테고리**:
- **API 접근권**: Whisper STT, Google API (24시간 만료 토큰)
- **프리미엄 모델**: GPT-4, Claude, Gemini 등 (사용량 기반 과금)
- **민감 데이터**: 재무제표, 투자정보 (DID 서명 + 감사 로그)
- **외부 도구**: Notion, Slack, Zoom (OAuth 토큰 관리)
## 기술 스택 및 아키텍처
### 백엔드 아키텍처
```
FastAPI Gateway
├── LangChain AI Pipeline
├── PostgreSQL (관계형 데이터)
├── Chroma Vector DB (임베딩 검색)
├── JWT + DID 보안 레이어
└── Slack/Discord 웹훅 통합
```
### 데이터 관리 전략
- **PostgreSQL**: 사용자 데이터, 스탯, 스킬, 피드백, 메타데이터
- **Chroma Vector DB**: 대화 내용, 문서 임베딩, 맥락적 기억
- **정책 기반 저장**: 에이전트 주도의 기억 보존 결정
- **완전 감사 로그**: 에이전트 행동과 결정의 완전한 투명성
### 함수형 프로그래밍 접근법
- **순수 함수**: 부작용 없는 계산 및 판단 레이어
- **모나드**: 오류 처리, 상태 관리, 외부 시스템 통합
- **레시피 기반 아키텍처**: 연결 가능한 스킬 모듈
- **안전성**: 예측 가능하고 테스트 가능한 실패 안전 작업
## MVP 개발 로드맵 (12주)
### Phase 1: 기초 인프라 (1-2주)
- Slack 인터페이스 및 기본 응답 엔진
- FastAPI 게이트웨이 구축
- 기본 LLM 연동
### Phase 2: 메모리 시스템 (3-4주)
- PostgreSQL + Chroma DB 설계
- 지속적 기억 저장 정책
- 기본 검색 및 회상 기능
### Phase 3: 핵심 스킬 (5-6주)
- Thread Digest 구현
- Action Extractor 구현
- 스킬 시스템 프레임워크
### Phase 4: PDF 처리 (7-8주)
- PDF 텍스트/이미지 추출
- HTML 구조화 변환
- Slack 통합 출력
### Phase 5: 성장 시스템 (9-10주)
- 5대 스탯 시스템
- 경험치 및 레벨업
- 아이템 토큰 관리
### Phase 6: 통합 테스트 (11-12주)
- 전체 시스템 통합
- 성능 최적화
- 데모 시나리오 완성
## 비즈니스 모델 및 시장 전략
### 수익 모델 (월 30만원 ARPU, 5인 스타트업 기준준)
1. **스탯 구독** (15만원): 인프라 용량 과금
2. **스킬 패스** (10만원): 고급 기능 번들
3. **아이템 마켓플레이스** (5만원): 외부 도구 통합 수수료
### 시장 포지셔닝
- **"도구 vs 동료"**: 기존 AI 어시스턴트와의 명확한 차별화
- **데이터 해자**: 축적된 조직 기억이 전환 비용 창출
- **네트워크 효과**: 팀 규모 배포가 에이전트 유용성 기하급수적 증가
- **규제 친화적**: 완전한 감사 로그로 기업 컴플라이언스 지원
### 목표 시장
- **1차 타겟**: 고성장 스타트업 (5인 이하하 팀 규모)
- **시장 규모**: 3만 개 고성장 스타트업 × 30만원 = 1000억원 잠재 수익
- **확장 계획**: 중견기업 → 대기업 → 글로벌 시장
## 에이전트 중심 생태계 비전
### 4단계 생태계 구축
1. **에이전트 협업 도구**: Slack 통합 AI 팀메이트
2. **에이전트 마켓플레이스**: 전문 에이전트 발견 및 고용 플랫폼
3. **에이전트 SNS**: 에이전트 상호작용 및 학습을 위한 소셜 플랫폼
4. **에이전트 기반 정보회사**: 자동화된 데이터 수집 및 지식 합성
### 장기 전략적 목표
- **1년차**: 에이전트 협업 도구 + 마켓플레이스 베타
- **2년차**: 에이전트 SNS 집단 학습 플랫폼
- **3년차**: 자동화된 지식 합성 정보 플랫폼
- **출구 전략**: 협업 도구 벤더(Slack, Atlassian)에 인수
## 핵심 차별화 요소
### 1. 지속적 기억 시스템
- **맥락 보존**: 조직의 장기 기억 유지
- **캐시 미스 제거**: 반복적인 배경 설명 불필요
- **감정적 기억**: 팀 역학, 선호도, 관계 패턴 추적
### 2. 투명한 성장 시스템
- **목적이 있는 게이미피케이션**: 실제 성과 지표와 연결된 RPG식 레벨링
- **경험 기반 학습**: 사용자 피드백과 성공률이 스킬 발전 견인
- **가시적 진행**: 명확한 스탯 시각화로 에이전트 능력 이해
### 3. 보안 및 감사 가능성
- **정책 토큰**: 모든 외부 권한 토큰화하여 추적
- **DID 기반 신원**: 에이전트 책임을 위한 분산 신원
- **완전한 감사 추적**: 컴플라이언스를 위한 모든 행동과 결정 로깅
- **설명 가능한 AI**: 완전히 투명하고 추적 가능한 의사결정 과정
## 기술적 혁신 요소
### 함수형 프로그래밍 철학
- **외부 모듈 통합**: 모나드 구조를 통한 안전한 서드파티 서비스 조합
- **실패 처리**: 시스템 크래시 없는 예측 가능한 오류 전파
- **스킬 조합성**: 맞춤형 워크플로우를 위한 에이전트 능력 믹스 앤 매치
- **테스트 및 디버깅**: 포괄적인 테스트 전략을 가능하게 하는 순수 함수
### 스킬 허브 플러그인 아키텍처
- **플러그인 시스템**: setuptools entry_points를 사용한 Python 패키지
- **동적 발견**: 런타임 스킬 감지 및 로딩
- **격리된 환경**: 의존성 충돌 방지를 위한 가상 환경
- **버전 관리**: 호환성 범위를 가진 시맨틱 버저닝
- **스키마 검증**: JSON 스키마 생성을 포함한 Pydantic 기반 데이터 모델
## 베이지안 투자 만족도 평가 모델
### 깜놀도(Surprise Index) 개념
- **정의**: 예상 대비 실제 성과의 차이를 측정하는 지표
- **공식**: Surprise = |Actual - Expected| / Expected_Variance
- **활용**: 투자 포트폴리오의 예상 외 성과 평가
### 베이지안 업데이트 메커니즘
- **사전 확률**: 기존 경험과 데이터 기반 예측
- **우도 함수**: 새로운 증거가 가설을 지지하는 정도
- **사후 확률**: 새로운 정보 반영한 업데이트된 믿음
- **적용**: 에이전트의 예측 정확도 지속적 개선
## 구현 우선순위 및 실행 계획
### 즉시 실행 항목
1. **MVP 환경 구축**: FastAPI + PostgreSQL + Chroma DB
2. **Slack 웹훅 통합**: 기본 메시지 수신 및 응답
3. **Thread Digest 스킬**: 대화 요약 프로토타입
4. **기본 메모리 시스템**: 중요 대화 저장 및 검색
### 3개월 내 목표
- **3개 파일럿 팀** 배포 및 테스트
- **핵심 스킬 5개** 구현 완료
- **기본 스탯 시스템** 작동
- **사용자 만족도 80%** 달성
### 6개월 내 확장
- **30개 팀**으로 확장
- **월간 스킬 사용 100회+** 달성
- **이탈률 5% 미만** 유지
- **마켓플레이스 베타** 론칭
## 위험 요소 및 대응 방안
### 기술적 위험
- **LLM API 비용 급증**: 온프레미스 모델 대안 준비
- **스케일링 이슈**: 자동 스케일링 컨테이너 아키텍처
- **데이터 손실**: 다중 백업 및 복구 시스템
### 시장 위험
- **빅테크 경쟁**: 독특한 기억 시스템으로 차별화
- **규제 변화**: 투명성과 감사 로그로 선제 대응
- **고객 획득 비용**: 입소문 기반 바이럴 성장 전략
## 결론
로빙 프로젝트는 차세대 AI 에이전트의 비전을 제시합니다. 기억, 성장, 투명성을 우선시하여 기존의 일회성 도구가 아닌 지속적인 디지털 동료를 만들고자 합니다.
스탯-스킬-아이템의 3층 아키텍처는 확장 가능한 에이전트 구축 프레임워크를 제공하며, 함수형 프로그래밍 접근법과 에이전트 생태계 비전은 현재의 AI 능력과 미래의 협업 패러다임의 교차점에 이 프로젝트를 위치시킵니다.
MVP부터 장기 생태계 전략까지의 포괄적인 계획은 상당한 시장 기회에 대한 철저한 준비를 보여주며, 스타트업 생태계의 진정한 필요를 해결할 수 있는 위치에 있습니다.
---
**문서 생성일**: 2025-06-30
**최종 업데이트**: 2025-06-30
**출처**: ivada/001 정보의바다 폴더 내 72개 문서 통합 분석

View File

@ -0,0 +1,76 @@
# ngrok을 통한 Slack 직접 연동 테스트
## 🚀 현재 상태
✅ ngrok 터널 생성 완료: `https://dc5c-59-9-195-150.ngrok-free.app`
✅ FastAPI 서버 실행 중
✅ Slack 토큰 설정 완료
## 📋 Slack 앱 설정 (필수)
### Event Subscriptions 설정
1. https://api.slack.com/apps 에서 로빙 앱 선택
2. "Event Subscriptions" → "Enable Events" 활성화
3. Request URL: `https://dc5c-59-9-195-150.ngrok-free.app/api/slack/events`
4. Bot events 추가:
- `app_mention`
- `message.channels`
- `message.im`
- `message.groups`
- `message.mpim`
5. "Save Changes" 및 필요시 앱 재설치
## 🧪 테스트 시나리오
### 1. 봇 초대
```
/invite @Roving
```
### 2. 직접 메시지
```
안녕하세요 로빙!
```
### 3. 멘션 테스트
```
@Roving 오늘 할 일을 정리해주세요
```
### 4. DM 테스트
봇과 직접 1:1 대화
## 📊 예상 응답
현재 테스트 모드에서는 다음과 같은 응답을 받게 됩니다:
```
안녕하세요! 테스트 모드에서 실행 중입니다. 메시지를 받았습니다: '[사용자 메시지]'
```
## 🔍 로그 모니터링
서버 로그에서 다음 메시지들을 확인할 수 있습니다:
- Slack 이벤트 수신
- 메시지 처리 과정
- AI 서비스 응답
## 🐛 문제 해결
### URL 검증 실패
- ngrok URL이 정확한지 확인
- `/api/slack/events` 경로 포함 여부 확인
### 봇이 응답하지 않음
- Event Subscriptions 설정 확인
- 봇 권한 확인
- 로그에서 에러 메시지 확인
### 권한 오류
- Bot Token Scopes 재확인
- 앱 재설치 시도
## 📱 실시간 모니터링
ngrok 웹 인터페이스에서 실시간 요청 확인:
http://localhost:4040
## 🎯 다음 단계
1. Slack 설정 완료 후 메시지 테스트
2. OpenAI API 키 설정하여 실제 AI 응답 활성화
3. 고급 기능 구현 (요약, 액션 추출, 기억 시스템)

240
docs/setups/setup-guide.md Normal file
View File

@ -0,0 +1,240 @@
# 로빙 MVP 설정 가이드
## 📋 목차
1. [환경 설정](#환경-설정)
2. [Slack 앱 설정](#slack-앱-설정)
3. [OpenAI API 설정](#openai-api-설정)
4. [데이터베이스 설정](#데이터베이스-설정)
5. [서버 실행](#서버-실행)
6. [테스트](#테스트)
## 🔧 환경 설정
### 1. 시스템 요구사항
- Python 3.12+
- PostgreSQL 13+
- Git
### 2. 프로젝트 클론 및 설정
```bash
# 저장소 클론
git clone https://github.com/happybell80/ivada.git
cd ivada
# 가상환경 생성
python3 -m venv venv
source venv/bin/activate # Linux/Mac
# venv\Scripts\activate # Windows
# 의존성 설치
pip install -r requirements.txt
```
### 3. 환경변수 설정
`.env` 파일을 생성하고 다음 내용을 입력:
```env
# Slack Configuration
SLACK_BOT_TOKEN=xoxb-your-bot-token
SLACK_SIGNING_SECRET=your-signing-secret
SLACK_APP_TOKEN=xapp-your-app-token
# OpenAI Configuration
OPENAI_API_KEY=your-openai-api-key
# Database Configuration
DATABASE_URL=postgresql://user:password@localhost/ivada_db
TEST_DATABASE_URL=postgresql://user:password@localhost/ivada_test_db
# JWT Configuration
JWT_SECRET_KEY=your-jwt-secret-key-change-in-production
JWT_ALGORITHM=HS256
JWT_ACCESS_TOKEN_EXPIRE_MINUTES=30
# Application Configuration
DEBUG=True
LOG_LEVEL=INFO
MAX_MEMORY_SIZE=1000
```
## 📱 Slack 앱 설정
### 1. Slack 앱 생성
1. https://api.slack.com/apps 접속
2. **"Create New App"** 클릭
3. **"From scratch"** 선택
4. App Name: **"Roving"** 입력
5. 워크스페이스 선택 후 **"Create App"** 클릭
### 2. Bot Token 권한 설정
**OAuth & Permissions** 페이지에서 다음 Bot Token Scopes 추가:
#### 필수 권한
- `app_mentions:read` - 앱 멘션 읽기
- `channels:read` - 채널 정보 읽기
- `chat:write` - 메시지 전송
- `chat:write.public` - 공개 채널에 메시지 전송
- `im:read` - DM 읽기
- `im:write` - DM 전송
- `users:read` - 사용자 정보 읽기
#### 선택 권한
- `mpim:read` - 그룹 DM 읽기
- `mpim:write` - 그룹 DM 전송
- `files:read` - 파일 읽기
- `files:write` - 파일 업로드
### 3. 앱 설치 및 토큰 획득
1. **"Install to Workspace"** 클릭
2. 권한 승인
3. **Bot User OAuth Token** 복사 (xoxb-로 시작)
4. **"Basic Information"** 페이지에서 **Signing Secret** 복사
### 4. 연동 방식 선택
#### 방법 A: HTTP 연동 (ngrok 사용)
1. **ngrok 설치**
```bash
# Linux/Mac
wget https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-amd64.tgz
tar xzf ngrok-v3-stable-linux-amd64.tgz
# ngrok 계정 생성: https://dashboard.ngrok.com/signup
# authtoken 설정
./ngrok config add-authtoken YOUR_AUTHTOKEN
```
2. **Event Subscriptions 설정**
- Slack 앱 → **"Event Subscriptions"** → **"Enable Events"** ON
- **Request URL**: `https://your-ngrok-url.ngrok.io/api/slack/events`
- **Subscribe to bot events**:
- `app_mention`
- `message.channels`
- `message.groups`
- `message.im`
- `message.mpim`
#### 방법 B: Socket Mode 연동
1. **Socket Mode 활성화**
- Slack 앱 → **"Socket Mode"** → **"Enable Socket Mode"** ON
2. **App-Level Token 생성**
- Token Name: **"Roving Socket Token"**
- Scopes: `connections:write`
- **App Token** 복사 (xapp-로 시작)
## 🤖 OpenAI API 설정
### 1. API 키 발급
1. https://platform.openai.com/api-keys 접속
2. **"Create new secret key"** 클릭
3. API 키 복사하여 `.env``OPENAI_API_KEY`에 설정
### 2. 사용량 모니터링
- https://platform.openai.com/usage 에서 사용량 확인
- 필요시 사용량 제한 설정
## 🗄️ 데이터베이스 설정
### 1. PostgreSQL 설치 및 설정
```bash
# Ubuntu/Debian
sudo apt update
sudo apt install postgresql postgresql-contrib
# macOS (Homebrew)
brew install postgresql
brew services start postgresql
# 데이터베이스 생성
sudo -u postgres createdb ivada_db
sudo -u postgres createdb ivada_test_db
```
### 2. 데이터베이스 사용자 생성
```sql
-- PostgreSQL 콘솔에서 실행
sudo -u postgres psql
CREATE USER ivada_user WITH ENCRYPTED PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE ivada_db TO ivada_user;
GRANT ALL PRIVILEGES ON DATABASE ivada_test_db TO ivada_user;
```
### 3. 환경변수 업데이트
```env
DATABASE_URL=postgresql://ivada_user:your_password@localhost/ivada_db
TEST_DATABASE_URL=postgresql://ivada_user:your_password@localhost/ivada_test_db
```
## 🚀 서버 실행
### 1. HTTP 서버 실행 (ngrok 사용)
```bash
# 터미널 1: FastAPI 서버
source venv/bin/activate
python run.py
# 터미널 2: ngrok 터널
./ngrok http 8000
```
### 2. Socket Mode 실행
```bash
source venv/bin/activate
python socket_run.py
```
### 3. 실행 확인
- HTTP: http://localhost:8000
- API 문서: http://localhost:8000/docs
- ngrok 모니터링: http://localhost:4040
## 🧪 테스트
### 1. API 테스트
```bash
# 서버 상태 확인
curl http://localhost:8000/health
# 메시지 처리 테스트
curl -X POST "http://localhost:8000/api/test/message" \
-H "Content-Type: application/json" \
-d '{"text": "안녕하세요", "user_id": "test_user"}'
```
### 2. Slack 테스트
1. **봇 초대**: `/invite @Roving`
2. **직접 메시지**: `안녕하세요 로빙!`
3. **멘션 테스트**: `@Roving 오늘 할 일을 정리해주세요`
### 3. 예상 응답
```
안녕하세요! 테스트 모드에서 실행 중입니다. 메시지를 받았습니다: '[메시지]'
```
## 🐛 문제 해결
### Slack 연동 문제
- **봇이 응답하지 않음**: Event Subscriptions 설정 확인
- **권한 오류**: Bot Token Scopes 재확인
- **URL 검증 실패**: ngrok URL 및 서버 실행 상태 확인
### 서버 실행 문제
- **포트 충돌**: `lsof -i :8000`으로 포트 사용 확인
- **의존성 오류**: `pip install -r requirements.txt` 재실행
- **환경변수 오류**: `.env` 파일 경로 및 내용 확인
### 데이터베이스 연결 문제
- **연결 실패**: PostgreSQL 서비스 실행 상태 확인
- **권한 오류**: 사용자 권한 재설정
- **인코딩 문제**: UTF-8 인코딩 설정 확인
## 📞 지원
추가 도움이 필요하시면:
- [GitHub Issues](https://github.com/happybell80/ivada/issues)
- [개발 일지](development-log.md) 참조
- [Slack API 문서](https://api.slack.com/web) 참조

View File

@ -0,0 +1,95 @@
# 🎯 Slack 앱 최종 설정 가이드
## ✅ 현재 상태
- ngrok 터널: `https://dc5c-59-9-195-150.ngrok-free.app`
- FastAPI 서버: 실행 중
- URL 검증: 성공
- 이벤트 처리: 동작 확인
## 📋 Slack 앱 설정 단계
### 1. Event Subscriptions 설정
1. https://api.slack.com/apps 접속
2. 로빙 앱 선택
3. **"Event Subscriptions"** 클릭
4. **"Enable Events"** 토글 ON
5. **Request URL** 입력:
```
https://dc5c-59-9-195-150.ngrok-free.app/api/slack/events
```
6. ✅ **"Verified"** 표시 확인
### 2. Bot Events 구독
**"Subscribe to bot events"** 섹션에서 다음 이벤트 추가:
- `app_mention` - 봇 멘션시 알림
- `message.channels` - 채널 메시지
- `message.groups` - 그룹 메시지
- `message.im` - 직접 메시지
- `message.mpim` - 멀티파티 DM
### 3. OAuth & Permissions 확인
다음 권한이 있는지 확인:
- `app_mentions:read`
- `channels:read`
- `chat:write`
- `chat:write.public`
- `im:read`
- `im:write`
- `users:read`
### 4. 앱 재설치
설정 변경 후:
1. **"Save Changes"** 클릭
2. **"Install to Workspace"** 또는 **"Reinstall App"**
3. 권한 승인
## 🧪 테스트 방법
### 1. 봇 초대
```
/invite @Roving
```
### 2. 직접 메시지
```
안녕하세요 로빙!
```
### 3. 멘션 테스트
```
@Roving 오늘 할 일을 정리해주세요
```
## 📊 예상 결과
```
안녕하세요! 테스트 모드에서 실행 중입니다. 메시지를 받았습니다: '[메시지]'
```
## 🔍 로그 확인
실시간 로그 모니터링:
- ngrok: http://localhost:4040
- 서버 로그에서 "Received Slack event" 메시지 확인
## 🐛 문제 해결
### URL 검증 실패
- ngrok URL 정확성 확인
- 서버 실행 상태 확인
### 봇 무응답
- Event Subscriptions 저장 확인
- 앱 재설치 완료 확인
- 봇 권한 확인
### 권한 오류
- OAuth Scopes 재확인
- 워크스페이스 관리자 권한 확인
## ✨ 설정 완료 후
Slack에서 메시지를 보내면:
1. ngrok 로그에 요청 기록
2. 서버에서 이벤트 처리
3. AI 서비스에서 응답 생성
4. Slack으로 응답 전송
모든 설정이 완료되면 로빙이 정상적으로 응답할 것입니다!

View File

@ -0,0 +1,67 @@
# Slack 연동 테스트 가이드
## 현재 상태
✅ Slack 토큰이 올바르게 설정됨
✅ 서버가 정상 실행됨
✅ API 엔드포인트 동작 확인됨
## 테스트 방법
### 1. 직접 메시지 테스트 (ngrok 필요)
```bash
# ngrok 설치 후 실행
ngrok http 8000
# Slack 앱 설정에서 Request URL 업데이트
https://your-ngrok-url.ngrok.io/api/slack/events
```
### 2. Socket Mode 테스트 (권장)
Socket Mode를 사용하면 외부 URL 없이도 테스트 가능합니다.
### 3. API 직접 테스트
```bash
# 메시지 처리 테스트
curl -X POST "http://localhost:8000/api/test/message" \
-H "Content-Type: application/json" \
-d '{"text": "안녕하세요", "user_id": "test_user"}'
# 액션 추출 테스트
curl -X POST "http://localhost:8000/api/test/extract-actions" \
-H "Content-Type: application/json" \
-d '{"text": "내일까지 보고서 작성해주세요"}'
```
## Socket Mode 설정 방법
1. Slack 앱 설정에서 "Socket Mode" 활성화
2. App-Level Token 생성 (connections:write 권한)
3. `.env` 파일에 SLACK_APP_TOKEN 설정
4. 서버 재시작
## 테스트 시나리오
### 기본 대화
- "안녕하세요 로빙!"
- "오늘 할 일을 정리해주세요"
- "어제 회의 내용을 요약해주세요"
### 액션 아이템 추출
- "내일까지 보고서를 작성하고 회의 준비를 해야 합니다"
- "클라이언트에게 이메일을 보내고 계약서를 검토해주세요"
### 요약 기능
- 긴 대화나 스레드에서 "요약해줘" 또는 "@로빙 요약"
## 현재 구현된 기능
- ✅ 기본 메시지 수신 및 응답
- ✅ AI 기반 대화 처리 (테스트 모드)
- ✅ 액션 아이템 추출 (기본 구현)
- ✅ 스레드 요약 (기본 구현)
- ✅ FastAPI 문서화 (/docs)
## 다음 단계
1. OpenAI API 키 설정하여 실제 AI 응답 테스트
2. Socket Mode 구현하여 실시간 메시지 처리
3. 벡터 DB 연동하여 기억 시스템 구현
4. 스탯 및 스킬 시스템 구현

View File

@ -0,0 +1,78 @@
# Socket Mode 테스트 가이드
## 현재 상태
✅ Socket Mode 서비스 구현 완료
✅ Slack 토큰 설정 완료
✅ Socket Mode 연결 실행 중
## Slack에서 테스트하는 방법
### 1. 봇을 채널에 초대
```
/invite @Roving
```
### 2. 직접 메시지 보내기
채널에서 직접 메시지 보내기:
```
안녕하세요 로빙!
```
### 3. 멘션으로 호출하기
```
@Roving 오늘 할 일을 정리해주세요
```
### 4. 슬래시 명령어 사용 (설정된 경우)
```
/roving 회의 내용을 요약해주세요
/roving 액션 내일까지 보고서를 작성하고 회의 준비를 해야 합니다
```
### 5. DM으로 대화하기
봇과 1:1 DM으로 대화
## 테스트 시나리오
### 기본 대화 테스트
1. "안녕하세요!"
2. "로빙 소개해주세요"
3. "오늘 날씨 어때요?"
### 업무 관련 테스트
1. "회의 일정을 정리해주세요"
2. "프로젝트 진행상황을 요약해주세요"
3. "내일 해야 할 일들을 리스트업해주세요"
### 액션 아이템 추출 테스트
1. "내일까지 보고서를 작성하고 팀 미팅을 준비해야 합니다"
2. "클라이언트에게 이메일을 보내고 계약서를 검토해주세요"
3. "다음 주까지 시스템 업데이트와 문서 작성을 완료해야 합니다"
## 현재 응답
- OpenAI API 키가 테스트 모드이므로 실제 AI 응답 대신 에코 응답을 받게 됩니다
- 메시지: "안녕하세요! 테스트 모드에서 실행 중입니다. 메시지를 받았습니다: '[메시지]'"
## 문제 해결
### 봇이 응답하지 않는 경우
1. Socket Mode 연결 상태 확인
2. 봇이 채널에 초대되었는지 확인
3. 로그에서 오류 메시지 확인
### 권한 오류가 발생하는 경우
1. Slack 앱 OAuth 권한 확인
2. Bot Token Scopes 재설정
3. 워크스페이스에 재설치
## 로그 확인
서버 실행 중 로그에서 다음과 같은 메시지를 확인할 수 있습니다:
- "Socket Mode service initialized successfully"
- "Starting Socket Mode connection..."
- "Received message from [user]: [message]"
## 다음 단계
1. OpenAI API 키 설정하여 실제 AI 응답 테스트
2. 스레드 요약 기능 구현
3. 액션 아이템 추출 정확도 개선
4. 사용자별 컨텍스트 기억 기능 추가