docs: 100줄 이하로 축소 및 추측 제거

128줄 → 95줄
- 불필요한 설명 제거
- 핵심 사실만 기록
- 추측 내용 삭제
This commit is contained in:
Claude-51124 2025-10-15 00:14:44 +09:00
parent a071f8b159
commit 18d5309d2d

View File

@ -9,24 +9,11 @@
--- ---
## 배경
LangGraph 기반 coldmail workflow 테스트 (Priority 2,3,4 완료 후)
- 코드 단순화: 316줄 → 114줄
- 노드: fetch → filter → process → send
---
## 문제 1: Docker 빌드 타임아웃 ## 문제 1: Docker 빌드 타임아웃
**증상**: `INFO: pip is looking at multiple versions of langchain-openai...` **증상**: `pip is looking at multiple versions of langchain-openai...`
**원인**: **해결**: requirements.txt:20,40-42 버전 고정
- requirements.txt:20 `openai==1.6.1` (구버전)
- langchain-openai는 `openai>1.109.1` 필요
- 버전 불일치로 dependency resolver 타임아웃
**해결**: requirements.txt:20,40-42
- openai>=1.110.0 - openai>=1.110.0
- langchain==0.3.27 - langchain==0.3.27
- langchain-openai==0.3.35 - langchain-openai==0.3.35
@ -36,13 +23,11 @@ LangGraph 기반 coldmail workflow 테스트 (Priority 2,3,4 완료 후)
## 문제 2: PDF 업로드 중복 에러 ## 문제 2: PDF 업로드 중복 에러
**증상**: `Failed to upload [공문]...pdf: 400 - File already exists for this team` **증상**: `400 - File already exists for this team`
**원인**: **원인**: team_document 테이블에 file_hash 중복
- 이전 테스트 파일이 team_document 테이블에 남아있음
- file_hash 중복 체크로 재업로드 차단
**해결**: PostgreSQL 직접 접속하여 삭제 **해결**: 51123 PostgreSQL 직접 접속하여 삭제
```bash ```bash
ssh -i ~/.ssh/id_rsa_deploy -p 51123 admin@192.168.219.45 \ ssh -i ~/.ssh/id_rsa_deploy -p 51123 admin@192.168.219.45 \
"PGPASSWORD=robeings psql -h localhost -U robeings -d main_db -c \ "PGPASSWORD=robeings psql -h localhost -U robeings -d main_db -c \
@ -53,75 +38,57 @@ ssh -i ~/.ssh/id_rsa_deploy -p 51123 admin@192.168.219.45 \
## 문제 3: Slack 401 Unauthorized ## 문제 3: Slack 401 Unauthorized
**증상**: **증상**: `Failed to upload file/create list item: 401`
```
Failed to upload file to Slack: 401
Failed to create list item: 401
```
**원인 1**: 토큰 워크스페이스 불일치 **원인 1**: 토큰 워크스페이스 불일치
- 테스트 List F09J1HPPQJG는 Robeing 워크스페이스 (T0925SXPS4D) - List F09J1HPPQJG는 Robeing (T0925SXPS4D)
- .env:98 SLACK_BOT_TOKEN이 Company-X 토큰 사용 중 - .env:98 SLACK_BOT_TOKEN은 Company-X
**해결 1**: .env:98-99 **해결 1**: .env:98 Robeing 토큰으로 변경
- SLACK_BOT_TOKEN을 Robeing 토큰으로 변경 (xoxb-9073915808149...)
- SLACK_LIST_ID=F09J1HPPQJG 유지
**원인 2**: API Key 누락 **원인 2**: .env:43 SKILL_SLACK_API_KEY 누락
- `{"detail":"API key is missing"}`
- SKILL_SLACK_API_KEY 환경변수 없음
**해결 2**: .env:43 **해결 2**: SKILL_SLACK_API_KEY=skill-slack-api-key-2025 추가
- SKILL_SLACK_API_KEY=skill-slack-api-key-2025 추가
**재시작**: `docker compose down && docker compose up -d` (restart 불가) **재시작**: `docker compose down && docker compose up -d`
--- ---
## 문제 4: Lists API invalid_arguments ## 문제 4: Lists API invalid_arguments
**증상**: `Failed to create list item: 400 - invalid_arguments` **증상**: `400 - invalid_arguments`
**원인**: IR 분석 실패로 모든 필드 "N/A" 반환 **원인**: IR 분석 결과 모든 필드 "N/A"
- coldmail_processor.py:73에서 business_area="N/A" 가져옴
- company_name="" → Lists API 거부
**상태**: 미해결 (IR 분석 개선 필요) **상태**: 미해결
--- ---
## 검증 결과 ## 검증 결과
**성공**: **성공**:
- ✅ LangGraph 워크플로우 정상 동작 - LangGraph 워크플로우 정상 동작
- ✅ Lists API 통합 성공 (테스트 아이템 Rec09LJQYLAH2 생성) - Lists API 통합 (테스트 아이템 Rec09LJQYLAH2)
- ✅ Robeing 토큰 인증 성공
**실패**: **실패**:
- ❌ IR 분석 실패 (모든 필드 "N/A") - IR 분석 실패 (모든 필드 "N/A")
- ❌ company_name="" → Lists API 에러
--- ---
## 교훈 ## 교훈
### 테스트 환경 설정 ### 테스트 환경
- List ID와 SLACK_BOT_TOKEN 워크스페이스 일치 필수 확인 - List ID와 SLACK_BOT_TOKEN 워크스페이스 일치 확인
- 환경변수 체크리스트 작성 (SKILL_SLACK_API_KEY) - 필수 환경변수 체크리스트 (SKILL_SLACK_API_KEY)
- 테스트 전 DB 중복 데이터 정리 - 테스트 전 DB 중복 데이터 정리
### 에러 핸들링 ### 배포
- IR 분석 실패 시 "N/A" 대신 유효한 기본값 사용
- Lists API 전송 전 필드 검증 필요
### 배포 프로세스
- .env 수정 후 `docker compose down && up -d` (restart 불가) - .env 수정 후 `docker compose down && up -d` (restart 불가)
- 로그 확인 순서: rb8001 → skill-slack → skill-rag-file
--- ---
## 남은 작업 ## 남은 작업
1. IR 분석 개선 (ChromaDB 검색/LLM 프롬프트) 1. IR 분석 개선
2. coldmail_processor.py:73 필드 검증 추가 2. coldmail_processor.py:73 필드 검증
3. 부분 실패 에러 핸들링 강화 3. 부분 실패 에러 핸들링