Merge pull request #3 from ivada-Robeing/happybell80
docs: Update README.md structure and CLAUDE.md for docs repository
This commit is contained in:
commit
95f16cfbba
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
# Claude development files
|
||||
CLAUDE.md
|
||||
264
00_프로젝트_개요.md
Normal file
264
00_프로젝트_개요.md
Normal 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 개발 개요 통합 정리
|
||||
61
README.md
61
README.md
@ -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에 링크 추가
|
||||
- 기술 문서는 코드 예시와 함께 작성 권장
|
||||
|
||||
0
docs/introduce/00_로빙_MVP_계획.md → docs/ideas/00_로빙_MVP_계획.md
Normal file → Executable file
0
docs/introduce/00_로빙_MVP_계획.md → docs/ideas/00_로빙_MVP_계획.md
Normal file → Executable file
222
docs/ideas/00_통합_지식베이스_로빙_프로젝트.md
Normal file
222
docs/ideas/00_통합_지식베이스_로빙_프로젝트.md
Normal 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개 문서 통합 분석
|
||||
76
docs/setups/ngrok-test-guide.md
Normal file
76
docs/setups/ngrok-test-guide.md
Normal 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
240
docs/setups/setup-guide.md
Normal 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) 참조
|
||||
95
docs/setups/slack-setup-final.md
Normal file
95
docs/setups/slack-setup-final.md
Normal 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으로 응답 전송
|
||||
|
||||
모든 설정이 완료되면 로빙이 정상적으로 응답할 것입니다!
|
||||
67
docs/setups/slack-test-guide.md
Normal file
67
docs/setups/slack-test-guide.md
Normal 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. 스탯 및 스킬 시스템 구현
|
||||
78
docs/setups/socket-mode-test.md
Normal file
78
docs/setups/socket-mode-test.md
Normal 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. 사용자별 컨텍스트 기억 기능 추가
|
||||
Loading…
x
Reference in New Issue
Block a user