배경 및 목적
저는 "Learn by Doing"이라는 철학을 좋아합니다. 이에 따라 일단 들이박으면서 실행에 옮기고, 막히는 부분들은 유튜브, 공식 문서, 커뮤니티, 그리고 지피터스를 통해 해결해 나갔습니다.
초기 목 표는 급변하는 AI Trend를 따라가기 위해 트위터에서 AI 관련 전문가들과 기업들의 글을 수집하여 뉴스레터로 만들고자 했습니다. 하지만 두가지 문제가 있었는데...
트위터 Basic 이상 유료 플랜 ($100/m)을 써야만 크롤링이 가능했으며,
Selenium 등 파이썬 라이브러리 사용은 트위터 규정 위반으로 계정 정지 위험이 있었습니다.
이에 따라 프로젝트 방향을 수정하여 파이썬 기반 주식 데이터 크롤링을 한 뒤, Make를 활용하여 주식 종목들의 동향을 알려주는 뉴스레터를 만들기로 결정하였습니다.
이와 같은 주제를 정한 이유는 저부터 직장인들 중 한명으로써 주식 거래를 위해 각 기업의 동향 파악과 주가 분석을 하기에는 시간이 부족하고 귀찮은 면도 있습니다. 또한, 모든 종목을 살펴보기 어렵고 관심 있는 섹터만 확인하게되는 한계가 있어 이를 보완하고자 했습니다.
참고 자료
Google 연동
허세임님 영상
해외 유튜버
How To Connect Make.com & Google Drive or Gmail (Full 2024 Step-by-Step Guide)
차이점 : 해외 유튜버는 API 설정 시 Scope 전부 선택
지피터스 참고자료 : 일찍 사례글을 올려주신 지민님과 이전 11기 셔니 님 글
Make 내에서 프롬프트 삽입하는 방법과 Set variable 사용법 참고
Make.com를 활용하여 뉴스 요약 및 SNS 포스팅 자동화
Claude 프롬프트 작성 방향에 대한 아이디어
프롬프트 작성 보조 툴
Claude Project 내 기본 프로젝트 (How to use Claude)
Claude prompting guide 가 이미 첨부되어져있는 상태로,
프롬프트 초안을 작성하여 피드백 요청을 하니 잘 수정해주었습니다.
Anthropic Console 내 Generate Prompt
기본 프로젝트로 작성한 프롬프트를 보다 더 고도화하기 위해 사용하였는데
기본 프로젝트에서 생성되는 프롬프트와 크게 차이가 없고
좋은 점은 프롬프트에 대한 출력 테스트를 해볼 수 있는 점이였습니다.
그래서 기본 프로젝트로 프롬프트 고도화 - Console에서 잘 작동되는지 테스트 - 이후 기본 프로젝트 기반 고도화 작업 진행하였습니다.
활용 툴
Make
Custom webhook
Perplexity
Create a Chat Completion
Google Sheets
Get Range Values
Tools
Text aggregator
Set variable
Claude
Create a Prompt
Markdown
Markdown to HTML
Gmail
Send an Email
실행 과정
전체 Flow
Python에서 Webhook 실행하며 분석 대상 종목 리스트 보내기
import requests
webhook_url = "Custom Webhook에서 생성되는 url"
data = {
"stock_list": ["분석","대상","주식","리스트"],
}
response = requests.post(webhook_url, json=data)Perplexity로 주식 종목 리스트에 대한 최근 일주일 간의 주요 뉴스 Summary
(샘호트만님 스터디 OT 보고 참고)Google Sheets에서 전체 Data 추출
Range를 처음에 A1부터 할 경우, Header도 같이 Bundle로 들어가져 A2부터로 수정
(Table contains headers 옵션이 있고, 해당 옵션 설정을 비워두면
자동적으로 첫번째 Row를 header로 인식하며 제외할 줄 알았으나 그러지 않았음)
Text aggregator로 개별 Data 하나의 Text로 통합기
처음에 Make.com의 Operation Count가 어떻게 되는지 확인하지 않고 하다가
각 Bundle에 대해 Count되며 무료 리소스 증발했었습니다....이후 새로 계정 파서 Make 커뮤니티를 보니 Array aggregator를 쓰라고 하여,
Array aggregator 기반 Array에서 JSON 형태로 변환하려 집착하다
샘호트만님과 허세임님 도움으로 잘 해결하였습니다 👍
Set variable 로 뉴스 조사 결과에서 불필요한 인트로 제외
주식 데이터와 뉴스 조사 결과 기반 종목 별 분석
Markdown to HTML
Markdown 형식으로 바로 메일을 보내보니 셔니님 글처럼 줄바꿈이 안되는 현상 발생하여 HTML 형식 변환 추가
Gmail로 보내기
결과 및 인사이트
API를 거의 사용해보지 않다가 단기간에 다양한 API를 활용할 수 있는 좋은 기회였습니다.
다른 사람들이 주식 데이터를 기반으로 하지 않은 이유가 있다고 느꼈으며
(토큰 소비량이 너무 큼)Make.com을 활용해 전체 프로세스를 단기간에 구축할 수 있는 유익한 한주였습니다.
향후 계획으로는
Oracle Cloud Free Tier를 활용해 서버에서 Python Code가 주기적으로 실행되도록 설정
뉴스레터에 plotly로 그린 반응형 그래프 집어넣을 방법 모색
Gmail 외 다른 SNS 채널에도 자동 포스팅 되도록 추가할 예정입니다.
Trouble Shooting? 애로사항?
Airtable은 이번에 처음 사용해보았는데 기존 테이블 내 데이터를 삭제 및 업 데이트 속도가 매우 느렸습니다 (2000~3000ea 올리는데 2~30분 정도 소요)
초기에 Make.com의 워크 플로우를 어떻게 짜야 햘지 감이 오지 않아 PPT로 이리저리 그려보고 했는데 결국 구상했던 것 대비 매우 심플하게 한 줄로 구현 가능했습니다.
(Simple Is Best)Make에 있는 AI Assistant는 가끔 내가 에러 수정해줄까? 하고 답변이 와서 그러라고 하면
전반적인 워크 플로우나 각 모듈 내 설정을 다 틀어버려서 수정해줄까 라고 답변이 온다면
초기 전반적인 워크 플로우 구성 단계에서만 사용하는게 좋을 것 같습니다
지피터스를 이제야 알게되어 아쉽고, 이런 좋은 기회를 마련해주셔서 감사합니다.😍