docs: LangGraph 향후 계획 제거 - 실제 미적용 상태 반영

This commit is contained in:
happybell80 2025-09-29 11:28:44 +09:00
parent 89f93f054e
commit aa2b682303

View File

@ -1,7 +1,7 @@
---
date: 2025-09-29
author: happybell80
tags: [naverworks, briefing, timezone, langgraph]
tags: [naverworks, briefing, timezone]
---
# NaverWorks 브리핑 주말 이메일 누락 문제
@ -46,29 +46,6 @@ tags: [naverworks, briefing, timezone, langgraph]
- DB 연결: PostgreSQL (DATABASE_URL 환경변수)
- API 인증: skill-email은 X-API-Key 불필요, skill-slack은 X-API-Key 필수
## LangGraph 적용 방안
**현재 상태**: LangGraph 미도입 (requirements.txt, 코드에 없음)
### 구현 계획 (향후 적용 시)
1. **StateGraph 구조**
- 노드: get_uuid → fetch_emails → filter_important → generate_summary → format_message → send_slack
- 상태 키: user_uuid, emails, important_emails, summary, slack_message
- 체크포인터: SqliteSaver('/mnt/hdd/logs/langgraph.db')
2. **필요 패키지 및 호환성**
- rb8001/requirements.txt에 추가: `langgraph`, `langgraph-checkpoint-sqlite`
- 주의: SQLAlchemy 2.0.35 사용 중, SQLAlchemyJobStore 호환성 검증 필요
- Python 3.11 내장 zoneinfo 사용 가능
3. **주요 개선점**
- skill-email API 타임아웃 시 fetch_emails 노드만 재실행
- Slack 전송 실패 시 send_slack 노드만 재시도
- thread_id='naverworks_daily_YYYYMMDD'로 일별 추적
4. **파일 구조 변경**
- 기존 process_briefing 메서드를 StateGraph.compile()로 교체
- 각 단계를 개별 노드 함수로 분리
- graph.invoke({"email": "info@company-x.partners"}, config={"configurable": {"thread_id": thread_id}})
## 교훈
- 타임존 명시: naive datetime 대신 KST 명시적 사용