본문 바로가기
개발 기록

[Project] AI를 이용한 자동화 후기: AI 증시 요약 봇 개발기 (feat. Copilot CLI)

by kkkdh 2026. 3. 14.

이름하여 주요요.... (Gemini가 만들어줌..)

0. 들어가며: 왜 만들게 되었는지..

미리보는 결과물

최근 블로그에 '기록하는 행위'에 대한 회고를 남기며,

기록에 대한 이런저런 두루뭉술한 생각들을 정리했었습니다.

 

그러던 중 내가 마주하는 수많은 정보들을 단순히 소비하는 데 그치지 않고

어떻게 나만의 자산으로 남길 수 있는지에 대한 고민이 생겼습니다.

 

저는 텔레그램 채널들을 통해 미국 증시 정보나 국내외 주식 정보들을 눈팅하곤 하는데요,

정보들이 정말 셀수없이 쏟아지는 세상에서 이런 것들을 하나하나 파악하려면 너무 어렵다는 생각이 들었습니다.

 

하나하나 파악이 어려우니 LLM Agent에게 전달하여 요약하는 행위는 또 저에게 '반복적인 리소스'가 되었습니다.

 

개발자로서 이 반복을 해결해볼까? 라는 생각겸

크롤링과 open api, 정보를 제공하는 이미 만들어진 패키지 거기에 AI를 더해

'매일 아침 8시, 나만을 위한 AI 증시 요약 비서'를 만들어볼까?라는 생각이 들었습니다.

 

 


1. 설계의 핵심: '가볍게, 하지만 입체적으로'

개인이 사용할 목적이기에 거창한 서버를 운영하기보다는 비용이 거의 들지 않으면서도 유지보수가 쉬운 Serverless 아키텍처를 선택했습니다.

  • 스케줄러: GitHub Actions (서버 없이 정해진 시간에 실행)
  • 엔진: Gemini 2.5 Flash (빠른 속도와 넉넉한 프리티어)
  • 데이터 소스: yfinance(지수 정보 조회), BeautifulSoup(국내 선물/커뮤니티 여론 수집), Fear & Greed Index (공포탐욕 지수 aka 공탐지수)
  • 인터페이스: Telegram Bot API

 

처음에는 단순히 수치 전달 및 정보를 전달해보니 재미가 없고,

제가 만들었지만 요거를 쓸 충분한 가치가 없다는 생각이 들었습니다.

 

그래서 Gemini에게 기획을 요청했고, 두 가지 재미용 기능을 추가했습니다.

3가지를 제안했지만.. (귀찮아서) 내맘대로 2가지만..

  1. 시각화: 시장의 심리를 한눈에 볼 수 있는 '공포/탐욕 지수' 게이지 차트 생성.
  2. 페르소나 시스템: 시장 지수에 따라 AI가 '겁쟁이'부터 '광기 어린 투기꾼'까지 성격을 바꾸어 브리핑하도록 설계.

 

공포/탐욕 지수 시각화
공탐 지수별 페르소나 부여

 

 

Github Actions를 위해 다음과 같은 yaml 파일을 추가하여 매일 오전 8시에 동작하도록 설정했습니다.

  • ubuntu os에서 실행
  • github repository에 github action에서 사용할 수 있는 비공개 설정 값들을 사용 (Telegram 토큰, Telegram Chat IDs, Gemini API Key)
  • requirements.txt에 기재된 의존 패키지 설치
  • main.py 스크립트 실행 (증시 정보 수집 및 텔레그램 메시지 전송)


2. Copilot CLI와 함께한 개발 경험

이번 프로젝트에서는 기존 IDE 익스텐션 방식에서 벗어나 Copilot CLI를 적극적으로 활용해 보았습니다.

 

요즘 업무에서나 이번 프로젝트에서 cli 기반 AI Agent를 적극적으로 활용하려 하는데,

정말 엄청난 생산성 향상을 제공하는 것을 체감하게 되었습니다.

대표적으로 IDE 내장 플러그인 보다 더 좋다고 느낀 점들이 있었는데요,

  • 효율성: 복잡한 matplotlib의 극좌표계 설정이나 cron 스케줄 설정법을 브라우저 검색 없이 터미널 안에서 바로 해결할 수 있었습니다.
  • 컨텍스트 유지: 에디터와 터미널 사이의 맥락이 끊기지 않으니 개발의 템포가 훨씬 빨라짐을 느꼈습니다. CLI 환경에서의 AI 에이전트 활용이 업무 생산성에 어떤 영향을 미치는지 직접 체감할 수 있는 좋은 기회였습니다.
  • IDE와 무관: 어떤 IDE를 사용해도 상관없이 사용 가능합니다. 물론 요새는 대부분의 IDE가 copilot, claude code를 위한 플러그인을 제공하지만요

 


3. 주요 구현 포인트: 시각화와 동적 프롬프트

단순히 텍스트로 된 정보를 전달하는 것을 넘어,

시각적인 직관성을 위해 matplotlib을 이용해 게이지 차트를 생성하는 로직을 구현했습니다.

생성된 이미지는 디스크에 저장하지 않고 메모리(io.BytesIO) 상에서 바로 텔레그램 메시지로 전송합니다.

 

또한, 시장의 공포와 탐욕 지수에 따라 시스템 프롬프트를 동적으로 변경하도록 설정했습니다.

시장이 과열되면 AI는 가즈아🔥를 외치고, 침체되면 보수적인 조언🤔을 건넵니다.

이는 정보 전달의 재미를 넘어, 텍스트의 톤만으로도 시장의 온도를 즉각적으로 느끼게 해주는 장치가 되었습니다.

 


4. 마치며

매일 아침 8시, 텔레그램으로 전송되는 리포트는 정확도가 아쉽지만 제가 자고있는 사이에 어떤 일들이 있었는지 대략적으로나마 파악할 수 있는 비서가 생겼습니다. 🤖

 

또 메시지를 보면서 퇴근 후에 어떤 부분을 개선하면 좋을지와 같은 생각들이 재밌었어요

 

이전에는 귀찮아서 시도하지 못했던 생각들을 AI Agent의 토큰만 충분하다면,

행동에 옮기기 매우 쉬운 세상이 되고 있다는 사실 또한 새삼 놀라웠습니다.

(개발자라는 직업이 필요없어지는 세상이 얼마 안남았구나라는 것들도 실감이 되는...😭)

 

앞으로는 Supabase를 연결해 과거 리포트와의 상관관계를 분석하는 '히스토리컬 컨텍스트' 기능을 추가해 보려 합니다.

기록은 계속될 때 그 의미가 깊어지니까요.

댓글