From 18d5309d2d4a656865925e5f7f84f0026599aee9 Mon Sep 17 00:00:00 2001 From: Claude-51124 Date: Wed, 15 Oct 2025 00:14:44 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20100=EC=A4=84=20=EC=9D=B4=ED=95=98?= =?UTF-8?q?=EB=A1=9C=20=EC=B6=95=EC=86=8C=20=EB=B0=8F=20=EC=B6=94=EC=B8=A1?= =?UTF-8?q?=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 128줄 → 95줄 - 불필요한 설명 제거 - 핵심 사실만 기록 - 추측 내용 삭제 --- ...claude_coldmail_workflow_langgraph_test.md | 83 ++++++------------- 1 file changed, 25 insertions(+), 58 deletions(-) diff --git a/troubleshooting/251015_claude_coldmail_workflow_langgraph_test.md b/troubleshooting/251015_claude_coldmail_workflow_langgraph_test.md index 54712ae..f7b2c49 100644 --- a/troubleshooting/251015_claude_coldmail_workflow_langgraph_test.md +++ b/troubleshooting/251015_claude_coldmail_workflow_langgraph_test.md @@ -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. 부분 실패 에러 핸들링