
Aegis Pulse를 구축하게 된 이유 - 파트 2
요약
반복적인 데이터 수집 및 분석 작업을 자동화하여 Aegis Pulse를 구축한 과정을 다룹니다. GitHub 데이터 보존, PyPI 노이즈 필터링, 그리고 LLM을 활용한 자동 리포트 생성 시스템의 설계 원리를 설명합니다.
핵심 포인트
- GitHub 데이터 만료 문제를 해결하기 위한 자동화 프로세스 구축
- PyPI 다운로드 데이터의 노이즈(봇, 미러 등) 필터링 기술
- LLM을 활용하여 데이터 통찰력을 자동으로 리포트화하는 시스템
- 사용자 경험을 고려한 시각적 대시보드 및 트렌드 스트립 설계
자동화(Automations)?
'이것을 자동화해라'라는 말은 실제로 무엇을 의미했을까요? 그것은 제가 매일 반복되는 의식적인 실험에 대해 정말 짜증나기 시작했다는 것을 의미했습니다. 또 해야 할 '또 다른' 것이었고, 이미 모든 것들로 인해 지쳐있던 제 인지 능력의 많은 부분을 차지하고 있었습니다.
파트 1에서 설명했던 그 의식은 세 가지 일을 동시에 수행하고 있었습니다:
- GitHub의 14일 만료 기간을 넘긴 데이터 보존: 가장 명백한 것이었습니다. GitHub는 2주를 주고 어깨를 으쓱합니다. 어제 데이터를 가져가지 않았다면, 그것들은 사라집니다. 저는 인간 크론 작업(human cron job)이었습니다. 우리 모두 그런 경험을 했고, 신의 가호가 있다면, 우리는 마침내 그 지독한 날들을 뒤로할 수 있을 것입니다.
- 노이즈 필터링: PyPI 다운로드 숫자는 기본적으로 유명하게 쓸모없습니다. 적어도 제가 처음 살펴보기 시작했을 때 모두들 그렇게 말했기 때문입니다. 왜냐하면 저는 그것들에서 도저히 무슨 의미를 찾을 수가 없었거든요. 이제는 이 분야에 박사 학위가 있는 기분입니다. 봇(Bots), 미러(mirrors) (즉, Bandersnatch), 그리고 CI 파이프라인까지요. 이것은
세 가지 AI 채팅을 통해 저는 어떤 질문을 던져야 하는지 배웠습니다. Pulse는 요청받지 않아도 그 답을 내놓는 것입니다.
리포트(The Reports)
다양한 LLM(대규모 언어 모델)에서 얻은 통찰력들은 제가 원하던 것과 정확히 일치했습니다. 그것이 결코 문제가 아니었습니다. 문제는 Pulse를 구축하기 시작했을 때, 저는 그 모든 것을 6개월 치의 컨텍스트와 봇 다운로드에 대한 개인적인 적개심을 가진 사용자가 볼 수 있도록 어떻게 제시해야 할지 알아내야 했다는 것입니다.
그래서 대시보드에서 보여주는 것과 동일한 데이터로 주간, 월간, 분기별로 자동으로 생성되는 리포트를 만들었습니다. 수동 작성이 전혀 필요 없습니다. 모든 숫자, 모든 추세 화살표, 모든 서술형 캡션은 계산됩니다.
이것은 이미 제가 Unique Cloners에 관심 있다는 것을 알고 있기 때문에, 그것을 가장 먼저 보여주고 자연스럽게 다른 하이라이트와 동인들을 제시합니다.
그리고 제가 가장 자랑스러워하는 부분: 상단에 있는 주별 및 월별 스트립입니다.
각 블록은 한 기간을 나타냅니다. 청록색(Teal)은 상승을 의미하고, 빨간색(Red)은 하락을 의미합니다. 혼합된 색상은 일부 지표는 올랐지만 다른 지표들은 떨어졌다는 것을 의미합니다. 이 스트립만으로 프로젝트의 전체 역사를 한눈에 볼 수 있으며, 솔직히 말하자면: 연속된 몇 개의 빨간 블록이 있는 그 스트립을 처음 봤을 때, 저의 즉각적인 반응은 '연속적으로 청록색 세 개를 만들어야겠다'였습니다. 저는 이것을 동기 부여가 되도록 설계하지 않았습니다. 정보 제공용으로 설계했습니다. 하지만 결국 우리가 만들고 있는 것에 관심이 있다면 그것들은 같은 것이라는 것을 알게 됩니다.
레거시 수호자들(Defenders of Legacy)
제가 이 AI 전환 과정에서 배운 것 중 하나는 (많은 것들 중에서) 모든 사람이 무언가를 받아들이는 속도(혹은 아예 안 하는 속도)가 각자 다르다는 것입니다. 그래서 아무리 생성형 AI를 사용해 높은 수준의 요약을 만드는 것이 멋지더라도, 예전 좋은 차트와 훌륭한 UI/UX를 보는 것에는 여전히 가치가 있다는 것을 말할 수 있습니다.
Pulse는 둘 다 갖추고 있습니다. 스토리를 원할 때는 리포트가 있고, 단순히 수치를 보고 스스로 결론을 도출하고 싶을 때는 대시보드가 있습니다. 어느 하나가 다른 것을 대체하지 않으며, 어떤 것에 관심을 가져야 할지는 제가 말씀드릴 수 없습니다. 그것은 여러분의 선택입니다.
사람들은 실제로 사용하는 것을 구축하는 것이 가장 좋다고 말합니다. 글쎄요, 저는 이것을 엄청나게 많이 사용합니다. 저의 몇 시간짜리 의식(ritual)이 5분으로 짧아지기도 하고, 아니면... 농담입니다, 저는 여전히 몇 시간 동안 데이터를 들여다볼 수 있습니다. 다만 이제는 짜증 나지 않을 뿐입니다.
내일 만나요...
Pulse를 둘러보고 싶다면 지금 바로 이용할 수 있습니다. 아무 PyPI 패키지를 검색해서 데이터가 어떻게 보이는지 확인해 보세요: pulse.aegis-stack.io/search
제가 관리하는 오픈 소스 FastAPI 스캐폴딩 플랫폼인 https://github.com/lbedner/aegis-stack을 기반으로 구축되었습니다. 한 개의 명령어로, 프로덕션 준비가 완료된 모든 것이 미리 연결되어 있습니다. Pulse를 구동하는 것과 동일한 인프라가 기본적으로 제공됩니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기