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