창업 지원사업 알리미 제작 후기
나는 예비창업가다. 그리고 나같은 창업가를 위한 다양한 창업 지원사업 공고가 정부기관과 민간기관을 가리지 않고 매일 새롭게 올라온다. 하지만 이를 하나하나 각 기관의 웹사이트에서 직접 확인하는 것은 너무 번거로운 일이었다. 그래서 이 과정을 자동화하는 코드를 짜기로 했다. 이제 이 코드가 나 대신 공고를 수집하고, 한곳에서 정리해 보여준다.
이렇게 모인 공고들은 내가 운영하는 1인 사업가 모임 디스코드의 ‘창업지원사업 알리미 채널’ 에 자동으로 게시되며, 알림도 함께 발송된다.
여기서 단순히 공고가 올라왔다는 알림을 보내는 것을 넘어서, @임버드님의 Brocoly가 1인 가구를 위한 정책을 요약해서 알려주는 것처럼 LLM 으로 각 공고를 요약해서 알림에 추가했다. 이를 위해 이번에 LLM API를 처음으로 사용해보았는데 비용이 생각보다 정말 저렴하고 사용하기 편리했다.
물론 모든 과정이 매끄럽게 진행된 것은 아니었다. 가장 골치 아팠던 문제는 두 가지였다.
1. TimeZone 문제
나는 Digital Ocean에서 제공하는 가장 낮은 사양의 Ubuntu 서버를 사용하고 있다. 실시간으로 지원사업 공고를 모니터링하며 알림을 띄우는 방식은 서버 자원을 낭비할 뿐만 아니라, 공고 사이트에 부하를 줄 수도 있다. 이를 방지하기 위해 Cron Job을 활용해 매일 새벽 6시(Asia/Seoul 기준)에 전날 올라온 공고를 수집하는 방식을 선택했다. 나는 시스템 TimeZone을 바꾸고 싶지 않았기에 Crontab에서 TimeZone을 명시하려고 했으나 잘 되지 않았다. 그래서 하드코딩을 했는데, 여기서 TimeZone 문제가 발생했다.
Crontab은 기본적으로 시스템 TimeZone(UTC)으로 동작한다.
그래서 서울 시간(UTC+9) 새벽 6시에 스크립트를 실행하기위해, Crontab 상에서는 UTC 21시로 맞췄다.
그 결과, 의도와 다르게 전날이 아닌 전전날의 데이터를 가져오는 문제가 발생했다.
원인을 분석해보니, Cron Job 실행 시점의 날짜가 시스템상 어제이고, Python 스크립트에서는 시스템 날짜 기준 어제의 데이터를 가져오고 있어서 날짜 계산이 밀리는 것이었다. 결국, Crontab과 코드에서 TimeZone을 고려하는 것보다 서버 자체의 시스템 시간을 아예 Asia/Seoul로 변경하는 것이 더 낫다고 판단해 그렇게 수정했다.
2. LLM 프롬프트 최적화 문제
LLM을 활용하는 과정에서도 예상치 못한 어려움이 있었다. LLM API 사용시에 프롬프트를 제공할 수 있는데 공고 내용을 요약하는 과정에서 AI가 내 프롬프트에 담긴 의도를 정확히 이해하지 못하는 경우가 많았다. 예를 들어, 문장 가독성을 높이기 위해 Soft Return(줄바꿈)을 적용하도록 요청했는데, AI가 빈 줄을 추가해버리는 문제가 발생했다. 이 문제는 LLM이 가지는 특성상 명확한 원인과 해결 방법이 없어 아직 완전히 해결하지 못했다.
앞으로의 계획
앞으로는 시간이 허락하는 대로, 대학교 창업지원단에서 올라오는 공고처럼 K-Startup에는 없는 정보도 추가해볼 생각이다.
다양한 지원사업 공고, 저렴한 LLM API, 빠르게 세팅 가능한 클라우드 서버까지, 정말 좋은 세상이다.
댓글
로그인 후 댓글을 남길 수 있습니다.
아직 댓글이 없습니다.