본문 바로가기

업무자동화

유튜브 모니터링 텔레그램 알림 봇, 중복 메시지 폭탄을 해결하기까지 유튜브 모니터링 텔레그램 알림 봇, 중복 메시지 폭탄을 해결하기까지매일 아침 반복되는 리서치 업무를 코드로 해결하려던 시도와, 그 과정에서 겪은 에러 해결기를 정리했다.유튜브 API 연동 코드 작업 화면위 화면은 텔레그램 봇이 유튜브 새 영상을 확인하고 전송하도록 짜인 초기 파이썬 코드다. 이 코드는 정상적으로 작동하는 것처럼 보였지만, 곧 서버에 치명적인 문제를 일으켰다.💡 발단: 매일 아침 30분, 반복 업무를 없애고 싶었다사업을 운영하다 보면 업계 트렌드를 기민하게 파악하는 것이 필요적입니다. 저 역시 매일 아침 업무 시작 전, 유튜브에 핵심 키워드를 검색해 경쟁사 동향과 신기술 트렌드를 파악하는 것이 중요한 일과였습니다. 방대한 정보가 모이는 유튜브는 훌륭한 리서치 채널이었기 때문입니다.하지만 .. 더보기
MCP 프로토콜을 활용한 사내 AI 에이전트 자동화 도입기 MCP 프로토콜을 활용한 사내 AI 에이전트 자동화 도입기이러한 문제를 해결하기 위해 처음 도입했던 MCP 서버의 통신 로그 화면을 보면 그 이유를 알 수 있다.위 화면은 MCP를 통해 외부 데이터를 조회하려던 에이전트가 통신 에러에 빠진 상태를 캡처한 것이다. 이 에러 로그를 분석하면서 에이전트 자동화의 진정한 벽을 만나게 되었다.1. 시작하며: 끝없는 파이썬 스크립트 작성에서 벗어나기 위해최근 사내 업무 효율을 극대화하기 위해 다양한 AI 에이전트 도입을 검토하고 있었습니다. 기존의 사내 자동화는 지라(Jira)에서 이슈를 가져오거나 깃허브(GitHub)의 코드 리뷰 요청을 읽어오기 위해 매번 새로운 파이썬 스크립트를 작성해야만 했습니다.단순 반복 작업임에도 불구하고 연동할 외부 도구가 추가될 때마다.. 더보기
파이썬만으로 프론트엔드 만들기: 스트림릿(Streamlit) 도입 고군분투기 파이썬만으로 프론트엔드 만들기: 스트림릿(Streamlit) 도입 고군분투기파이썬 스크립트를 웹으로 쉽게 변환할 수 있다는 스트림릿의 장점 이면에는 상태 관리라는 독특한 패러다임이 숨어 있었다. 이를 이해하지 못해 겪은 무한 새로고침의 늪과 해결 과정을 정리한다.위 화면은 스트림릿으로 구현한 초기 웹 애플리케이션에서 상호작용 시 값이 초기화되는 현상을 캡처한 것이다. 버튼을 누를 때마다 화면이 초기화되는 이 오류는, 스트림릿의 렌더링 구조를 훌륭하게 이해하기 전까지 나를 끊임없이 괴롭혔다.터미널의 벽을 허물기 위한 선택최근 사내 업무 효율화를 위해 데이터 처리용 파이썬 스크립트를 여러 개 작성했다. 터미널 환경에 익숙한 개발자에게는 그저 명령어 한 줄이면 끝날 일이었지만, 비개발 직군 팀원들에게 까만 콘.. 더보기
텔레그램 봇으로 일일 보고 시스템을 만들며 겪은 API의 매운맛 텔레그램 봇으로 일일 보고 시스템을 만들며 겪은 API의 매운맛텔레그램 봇 API를 활용해 매일 아침 자동으로 서비스 현황을 보고받는 시스템을 구축하려 했다. 그런데 메시지가 오지 않거나, 5번씩 중복으로 쏟아지거나, 텍스트가 외계어로 깨지는 문제가 연속으로 터졌다. 텔레그램 API의 3가지 숨겨진 함정을 직접 뚫어본 기록이다.이러한 문제들을 해결하기 위해 처음 작성했던 파이썬 코드의 일부를 살펴보면 그 원인을 짐작할 수 있다.위 화면은 텔레그램 봇이 서비스 일일 현황 데이터를 전송하는 코드 작업 화면이다. 이 코드는 완성 직후 서버에 올렸을 때 메시지가 오지 않거나, 반대로 동일한 메시지가 연달아 5번 쏟아지는 예상치 못한 문제를 일으켰다. 보기엔 단순한 API 연동 코드지만, 메시지 길이 제한·Rat.. 더보기
크롬 드라이버 버전 오류와의 전쟁, 웹드라이버 매니저로 마침표를 찍다 크롬 드라이버 버전 오류와의 전쟁, 웹드라이버 매니저로 마침표를 찍다크롬 브라우저가 자동 업데이트되면서 셀레늄 자동화 봇이 갑자기 먹통이 된 경험을 기록한다. SessionNotCreatedException 에러가 반복되는 이유를 찾는 데만 이틀이 걸렸고, 해결책은 단 한 줄의 라이브러리 교체였다.위 화면은 크롬 브라우저 자동 업데이트 이후 셀레늄 스크립트를 실행한 순간의 터미널 로그다. SessionNotCreatedException과 함께 "This version of ChromeDriver only supports Chrome version..."이라는 메시지가 붉게 도배된 화면은, 지금껏 정상 작동하던 자동화 봇이 하루아침에 멈췄다는 것을 의미한다. 하드코딩된 드라이버 파일과 업데이트된 브라우저 .. 더보기
클릭 한 번으로 블로그와 쇼츠를 여러 채널에 동시에 업로드하는 방법 콘텐츠 자동화 시스템을 완성하고 나서 매일 1개의 고품질 원고와 9:16 쇼츠 동영상이 파이썬을 통해 알아서 구워져 나오는 환경을 구축했습니다. 이제 매일 아침 커피 한 잔을 마시며 폴더에 새로 쌓인 작업물들을 확인하기만 하면 되니 “드디어 나만의 디지털 빌딩에서 월세를 받는 무인 자동화가 성사되었구나!”라며 크게 만족했습니다.하지만 기쁨도 잠시였습니다. 또 다른 수동 노동이 저를 기다리고 있었기 때문입니다.파이썬이 완벽하게 정리해 둔 블로그 글 파일(blog.md)을 복사해서 티스토리 에디터에 붙여넣고, 가로형 이미지들을 한 장 한 장 단락 사이에 드래그하여 배치하며, 유튜브에 들어가 쇼츠 영상과 자막 파일을 수동으로 올리는 작업이 매일 반복되었습니다. 플랫폼이 2~3개로 늘어날수록 복붙과 업로드에 들.. 더보기
구글 검색 결과 크롤링 자동화 시도와 첫 번째 벽 [실패기] 바탕화면을 쑥대밭으로 만들다: 파이썬 파이프라인의 상대경로(Relative Path) 대참사안녕하세요. 1인 자동화 기업 생존기를 공유하고 있는 파이선생입니다. 지난 포스팅들에서 구글 제미나이(Gemini) API 비용을 획기적으로 줄이는 최적화 가이드와 안전장치에 대해 설명해 드렸습니다. API 비용 통제라는 큰 산을 넘고 나니, 마침내 'Google Antigravity 상품 검색 자동화' 파이프라인 구축에 호기롭게 도전할 자신감이 생겼습니다.최근 수많은 AI 유튜버들이 "코드 한 줄 몰라도 100% 자동화 봇을 만들어 드립니다"라고 홍보하는 것을 자주 보셨을 겁니다. 저 역시 그 달콤한 유혹에 빠져 AI 에이전트가 알아서 짜준 코드를 맹신했습니다. 하지만 그 결과, 제 업무용 PC의 바탕.. 더보기
Google Gemini API 비용이 예상보다 많이 나왔을 때 제가 했던 대응 Google Gemini API 비용이 예상보다 많이 나왔을 때 제가 했던 대응AI와 파이썬을 결합한 자동화 스크립트를 신나게 돌리기 시작하면서, 저는 콘텐츠 제작에 들어가는 시간이 획기적으로 줄어들 것이라 확신했습니다. 대량의 데이터를 수집하고 요약해서 포스팅 준비를 마치는 루틴을 보며 “이 정도 속도면 1인 기업 자동화는 식은 죽 먹기겠는데?”라고 생각했습니다.하지만 실제 결과는 기대와 달랐습니다.작업은 자동으로 진행되었지만, 며칠 뒤 확인한 구글 클라우드 콘솔의 요금 청구서는 제 예상보다 훨씬 높은 금액을 가리키고 있었습니다. 이번 글은 성공담이 아닙니다. 오히려 멍청한 실수로 비용 폭탄을 맞았던 부끄러운 실패의 기록입니다.다만 이 실패 덕분에 앞으로 파이선생 AI 자동화랩의 시스템을 어떻게 설계하.. 더보기