📅 Sense Stock 개발 일지 (2025-06-24)
n8n 기반 뉴스 요약 자동화 시스템 Sense Stock 구축 중 진행한 작업들을 정리합니다.
오늘은 GPT 분석 결과를 Slack으로 전달하는 방식에 대해 작업했습니다.
Step 1. 분석 결과 - HTML File 전송 구현 완료
지금은 GPT가 Markdown으로 생성한 리포트를 HTML로 변환한 후, Slack Upload File 노드로
HTML 파일을 첨부 전달하는 구조를 쓰고 있다.
이 방식이 가독성, 구조 유지, Slack 환경 적합성 측면에서 가장 납득 가능한 선택이었다.
💡 왜 이런 방식이 필요했나
Slack 메시지에서 Markdown은 일부만 지원되고, 특히 글씨 크기 조절이 불가능하다.
GPT 분석 결과처럼 긴 리포트는 제목/소제목/구조가 명확해야 하는데, Slack에 그냥 메시지로 넣으면
가독성이 처참해짐...
그래서 아래 조건을 모두 만족하는 형식이 필요했다
- GPT가 Markdown 형식으로 잘 구조화한 결과물을 그대로 살리고
- 사용자에겐 문서처럼 가독성 좋은 형태로 전달되며
- 외부 저장소를 거치지 않고 Slack 내부에서 공유 가능할 것
<현재 구조의 장점>
- ✅ Slack에서 메시지 대신 파일로 전달 → 가독성 확보
- ✅ HTML이라 구조 유지 + 스타일 커스터마이징 가능
- ✅ Markdown 기반이라 버전 관리와 자동화도 수월
- ✅ Google Sheet, GitHub에 결과 로그 남기기 좋음
Step 2. 지금 적용 중인 구조
- GPT가 Markdown 리포트 생성
→ 질문 의도 분석 + 성향 분석 결과를 기반으로 메시지 구성 - Markdown → HTML 변환
→ 헤더, 리스트, 문단 스타일 등을 그대로 살림 - Binary 파일 생성 (코드 사용)
→ HTML 파일로 Slack에서 인식되도록 처리 - Slack Upload File 노드로 전달
→ 파일로 전달되기 때문에 미리보기 없음, 바로 열람 가능
추가로,
- .md 원본은 GitHub Repo에 저장
- 해당 URL은 Google Sheet에 기록
→ 추후 데이터 분석 및 결과 이력 관리 용도로 활용
Step 3. 왜 이렇게 구성했는가
Slack에서 Markdown이 제대로 안 먹힌다
- Slack 메시지에선 # 헤딩, --- 구분선, 큰 글씨 등 문서 구조를 살릴 수 없다.
- GPT가 분석한 리포트를 그냥 메시지로 보여주면 구조가 무너지고 가독성이 처참함
긴 리포트일수록 눈에 잘 들어오는 구조가 중요한데,
Slack 메시지는 그걸 다 망가뜨렸다.
대안 - Markdown 구조는 유지하되, 문서처럼 보여주자
- GPT가 만든 Markdown은 구조적으로 완성도가 높다
- 이를 그대로 살리기 위해선 브라우저 기반 HTML이나 PDF 같은 문서 형태가 필요했다
- 그중 가장 Slack과 잘 맞는 게 HTML 파일 첨부 방식이었다
🧨 Step 4. 뻘짓들...
1. Markdown → PDF (Pandoc)
- pandoc으로 .md → .pdf 변환 시도
- 영어는 잘 됐지만…
❌ 한글 깨짐
❌ 이모지 미지원
❌ LaTeX 환경 설정 너무 복잡
폰트 패치도 해보고 --pdf-engine=xelatex도 써봤지만 실패.
삽질만 왕창 했고, 시간만 날림.
2. HTML 코드 직접 전달
- HTML을 Slack에 메시지로 직접 전달하는 방식도 시도
- 이때 Upload File 노드 대신 코드로 파일 만들고 바로 전송했더니…
❌ Slack에서 HTML File이 미리보기 형식으로 나옴(+ HTML 코드 다나옴)
❌ 사용자가 브라우저로 여는 게 불가능(= 렌더링이 안돼서)
3. HTML → PDF (Puppeteer)
- HTML을 예쁘게 만든 뒤, puppeteer로 PDF 변환
- API 호출시 비용 발생, Pass
❓ 다음 단계에서 고민 중인 것들
PDF 전달 방식까지는 구조가 잡혔다.
이제부터는 그 이후의 흐름과, 기능 고도화 방향에 집중하고 있다.
분석 결과 출력 양식 개선 + 데이터 신뢰성 검토
현재 출력 포맷은 성향 분석 → 시장 요약 → 시나리오 제안 형태지만,
- 응답 형식이 들쭉날쭉하고
- 가독성도 떨어지며
- 무엇보다 데이터가 정확한지 확신하기 어렵다.
<현재 문제>
- 프롬프트에 "당일 날짜는 2025-06-26이며, 해당 날짜 기준으로 분석해줘"라고 명시했지만
- GPT가 실제로 그 날짜 기준 데이터를 참고하는지는 확인 불가
- 예를 들어 “오늘 미국 증시는 하락세”라고 써놓고, 실제론 상승장이었을 수도 있음
→ 이건 단순 포맷 문제가 아니라 데이터 신뢰성 문제와 연결됨
→ MARKET_DATA: 하루 1회 기준 데이터 활용
- 🔍 GPT가 출력한 결과의 타당성 검증 프로세스
- 당일 수집한 MARKET_DATA 요약과 비교
- 주요 표현(하락/상승, 이슈 등)이 실제와 일치하는지 대조
- 🛠 프롬프트 내 "이 데이터를 기반으로만 판단해" 식의 명시적 제한
- 예: “아래 요약 내용을 기반으로만 시장 상황을 판단하라”
- RAG 구조 또는 프롬프트 내부 제약 강화 고려
"신뢰 가능한 데이터 기반 응답을 어떻게 보장할 것인가"에 대한 구조를 추가
'Automation Tool > n8n Project' 카테고리의 다른 글
Sense Stock, D+13 (0) | 2025.06.30 |
---|---|
Sense Stock, D+12 (0) | 2025.06.27 |
Sense Stock, D+10 (0) | 2025.06.24 |
Sense Stock, D+9 (2) | 2025.06.23 |
Sense Stock 개발 회고, 첫 번째 (0) | 2025.06.20 |
댓글